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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								4e8124cda6 
								
							 
						 
						
							
							
								
								refactor(blahd,types): hoist more types into types crate  
							
							
							
						 
						
							2024-10-05 00:19:05 -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 
								
							 
						 
						
							
							
							
							
								
							
							
								458f4b163f 
								
							 
						 
						
							
							
								
								test: test feed response and nonce invalidation  
							
							
							
						 
						
							2024-09-28 21:40:14 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								70481e6c74 
								
							 
						 
						
							
							
								
								feat(blahd): impl ETag for feed  
							
							
							
						 
						
							2024-09-25 14:04:58 -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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								ad3e422902 
								
							 
						 
						
							
							
								
								fix(webapi): reject mark-seen for future msgs  
							
							
							
						 
						
							2024-09-21 14:58:51 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								bc856f6c62 
								
							 
						 
						
							
							
								
								feat(webapi): impl room deletion  
							
							
							
						 
						
							2024-09-21 14:46:47 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								9acf857781 
								
							 
						 
						
							
							
								
								refactor(test): use real RNG and simplify  
							
							... 
							
							
							
							We do not assert on the fake RNG and it should work well with any RNG. 
							
						 
						
							2024-09-21 14:20:36 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								8f20aa0cf2 
								
							 
						 
						
							
							
								
								feat(types): add trait SignExt for easy chaining  
							
							
							
						 
						
							2024-09-21 13:57:27 -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 
								
							 
						 
						
							
							
							
							
								
							
							
								0c28c00c3d 
								
							 
						 
						
							
							
								
								refactor(webapi)!: put all API under path /_blah  
							
							
							
						 
						
							2024-09-19 05:12:42 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								fac380fe55 
								
							 
						 
						
							
							
								
								refactor(types,register): introduce IdUrl and related types into submod  
							
							... 
							
							
							
							- `IdUrl` does basic validation for identity URL. Server could enforce
  additional restrictions on their own need.
- single-label doamins are now rejected by default.
- More tests are added for `IdUrl` validation. 
							
						 
						
							2024-09-19 01:44:09 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								cb72d049e0 
								
							 
						 
						
							
							
								
								feat(types,webapi): impl id_key/act_key for all APIs and update docs  
							
							
							
						 
						
							2024-09-17 21:44:36 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								fb76756482 
								
							 
						 
						
							
							
								
								feat(webapi): impl user registration and identity description format  
							
							
							
						 
						
							2024-09-16 10:45:40 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								7f74d73c8c 
								
							 
						 
						
							
							
								
								remove(webapi)!: remove auto user creation on joining or creating room  
							
							... 
							
							
							
							User must be explicitly created forehand using the registration API
(coming soon). 
							
						 
						
							2024-09-16 06:41:26 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								985ea1d68a 
								
							 
						 
						
							
							
								
								remove(types)!: remove members from CreateGroup  
							
							... 
							
							
							
							Now a group can only be created with the creator as the only initial
member. This forbids group creator from adding other members without
their consent. Additional members can join the group later at their own
will. 
							
						 
						
							2024-09-16 06:39:10 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								93d1589730 
								
							 
						 
						
							
							
								
								refactor(types): WithSig -> Signed  
							
							
							
						 
						
							2024-09-13 03:32:11 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								73eb441a26 
								
							 
						 
						
							
							
								
								refactor(*): use term msg to replace item  
							
							... 
							
							
							
							- `Msg` or `msg` is now the canonical term for the substructure in a
  room. It includes a `chat` subtype and (in the future) other
  administration subtypes like member joining or leaving.
- `Message` or `message` can used in human oriented context like docs
  and comments, but only when it is unambiguous.
- `message` is not chosen in code because it's hard to type (at least
  for me!), and have ambiguous meaning of:
  - "Human readable text" in context of `ApiError`'s field.
  - "A unit of data transfer, datagram" in context of WebSocket Message.
- `item` is not chosen because it is overly generic. 
							
						 
						
							2024-09-13 03:32:11 -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 
								
							 
						 
						
							
							
							
							
								
							
							
								1e944ead31 
								
							 
						 
						
							
							
								
								feat: impl basic peer chat  
							
							
							
						 
						
							2024-09-10 12:26:37 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								4f48b390f7 
								
							 
						 
						
							
							
								
								feat(webapi): include member_permission in RoomMetadata  
							
							... 
							
							
							
							This is currently only included by `room_list` endpoint with
authentication. 
							
						 
						
							2024-09-10 09:33:59 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								5eeb12c294 
								
							 
						 
						
							
							
								
								test(webapi): test last seen item  
							
							
							
						 
						
							2024-09-10 09:20:32 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								74c6fa6f6a 
								
							 
						 
						
							
							
								
								refactor(webapi): hoist RoomMetadata to blah_types and rename last_chat to last_item  
							
							
							
						 
						
							2024-09-10 09:19:15 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								c0ec429c24 
								
							 
						 
						
							
							
								
								test(webapi): test room item posting and listing  
							
							
							
						 
						
							2024-09-10 08:19:44 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								35b5aace08 
								
							 
						 
						
							
							
								
								refactor(tests): simplify and rename  
							
							
							
						 
						
							2024-09-10 08:19:44 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								199985c6a2 
								
							 
						 
						
							
							
								
								build(toolchain),ci: switch to rust 1.82-beta for now  
							
							... 
							
							
							
							`precise_capturing` has no workaround but we need it in tests. The main
crate should still compile under stable rustc, which is enforced by CI. 
							
						 
						
							2024-09-10 06:56:08 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								0ac841e6fa 
								
							 
						 
						
							
							
								
								refactor: move types crate into blahd-types subpackage  
							
							
							
						 
						
							2024-09-10 03:47:41 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								3bb6d1456d 
								
							 
						 
						
							
							
								
								Enforce lint reasons  
							
							
							
						 
						
							2024-09-10 01:29:21 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								61850aa1ed 
								
							 
						 
						
							
							
								
								Make mock rng a fixture to allow dyn Rng  
							
							
							
						 
						
							2024-09-10 01:29:21 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								e40ec6a324 
								
							 
						 
						
							
							
								
								Add tests for room join/leave and fix response status code  
							
							
							
						 
						
							2024-09-10 01:29:21 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									oxalica 
								
							 
						 
						
							
							
							
							
								
							
							
								5cd45232f4 
								
							 
						 
						
							
							
								
								Enable more local logging and disable dependencies'  
							
							
							
						 
						
							2024-09-10 01:29:21 -04:00