summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
* Be smarter about browser and proxy server caching for static assets.HEADmainojacobson2025-12-05
|\
| * Ask clients to avoid re-requesting immutable assets for 90 days.Owen Jacobson2025-12-02
| * Cache static assets using an etag header.Owen Jacobson2025-12-02
|/
* Trim down the service worker to the bare minimum, and make code changes apply...Owen Jacobson2025-12-01
|\
| * Update service workers while the application is open.Owen Jacobson2025-11-28
| * Remove mostly-unsued fetch handler.Owen Jacobson2025-11-26
|/
* Merge branch 'house-of-failed'Owen Jacobson2025-11-25
|\
| * Define a generic "Failed" case for app-level errors (and a few others).Owen Jacobson2025-11-25
| * Print source chains for errors.Owen Jacobson2025-11-11
|/
* Push messaging fixes:Owen Jacobson2025-11-10
* Update (most) Node dependencies.Owen Jacobson2025-11-09
* Crate dependency upgrades.Owen Jacobson2025-11-09
* Remove support for detecting and rejecting databases from historical migratio...Owen Jacobson2025-11-09
* Add openssl to the Debian builder image.Owen Jacobson2025-11-08
* Integrate the prototype push notification support.Owen Jacobson2025-11-08
|\
| * De minimis "send me a notification" implementation.Owen Jacobson2025-11-08
| * Remove push subscriptions when rotating the VAPID key by hand.Owen Jacobson2025-11-07
| * Set up infrastructure for push message subscriptions.ojacobson2025-11-07
| |\
| | * Add a button to the client to set up a push subscription.Owen Jacobson2025-11-07
| | * Add an endpoint for creating push subscriptions.Owen Jacobson2025-11-06
| | * Move the VAPID public key encoding into a serde-compatible encoding module.Owen Jacobson2025-11-05
| | * Small refactoring to the Vapid key rotation middleware for consistency.Owen Jacobson2025-11-05
| |/
| * Fix merge mistakes and make the `Vapid` component freestanding.Owen Jacobson2025-10-28
| * Use PKCS8 PEM, not raw SEC1 bytes, to store VAPID keys.ojacobson2025-10-28
| |\
| | * Use PKCS8 PEM, not raw SEC1 bytes, to store VAPID keys.Owen Jacobson2025-10-28
| |/
| * Merge remote-tracking branch 'codeberg/main' into push-notifyOwen Jacobson2025-10-28
| |\ | |/ |/|
* | Use freestanding structs for `App` components.ojacobson2025-10-28
|\ \
| * | Convert the last stray tests to be generic over components deriveable from an...Owen Jacobson2025-10-28
| * | Convert the `Users` component into a freestanding struct.Owen Jacobson2025-10-28
| * | Convert the `Tokens` component into a freestanding struct.Owen Jacobson2025-10-28
| * | Convert the `Setup` component into a freestanding struct.Owen Jacobson2025-10-28
| * | Convert the `Messages` component to a freestanding struct.Owen Jacobson2025-10-28
| * | Convert `Logins` into a freestanding component.Owen Jacobson2025-10-28
| * | Convert `Invites` into a freestanding component.Owen Jacobson2025-10-28
| * | Convert the `Events` app component into a freestanding struct.Owen Jacobson2025-10-28
| * | Convert the `Conversations` component into a freestanding struct.Owen Jacobson2025-10-28
| * | Make `Boot` a freestanding app type, rather than a view of `crate::app::App`'...Owen Jacobson2025-10-28
|/ /
* | Raise minimum Rust version to 1.90.Owen Jacobson2025-10-24
| * Raise minimum Rust version to 1.90.Owen Jacobson2025-10-24
| * Stop passing an unused timestamp around when rotating VAPID keys.Owen Jacobson2025-10-08
| * Implement VAPID key support for Web Push.ojacobson2025-09-10
|/|
| * Allow administrators to rotate VAPID keys immediately if needed.Owen Jacobson2025-08-30
| * Generate, store, and deliver a VAPID key.Owen Jacobson2025-08-30
|/
* Automatically reorder imports to my preferred style.Owen Jacobson2025-08-30
* Implement storage of synchronized entities in terms of events, not state.ojacobson2025-08-27
|\
| * Remove entirely-redundant synchronization inside of Broadcaster.Owen Jacobson2025-08-26
| * Consolidate `events.map(…).collect()` calls into `Broadcaster`.Owen Jacobson2025-08-26
| * Store `User` instances using their events.Owen Jacobson2025-08-26
| * Store `Message` instances using their events.Owen Jacobson2025-08-26
| * Store `Conversation` instances using their events.Owen Jacobson2025-08-26