summaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
* 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
| * Allow callers to pass `Instant`s to `Sequence` predicate constructors.Owen Jacobson2025-08-26
|/
* Split `user` into a chat-facing entity and an authentication-facing entity.ojacobson2025-08-26
|\
| * Split `user` into a chat-facing entity and an authentication-facing entity.Owen Jacobson2025-08-26
| * Generate tokens in memory and then store them.Owen Jacobson2025-08-26
| * Split the `user` table into an authentication portion and a chat portion.Owen Jacobson2025-08-26
| * Factor out common authentication test verification steps into helpers.Owen Jacobson2025-08-26
| * Return an identity, rather than the parts of an identity, when validating an ...Owen Jacobson2025-08-25
* | Use the imported name, since we have it.Owen Jacobson2025-08-26
|/
* Group Rust imports by crate.Owen Jacobson2025-08-25
* Remove unused response bodies from a number of API endpoints.ojacobson2025-08-26
|\
| * Add a missing docs note about the behaviour of `POST /api/auth/logout` when t...Owen Jacobson2025-08-24
| * Stop returning a body from `POST /api/password`.Owen Jacobson2025-08-24
| * Remove the now-unused return value from the final stage of user creation.Owen Jacobson2025-08-24
| * Stop returning an HTTP body from `POST /api/invite/:id`.Owen Jacobson2025-08-24
| * Stop returning body data from `POST /api/auth/login`.Owen Jacobson2025-08-24
| * Stop returning body data from `POST /api/setup`.Owen Jacobson2025-08-24
| * Define a canonical "empty" response.Owen Jacobson2025-08-24
|/
* Collapse redundant "deleted_at" timestaps and "deleted" event instants.Owen Jacobson2025-08-24