--------------------------------- Captured Out --------------------------------- ---- new test ---- 1774773136.257 sable_ircd uid=1001 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.260621Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010862920667136)), timestamp: 1774773136, clock: EventClock(), target: Server(ServerId(1)), details: NewServer(NewServer { epoch: 1774773136, name: ServerName("My.Little.Server"), ts: 1774773136, flags: (empty), version: "sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432" }) }; event clock=EventClock() my clock=EventClock() 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.260771Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.260997Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1mrun#x1B[0m#x1B[2m:#x1B[0m#x1B[1mapply_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3mevent#x1B[0m#x1B[2m=#x1B[0mEvent { id: EventId(Snowflake(826010862920667136)), timestamp: 1774773136, clock: EventClock(), target: Server(ServerId(1)), details: NewServer(NewServer { epoch: 1774773136, name: ServerName("My.Little.Server"), ts: 1774773136, flags: (empty), version: "sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432" }) }#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m#x1B[1mhandle_new_server#x1B[0m#x1B[1m{#x1B[0m#x1B[3mdetail#x1B[0m#x1B[2m=#x1B[0mNewServer { server: ServerId(1) }#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m enabling peer My.Little.Server 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.261019Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from reap_preclients_timer 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.261086Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010862920667136)), timestamp: 1774773136, change: NewServer(NewServer { server: ServerId(1) }), users_to_notify: [] }) 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.261121Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010862920667136)), timestamp: 1774773136, change: NewServer(NewServer { server: ServerId(1) }), users_to_notify: [] } 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.261161Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010862920667136)), timestamp: 1774773136, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.261190Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010862920667136)), timestamp: 1774773136, change: EventComplete(EventComplete), users_to_notify: [] } 1774773136.261 sable_ircd #x1B[2m2026-03-29T08:32:16.261183Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010862924861441)), timestamp: 1774773136, clock: EventClock(1 => 826010862920667136), target: Server(ServerId(1)), details: ServerPing(ServerPing { ts: 1774773136 }) }; event clock=EventClock(1 => 826010862920667136) my clock=EventClock(1 => 826010862920667136) 1774773136.262 sable_ircd #x1B[2m2026-03-29T08:32:16.261480Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773136.262 sable_ircd #x1B[2m2026-03-29T08:32:16.261774Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010862924861441)), timestamp: 1774773136, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773136.262 sable_ircd #x1B[2m2026-03-29T08:32:16.261816Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010862924861441)), timestamp: 1774773136, change: EventComplete(EventComplete), users_to_notify: [] } 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.353463Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1mrun_communication_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2mclient_listener::listener_collection#x1B[0m#x1B[2m:#x1B[0m got new connection #x1B[3mdata#x1B[0m#x1B[2m=#x1B[0mConnectionData { id: ConnectionId(ListenerId(0), 1), remote_addr: 127.0.0.1, tls_info: None } 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.353662Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.353729Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 1)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got new connection 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.353780Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 1)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 1): :My.Little.Server NOTICE * :*** Looking up your hostname 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.353885Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.353944Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 1)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"QUIT :chkport" 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.354050Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 1): ERROR :Client quit 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.354151Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got pending CommandAction #x1B[3mact#x1B[0m#x1B[2m=#x1B[0mCloseConnection(ConnectionId(ListenerId(0), 1)) 1774773136.354 sable_ircd #x1B[2m2026-03-29T08:32:16.354179Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::connection_collection#x1B[0m#x1B[2m:#x1B[0m Removing connection ConnectionId(ListenerId(0), 1) 1774773136.355 sable_ircd #x1B[2m2026-03-29T08:32:16.354580Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1mrun_communication_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2mclient_listener::listener_collection#x1B[0m#x1B[2m:#x1B[0m Connection error #x1B[3mconnection#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 1) #x1B[3merror#x1B[0m#x1B[2m=#x1B[0mClosed 1774773136.355 sable_ircd #x1B[2m2026-03-29T08:32:16.354682Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.355 sable_ircd #x1B[2m2026-03-29T08:32:16.354852Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from auth_events 1774773136.374 1: connects to server. 1774773136.374 1 -> S: NICK foo 1774773136.375 1 -> S: USER username * * :Realname 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.374824Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1mrun_communication_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2mclient_listener::listener_collection#x1B[0m#x1B[2m:#x1B[0m got new connection #x1B[3mdata#x1B[0m#x1B[2m=#x1B[0mConnectionData { id: ConnectionId(ListenerId(0), 2), remote_addr: 127.0.0.1, tls_info: None } 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.374924Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.374961Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got new connection 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.374995Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server NOTICE * :*** Looking up your hostname 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.375100Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.375149Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"NICK foo" 1774773136.375 S -> 1: :My.Little.Server NOTICE * :*** Looking up your hostname 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.375252Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.375308Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"USER username * * :Realname" 1774773136.375 sable_ircd #x1B[2m2026-03-29T08:32:16.375407Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 440, tv_nsec: 593359359 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(), realname: OnceLock(Realname("Realname")), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773136.376 sable_ircd #x1B[2m2026-03-29T08:32:16.375498Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 440, tv_nsec: 593359359 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("foo")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773136.376 sable_ircd #x1B[2m2026-03-29T08:32:16.375549Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773136.376 sable_ircd #x1B[2m2026-03-29T08:32:16.375969Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from auth_events 1774773136.376 sable_ircd #x1B[2m2026-03-29T08:32:16.376013Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m DNS lookup finished for ConnectionId(ListenerId(0), 2): 127.0.0.1/Some(Hostname("localhost")) 1774773136.376 sable_ircd #x1B[2m2026-03-29T08:32:16.376057Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server NOTICE * :*** Found your hostname: localhost 1774773136.376 sable_ircd #x1B[2m2026-03-29T08:32:16.376094Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 440, tv_nsec: 593359359 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("foo")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(Hostname("localhost")), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mtrue #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773136.376 sable_ircd #x1B[2m2026-03-29T08:32:16.376165Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got pending CommandAction #x1B[3mact#x1B[0m#x1B[2m=#x1B[0mRegisterClient(ConnectionId(ListenerId(0), 2)) 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376421Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010863407206402)), timestamp: 1774773136, clock: EventClock(1 => 826010862924861441), target: User(UserId(Snowflake(826010863407206400))), details: NewUser(NewUser { nickname: Nickname("foo"), username: Username("username"), visible_hostname: Hostname("localhost"), realname: Realname("Realname"), mode: UserMode { modes: UserModeSet(0) }, server: ServerId(1), account: None, initial_connection: Some((UserConnectionId(Snowflake(826010863407206401)), NewUserConnection { user: UserId(Snowflake(826010863407206400)), hostname: Hostname("localhost"), ip: 127.0.0.1, connection_time: 1774773136 })) }) }; event clock=EventClock(1 => 826010862924861441) my clock=EventClock(1 => 826010862924861441) 1774773136.377 S -> 1: :My.Little.Server NOTICE * :*** Found your hostname: localhost 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376517Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376799Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010863407206402)), timestamp: 1774773136, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010863407206400)), 1) }), users_to_notify: [] }) 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376830Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010863407206402)), timestamp: 1774773136, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010863407206400)), 1) }), users_to_notify: [] } 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376869Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010863407206402)), timestamp: 1774773136, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010863407206400)), 2), connection: UserConnectionId(Snowflake(826010863407206401)) }), users_to_notify: [] }) 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376890Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010863407206402)), timestamp: 1774773136, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010863407206400)), 2), connection: UserConnectionId(Snowflake(826010863407206401)) }), users_to_notify: [] } 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376935Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 001 foo :Welcome to the test Internet Relay Chat network, foo 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376960Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 002 foo :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376980Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 003 foo :This server was created 2026-03-29 08:32:16.376973234 UTC 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.376996Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 004 foo My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.377030Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 005 foo EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.377050Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 422 foo :MOTD File is missing 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.377067Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :foo!username@localhost MODE foo + 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.377081Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server NOTICE foo :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.377122Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010863407206402)), timestamp: 1774773136, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773136.377 sable_ircd #x1B[2m2026-03-29T08:32:16.377143Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010863407206402)), timestamp: 1774773136, change: EventComplete(EventComplete), users_to_notify: [] } 1774773136.377 S -> 1: :My.Little.Server 001 foo :Welcome to the test Internet Relay Chat network, foo 1774773136.377 S -> 1: :My.Little.Server 002 foo :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773136.377 1 -> S: PING foo 1774773136.378 sable_ircd #x1B[2m2026-03-29T08:32:16.377679Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.378 sable_ircd #x1B[2m2026-03-29T08:32:16.377734Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING foo" 1774773136.378 sable_ircd #x1B[2m2026-03-29T08:32:16.377802Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server PONG My.Little.Server :foo 1774773136.578 1 -> S: PING synchronize440.796083582 1774773136.578 S -> 1: :My.Little.Server 003 foo :This server was created 2026-03-29 08:32:16.376973234 UTC 1774773136.578 S -> 1: :My.Little.Server 004 foo My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773136.578 S -> 1: :My.Little.Server 005 foo EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773136.578 S -> 1: :My.Little.Server 422 foo :MOTD File is missing 1774773136.578 S -> 1: :foo!username@localhost MODE foo + 1774773136.578 S -> 1: :My.Little.Server NOTICE foo :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773136.578 S -> 1: :My.Little.Server PONG My.Little.Server :foo 1774773136.578 sable_ircd #x1B[2m2026-03-29T08:32:16.578366Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773136.578 sable_ircd #x1B[2m2026-03-29T08:32:16.578442Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize440.796083582" 1774773136.579 sable_ircd #x1B[2m2026-03-29T08:32:16.578568Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server PONG My.Little.Server :synchronize440.796083582 1774773136.579 S -> 1: :My.Little.Server PONG My.Little.Server :synchronize440.796083582 1774773137.180 1 -> S: JOIN #chan 1774773137.180 sable_ircd #x1B[2m2026-03-29T08:32:17.180180Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773137.180 sable_ircd #x1B[2m2026-03-29T08:32:17.180237Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"JOIN #chan" 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.180497Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010866779426819)), timestamp: 1774773137, clock: EventClock(1 => 826010863407206402), target: Channel(ChannelId(Snowflake(826010866779426818))), details: NewChannel(NewChannel { name: ChannelName("#chan"), mode: ChannelMode { modes: ChannelModeSet(0), key: None } }) }; event clock=EventClock(1 => 826010863407206402) my clock=EventClock(1 => 826010863407206402) 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.180694Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.180787Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010866779426820)), timestamp: 1774773137, clock: EventClock(1 => 826010866779426819), target: Membership(MembershipId(UserId(Snowflake(826010863407206400)), ChannelId(Snowflake(826010866779426818)))), details: ChannelJoin(ChannelJoin { channel: ChannelId(Snowflake(826010866779426818)), user: UserId(Snowflake(826010863407206400)), permissions: MembershipFlagSet(1) }) }; event clock=EventClock(1 => 826010866779426819) my clock=EventClock(1 => 826010866779426819) 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.180909Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.180955Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181160Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010866779426819)), timestamp: 1774773137, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181194Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010866779426819)), timestamp: 1774773137, change: EventComplete(EventComplete), users_to_notify: [] } 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181241Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010866779426820)), timestamp: 1774773137, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010863407206400)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010863407206400)), 2) }), users_to_notify: [UserId(Snowflake(826010863407206400))] }) 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181270Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010866779426820)), timestamp: 1774773137, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010863407206400)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010863407206400)), 2) }), users_to_notify: [UserId(Snowflake(826010863407206400))] } 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181322Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :foo!username@localhost JOIN #chan 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181357Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :foo!username@localhost MODE #chan +o foo 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181394Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 353 foo = #chan :@foo 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181414Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server 366 foo #chan :End of names list 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181454Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010866779426820)), timestamp: 1774773137, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773137.181 sable_ircd #x1B[2m2026-03-29T08:32:17.181476Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010866779426820)), timestamp: 1774773137, change: EventComplete(EventComplete), users_to_notify: [] } 1774773137.280 1 -> S: PING synchronize441.498253869 1774773137.280 S -> 1: :foo!username@localhost JOIN #chan 1774773137.280 S -> 1: :foo!username@localhost MODE #chan +o foo 1774773137.280 S -> 1: :My.Little.Server 353 foo = #chan :@foo 1774773137.280 S -> 1: :My.Little.Server 366 foo #chan :End of names list 1774773137.280 sable_ircd #x1B[2m2026-03-29T08:32:17.280337Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773137.280 sable_ircd #x1B[2m2026-03-29T08:32:17.280392Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 2)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize441.498253869" 1774773138.034 sable_ircd #x1B[2m2026-03-29T08:32:18.034277Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :My.Little.Server PONG My.Little.Server :synchronize441.498253869 1774773138.035 S -> 1: :My.Little.Server PONG My.Little.Server :synchronize441.498253869 1774773138.035 2: connects to server. 1774773138.035 2 -> S: NICK bar 1774773138.035 2 -> S: USER username * * :Realname 1774773138.035 sable_ircd #x1B[2m2026-03-29T08:32:18.035321Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1mrun_communication_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2mclient_listener::listener_collection#x1B[0m#x1B[2m:#x1B[0m got new connection #x1B[3mdata#x1B[0m#x1B[2m=#x1B[0mConnectionData { id: ConnectionId(ListenerId(0), 3), remote_addr: 127.0.0.1, tls_info: None } 1774773138.035 sable_ircd #x1B[2m2026-03-29T08:32:18.035441Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.035482Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got new connection 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.035534Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server NOTICE * :*** Looking up your hostname 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.035695Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.035747Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"NICK bar" 1774773138.036 S -> 2: :My.Little.Server NOTICE * :*** Looking up your hostname 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.035884Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 442, tv_nsec: 253890898 }, attach_user_id: OnceLock(), user: OnceLock(), extra_user_params: OnceLock(), nick: OnceLock(Nickname("bar")), realname: OnceLock(), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.035953Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.035997Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.036026Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"USER username * * :Realname" 1774773138.036 sable_ircd #x1B[2m2026-03-29T08:32:18.036093Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 442, tv_nsec: 253890898 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("bar")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.036682Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from auth_events 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.036711Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m DNS lookup finished for ConnectionId(ListenerId(0), 3): 127.0.0.1/Some(Hostname("localhost")) 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.036735Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server NOTICE * :*** Found your hostname: localhost 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.036753Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 442, tv_nsec: 253890898 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("bar")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(Hostname("localhost")), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mtrue #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.036794Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got pending CommandAction #x1B[3mact#x1B[0m#x1B[2m=#x1B[0mRegisterClient(ConnectionId(ListenerId(0), 3)) 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.037002Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010870369751045)), timestamp: 1774773138, clock: EventClock(1 => 826010866779426820), target: User(UserId(Snowflake(826010870369751043))), details: NewUser(NewUser { nickname: Nickname("bar"), username: Username("username"), visible_hostname: Hostname("localhost"), realname: Realname("Realname"), mode: UserMode { modes: UserModeSet(0) }, server: ServerId(1), account: None, initial_connection: Some((UserConnectionId(Snowflake(826010870369751044)), NewUserConnection { user: UserId(Snowflake(826010870369751043)), hostname: Hostname("localhost"), ip: 127.0.0.1, connection_time: 1774773138 })) }) }; event clock=EventClock(1 => 826010866779426820) my clock=EventClock(1 => 826010866779426820) 1774773138.037 S -> 2: :My.Little.Server NOTICE * :*** Found your hostname: localhost 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.037102Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.037406Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010870369751045)), timestamp: 1774773138, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010870369751043)), 1) }), users_to_notify: [] }) 1774773138.037 sable_ircd #x1B[2m2026-03-29T08:32:18.037443Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010870369751045)), timestamp: 1774773138, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010870369751043)), 1) }), users_to_notify: [] } 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037481Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010870369751045)), timestamp: 1774773138, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010870369751043)), 2), connection: UserConnectionId(Snowflake(826010870369751044)) }), users_to_notify: [] }) 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037501Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010870369751045)), timestamp: 1774773138, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010870369751043)), 2), connection: UserConnectionId(Snowflake(826010870369751044)) }), users_to_notify: [] } 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037541Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 001 bar :Welcome to the test Internet Relay Chat network, bar 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037566Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 002 bar :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037587Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 003 bar :This server was created 2026-03-29 08:32:18.037579899 UTC 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037601Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 004 bar My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037619Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 005 bar EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037666Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 422 bar :MOTD File is missing 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037691Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :bar!username@localhost MODE bar + 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037703Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server NOTICE bar :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037746Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010870369751045)), timestamp: 1774773138, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.037768Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010870369751045)), timestamp: 1774773138, change: EventComplete(EventComplete), users_to_notify: [] } 1774773138.038 S -> 2: :My.Little.Server 001 bar :Welcome to the test Internet Relay Chat network, bar 1774773138.038 S -> 2: :My.Little.Server 002 bar :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773138.038 S -> 2: :My.Little.Server 003 bar :This server was created 2026-03-29 08:32:18.037579899 UTC 1774773138.038 S -> 2: :My.Little.Server 004 bar My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773138.038 S -> 2: :My.Little.Server 005 bar EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773138.038 S -> 2: :My.Little.Server 422 bar :MOTD File is missing 1774773138.038 S -> 2: :bar!username@localhost MODE bar + 1774773138.038 S -> 2: :My.Little.Server NOTICE bar :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773138.038 2 -> S: PING foo 1774773138.038 sable_ircd #x1B[2m2026-03-29T08:32:18.038446Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773138.039 sable_ircd #x1B[2m2026-03-29T08:32:18.038485Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING foo" 1774773138.039 sable_ircd #x1B[2m2026-03-29T08:32:18.038548Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server PONG My.Little.Server :foo 1774773138.839 2 -> S: PING synchronize443.057608751 1774773138.839 S -> 2: :My.Little.Server PONG My.Little.Server :foo 1774773138.840 sable_ircd #x1B[2m2026-03-29T08:32:18.839828Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773138.840 sable_ircd #x1B[2m2026-03-29T08:32:18.839898Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize443.057608751" 1774773138.840 sable_ircd #x1B[2m2026-03-29T08:32:18.840043Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server PONG My.Little.Server :synchronize443.057608751 1774773138.840 S -> 2: :My.Little.Server PONG My.Little.Server :synchronize443.057608751 1774773138.840 2 -> S: JOIN #chan 1774773138.841 sable_ircd #x1B[2m2026-03-29T08:32:18.840754Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773138.841 sable_ircd #x1B[2m2026-03-29T08:32:18.840793Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"JOIN #chan" 1774773138.941 2 -> S: PING synchronize443.158943267 1774773138.941 sable_ircd #x1B[2m2026-03-29T08:32:18.941056Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773138.941 sable_ircd #x1B[2m2026-03-29T08:32:18.941114Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 3)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize443.158943267" 1774773139.193 sable_ircd #x1B[2m2026-03-29T08:32:19.193044Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010875222560774)), timestamp: 1774773139, clock: EventClock(1 => 826010870369751045), target: Membership(MembershipId(UserId(Snowflake(826010870369751043)), ChannelId(Snowflake(826010866779426818)))), details: ChannelJoin(ChannelJoin { channel: ChannelId(Snowflake(826010866779426818)), user: UserId(Snowflake(826010870369751043)), permissions: MembershipFlagSet(0) }) }; event clock=EventClock(1 => 826010870369751045) my clock=EventClock(1 => 826010870369751045) 1774773139.193 sable_ircd #x1B[2m2026-03-29T08:32:19.193241Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773139.193 sable_ircd #x1B[2m2026-03-29T08:32:19.193247Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.193533Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010875222560774)), timestamp: 1774773139, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010870369751043)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010870369751043)), 2) }), users_to_notify: [UserId(Snowflake(826010870369751043)), UserId(Snowflake(826010863407206400))] }) 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.193582Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010875222560774)), timestamp: 1774773139, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010870369751043)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010870369751043)), 2) }), users_to_notify: [UserId(Snowflake(826010870369751043)), UserId(Snowflake(826010863407206400))] } 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.193695Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :bar!username@localhost JOIN #chan 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.193790Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 353 bar = #chan :bar @foo 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.193844Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server 366 bar #chan :End of names list 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.193917Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :bar!username@localhost JOIN #chan 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.193986Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010875222560774)), timestamp: 1774773139, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773139.194 sable_ircd #x1B[2m2026-03-29T08:32:19.194019Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010875222560774)), timestamp: 1774773139, change: EventComplete(EventComplete), users_to_notify: [] } 1774773139.194 S -> 2: :bar!username@localhost JOIN #chan 1774773139.235 S -> 2: :My.Little.Server 353 bar = #chan :bar @foo 1774773139.235 S -> 2: :My.Little.Server 366 bar #chan :End of names list 1774773140.199 sable_ircd #x1B[2m2026-03-29T08:32:20.198495Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :My.Little.Server PONG My.Little.Server :synchronize443.158943267 1774773140.199 S -> 2: :My.Little.Server PONG My.Little.Server :synchronize443.158943267 1774773140.199 3: connects to server. 1774773140.199 3 -> S: NICK baz 1774773140.199 3 -> S: USER username * * :Realname 1774773140.199 sable_ircd #x1B[2m2026-03-29T08:32:20.199391Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1mrun_communication_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2mclient_listener::listener_collection#x1B[0m#x1B[2m:#x1B[0m got new connection #x1B[3mdata#x1B[0m#x1B[2m=#x1B[0mConnectionData { id: ConnectionId(ListenerId(0), 4), remote_addr: 127.0.0.1, tls_info: None } 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.199544Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.199604Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got new connection 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.199728Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server NOTICE * :*** Looking up your hostname 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.199892Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.199947Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"NICK baz" 1774773140.200 S -> 3: :My.Little.Server NOTICE * :*** Looking up your hostname 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.200110Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 444, tv_nsec: 418067042 }, attach_user_id: OnceLock(), user: OnceLock(), extra_user_params: OnceLock(), nick: OnceLock(Nickname("baz")), realname: OnceLock(), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.200177Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.200223Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.200270Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"USER username * * :Realname" 1774773140.200 sable_ircd #x1B[2m2026-03-29T08:32:20.200365Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 444, tv_nsec: 418067042 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("baz")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773140.201 sable_ircd #x1B[2m2026-03-29T08:32:20.200969Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from auth_events 1774773140.201 sable_ircd #x1B[2m2026-03-29T08:32:20.200998Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m DNS lookup finished for ConnectionId(ListenerId(0), 4): 127.0.0.1/Some(Hostname("localhost")) 1774773140.201 sable_ircd #x1B[2m2026-03-29T08:32:20.201022Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server NOTICE * :*** Found your hostname: localhost 1774773140.201 sable_ircd #x1B[2m2026-03-29T08:32:20.201042Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 444, tv_nsec: 418067042 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("baz")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(Hostname("localhost")), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mtrue #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773140.201 sable_ircd #x1B[2m2026-03-29T08:32:20.201081Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got pending CommandAction #x1B[3mact#x1B[0m#x1B[2m=#x1B[0mRegisterClient(ConnectionId(ListenerId(0), 4)) 1774773140.201 sable_ircd #x1B[2m2026-03-29T08:32:20.201283Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010879450419207)), timestamp: 1774773140, clock: EventClock(1 => 826010875222560774), target: User(UserId(Snowflake(826010879450419205))), details: NewUser(NewUser { nickname: Nickname("baz"), username: Username("username"), visible_hostname: Hostname("localhost"), realname: Realname("Realname"), mode: UserMode { modes: UserModeSet(0) }, server: ServerId(1), account: None, initial_connection: Some((UserConnectionId(Snowflake(826010879450419206)), NewUserConnection { user: UserId(Snowflake(826010879450419205)), hostname: Hostname("localhost"), ip: 127.0.0.1, connection_time: 1774773140 })) }) }; event clock=EventClock(1 => 826010875222560774) my clock=EventClock(1 => 826010875222560774) 1774773140.201 S -> 3: :My.Little.Server NOTICE * :*** Found your hostname: localhost1774773140.201 sable_ircd #x1B[2m2026-03-29T08:32:20.201381Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201632Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010879450419207)), timestamp: 1774773140, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010879450419205)), 1) }), users_to_notify: [] }) 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201675Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010879450419207)), timestamp: 1774773140, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010879450419205)), 1) }), users_to_notify: [] } 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201757Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010879450419207)), timestamp: 1774773140, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010879450419205)), 2), connection: UserConnectionId(Snowflake(826010879450419206)) }), users_to_notify: [] }) 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201785Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010879450419207)), timestamp: 1774773140, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010879450419205)), 2), connection: UserConnectionId(Snowflake(826010879450419206)) }), users_to_notify: [] } 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201830Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 001 baz :Welcome to the test Internet Relay Chat network, baz 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201856Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 002 baz :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201877Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 003 baz :This server was created 2026-03-29 08:32:20.201870235 UTC 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201894Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 004 baz My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201915Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 005 baz EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201933Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 422 baz :MOTD File is missing 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201951Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :baz!username@localhost MODE baz + 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201965Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server NOTICE baz :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.201998Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010879450419207)), timestamp: 1774773140, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773140.202 sable_ircd #x1B[2m2026-03-29T08:32:20.202018Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010879450419207)), timestamp: 1774773140, change: EventComplete(EventComplete), users_to_notify: [] } 1774773140.202 S -> 3: :My.Little.Server 001 baz :Welcome to the test Internet Relay Chat network, baz 1774773140.202 S -> 3: :My.Little.Server 002 baz :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773140.202 3 -> S: PING foo 1774773140.203 sable_ircd #x1B[2m2026-03-29T08:32:20.202552Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773140.203 sable_ircd #x1B[2m2026-03-29T08:32:20.202600Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING foo" 1774773140.203 sable_ircd #x1B[2m2026-03-29T08:32:20.202713Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server PONG My.Little.Server :foo 1774773140.403 3 -> S: PING synchronize444.620941973 1774773140.403 S -> 3: :My.Little.Server 003 baz :This server was created 2026-03-29 08:32:20.201870235 UTC 1774773140.403 S -> 3: :My.Little.Server 004 baz My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773140.403 S -> 3: :My.Little.Server 005 baz EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773140.403 S -> 3: :My.Little.Server 422 baz :MOTD File is missing 1774773140.403 S -> 3: :baz!username@localhost MODE baz + 1774773140.403 S -> 3: :My.Little.Server NOTICE baz :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773140.403 S -> 3: :My.Little.Server PONG My.Little.Server :foo 1774773140.403 sable_ircd #x1B[2m2026-03-29T08:32:20.403134Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773140.403 sable_ircd #x1B[2m2026-03-29T08:32:20.403218Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize444.620941973" 1774773140.403 sable_ircd #x1B[2m2026-03-29T08:32:20.403372Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server PONG My.Little.Server :synchronize444.620941973 1774773140.404 S -> 3: :My.Little.Server PONG My.Little.Server :synchronize444.620941973 1774773141.005 3 -> S: JOIN #chan 1774773141.005 sable_ircd #x1B[2m2026-03-29T08:32:21.005208Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773141.005 sable_ircd #x1B[2m2026-03-29T08:32:21.005296Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"JOIN #chan" 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.005620Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010882822639624)), timestamp: 1774773141, clock: EventClock(1 => 826010879450419207), target: Membership(MembershipId(UserId(Snowflake(826010879450419205)), ChannelId(Snowflake(826010866779426818)))), details: ChannelJoin(ChannelJoin { channel: ChannelId(Snowflake(826010866779426818)), user: UserId(Snowflake(826010879450419205)), permissions: MembershipFlagSet(0) }) }; event clock=EventClock(1 => 826010879450419207) my clock=EventClock(1 => 826010879450419207) 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.005805Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.005803Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006058Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010882822639624)), timestamp: 1774773141, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010879450419205)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010879450419205)), 2) }), users_to_notify: [UserId(Snowflake(826010870369751043)), UserId(Snowflake(826010863407206400)), UserId(Snowflake(826010879450419205))] }) 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006104Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010882822639624)), timestamp: 1774773141, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010879450419205)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010879450419205)), 2) }), users_to_notify: [UserId(Snowflake(826010870369751043)), UserId(Snowflake(826010863407206400)), UserId(Snowflake(826010879450419205))] } 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006159Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :baz!username@localhost JOIN #chan 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006198Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :baz!username@localhost JOIN #chan 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006227Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :baz!username@localhost JOIN #chan 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006269Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 353 baz = #chan :bar @foo baz 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006289Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server 366 baz #chan :End of names list 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006319Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010882822639624)), timestamp: 1774773141, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773141.006 sable_ircd #x1B[2m2026-03-29T08:32:21.006339Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010882822639624)), timestamp: 1774773141, change: EventComplete(EventComplete), users_to_notify: [] } 1774773141.105 3 -> S: PING synchronize445.323192517 1774773141.105 S -> 3: :baz!username@localhost JOIN #chan 1774773141.105 S -> 3: :My.Little.Server 353 baz = #chan :bar @foo baz 1774773141.105 S -> 3: :My.Little.Server 366 baz #chan :End of names list 1774773141.105 sable_ircd #x1B[2m2026-03-29T08:32:21.105335Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773141.105 sable_ircd #x1B[2m2026-03-29T08:32:21.105402Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 4)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize445.323192517" 1774773142.106 3: waiting… 1774773142.111 sable_ircd #x1B[2m2026-03-29T08:32:22.110941Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :My.Little.Server PONG My.Little.Server :synchronize445.323192517 1774773142.111 S -> 3: :My.Little.Server PONG My.Little.Server :synchronize445.323192517 1774773142.112 4: connects to server. 1774773142.112 4 -> S: NICK qux 1774773142.112 4 -> S: USER username * * :Realname 1774773142.112 sable_ircd #x1B[2m2026-03-29T08:32:22.111898Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1mrun_communication_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2mclient_listener::listener_collection#x1B[0m#x1B[2m:#x1B[0m got new connection #x1B[3mdata#x1B[0m#x1B[2m=#x1B[0mConnectionData { id: ConnectionId(ListenerId(0), 5), remote_addr: 127.0.0.1, tls_info: None } 1774773142.112 sable_ircd #x1B[2m2026-03-29T08:32:22.112003Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773142.112 sable_ircd #x1B[2m2026-03-29T08:32:22.112055Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got new connection 1774773142.112 sable_ircd #x1B[2m2026-03-29T08:32:22.112126Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server NOTICE * :*** Looking up your hostname 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112377Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112431Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"NICK qux" 1774773142.113 S -> 4: :My.Little.Server NOTICE * :*** Looking up your hostname 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112563Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 446, tv_nsec: 330477327 }, attach_user_id: OnceLock(), user: OnceLock(), extra_user_params: OnceLock(), nick: OnceLock(Nickname("qux")), realname: OnceLock(), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112659Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112721Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112775Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"USER username * * :Realname" 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112877Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 446, tv_nsec: 330477327 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("qux")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mfalse #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112935Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from auth_events 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112953Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m DNS lookup finished for ConnectionId(ListenerId(0), 5): 127.0.0.1/Some(Hostname("localhost")) 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112976Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server NOTICE * :*** Found your hostname: localhost 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.112995Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m PreClient::can_register #x1B[3mself#x1B[0m#x1B[2m=#x1B[0mPreClient { connected_at: Instant { tv_sec: 446, tv_nsec: 330477327 }, attach_user_id: OnceLock(), user: OnceLock(Username("username")), extra_user_params: OnceLock(("*", "*")), nick: OnceLock(Nickname("qux")), realname: OnceLock(Realname("Realname")), hostname: OnceLock(Hostname("localhost")), sasl_session: Mutex { data: None }, sasl_account: OnceLock(), progress_flags: 0 } #x1B[3mcan_register_new#x1B[0m#x1B[2m=#x1B[0mtrue #x1B[3mcan_attach#x1B[0m#x1B[2m=#x1B[0mfalse 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.113027Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got pending CommandAction #x1B[3mact#x1B[0m#x1B[2m=#x1B[0mRegisterClient(ConnectionId(ListenerId(0), 5)) 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.113248Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010887469928457)), timestamp: 1774773142, clock: EventClock(1 => 826010882822639624), target: User(UserId(Snowflake(826010887469928455))), details: NewUser(NewUser { nickname: Nickname("qux"), username: Username("username"), visible_hostname: Hostname("localhost"), realname: Realname("Realname"), mode: UserMode { modes: UserModeSet(0) }, server: ServerId(1), account: None, initial_connection: Some((UserConnectionId(Snowflake(826010887469928456)), NewUserConnection { user: UserId(Snowflake(826010887469928455)), hostname: Hostname("localhost"), ip: 127.0.0.1, connection_time: 1774773142 })) }) }; event clock=EventClock(1 => 826010882822639624) my clock=EventClock(1 => 826010882822639624) 1774773142.113 S -> 4: :My.Little.Server NOTICE * :*** Found your hostname: localhost 1774773142.113 sable_ircd #x1B[2m2026-03-29T08:32:22.113346Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113634Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010887469928457)), timestamp: 1774773142, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010887469928455)), 1) }), users_to_notify: [] }) 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113675Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010887469928457)), timestamp: 1774773142, change: NewUser(NewUser { user: HistoricUserId(UserId(Snowflake(826010887469928455)), 1) }), users_to_notify: [] } 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113748Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010887469928457)), timestamp: 1774773142, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010887469928455)), 2), connection: UserConnectionId(Snowflake(826010887469928456)) }), users_to_notify: [] }) 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113775Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010887469928457)), timestamp: 1774773142, change: NewUserConnection(NewUserConnection { user: HistoricUserId(UserId(Snowflake(826010887469928455)), 2), connection: UserConnectionId(Snowflake(826010887469928456)) }), users_to_notify: [] } 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113821Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 001 qux :Welcome to the test Internet Relay Chat network, qux 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113847Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 002 qux :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113869Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 003 qux :This server was created 2026-03-29 08:32:22.113860939 UTC 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113885Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 004 qux My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113907Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 005 qux EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113924Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 422 qux :MOTD File is missing 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113942Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :qux!username@localhost MODE qux + 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113957Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server NOTICE qux :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.113989Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010887469928457)), timestamp: 1774773142, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.114010Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010887469928457)), timestamp: 1774773142, change: EventComplete(EventComplete), users_to_notify: [] } 1774773142.114 S -> 4: :My.Little.Server 001 qux :Welcome to the test Internet Relay Chat network, qux 1774773142.114 4 -> S: PING foo 1774773142.114 sable_ircd #x1B[2m2026-03-29T08:32:22.114467Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773142.115 sable_ircd #x1B[2m2026-03-29T08:32:22.114505Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING foo" 1774773142.115 sable_ircd #x1B[2m2026-03-29T08:32:22.114573Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server PONG My.Little.Server :foo 1774773142.214 4 -> S: PING synchronize446.432768319 1774773142.214 S -> 4: :My.Little.Server 002 qux :Your host is My.Little.Server, running version sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 1774773142.215 S -> 4: :My.Little.Server 003 qux :This server was created 2026-03-29 08:32:22.113860939 UTC 1774773142.215 S -> 4: :My.Little.Server 004 qux My.Little.Server sable-0.1.0-70e61b4cc015537d8906da5286f062a8199fb432 ioZ ntsim bqeIkov 1774773142.215 S -> 4: :My.Little.Server 005 qux EXCEPTS INVEX FNC UTF8ONLY MONITOR=64 CASEMAPPING=ascii CLIENTTAGDENY=* HOSTLEN=64 NICKLEN=15 USERLEN=10 CHANMODES=bqeI,k,,ntsim MSGREFTYPES=timestamp PREFIX=(ov)@+ :are supported by this server 1774773142.215 S -> 4: :My.Little.Server 422 qux :MOTD File is missing 1774773142.215 S -> 4: :qux!username@localhost MODE qux + 1774773142.215 S -> 4: :My.Little.Server NOTICE qux :The network is currently running in debug mode. Do not send any sensitive information such as passwords. 1774773142.215 S -> 4: :My.Little.Server PONG My.Little.Server :foo 1774773142.215 sable_ircd #x1B[2m2026-03-29T08:32:22.214890Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773142.215 sable_ircd #x1B[2m2026-03-29T08:32:22.214950Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize446.432768319" 1774773142.215 sable_ircd #x1B[2m2026-03-29T08:32:22.215051Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server PONG My.Little.Server :synchronize446.432768319 1774773142.215 S -> 4: :My.Little.Server PONG My.Little.Server :synchronize446.432768319 1774773142.916 4 -> S: JOIN #chan 1774773142.917 sable_ircd #x1B[2m2026-03-29T08:32:22.916656Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773142.917 sable_ircd #x1B[2m2026-03-29T08:32:22.916715Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"JOIN #chan" 1774773143.016 4 -> S: PING synchronize447.234712628 1774773143.017 sable_ircd #x1B[2m2026-03-29T08:32:23.016822Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from connection_events 1774773143.017 sable_ircd #x1B[2m2026-03-29T08:32:23.016877Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m#x1B[1mprocess_connection_event#x1B[0m#x1B[1m{#x1B[0m#x1B[3msource#x1B[0m#x1B[2m=#x1B[0mConnectionId(ListenerId(0), 5)#x1B[1m}#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m Got message #x1B[3mmsg#x1B[0m#x1B[2m=#x1B[0m"PING synchronize447.234712628" 1774773143.017 sable_ircd #x1B[2m2026-03-29T08:32:23.017166Z#x1B[0m #x1B[34mDEBUG#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::eventlog#x1B[0m#x1B[2m:#x1B[0m Adding event Event { id: EventId(Snowflake(826010891261579274)), timestamp: 1774773143, clock: EventClock(1 => 826010887469928457), target: Membership(MembershipId(UserId(Snowflake(826010887469928455)), ChannelId(Snowflake(826010866779426818)))), details: ChannelJoin(ChannelJoin { channel: ChannelId(Snowflake(826010866779426818)), user: UserId(Snowflake(826010887469928455)), permissions: MembershipFlagSet(0) }) }; event clock=EventClock(1 => 826010887469928457) my clock=EventClock(1 => 826010887469928457) 1774773143.017 sable_ircd #x1B[2m2026-03-29T08:32:23.017313Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from async_handlers 1774773143.017 sable_ircd #x1B[2m2026-03-29T08:32:23.017323Z#x1B[0m #x1B[32m INFO#x1B[0m #x1B[1msync_task#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_network::sync::network#x1B[0m#x1B[2m:#x1B[0m No peers available to propagate message 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017551Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010891261579274)), timestamp: 1774773143, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010887469928455)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010887469928455)), 2) }), users_to_notify: [UserId(Snowflake(826010870369751043)), UserId(Snowflake(826010863407206400)), UserId(Snowflake(826010879450419205)), UserId(Snowflake(826010887469928455))] }) 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017591Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010891261579274)), timestamp: 1774773143, change: ChannelJoin(ChannelJoin { membership: MembershipId(UserId(Snowflake(826010887469928455)), ChannelId(Snowflake(826010866779426818))), user: HistoricUserId(UserId(Snowflake(826010887469928455)), 2) }), users_to_notify: [UserId(Snowflake(826010870369751043)), UserId(Snowflake(826010863407206400)), UserId(Snowflake(826010879450419205)), UserId(Snowflake(826010887469928455))] } 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017686Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 3): :qux!username@localhost JOIN #chan 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017752Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 2): :qux!username@localhost JOIN #chan 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017813Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 4): :qux!username@localhost JOIN #chan 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017871Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :qux!username@localhost JOIN #chan 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017943Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 353 qux = #chan :bar @foo baz qux 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.017977Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server 366 qux #chan :End of names list 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.018037Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server#x1B[0m#x1B[2m:#x1B[0m ...from history_receiver #x1B[3mres#x1B[0m#x1B[2m=#x1B[0mSome(NetworkHistoryUpdate { event: EventId(Snowflake(826010891261579274)), timestamp: 1774773143, change: EventComplete(EventComplete), users_to_notify: [] }) 1774773143.018 sable_ircd #x1B[2m2026-03-29T08:32:23.018070Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::server::update_handler#x1B[0m#x1B[2m:#x1B[0m Got history update #x1B[3mupdate#x1B[0m#x1B[2m=#x1B[0mNetworkHistoryUpdate { event: EventId(Snowflake(826010891261579274)), timestamp: 1774773143, change: EventComplete(EventComplete), users_to_notify: [] } 1774773143.018 S -> 4: :qux!username@localhost JOIN #chan 1774773143.018 S -> 4: :My.Little.Server 353 qux = #chan :bar @foo baz qux 1774773143.018 S -> 4: :My.Little.Server 366 qux #chan :End of names list 1774773144.020 4: waiting… 1774773144.023 sable_ircd #x1B[2m2026-03-29T08:32:24.022880Z#x1B[0m #x1B[35mTRACE#x1B[0m #x1B[1mdo_run#x1B[0m#x1B[2m:#x1B[0m #x1B[2msable_ircd::client#x1B[0m#x1B[2m:#x1B[0m Sending to ConnectionId(ListenerId(0), 5): :My.Little.Server PONG My.Little.Server :synchronize447.234712628 1774773144.023 S -> 4: :My.Little.Server PONG My.Little.Server :synchronize447.234712628 1774773144.029 1: disconnects from server. 1774773144.029 2: disconnects from server. 1774773144.029 3: disconnects from server. 1774773144.029 4: disconnects from server.