home · contact · privacy
On connecting attempt, log used config data to server window. master
authorChristian Heller <c.heller@plomlompom.de>
Wed, 5 Nov 2025 21:41:44 +0000 (22:41 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Wed, 5 Nov 2025 21:41:44 +0000 (22:41 +0100)
src/ircplom/client_tui.py
src/tests/_timeout_retries.test
src/tests/config.test
src/tests/connect_disconnect_legalities.test
src/tests/error_disconnects.test
src/tests/pingpong.test
src/tests/test.test
src/tests/tui_draw.test
src/tests/tui_line_formattings.test

index fdfc22f93519a449c9ca050c3393dbe8fda85d77..f44fdc34297c6e47d2cc8c75f877bab33ed4031f 100644 (file)
@@ -347,7 +347,18 @@ class _TuiClientDb(_UpdatingNode, SharedClientDbFields):
     def recursive_set_and_report_change(self, update: _Update) -> None:
         super().recursive_set_and_report_change(update)
         if update.key == 'connection_state':
     def recursive_set_and_report_change(self, update: _Update) -> None:
         super().recursive_set_and_report_change(update)
         if update.key == 'connection_state':
-            if update.value == 'connected':
+            if update.value == 'connecting':
+                for line in (
+                        'attempting connection to'
+                        + f' {self.hostname}:{self.port} identifying with …',
+                        '- nickname: ' + self.nick_wanted,
+                        '- realname: ' + self.realname,
+                        '- username: ' + self.user_wanted,
+                        '- '
+                        + (('password: ' + self.password) if self.password
+                           else 'no password')):
+                    update.results += [(_LogScope.SERVER, [f':{line}'])]
+            elif update.value == 'connected':
                 update.results += [(_LogScope.ALL, [':CONNECTED'])]
             elif not update.value:
                 update.results += [(_LogScope.ALL, [':DISCONNECTED'])]
                 update.results += [(_LogScope.ALL, [':CONNECTED'])]
             elif not update.value:
                 update.results += [(_LogScope.ALL, [':DISCONNECTED'])]
index 23bff195dfe5fd38934f48b735fce00da1b1ccfb..19f09e7bdb4a0078fc1aaf68bfa68059243ad21d 100644 (file)
@@ -13,6 +13,11 @@ log , $ DISCONNECTED
 
 × conn-retry
 log 1 $ connection_state set to: [connecting]
 
 × conn-retry
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:10003 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: baz
+log 2 $ - username: foobarbazquux
+log 2 $ - password: bar
 log 1 $ port set to: [10002]
 log 1 $ connection_state set to: [failed to connect: FAKE TESTING TIMEOUT]
 
 log 1 $ port set to: [10002]
 log 1 $ connection_state set to: [failed to connect: FAKE TESTING TIMEOUT]
 
@@ -25,18 +30,27 @@ log 1 $ password set to: [bar]
 insert conn-retry : +1
 log 1 $ will retry connecting in 1 seconds
 insert conn-retry :1 +1
 insert conn-retry : +1
 log 1 $ will retry connecting in 1 seconds
 insert conn-retry :1 +1
+log 2 $ attempting connection to foo.bar.baz:10002 identifying with …
+insert conn-retry 2:6 +2
 log 1 $ port set to: [10001]
 log 1 $ port set to: [10001]
-insert conn-retry 2: +1
+insert conn-retry 7: +1
 log 1 $ will retry connecting in 2 seconds
 insert conn-retry :1 +1
 log 1 $ will retry connecting in 2 seconds
 insert conn-retry :1 +1
+log 2 $ attempting connection to foo.bar.baz:10001 identifying with …
+insert conn-retry 2:6 +2
 log 1 $ port set to: [10000]
 log 1 $ port set to: [10000]
-insert conn-retry 2: +1
+insert conn-retry 7: +1
 log 1 $ will retry connecting in 4 seconds
 
 × conn
 log 1 $ connection_state set to: [connecting]
 log 1 $ will retry connecting in 4 seconds
 
 × conn
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:10000 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: baz
+log 2 $ - username: foobarbazquux
+log 2 $ - password: bar
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER foobarbazquux 0 * :baz
 log 1 > NICK :foo
 log 1 > CAP LS :302
 log 1 > USER foobarbazquux 0 * :baz
 log 1 > NICK :foo
@@ -63,7 +77,7 @@ servermsg 0 no timely PONG from server
 log 1 $ connection_state set to: [broken: no timely PONG from server]
 insert isupport-clear
 log 1 $ connection_state set to: []
 log 1 $ connection_state set to: [broken: no timely PONG from server]
 insert isupport-clear
 log 1 $ connection_state set to: []
-log , $ DISCONNECTED
+log 2 $ DISCONNECTED
 log 1 $ will retry connecting in 1 seconds
 
 # check /disconnect aborts retry chain
 log 1 $ will retry connecting in 1 seconds
 
 # check /disconnect aborts retry chain
@@ -74,13 +88,28 @@ wait 1
 
 # on second server, check timed auto-retries don't activate after manual intervention
 > /connect baz.bar.foo:10003 foo:bar baz:foobarbazquux
 
 # on second server, check timed auto-retries don't activate after manual intervention
 > /connect baz.bar.foo:10003 foo:bar baz:foobarbazquux
-insert clientwin-init : +2
-log 2 $ hostname set to: [baz.bar.foo]
-insert conn-init-retries : +2
-> /window 2
+insert clientwin-init : +3
+log 3 $ hostname set to: [baz.bar.foo]
+insert conn-init-retries :5 +3
+insert conn-retry :1 +3
+log 4 $ attempting connection to baz.bar.foo:10003 identifying with …
+insert conn-retry 2: +3
+insert conn-init-retries 6:8 +3
+log 4 $ attempting connection to baz.bar.foo:10002 identifying with …
+insert conn-retry 2:6 +4
+log 3 $ port set to: [10001]
+insert conn-retry 7: +3
+insert conn-init-retries 12:14 +3
+log 4 $ attempting connection to baz.bar.foo:10001 identifying with …
+insert conn-retry 2:6 +4
+log 3 $ port set to: [10000]
+insert conn-init-retries 17:20 +3
+> /window 3
 > /reconnect
 > /reconnect
-insert conn : +2
+insert conn :1 +3
+log 4 $ attempting connection to baz.bar.foo:10000 identifying with …
+insert conn 2: +3
 wait 4
 > /disconnect
 wait 4
 > /disconnect
-log 2 > QUIT :ircplom says bye
+log 3 > QUIT :ircplom says bye
 wait 4
 wait 4
index c89063065ce075cc2c81b0be08ab1d2944b041ec..91a89c57352efd7bac396b94dbd0e9e9dae35d43 100644 (file)
@@ -15,8 +15,13 @@ log 1 $ user_wanted set to: [baz]
 log 1 $ realname set to: [quux]
 log 1 $ password set to: [bar]
 log 1 $ connection_state set to: [connecting]
 log 1 $ realname set to: [quux]
 log 1 $ password set to: [bar]
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to irc.test0.net:1234 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: quux
+log 2 $ - username: baz
+log 2 $ - password: bar
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :quux
 log 1 > NICK :foo
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :quux
 log 1 > NICK :foo
index 8904ccfe9f25ee6b8041cc49c56b1e0ecaeb64de..df08df89171a6acea6bc6efe33f2a06de07a52b0 100644 (file)
@@ -5,15 +5,20 @@ log 1 $ isupport:PREFIX set to: [(ov)@+]
 log 1 $ isupport:USERLEN set to: [10]
 × connecting
 log 1 $ connection_state set to: [connecting]
 log 1 $ isupport:USERLEN set to: [10]
 × connecting
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:6697 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: bar
+log 2 $ - username: baz
+log 2 $ - no password
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 × disconnecting
 insert isupport-clear
 log 1 $ connection_state set to: []
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 × disconnecting
 insert isupport-clear
 log 1 $ connection_state set to: []
-log , $ DISCONNECTED
+log 2 $ DISCONNECTED
 ×
 
 # to prepare, initiate connection
 ×
 
 # to prepare, initiate connection
index 9015eaab49b11a3067359e2de0e9d57cc601f5fe..247d4f38bc0638b2b35f54e9655c751c88853c2c 100644 (file)
@@ -5,15 +5,20 @@ log 1 $ isupport:PREFIX set to: [(ov)@+]
 log 1 $ isupport:USERLEN set to: [10]
 × connecting
 log 1 $ connection_state set to: [connecting]
 log 1 $ isupport:USERLEN set to: [10]
 × connecting
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:6697 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: bar
+log 2 $ - username: baz
+log 2 $ - no password
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 × disconnecting
 insert isupport-clear
 log 1 $ connection_state set to: []
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 × disconnecting
 insert isupport-clear
 log 1 $ connection_state set to: []
-log , $ DISCONNECTED
+log 2 $ DISCONNECTED
 × reconnect
 > /reconnect
 insert connecting
 × reconnect
 > /reconnect
 insert connecting
index b5d571b9c6db59afa5751181a8e600e2d92f1ac7..821f92cae90d2819fae0d8c2ab4f5762663874f9 100644 (file)
@@ -6,8 +6,13 @@ log 1 $ isupport:USERLEN set to: [10]
 
 × conn
 log 1 $ connection_state set to: [connecting]
 
 × conn
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:6697 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: baz
+log 2 $ - username: foobarbazquux
+log 2 $ - password: bar
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER foobarbazquux 0 * :baz
 log 1 > NICK :foo
 log 1 > CAP LS :302
 log 1 > USER foobarbazquux 0 * :baz
 log 1 > NICK :foo
@@ -58,7 +63,7 @@ insert full-timeout
 # on re-connect, ensure timer cleared, i.e. only 2nd time-out will disconnect
 > /window 1
 > /reconnect
 # on re-connect, ensure timer cleared, i.e. only 2nd time-out will disconnect
 > /window 1
 > /reconnect
-insert conn :2
+insert conn :7
 log 2 $ CONNECTED
 log 2 $ CONNECTED
-insert conn 3:
+insert conn 8:
 insert full-timeout
 insert full-timeout
index df2bf9ae3b083d7465345195be289af0474919a9..bc216b8aa9c6b77217ade5791f46176be2535b76 100644 (file)
@@ -14,8 +14,13 @@ log , $ DISCONNECTED
 × conn_init_0
 log 1 $ port set to: [6697]
 log 1 $ connection_state set to: [connecting]
 × conn_init_0
 log 1 $ port set to: [6697]
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:6697 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: baz
+log 2 $ - username: foobarbazquux
+log 2 $ - password: bar
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER foobarbazquux 0 * :baz
 log 1 > NICK :foo
 log 1 > CAP LS :302
 log 1 > USER foobarbazquux 0 * :baz
 log 1 > NICK :foo
@@ -327,34 +332,72 @@ log 8 $ port set to: [-1]
 log 8 $ nick_wanted set to: [?foo]
 log 8 $ user_wanted set to: [foo]
 log 8 $ realname set to: [foo]
 log 8 $ nick_wanted set to: [?foo]
 log 8 $ user_wanted set to: [foo]
 log 8 $ realname set to: [foo]
-insert conn_init_0 :5 +8
+insert conn_init_0 :2 +8
+log 9 $ attempting connection to baz.bar.foo:6697 identifying with …
+log 9 $ - nickname: ?foo
+log 9 $ - realname: foo
+log 9 $ - username: foo
+log 9 $ - no password
+insert conn_init_0 7:10 +8
 log 8 > USER foo 0 * :foo
 log 8 > NICK :?foo
 loggedservermsg 1 8 < :*.?.net 432 * ?foo :Erroneous nickname
 log 8 > USER foo 0 * :foo
 log 8 > NICK :?foo
 loggedservermsg 1 8 < :*.?.net 432 * ?foo :Erroneous nickname
-insert disconnect : +8
+insert disconnect :2 +8
+log 9 $ DISCONNECTED
 log 8 $ nickname refused for bad format, giving up
 
 log 8 $ nickname refused for bad format, giving up
 
+# zero unread-lines counts in status line so it won't explode simulated screen
+> /window 2
+> /window 3
+> /window 4
+> /window 5
+> /window 6
+> /window 7
+> /window 8
+> /window 9
+> /window 1
+
 # test failing third connection
 > /connect baz.baz.baz baz baz:baz
 # test failing third connection
 > /connect baz.baz.baz baz baz:baz
-insert standard-clear : +9
-log 9 $ hostname set to: [baz.baz.baz]
-log 9 $ port set to: [-1]
-log 9 $ nick_wanted set to: [baz]
-log 9 $ user_wanted set to: [baz]
-log 9 $ realname set to: [baz]
-insert conn_init_0 :5 +9
-log 9 > USER baz 0 * :baz
-log 9 > NICK :baz
+insert standard-clear : +10
+log 10 $ hostname set to: [baz.baz.baz]
+log 10 $ port set to: [-1]
+log 10 $ nick_wanted set to: [baz]
+log 10 $ user_wanted set to: [baz]
+log 10 $ realname set to: [baz]
+insert conn_init_0 :2 +10
+log 11 $ attempting connection to baz.baz.baz:6697 identifying with …
+log 11 $ - nickname: baz
+log 11 $ - realname: baz
+log 11 $ - username: baz
+log 11 $ - no password
+insert conn_init_0 7:10 +10
+log 10 > USER baz 0 * :baz
+log 10 > NICK :baz
 servermsg 2 FAKE_IRC_CONN_ABORT_EXCEPTION
 servermsg 2 FAKE_IRC_CONN_ABORT_EXCEPTION
-log 9 $ connection_state set to: [broken: FAKE_IRC_CONN_ABORT_EXCEPTION]
-insert disconnect : +9
-log 9 $ will retry connecting in 1 seconds
+log 10 $ connection_state set to: [broken: FAKE_IRC_CONN_ABORT_EXCEPTION]
+insert disconnect :2 +10
+log 11 $ DISCONNECTED
+log 10 $ will retry connecting in 1 seconds
+
+# zero unread-lines counts in status line so it won't explode simulated screen
+> /window 2
+> /window 3
+> /window 4
+> /window 5
+> /window 6
+> /window 7
+> /window 8
+> /window 9
+> /window 10
+> /window 11
+> /window 1
 
 # check that (save TUI tests assuming start on window 0, and no 4 yet) on reconnect, all the same effects can be expected
 > /reconnect
 
 # check that (save TUI tests assuming start on window 0, and no 4 yet) on reconnect, all the same effects can be expected
 > /reconnect
-insert conn_init_0 1:3
+insert conn_init_0 1:8
 log 2,3,4,5,6,7 $ CONNECTED
 log 2,3,4,5,6,7 $ CONNECTED
-insert conn_init_0 4:
+insert conn_init_0 9:
 insert conn_init_1
 insert conn_init_2 :1
 log 1 > JOIN :#testtest
 insert conn_init_1
 insert conn_init_2 :1
 log 1 > JOIN :#testtest
index 07b38037d74cf455e3628d456ddf32aed40eeb88..440d2c3cf9b40bb80a731787f3f7ce61d9469270 100644 (file)
@@ -73,56 +73,56 @@ line 21 on_black,bright_white,reverse vvv [29] vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
 × status-[0]-prompt
 line 22 on_black,bright_white :start)=====================================================================([0]§§
 insert prompt-empty
 × status-[0]-prompt
 line 22 on_black,bright_white :start)=====================================================================([0]§§
 insert prompt-empty
-× status-[0]-1-prompt
-line 22 on_black,bright_white :start)===================================================================([0] 1§§
+× status-[0]-1-(2:7)-prompt
+line 22 on_black,bright_white :start)=============================================================([0] 1 (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-[0]-1:2-prompt
-line 22 on_black,bright_white :start)===============================================================([0] (1:2)§§
+× status-[0]-1:2-(2:7)-prompt
+line 22 on_black,bright_white :start)=========================================================([0] (1:2) (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0-[1:2]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:2)]§§
+× status-0-[1:2]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)==============================================(0 [(1:2)] (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-[0]-1:4-prompt
-line 22 on_black,bright_white :start)===============================================================([0] (1:4)§§
+× status-[0]-1:4-(2:7)-prompt
+line 22 on_black,bright_white :start)=========================================================([0] (1:4) (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0-[1:4]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:4)]§§
+× status-0-[1:4]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)==============================================(0 [(1:4)] (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-[0]-1:6-prompt
-line 22 on_black,bright_white :start)===============================================================([0] (1:6)§§
+× status-[0]-1:6-(2:7)-prompt
+line 22 on_black,bright_white :start)=========================================================([0] (1:6) (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0-[1:6]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:6)]§§
+× status-0-[1:6]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)==============================================(0 [(1:6)] (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0-[1:7]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)====================================================(0 [(1:7)]§§
+× status-0-[1:7]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)==============================================(0 [(1:7)] (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0-[1:18]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)===================================================(0 [(1:18)]§§
+× status-0-[1:18]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)=============================================(0 [(1:18)] (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-[0]-1:29-prompt
-line 22 on_black,bright_white :start)==============================================================([0] (1:29)§§
+× status-[0]-1:29-(2:7)-prompt
+line 22 on_black,bright_white :start)========================================================([0] (1:29) (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0-[1:29]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)===================================================(0 [(1:29)]§§
+× status-0-[1:29]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)=============================================(0 [(1:29)] (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-[0]-1:32-prompt
-line 22 on_black,bright_white :start)==============================================================([0] (1:32)§§
+× status-[0]-1:32-(2:7)-prompt
+line 22 on_black,bright_white :start)========================================================([0] (1:32) (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0-[1]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)========================================================(0 [1]§§
+× status-0-[1]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)==================================================(0 [1] (2:7)§§
 insert prompt-empty
 × status-[0:1]-prompt
 line 22 on_black,bright_white :start)=================================================================([(0:1)]§§
 insert prompt-empty
 insert prompt-empty
 × status-[0:1]-prompt
 line 22 on_black,bright_white :start)=================================================================([(0:1)]§§
 insert prompt-empty
-× status-[0:1]-1-prompt
-line 22 on_black,bright_white :start)===============================================================([(0:1)] 1§§
+× status-[0:1]-1-(2:7)-prompt
+line 22 on_black,bright_white :start)=========================================================([(0:1)] 1 (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-0:1-[1]-prompt
-line 22 on_black,bright_white foo.bar.baz:debug)====================================================((0:1) [1]§§
+× status-0:1-[1]-(2:7)-prompt
+line 22 on_black,bright_white foo.bar.baz:debug)==============================================((0:1) [1] (2:7)§§
 insert prompt-empty
 insert prompt-empty
-× status-[0:1]-1:19-prompt
-line 22 on_black,bright_white :start)==========================================================([(0:1)] (1:19)§§
+× status-[0:1]-1:19-(2:7)-prompt
+line 22 on_black,bright_white :start)====================================================([(0:1)] (1:19) (2:7)§§
 insert prompt-empty
 × status-[0:3]-prompt
 line 22 on_black,bright_white :start)=================================================================([(0:3)]§§
 insert prompt-empty
 × status-[0:3]-prompt
 line 22 on_black,bright_white :start)=================================================================([(0:3)]§§
@@ -163,6 +163,7 @@ line 27 on_black,bright_red,bold    unknown§§
 line 28 on_black,bright_cyan # §§:§§:§§ windows available via /window:§§
 line 29 on_black,bright_cyan # §§:§§:§§   0) :start§§
 line 30 on_black,bright_cyan # §§:§§:§§   1) foo.bar.baz:debug§§
 line 28 on_black,bright_cyan # §§:§§:§§ windows available via /window:§§
 line 29 on_black,bright_cyan # §§:§§:§§   0) :start§§
 line 30 on_black,bright_cyan # §§:§§:§§   1) foo.bar.baz:debug§§
+line 31 on_black,bright_cyan # §§:§§:§§   2) foo.bar.baz:server§§
 
 × history_1
 line 0 on_black,bright_white 20§§-§§-§§ §§
 
 × history_1
 line 0 on_black,bright_white 20§§-§§-§§ §§
@@ -453,96 +454,102 @@ log 1 $ user_wanted set to: [baz]
 log 1 $ realname set to: [bar]
 log 1 $ port set to: [6697]
 log 1 $ connection_state set to: [connecting]
 log 1 $ realname set to: [bar]
 log 1 $ port set to: [6697]
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:6697 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: bar
+log 2 $ - username: baz
+log 2 $ - no password
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 insert lines-empty :20
 insert history_0 :1 +20
 insert scrolldown-25
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 insert lines-empty :20
 insert history_0 :1 +20
 insert scrolldown-25
-insert status-[0:1]-1:19-prompt
+insert status-[0:1]-1:19-(2:7)-prompt
 
 # check switch to other window, updates to status line (movement of brackets, clearing of own unread-lines count)
 > /window 1
 insert lines-empty :3
 insert history_1 :19 +3
 
 # check switch to other window, updates to status line (movement of brackets, clearing of own unread-lines count)
 > /window 1
 insert lines-empty :3
 insert history_1 :19 +3
-insert status-0:1-[1]-prompt
+insert status-0:1-[1]-(2:7)-prompt
 
 # check switch-back to window 0, retaining clearing of window 1's unread-lines count
 > /window 0
 insert lines-empty :20
 insert history_0 :1 +20
 insert scrolldown-25
 
 # check switch-back to window 0, retaining clearing of window 1's unread-lines count
 > /window 0
 insert lines-empty :20
 insert history_0 :1 +20
 insert scrolldown-25
-insert status-[0:1]-1-prompt
+insert status-[0:1]-1-(2:7)-prompt
 
 # check that on full scroll-down, we now have a bookmark above the newest lines not previously scrolled into
 > /window.history.scroll down
 insert lines-empty :9
 insert history_0 :12 +9
 insert scrolldown-14
 
 # check that on full scroll-down, we now have a bookmark above the newest lines not previously scrolled into
 > /window.history.scroll down
 insert lines-empty :9
 insert history_0 :12 +9
 insert scrolldown-14
-insert status-[0:1]-1-prompt
+insert status-[0:1]-1-(2:7)-prompt
 > /window.history.scroll down
 insert history_0 2:23 +0
 insert scrolldown-3
 > /window.history.scroll down
 insert history_0 2:23 +0
 insert scrolldown-3
-insert status-[0:1]-1-prompt
+insert status-[0:1]-1-(2:7)-prompt
 > /window.history.scroll down
 insert history_0 7:26 +0
 insert bookmark : +19
 insert history_0 26:28 +20
 > /window.history.scroll down
 insert history_0 7:26 +0
 insert bookmark : +19
 insert history_0 26:28 +20
-insert status-[0]-1-prompt
+insert status-[0]-1-(2:7)-prompt
 
 # check that scrolling non-bottom bookmark out of sight, then scrolling it back into view again does not by itself move its position in the log history
 > /window.history.scroll up
 insert lines-empty :3
 insert history_0 :18 +3
 insert scrolldown-8
 
 # check that scrolling non-bottom bookmark out of sight, then scrolling it back into view again does not by itself move its position in the log history
 > /window.history.scroll up
 insert lines-empty :3
 insert history_0 :18 +3
 insert scrolldown-8
-insert status-[0]-1-prompt
+insert status-[0]-1-(2:7)-prompt
 > /window.history.scroll down
 insert history_0 7:26 +0
 insert bookmark : +19
 insert history_0 26:28 +20
 > /window.history.scroll down
 insert history_0 7:26 +0
 insert bookmark : +19
 insert history_0 26:28 +20
-insert status-[0]-1-prompt
+insert status-[0]-1-(2:7)-prompt
 
 # check that second switch to new window, previously left on bottom of history, establishes bookmark at bottom of log
 > /window 1
 insert lines-empty :2
 insert history_1 :19 +2
 insert bookmark : +21
 
 # check that second switch to new window, previously left on bottom of history, establishes bookmark at bottom of log
 > /window 1
 insert lines-empty :2
 insert history_1 :19 +2
 insert bookmark : +21
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 
 # check second switch-back places bookmark at bottom there too, since the newest lines previously succeeding it have now been read by us
 > /window 0
 insert history_0 7:28 +0
 insert bookmark : +21
 
 # check second switch-back places bookmark at bottom there too, since the newest lines previously succeeding it have now been read by us
 > /window 0
 insert history_0 7:28 +0
 insert bookmark : +21
-insert status-[0]-1-prompt
+insert status-[0]-1-(2:7)-prompt
 
 # check new lines push bookmark up
 > /list
 log 0 # windows available via /window:
 log 0 #   0) :start
 log 0 #   1) foo.bar.baz:debug
 
 # check new lines push bookmark up
 > /list
 log 0 # windows available via /window:
 log 0 #   0) :start
 log 0 #   1) foo.bar.baz:debug
-insert history_0 10:28 +0
-insert bookmark : +18
-insert history_0 28:31 +19
-insert status-[0]-1-prompt
+log 0 #   2) foo.bar.baz:server
+insert history_0 11:28 +0
+insert bookmark : +17
+insert history_0 28:32 +18
+insert status-[0]-1-(2:7)-prompt
 
 # check new lines growing in other window, one of which long enough to wrap, to be re-start count in status (with wrapped only as single) 
 loggedservermsg 0 1 < PING :?
 log 1 > PONG :?
 loggedservermsg 0 1 < PING :9 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
 log 1 > PONG :9 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
 
 # check new lines growing in other window, one of which long enough to wrap, to be re-start count in status (with wrapped only as single) 
 loggedservermsg 0 1 < PING :?
 log 1 > PONG :?
 loggedservermsg 0 1 < PING :9 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
 log 1 > PONG :9 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
-insert history_0 10:28 +0
-insert bookmark : +18
-insert history_0 28:31 +19
-insert status-[0]-1:4-prompt
+insert history_0 11:28 +0
+insert bookmark : +17
+insert history_0 28:32 +18
+insert status-[0]-1:4-(2:7)-prompt
 
 # check that switching to window with new lines, but left scroll-to-bottom, keeps the scroll-to-bottom, keeps bookmark after last line previously seen there
 > /window 1
 insert history_1 4:19 +0
 insert bookmark : +15
 insert history_1 19:25 +16
 
 # check that switching to window with new lines, but left scroll-to-bottom, keeps the scroll-to-bottom, keeps bookmark after last line previously seen there
 > /window 1
 insert history_1 4:19 +0
 insert bookmark : +15
 insert history_1 19:25 +16
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 
 ### # check that growth below scroll does not by itself re-position bookmark in history
 > /window.history.scroll up
 
 ### # check that growth below scroll does not by itself re-position bookmark in history
 > /window.history.scroll up
@@ -551,65 +558,65 @@ log 1 > PONG :foo
 insert lines-empty :6
 insert history_1 0:15 +6
 insert scrolldown-10
 insert lines-empty :6
 insert history_1 0:15 +6
 insert scrolldown-10
-insert status-0-[1:2]-prompt
+insert status-0-[1:2]-(2:7)-prompt
 > /window.history.scroll down
 insert history_1 5:19 +0
 insert bookmark : +14
 insert history_1 19:25 +15
 insert scrolldown-2
 > /window.history.scroll down
 insert history_1 5:19 +0
 insert bookmark : +14
 insert history_1 19:25 +15
 insert scrolldown-2
-insert status-0-[1:2]-prompt
+insert status-0-[1:2]-(2:7)-prompt
 
 # check that with new lines left unread, switch away and back into window moves bookmark below newest read line, counts unread lines in status
 > /window 0
 
 # check that with new lines left unread, switch away and back into window moves bookmark below newest read line, counts unread lines in status
 > /window 0
-insert history_0 10:31 +0
+insert history_0 11:32 +0
 insert bookmark : +21
 insert bookmark : +21
-insert status-[0]-1:2-prompt
+insert status-[0]-1:2-(2:7)-prompt
 > /window 1
 insert history_1 5:25 +0
 insert bookmark : +20
 insert scrolldown-2
 > /window 1
 insert history_1 5:25 +0
 insert bookmark : +20
 insert scrolldown-2
-insert status-0-[1:2]-prompt
+insert status-0-[1:2]-(2:7)-prompt
 
 # check that growing lines below scroll in other preserves non-bottom bookmark (left in sight on previous window leave)
 > /window 0
 loggedservermsg 0 1 < PING :bar
 log 1 > PONG :bar
 
 # check that growing lines below scroll in other preserves non-bottom bookmark (left in sight on previous window leave)
 > /window 0
 loggedservermsg 0 1 < PING :bar
 log 1 > PONG :bar
-insert history_0 10:31 +0
+insert history_0 11:32 +0
 insert bookmark : +21
 insert bookmark : +21
-insert status-[0]-1:4-prompt
+insert status-[0]-1:4-(2:7)-prompt
 > /window 1
 insert history_1 5:25 +0
 insert bookmark : +20
 insert scrolldown-4
 > /window 1
 insert history_1 5:25 +0
 insert bookmark : +20
 insert scrolldown-4
-insert status-0-[1:4]-prompt
+insert status-0-[1:4]-(2:7)-prompt
 
 # check same applies when leaving affected window with bookmark out-of-sight
 > /window.history.scroll up
 insert lines-empty :6
 insert history_1 :15 +6
 insert scrolldown-12
 
 # check same applies when leaving affected window with bookmark out-of-sight
 > /window.history.scroll up
 insert lines-empty :6
 insert history_1 :15 +6
 insert scrolldown-12
-insert status-0-[1:4]-prompt
+insert status-0-[1:4]-(2:7)-prompt
 > /window 0
 loggedservermsg 0 1 < PING :baz
 log 1 > PONG :baz
 > /window 0
 loggedservermsg 0 1 < PING :baz
 log 1 > PONG :baz
-insert history_0 10:31 +0
+insert history_0 11:32 +0
 insert bookmark : +21
 insert bookmark : +21
-insert status-[0]-1:6-prompt
+insert status-[0]-1:6-(2:7)-prompt
 > /window 1
 insert lines-empty :6
 insert history_1 :15 +6
 insert scrolldown-14
 > /window 1
 insert lines-empty :6
 insert history_1 :15 +6
 insert scrolldown-14
-insert status-0-[1:6]-prompt
+insert status-0-[1:6]-(2:7)-prompt
 > /window.history.scroll down
 insert history_1 5:25 +0
 insert bookmark : +20
 insert scrolldown-6
 > /window.history.scroll down
 insert history_1 5:25 +0
 insert bookmark : +20
 insert scrolldown-6
-insert status-0-[1:6]-prompt
+insert status-0-[1:6]-(2:7)-prompt
 > /window.history.scroll down
 insert history_1 10:25 +0
 insert bookmark : +15
 insert history_1 25:31 +16
 > /window.history.scroll down
 insert history_1 10:25 +0
 insert bookmark : +15
 insert history_1 25:31 +16
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 
 # check log growth beyond max depth only remarkable after scrolling up to limit
 loggedservermsg 0 1 < PING :0
 
 # check log growth beyond max depth only remarkable after scrolling up to limit
 loggedservermsg 0 1 < PING :0
@@ -617,21 +624,21 @@ log 1 > PONG :0
 insert history_1 12:25 +0
 insert bookmark : +13
 insert history_1 25:33 +14
 insert history_1 12:25 +0
 insert bookmark : +13
 insert history_1 25:33 +14
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 > /window.history.scroll up
 insert history_1 2:23 +0
 insert scrolldown-9
 > /window.history.scroll up
 insert history_1 2:23 +0
 insert scrolldown-9
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 > /window.history.scroll up
 insert lines-empty :10
 insert history_1 1:12 +10
 insert scrolldown-19
 > /window.history.scroll up
 insert lines-empty :10
 insert history_1 1:12 +10
 insert scrolldown-19
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 > /window.history.scroll up
 insert lines-empty :20
 insert history_1 1:2 +20
 insert scrolldown-29
 > /window.history.scroll up
 insert lines-empty :20
 insert history_1 1:2 +20
 insert scrolldown-29
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 
 # check cut-off log growth seen from topmost scroll not affecting scrolldown count, but unread-lines status
 loggedservermsg 0 1 < PING :0
 
 # check cut-off log growth seen from topmost scroll not affecting scrolldown count, but unread-lines status
 loggedservermsg 0 1 < PING :0
@@ -639,13 +646,13 @@ log 1 > PONG :0
 insert lines-empty :20
 insert history_1 3:4 +20
 insert scrolldown-29
 insert lines-empty :20
 insert history_1 3:4 +20
 insert scrolldown-29
-insert status-0-[1:2]-prompt
+insert status-0-[1:2]-(2:7)-prompt
 
 # check unread-lines count potentially growing above max log depth if in other window
 > /window 0
 
 # check unread-lines count potentially growing above max log depth if in other window
 > /window 0
-insert history_0 10:31 +0
+insert history_0 11:32 +0
 insert bookmark : +21
 insert bookmark : +21
-insert status-[0]-1:2-prompt
+insert status-[0]-1:2-(2:7)-prompt
 loggedservermsg 0 1 < PING :1
 log 1 > PONG :1
 loggedservermsg 0 1 < PING :2
 loggedservermsg 0 1 < PING :1
 log 1 > PONG :1
 loggedservermsg 0 1 < PING :2
@@ -676,61 +683,61 @@ loggedservermsg 0 1 < PING :14
 log 1 > PONG :14
 loggedservermsg 0 1 < PING :15
 log 1 > PONG :15
 log 1 > PONG :14
 loggedservermsg 0 1 < PING :15
 log 1 > PONG :15
-insert history_0 10:31 +0
+insert history_0 11:32 +0
 insert bookmark : +21
 insert bookmark : +21
-insert status-[0]-1:32-prompt
+insert status-[0]-1:32-(2:7)-prompt
 
 # check switching into window scrolled-top with more unread lines than max log depth shrinks former to latter, and scrolling down no bookmark is to be found
 > /window 1
 insert lines-empty :20
 insert history_1 33:34 +20
 insert scrolldown-29
 
 # check switching into window scrolled-top with more unread lines than max log depth shrinks former to latter, and scrolling down no bookmark is to be found
 > /window 1
 insert lines-empty :20
 insert history_1 33:34 +20
 insert scrolldown-29
-insert status-0-[1:29]-prompt
+insert status-0-[1:29]-(2:7)-prompt
 > /window.history.scroll down
 insert lines-empty :9
 insert history_1 33:45 +9
 insert scrolldown-18
 > /window.history.scroll down
 insert lines-empty :9
 insert history_1 33:45 +9
 insert scrolldown-18
-insert status-0-[1:18]-prompt
+insert status-0-[1:18]-(2:7)-prompt
 > /window.history.scroll down
 insert history_1 35:56 +0
 insert scrolldown-7
 > /window.history.scroll down
 insert history_1 35:56 +0
 insert scrolldown-7
-insert status-0-[1:7]-prompt
+insert status-0-[1:7]-(2:7)-prompt
 > /window.history.scroll down
 insert history_1 41:61 +0
 > /window.history.scroll down
 insert history_1 41:61 +0
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 
 # check bookmark remains absent with log growing while scrolled to bottom, …
 loggedservermsg 0 1 < PING :16
 log 1 > PONG :16
 insert history_1 43:63 +0
 
 # check bookmark remains absent with log growing while scrolled to bottom, …
 loggedservermsg 0 1 < PING :16
 log 1 > PONG :16
 insert history_1 43:63 +0
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 
 # … as well as if further growth happens below scroll 
 > /window.history.scroll up
 insert lines-empty :2
 insert history_1 35:54 +2
 insert scrolldown-11
 
 # … as well as if further growth happens below scroll 
 > /window.history.scroll up
 insert lines-empty :2
 insert history_1 35:54 +2
 insert scrolldown-11
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 loggedservermsg 0 1 < PING :17
 log 1 > PONG :17
 insert lines-empty :4
 insert history_1 37:54 +4
 insert scrolldown-13
 loggedservermsg 0 1 < PING :17
 log 1 > PONG :17
 insert lines-empty :4
 insert history_1 37:54 +4
 insert scrolldown-13
-insert status-0-[1:2]-prompt
+insert status-0-[1:2]-(2:7)-prompt
 > /window.history.scroll down 
 insert history_1 44:65 +0
 insert scrolldown-2
 > /window.history.scroll down 
 insert history_1 44:65 +0
 insert scrolldown-2
-insert status-0-[1:2]-prompt
+insert status-0-[1:2]-(2:7)-prompt
 > /window.history.scroll down 
 insert history_1 45:67 +0
 > /window.history.scroll down 
 insert history_1 45:67 +0
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 
 # check unread-lines status not growing beyond max log if within active window, and …
 > /window.history.scroll up
 insert lines-empty :2
 insert history_1 37:54 +2
 insert scrolldown-11
 
 # check unread-lines status not growing beyond max log if within active window, and …
 > /window.history.scroll up
 insert lines-empty :2
 insert history_1 37:54 +2
 insert scrolldown-11
-insert status-0-[1]-prompt
+insert status-0-[1]-(2:7)-prompt
 loggedservermsg 0 1 < PING :18
 log 1 > PONG :18
 loggedservermsg 0 1 < PING :19
 loggedservermsg 0 1 < PING :18
 log 1 > PONG :18
 loggedservermsg 0 1 < PING :19
@@ -764,23 +771,23 @@ log 1 > PONG :32
 insert lines-empty :20
 insert history_1 67:68 +20
 insert scrolldown-29
 insert lines-empty :20
 insert history_1 67:68 +20
 insert scrolldown-29
-insert status-0-[1:29]-prompt
+insert status-0-[1:29]-(2:7)-prompt
 
 # … setting bookmark visible after switching back-and-forth
 > /window 0
 
 # … setting bookmark visible after switching back-and-forth
 > /window 0
-insert history_0 10:31 +0
+insert history_0 11:32 +0
 insert bookmark : +21
 insert bookmark : +21
-insert status-[0]-1:29-prompt
+insert status-[0]-1:29-(2:7)-prompt
 > /window 1
 insert lines-empty :19
 insert history_1 67:68 +19
 insert bookmark : +20
 insert scrolldown-29
 > /window 1
 insert lines-empty :19
 insert history_1 67:68 +19
 insert bookmark : +20
 insert scrolldown-29
-insert status-0-[1:29]-prompt
+insert status-0-[1:29]-(2:7)-prompt
 > /window.history.scroll down
 insert lines-empty :8
 insert history_1 67:68 +8
 insert bookmark : +9
 insert history_1 68:79 +10
 insert scrolldown-18
 > /window.history.scroll down
 insert lines-empty :8
 insert history_1 67:68 +8
 insert bookmark : +9
 insert history_1 68:79 +10
 insert scrolldown-18
-insert status-0-[1:18]-prompt
+insert status-0-[1:18]-(2:7)-prompt
index 48b418ddc5c9d03a9848b78035ae500b10ef8916..c1935d50a4c3b0ac09156edf3d3f53239f709e7e 100644 (file)
@@ -14,8 +14,13 @@ log 1 $ user_wanted set to: [baz]
 log 1 $ realname set to: [bar]
 log 1 $ port set to: [6697]
 log 1 $ connection_state set to: [connecting]
 log 1 $ realname set to: [bar]
 log 1 $ port set to: [6697]
 log 1 $ connection_state set to: [connecting]
+log 2 $ attempting connection to foo.bar.baz:6697 identifying with …
+log 2 $ - nickname: foo
+log 2 $ - realname: bar
+log 2 $ - username: baz
+log 2 $ - no password
 log 1 $ connection_state set to: [connected]
 log 1 $ connection_state set to: [connected]
-log , $ CONNECTED
+log 2 $ CONNECTED
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo
 log 1 > CAP LS :302
 log 1 > USER baz 0 * :bar
 log 1 > NICK :foo