oxalica
eb8c56e688
feat(blahd): support unix domain socket and rewrite tests
2025-03-19 01:57:37 -04:00
oxalica
2e0a878d56
build: migrate to Rust edition 2024
2025-03-18 11:38:19 -04:00
oxalica
37fbf5149e
build(deps): update to rusqlite 0.34, rustix 1 and fix warnings
2025-03-18 11:28:42 -04:00
oxalica
740e540b4b
build(deps): update to axum 0.8, rusqlite 0.33, tokio-tungstenite 0.26, thiserror 2
2025-02-11 00:13:56 -05:00
oxalica
c3842a6d3b
feat(webapi): impl identity description retrieval
2024-10-18 11:12:29 -04:00
oxalica
d7ac77a1d9
chore(types): unbloat and clean up dependencies
2024-10-18 10:25:21 -04:00
oxalica
0bfdad3877
build: update and clean dependencies
2024-10-16 06:18:52 -04:00
oxalica
b8921a5485
chore(*): remove or update obsolete TODOs
2024-10-08 23:19:57 -04:00
oxalica
31dc3e33c6
feat(types,blahd): allow using mock clock for testing
2024-09-28 21:30:42 -04:00
oxalica
1a4980ebba
feat(blahd): set Cache-Control
2024-09-25 15:14:43 -04:00
oxalica
cd7d0f773f
feat(blahd): impl ETag for server metadata
2024-09-25 14:08:12 -04:00
oxalica
fac146e859
build: validate CFG_SRC_URL and simplify CFG_RELEASE handling
2024-09-25 12:45:34 -04:00
oxalica
0911d56e22
refactor(blahd,webapi)!: overhaul error type
...
Error types are now collected into a single place. Similar errors are
merged.
Request invariant violations are now all under 400 with type
"invalid_request" if it's a client mistake; and if it's caused by a
server restrction, under 403 with type "disabled".
2024-09-24 19:12:56 -04:00
oxalica
487099474f
feat(webapi): impl atom feed and use tag URI for feed id
2024-09-23 20:32:24 -04:00
oxalica
94e5913513
refactor(blahd),test: move feed generation into submod and add test
2024-09-23 20:32:24 -04:00
oxalica
82f69eb96a
bench: move to blah-types and add for sign/verify
2024-09-23 14:49:36 -04:00
oxalica
475bd59117
build(deps): update dependencies and omit minor version spec
2024-09-22 05:58:39 -04:00
oxalica
7384888128
feat(blahd): impl graceful shutdown
2024-09-22 05:16:10 -04:00
oxalica
883fac02ae
test: add for WS
2024-09-22 04:43:11 -04:00
oxalica
fafd2de2e3
refactor(database)!: decouple SQLs from backend logic and cache stmts
...
This decouples SQLs from handler logic, makes it easier for auditing and
caching. It also enables the possibility to switch or support multiple
database backends.
2024-09-21 07:37:06 -04:00
oxalica
b955d32099
fix(blahd): reject UNIX domain socket for now
...
It's too complex to bother with for the current `axum` API. Let's wait
for axum 0.8 release.
Ref: https://github.com/tokio-rs/axum/pull/2479
2024-09-19 09:04:50 -04:00
oxalica
4108212f34
bench: bench register-pow for difficulty reference
2024-09-17 22:35:09 -04:00
oxalica
fb76756482
feat(webapi): impl user registration and identity description format
2024-09-16 10:45:40 -04:00
oxalica
98b2df2fdf
feat(blahd): impl socket activation integration
...
This also allows arbitrary listening fd include UNIX domain sockets, via
environment variables as sd_listen_fds(3).
2024-09-11 13:17:52 -04:00
oxalica
0ac841e6fa
refactor: move types crate into blahd-types
subpackage
2024-09-10 03:47:41 -04:00
oxalica
ff5b7e60a7
Add tests for room create/read and fix incorrect foreign keys
2024-09-10 01:29:21 -04:00
oxalica
c5263c607c
Split out socket config and switch back to toml
crate
...
basic-toml does not support externally-tagged enum yet.
See: https://github.com/dtolnay/basic-toml/issues/8
2024-09-10 01:29:21 -04:00
oxalica
4f0f1405dc
Librarify blahd for testing
2024-09-10 01:29:21 -04:00
oxalica
59d51937da
Switch room identifier from UUID to stringified i64
2024-09-06 02:06:14 -04:00
oxalica
99d1311d63
Avoid unnecessary unwrap
2024-09-06 02:05:32 -04:00
oxalica
b05f704406
Rework /room/{}/item
and pagination query
...
- Now it use `skipToken` and `top` to (mostly) align to OData spec.
- Its response type is now a normal struct and is documented.
- Room metadata is now excluded from room item query.
2024-09-03 04:08:34 -04:00
oxalica
77216aa0f8
Switch from event stream to WebSocket for events
2024-09-02 23:43:26 -04:00
oxalica
5fadffef4d
Add GitHub CI and fix clippy warnings
2024-09-01 20:20:30 -04:00
oxalica
6e7229e4ac
Make more server constants configurable
2024-08-31 01:25:38 -04:00
oxalica
abdc32b51f
Use configuration file to simplify CLI
2024-08-31 01:02:20 -04:00
oxalica
4937502d4c
Define error response format and refactor error handling
2024-08-31 00:04:16 -04:00
oxalica
668b873b07
Reorganize workspace layout and split out blahd
2024-08-31 00:04:16 -04:00