oxalica
40e4a53886
build(deps): update to rand 0.9 is possible
...
CI / Code style (push) Has been cancelled
CI / Test beta (push) Has been cancelled
CI / Test stable (push) Has been cancelled
CI / Flake package (push) Has been cancelled
Deploy OpenAPI doc to Pages / deploy (push) Has been cancelled
Except for code using ed25519-dalek, since we are blocked by them.
Also tweak RNG source so only key generation uses `OsRng`. PoW nonce
generation only need unpredictability thus `ThreadRng` suffices.
See: https://github.com/dalek-cryptography/curve25519-dalek/issues/731
2025-04-15 20:28:09 -04:00
oxalica
13a3b25ee8
Update nix module and config examples for socket activation
2025-03-28 14:31:49 -04:00
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
9baf47963d
feat(blahd): fail on test features + release build
...
This is a best-effort check for accidental misuse of testing-only
features on release build.
2024-10-14 19:15:28 -04:00
oxalica
1c9108610d
ci,contrib: add typos and pre-commit script
2024-10-13 04:44:27 -04:00
oxalica
ba9673065a
feat(blahd): improve error response on unknown URI or method
2024-10-12 14:45:28 -04:00
oxalica
1ecea448a2
refactor(webapi): move create-room endpoint and deprecate old one
2024-10-12 14:15:18 -04:00
oxalica
920a1cc3b9
feat(webapi): impl member information query
2024-10-12 14:14:39 -04:00
oxalica
8378c4d230
feat(webapi): impl member permission update
2024-10-12 14:14:39 -04:00
oxalica
ad4a38cf43
feat(blahd): impl non-self member removal
2024-10-12 14:14:39 -04:00
oxalica
a8c29cb9b2
refactor(blahd): prefer newtype NoContent
2024-10-12 14:14:39 -04:00
oxalica
d1dfda51db
refactor(webapi): split /room/:rid/admin
endpoint and deprecate
...
Since we alraedy use `/room/:rid/member`, member CRUD can use this path
for better semantics.
The `admin` endpoint will be removed later.
2024-10-12 14:13:30 -04:00
oxalica
b8921a5485
chore(*): remove or update obsolete TODOs
2024-10-08 23:19:57 -04:00
oxalica
ff7fd9e4b2
feat(webapi): include cid
in ServerEvent::Msg
2024-10-08 21:20:20 -04:00
oxalica
814fac1974
refactor(event): decouple states from handlers and remove aux-types
2024-10-08 21:17:34 -04:00
oxalica
97c0cf5844
refactor(blahd): reorg and use consistent handler names
2024-10-05 00:19:20 -04:00
oxalica
4e8124cda6
refactor(blahd,types): hoist more types into types crate
2024-10-05 00:19:05 -04:00
oxalica
719c19dc64
fix(blahd/event): do not parse close frame as message
2024-10-01 07:09:53 -04:00
oxalica
367f6d2a4b
feat(webapi): impl room member listing
2024-10-01 06:50:53 -04:00
oxalica
bc6e6c2056
refactor(webapi,types)!: make challenge type extensive
...
We may allow more challenge types other than PoW in the future, eg.
captcha. So make the relevent types more generic.
Now the challenge is returned in JSON response as a individual top-level
field `register_challenge` instead of in HTTP headers.
2024-10-01 05:26:00 -04:00
oxalica
5f29b23f9d
fix(blahd): fix error message formating
2024-09-28 21:41:34 -04:00
oxalica
458f4b163f
test: test feed response and nonce invalidation
2024-09-28 21:40:14 -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
70481e6c74
feat(blahd): impl ETag for feed
2024-09-25 14:04:58 -04:00
oxalica
fac146e859
build: validate CFG_SRC_URL and simplify CFG_RELEASE handling
2024-09-25 12:45:34 -04:00
oxalica
fa14844d0d
feat(webapi): expose server metadata
2024-09-25 12:45:26 -04:00
oxalica
8551540798
refactor(types)!: blow up big lib.rs into submods
2024-09-25 11:15:31 -04:00
oxalica
a38b59da84
fix(types,blahd): reject timestamps > i64::MAX
2024-09-24 20:36:27 -04:00
oxalica
c4fbf1294b
fix(blahd): merge queries for last-seen update
2024-09-24 19:37:50 -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
1e8c16888c
refactor(blahd): use NonZero/u32 for page length
...
This avoids platform-dependent `usize` in configuration and webapi.
2024-09-23 18:04:26 -04:00
oxalica
82f69eb96a
bench: move to blah-types and add for sign/verify
2024-09-23 14:49:36 -04:00
oxalica
2fe8dfdab7
test: add more tests for register verification
2024-09-22 12:18:41 -04:00
oxalica
dd940d5769
feat(types): impl Debug,From<{&,}VerifyingKey> for PubKey
2024-09-22 07:28:21 -04:00
oxalica
b93ff2882e
fix(test/socket_activate): inherit env vars
...
This should fix coverage test.
2024-09-22 06:36:02 -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
4bca196df3
fix(event): consistently use i64 for uid
2024-09-21 15:21:52 -04:00
oxalica
a7f31e5fad
refactor(webapi)!: avoid u64/i64 usage in types except timestamp
...
We do not need that many big numbers yet. This should simplify client
implementation without native u64 (eg. JavaScript).
Also put a hard limit on `unseen_cnt` query.
2024-09-21 15:14:50 -04:00