Commit Graph

75 Commits

Author SHA1 Message Date
lilleman c06eda4582 Pin the spent-base cap and state the boundary the merge rule covers 2026-08-30 11:39:09 +02:00
lilleman 5c797f5383 Forget the base closed longest ago rather than the one handed out again 2026-08-30 11:31:22 +02:00
lilleman aa3cf41c7f Merge a message id base once so a straggler cannot join a later report 2026-08-30 11:17:02 +02:00
lilleman f4e55909a1 Keep the delivery-receipt merges across a reconnect instead of dropping them 2026-08-28 14:44:32 +02:00
lilleman 30e0cfd38a Record what re-declaring the listener methods costs a subclass 2026-08-27 23:15:46 +02:00
lilleman 344249b080 Accept an async listener in the types and normalise any rejection reason 2026-08-27 23:07:48 +02:00
lilleman a5fe43d7a9 Normalise a listener's rejection reason before routing it to sessionError 2026-08-27 22:41:26 +02:00
lilleman 0e8f298957 Route a rejecting async listener to sessionError instead of the process 2026-08-27 22:22:51 +02:00
lilleman 3c6195a938 Collapse the two id emptiness tests into one and pin the reassembler wording 2026-08-27 16:42:26 +02:00
lilleman cf315737b7 Keep the body scrape for reserved message types and an empty receipt id marker 2026-08-27 16:32:01 +02:00
lilleman c9c3121d40 Give the esm_class bits one owner beside the constants 2026-08-27 16:18:05 +02:00
lilleman b9f77ec969 Decode a receipt body before reading it and stop an unnameable state TLV overriding it 2026-08-27 16:08:54 +02:00
lilleman 4c08fe8fa3 Classify a deliver_sm by esm_class and document the messageDlr precondition 2026-08-27 15:52:33 +02:00
lilleman 366fa26b1c Enforce bind direction, cap segments per message and pin the README examples 2026-08-27 14:07:42 +02:00
lilleman 8d245c82c4 Declare the logger contract in the library instead of depending on @larvit/log 2026-08-27 13:42:58 +02:00
lilleman 8a182604b7 Address the CodeRabbit review: inbound SMS, binary payloads and untrusted input 2026-08-27 11:52:43 +02:00
lilleman 884afdb87b Stop a thrown listener escaping, bound what a peer can pin, and drop the body from failure responses 2026-08-27 10:55:34 +02:00
lilleman 5af75a3c57 Close the stability findings and settle the sendResp, sendSms and unbind contracts 2026-08-27 00:17:48 +02:00
lilleman 435fa42708 Decompose the codec, document the session surface and record the review decisions 2026-08-26 22:59:39 +02:00
lilleman 6d842a8539 Split the session, gate optional parameters on the peer version, own the SMPP version in defs 2026-08-26 22:41:28 +02:00
lilleman 1e5807f647 Record the TLS certificate decision 2026-08-26 21:50:09 +02:00
lilleman 54b73205ac Document the finished API and make the test scripts portable across Node versions 2026-08-25 17:02:57 +02:00
lilleman db5dc8cd15 Add message helpers: segmentation, bit counting and SMPP time 2026-08-25 16:23:23 +02:00
lilleman 79c9df79c6 Record wire-format defects and drop the dormant filters layer 2026-08-25 16:20:25 +02:00
lilleman 16c935bb18 Scaffold ESM TypeScript rewrite as @larvit/smpp 2026-08-25 16:02:27 +02:00