oxalica
5cd45232f4
Enable more local logging and disable dependencies'
2024-09-10 01:29:21 -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
Shibo Lyu
a92f661003
doc: pin @stoplight/elements
version & add sub-resource integrity
2024-09-09 11:26:59 +08:00
Shibo Lyu
8f0311c0d8
doc: openapi doc
2024-09-08 23:09:44 +08:00
Shibo Lyu
c2b8ef1a22
ci: publish openapi doc
2024-09-08 23:09:44 +08:00
oxalica
67ea6aaacc
Impl untilToken
for item_list
to avoid over-fetching seen items
2024-09-06 04:01:06 -04:00
oxalica
8b096ba802
Impl room listing with filter=unseen
2024-09-06 04:00:08 -04:00
oxalica
e74da2812b
Maintain room member's last seen item and fix docs
2024-09-06 03:33:21 -04:00
oxalica
e98c9f8b3c
Derive Clone, PartialEq, Eq for data types
2024-09-06 02:29:58 -04:00
oxalica
51e2c8418b
Include cid in item responses and update docs
2024-09-06 02:27:53 -04:00
oxalica
a7f260027d
Use simplified Snowflake ID generation
...
This prevents leaking server information to client with little effort.
2024-09-06 02:06:44 -04:00
oxalica
59d51937da
Switch room identifier from UUID to stringified i64
2024-09-06 02:06:14 -04:00
oxalica
236fb61832
Fix missed JSON error response and simplify
2024-09-06 02:05:32 -04:00
oxalica
4e78780569
Simplify frontend duplicated code
2024-09-06 02:05:32 -04:00
oxalica
d3c3961298
Use proper rejection type for Auth
middleware
2024-09-06 02:05:32 -04:00
oxalica
99d1311d63
Avoid unnecessary unwrap
2024-09-06 02:05:32 -04:00
oxalica
81a566a097
Move database logic into submodule and do simple version check
2024-09-06 02:05:27 -04:00
oxalica
a37bc3f81e
Return the latest message in room list for display
2024-09-03 15:09:54 -04:00
oxalica
2eb884766a
Impl room leaving and fix frontend room combobox
2024-09-03 05:39:06 -04:00
oxalica
cc51d53575
Fix frontend
2024-09-03 04:39:36 -04:00
oxalica
57b17547ca
Impl room listing for testing frontend
2024-09-03 04:31:32 -04:00
oxalica
6831c3d25a
Fix missed attrs
on room creation
2024-09-03 04:08:34 -04:00
oxalica
2b6fbe8794
Impl global room listing at /room
2024-09-03 04:08:34 -04:00
oxalica
a9d5eb9631
Explicitly allow Authorization
header for CORS
...
It would not be included when just allow `*`.
2024-09-03 04:08:34 -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
812d6c8602
Reduce deps rebuild for nix package
2024-09-01 20:02:36 -04:00
oxalica
263c0ca44b
Fix typos
2024-08-31 22:39:09 -04:00
oxalica
42a778bef2
Impl default config for testing frontend
2024-08-31 20:04:37 -04:00
oxalica
5d15900436
Impl /room
and /room/{ruuid}/admin
endpoints
2024-08-31 18:33:23 -04:00
oxalica
e84b13c876
Package with nix and add systemd unit example
2024-08-31 16:38:43 -04:00
oxalica
a63d0df443
Use serde_jcs for RFC 8785 compliancy
...
This fixes serialization and reduces maintainance cost, but does more
data copying on serialization.
2024-08-31 15:24:07 -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
4ceffe3f31
Split out timestamp check and actually check nonce
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
oxalica
370722731b
Simplify rich text on-wire format
2024-08-30 13:05:29 -04:00
oxalica
c492bb2537
Use rich text format for chat
2024-08-30 12:26:45 -04:00
oxalica
4d3371e485
Add draft API docs
2024-08-29 20:50:03 -04:00
oxalica
ff89d36ee5
Allow multiple initial members on room creation
2024-08-29 19:57:43 -04:00
oxalica
cf5d648315
Enforce sorted fields for signed payloads
2024-08-29 19:06:48 -04:00
oxalica
74bd0d42e2
Report 403 Forbidden for insufficient permission
2024-08-29 18:34:50 -04:00
oxalica
4456513139
Fix room permission check
2024-08-29 18:19:26 -04:00
oxalica
d672d067cd
Ser/de bitflags as raw integers
2024-08-29 18:14:40 -04:00
oxalica
501b3e8db4
Impl private rooms
2024-08-29 17:14:56 -04:00
oxalica
9ced78d13d
Apply more limits on incoming requests
2024-08-29 15:58:33 -04:00