on master help sign in
history of765edfe..master
compare
ed8ba48Simplify server.knot: inline thin wrappers, refactor handleRecvGossip without empty-string sentineliko ab099dfSimplify server.knot: drop isOffline lambda, consolidate federation gates, use when instead of case findFirstiko 4ffa00bExtract appendMessage and refreshLocalPresence helpers to remove duplicationiko baee0aeDrop boolean indirection in handleVerifyAuth; storeFederated returns Resultiko 92dfe84Simplify server.knot: deduplicate presence checks, remove intermediate wrappers, drop boolean indirectioniko 7f6069aRemove export workaround from rateLimit definitions; compiler bug fixediko 18f4f7bDelegate rate limiting to compiler-generated route clausesiko 301073fFix if/else effect unification: flip nested branches to enable polymorphic effect inferenceiko 10c4580Remove local forEach definition; stdlib provides it as a built-iniko 58f6e23Remove function parameters from capList and capPerKey; unify on expiresAt fieldiko d786f53Specialize capList and capPerKey: constrain to Timestamp keys and pubkey matchingiko 38cf8dbInline Ed25519 hex length invariants as literalsiko 7ca3e27Add Eq impls for refinement types; fix effect signatures to match bodiesiko 472426fUpdate all calls to predicate-first signatureiko c74ea07Use Cons/[] patterns for list recursion; replace dropRelation with dropiko 248fad1Remove custom mapWhere/countWhere/any/none helpers; use built-in any and takeiko b5ec19bUse built-in filter and map instead of custom helpers removeWhere and pluckiko fa73377Remove per-key receive rate limitiko 300edbaRemove dead /federation/forward-batch endpointiko 9863dd9Remove unused fromServer parameter from federation forward endpointsiko 4dcde5bRefresh presence on poll instead of background timeriko b77814aMake X-Forwarded-For header optional; skip IP rate-limiting when absentiko af6d881Remove pairRates: per-pair rate limit is bypassable via multi-server dilutioniko 9ff76f4Embed pubkey fields in GossipEventType variants for flexible future gossip eventsiko 8c4c066Remove unused /ready endpointiko caf6e81Remove startup readiness gate; backgroundPrune prunes on first tickiko bd17e0aRemove generation field from /poll protocoliko 52569b5Make /messages atomic: validate entire batch before enqueuing anyiko 257a8ffDrop unused hasMore field from poll responseiko 7af7b29Add generation tracking to poll protocol to prevent unnecessary cursor resetsiko e3c6a4aRemove error field from JSON responses; use HTTP status codes insteadiko aa3c3ebRemove GET /lookup/{pubkey} and POST /lookup/batch endpointsiko 4520419Remove /health and /metrics endpointsiko 58cadadRemove /maintenance and /stats endpointsiko d6e86b8Replace serverHostN with refined-type serverHostiko a839530Remove ActivePoll concurrency cap — rely on global rate limits insteadiko 4fd34d1Remove federation authentication layeriko e870868Remove message ID from federation protocoliko 1838384Remove unused /messages/status endpointiko bea680eRemove unused /messages/list endpointiko 469939dRemove dead ack scaffolding: ackGracePeriod constant and stats fieldsiko 3ed706fRemove endpoints for setting parameters; all parameters are set via CLI flagsiko abe00eeRemove unused gateClientWrite rate limiteriko c53339bRemove server-side replay protection (deliveredIds tombstone log)iko 9f1d027Remove /auth/revoke and /auth/logout endpointsiko e34e431Add comprehensive comments to server.knotiko d9956acRemove response continuation parameter from request handlers; return IO actions directly2026.05.07.0438iko 7e1db40Consolidate type and function definitions to single-line formatiko acc58faRemove drain mechanism; shut down without draining phaseiko 92eefcdRemove createdAt from ForwardEntry; rely on retry counter for forward GCiko