2024-09-19 15:27:26 +02:00
2024-09-19 15:27:26 +02:00
2024-08-03 16:32:24 +02:00
2024-02-06 12:35:19 +01:00
2024-09-19 15:27:26 +02:00
2024-09-19 15:27:26 +02:00
2024-02-06 12:41:20 +01:00
2024-08-02 20:36:45 +02:00

Rustical (WIP)

a calendar server

Installation

Todo

  • CalDAV
    • Support for VTODO, VJOURNAL
    • Proper filtering for REPORT method
    • ICS parsing
      • Datetime parsing
    • Implement PROPPATCH
  • Auth (There currently is no authentication at all in place for some routes)
    • Access control
    • preparation for different principal types (groups)
    • authentication rewrite? (argon2 is very slow for each request)
    • OIDC support
  • CardDAV
  • Packaging
    • Ensure cargo install works
    • Docker image
    • Releases
  • Locking
  • Web UI
  • Testing such that I'm confident enough to use it myself :)
  • WebDAV sync extension RFC 6578
    • implement getctag see
    • implement WebDAV If header
  • Ensure proper routing
  • Trash bin
    • Hiding calendars instead of deleting them
    • Restore endpoint
  • Frontend

Relevant RFCs

  • Versioning Extensions to WebDAV: RFC 3253

    • provides the REPORT method
  • Calendaring Extensions to WebDAV (CalDAV): RFC 4791

  • Scheduling Extensions to CalDAV: RFC 6638

    • not sure yet whether to implement this
  • Collection Synchronization WebDAV RFC 6578

    • We need to implement sync-token, etc.
  • This is important for more efficient synchronisation

Sync-token

  • a returned version of a resource is marked with a sync token
  • the client can send the sync token to find out about changes after this sync token
Description
No description provided
Readme AGPL-3.0 6.6 MiB
Languages
Rust 91.4%
TypeScript 4.7%
HTML 2.1%
CSS 1.2%
Handlebars 0.3%
Other 0.3%