home · contact · privacy
ircplom
10 months agoReorganize testing syntax.
Christian Heller [Thu, 16 Oct 2025 22:26:20 +0000 (00:26 +0200)]
Reorganize testing syntax.

10 months agoAdd scrolling tests.
Christian Heller [Thu, 16 Oct 2025 18:20:30 +0000 (20:20 +0200)]
Add scrolling tests.

10 months agoIn testing, restructure TUI command syntax to allow line-alternate repeats.
Christian Heller [Thu, 16 Oct 2025 17:15:29 +0000 (19:15 +0200)]
In testing, restructure TUI command syntax to allow line-alternate repeats.

10 months agoRemove dead code.
Christian Heller [Wed, 15 Oct 2025 02:40:00 +0000 (04:40 +0200)]
Remove dead code.

10 months agoIn testing, have explicit Playbook testing breaks for prompt and server inputs too.
Christian Heller [Wed, 15 Oct 2025 02:18:16 +0000 (04:18 +0200)]
In testing, have explicit Playbook testing breaks for prompt and server inputs too.

10 months agoFor testing, use ERR_STR_TIMEOUT rather than 'FAKE_IRC_CONN_TIMEOUT_EXCEPTION'.
Christian Heller [Wed, 15 Oct 2025 02:07:14 +0000 (04:07 +0200)]
For testing, use ERR_STR_TIMEOUT rather than 'FAKE_IRC_CONN_TIMEOUT_EXCEPTION'.

10 months agoIn testing, for TUI directives call .redraw_affected directly when needed.
Christian Heller [Tue, 14 Oct 2025 22:03:48 +0000 (00:03 +0200)]
In testing, for TUI directives call .redraw_affected directly when needed.

10 months agoAdd basic TUI drawing testing.
Christian Heller [Tue, 14 Oct 2025 14:18:14 +0000 (16:18 +0200)]
Add basic TUI drawing testing.

10 months agoMark NOTICE with different nick brackets rather than '***' prefix.
Christian Heller [Tue, 14 Oct 2025 10:23:20 +0000 (12:23 +0200)]
Mark NOTICE with different nick brackets rather than '***' prefix.

10 months agoIn test.test, avoid confusingly naming host server as domain of client.
Christian Heller [Wed, 8 Oct 2025 22:34:23 +0000 (00:34 +0200)]
In test.test, avoid confusingly naming host server as domain of client.

10 months agoAdd test for legalities of /reconnect and /disconnect.
Christian Heller [Wed, 8 Oct 2025 22:33:05 +0000 (00:33 +0200)]
Add test for legalities of /reconnect and /disconnect.

10 months agoCatch _all_ Client.send fails.
Christian Heller [Wed, 8 Oct 2025 22:23:04 +0000 (00:23 +0200)]
Catch _all_ Client.send fails.

10 months agoWith new test logging output, misleading line idx display on AssertionError no longer...
Christian Heller [Wed, 8 Oct 2025 21:46:42 +0000 (23:46 +0200)]
With new test logging output, misleading line idx display on AssertionError no longer needed.

10 months agoAdd processing log display to single-file testing.
Christian Heller [Wed, 8 Oct 2025 19:27:58 +0000 (21:27 +0200)]
Add processing log display to single-file testing.

10 months agoHave dedicated test script for ERROR handling.
Christian Heller [Wed, 8 Oct 2025 18:26:19 +0000 (20:26 +0200)]
Have dedicated test script for ERROR handling.

10 months agoHandle history cutoff drawing edge cases.
Christian Heller [Wed, 8 Oct 2025 18:09:25 +0000 (20:09 +0200)]
Handle history cutoff drawing edge cases.

10 months agoHandle "(Connect timed out)" ERROR, trigger timed retry.
Christian Heller [Tue, 7 Oct 2025 10:28:14 +0000 (12:28 +0200)]
Handle "(Connect timed out)" ERROR, trigger timed retry.

10 months agoLimit depth of log history buffer.
Christian Heller [Tue, 7 Oct 2025 08:20:11 +0000 (10:20 +0200)]
Limit depth of log history buffer.

10 months agoReorganize history log drawing to avoid storing empty lines in history.
Christian Heller [Tue, 7 Oct 2025 06:23:25 +0000 (08:23 +0200)]
Reorganize history log drawing to avoid storing empty lines in history.

10 months agoSome code re-organization to make reasoning about it easier.
Christian Heller [Tue, 7 Oct 2025 00:07:35 +0000 (02:07 +0200)]
Some code re-organization to make reasoning about it easier.

10 months agoEnsure Terminal context manager actually gets to finish (i.e. turn cursor visible...
Christian Heller [Mon, 6 Oct 2025 22:12:31 +0000 (00:12 +0200)]
Ensure Terminal context manager actually gets to finish (i.e. turn cursor visible again) on ExceptionEvent.

10 months agoTruly catch all Exceptions for transfer into main loop, to avoid display into scrambl...
Christian Heller [Mon, 6 Oct 2025 19:38:30 +0000 (21:38 +0200)]
Truly catch all Exceptions for transfer into main loop, to avoid display into scrambled TUI.

10 months agoDon't use overly-broad BaseException where inadequate.
Christian Heller [Mon, 6 Oct 2025 19:35:08 +0000 (21:35 +0200)]
Don't use overly-broad BaseException where inadequate.

10 months agoRetry connecting on socket.gaierror.errno == socket.EAI_AGAIN.
Christian Heller [Mon, 6 Oct 2025 19:31:05 +0000 (21:31 +0200)]
Retry connecting on socket.gaierror.errno == socket.EAI_AGAIN.

10 months agoRefactor IrcConnException hierarchy.
Christian Heller [Mon, 6 Oct 2025 19:29:47 +0000 (21:29 +0200)]
Refactor IrcConnException hierarchy.

10 months agoTruly catch all Exceptions for transfer into main loop, to avoid display into scrambl...
Christian Heller [Mon, 6 Oct 2025 18:50:09 +0000 (20:50 +0200)]
Truly catch all Exceptions for transfer into main loop, to avoid display into scrambled TUI.

10 months agoPreserve tracebacks in ExceptionEvent for more informative crashes.
Christian Heller [Mon, 6 Oct 2025 18:49:24 +0000 (20:49 +0200)]
Preserve tracebacks in ExceptionEvent for more informative crashes.

10 months agoAttempt reconnecting on all handled IrcConnAbortExceptions.
Christian Heller [Sun, 5 Oct 2025 12:32:37 +0000 (14:32 +0200)]
Attempt reconnecting on all handled IrcConnAbortExceptions.

10 months agoTurn server messages into own special window, rather than query chat.
Christian Heller [Sun, 5 Oct 2025 12:05:48 +0000 (14:05 +0200)]
Turn server messages into own special window, rather than query chat.

10 months agoSimplify ClientWindow.title/.chatname usage.
Christian Heller [Sun, 5 Oct 2025 05:43:17 +0000 (07:43 +0200)]
Simplify ClientWindow.title/.chatname usage.

10 months agoReport ImplementationFail across all Client windows (since we can't know which should...
Christian Heller [Sun, 5 Oct 2025 04:58:04 +0000 (06:58 +0200)]
Report ImplementationFail across all Client windows (since we can't know which should be interested).

10 months agoImprove paste code.
Christian Heller [Sun, 5 Oct 2025 00:45:25 +0000 (02:45 +0200)]
Improve paste code.

10 months agoFix log line coloring reverting to default after line break.
Christian Heller [Sat, 4 Oct 2025 20:12:05 +0000 (22:12 +0200)]
Fix log line coloring reverting to default after line break.

10 months agoUse whole prefix for log color formatting, add ClientTui-specific colorings.
Christian Heller [Sat, 4 Oct 2025 19:50:23 +0000 (21:50 +0200)]
Use whole prefix for log color formatting, add ClientTui-specific colorings.

10 months agoAdd alert highlighting, allow chained drawing attributes.
Christian Heller [Sat, 4 Oct 2025 14:00:59 +0000 (16:00 +0200)]
Add alert highlighting, allow chained drawing attributes.

10 months agoTrigger TUI's .redraw_affected also on tui_alert_trigger (previously bypassing it).
Christian Heller [Sat, 4 Oct 2025 13:31:06 +0000 (15:31 +0200)]
Trigger TUI's .redraw_affected also on tui_alert_trigger (previously bypassing it).

10 months agoAdd basic line-level highlighting.
Christian Heller [Sat, 4 Oct 2025 12:24:53 +0000 (14:24 +0200)]
Add basic line-level highlighting.

10 months agoMinor code re-organization.
Christian Heller [Sat, 4 Oct 2025 12:09:21 +0000 (14:09 +0200)]
Minor code re-organization.

10 months agoMinor test optimization.
Christian Heller [Thu, 2 Oct 2025 21:09:38 +0000 (23:09 +0200)]
Minor test optimization.

10 months agoAdd exponential-wait-timed auto-retries test; remove any wait times from ping timeout...
Christian Heller [Thu, 2 Oct 2025 21:02:55 +0000 (23:02 +0200)]
Add exponential-wait-timed auto-retries test; remove any wait times from ping timeouts test.

10 months agoTo tests, add wait/sleep directive.
Christian Heller [Thu, 2 Oct 2025 21:01:13 +0000 (23:01 +0200)]
To tests, add wait/sleep directive.

10 months agoTo tests' FakeIrcConnection, add connecting timeout if port > 10000 (and auto-decreme...
Christian Heller [Thu, 2 Oct 2025 20:59:58 +0000 (22:59 +0200)]
To tests' FakeIrcConnection, add connecting timeout if port > 10000 (and auto-decrement on that in TestingClient).

10 months agoFix tests crashing on empty lines in anchored regions.
Christian Heller [Thu, 2 Oct 2025 20:58:32 +0000 (22:58 +0200)]
Fix tests crashing on empty lines in anchored regions.

10 months agoRename test file forgotten to change extension on in previous commit.
Christian Heller [Thu, 2 Oct 2025 20:49:52 +0000 (22:49 +0200)]
Rename test file forgotten to change extension on in previous commit.

10 months agoAllow selection of which tests to run on command line invocation.
Christian Heller [Thu, 2 Oct 2025 19:29:45 +0000 (21:29 +0200)]
Allow selection of which tests to run on command line invocation.

10 months agoFix erroneous argv counting (once more …).
Christian Heller [Thu, 2 Oct 2025 19:26:06 +0000 (21:26 +0200)]
Fix erroneous argv counting (once more …).

10 months agoFix erroneous argv counting.
Christian Heller [Thu, 2 Oct 2025 19:05:02 +0000 (21:05 +0200)]
Fix erroneous argv counting.

10 months agoChange test files' extensions from besides-the-point .txt to meaningful .test.
Christian Heller [Thu, 2 Oct 2025 18:41:43 +0000 (20:41 +0200)]
Change test files' extensions from besides-the-point .txt to meaningful .test.

10 months agoFor command line invocation, disallow (anyways ignored) additional arguments beyond...
Christian Heller [Thu, 2 Oct 2025 18:35:29 +0000 (20:35 +0200)]
For command line invocation, disallow (anyways ignored) additional arguments beyond "test".

10 months agoFor command line invocation, fail on any undefined arguments.
Christian Heller [Thu, 2 Oct 2025 18:33:07 +0000 (20:33 +0200)]
For command line invocation, fail on any undefined arguments.

10 months agoFrom Client.connect thread, move anything not measurably blocking UI back into main...
Christian Heller [Thu, 2 Oct 2025 18:28:14 +0000 (20:28 +0200)]
From Client.connect thread, move anything not measurably blocking UI back into main thread.

10 months agoAlso start exponentially delayed connection retry on connecting timeout.
Christian Heller [Thu, 2 Oct 2025 18:21:21 +0000 (20:21 +0200)]
Also start exponentially delayed connection retry on connecting timeout.

10 months agoImplement on-timeout reconnect-wait only hinted at in previous commit.
Christian Heller [Thu, 2 Oct 2025 18:03:51 +0000 (20:03 +0200)]
Implement on-timeout reconnect-wait only hinted at in previous commit.

10 months agoAuto-reconnect on during-connection timeout.
Christian Heller [Wed, 1 Oct 2025 08:46:22 +0000 (10:46 +0200)]
Auto-reconnect on during-connection timeout.

10 months agoFix delayed shutdown on /quit due to socket recv timeout only returning on full TIMEO...
Christian Heller [Wed, 1 Oct 2025 08:00:57 +0000 (10:00 +0200)]
Fix delayed shutdown on /quit due to socket recv timeout only returning on full TIMEOUT_PING.

10 months agoReset ping-timeout timer on each connection start.
Christian Heller [Wed, 1 Oct 2025 03:52:09 +0000 (05:52 +0200)]
Reset ping-timeout timer on each connection start.

10 months agoIn tests, refactor context splitting, add separator to anchor syntax.
Christian Heller [Tue, 30 Sep 2025 23:32:45 +0000 (01:32 +0200)]
In tests, refactor context splitting, add separator to anchor syntax.

10 months agoOn testing, actually interpret TUI test of empty "> " prompt entering.
Christian Heller [Tue, 30 Sep 2025 23:12:36 +0000 (01:12 +0200)]
On testing, actually interpret TUI test of empty "> " prompt entering.

10 months agoFor testing, properly start parsing at first line, rather than jumping it.
Christian Heller [Tue, 30 Sep 2025 23:04:06 +0000 (01:04 +0200)]
For testing, properly start parsing at first line, rather than jumping it.

10 months agoOn testing, split server message log treatment into two separate directives.
Christian Heller [Tue, 30 Sep 2025 22:49:22 +0000 (00:49 +0200)]
On testing, split server message log treatment into two separate directives.

10 months agoMove part of 433 handling into MSG_EXPECTATIONS, improve messaging.
Christian Heller [Tue, 30 Sep 2025 18:14:39 +0000 (20:14 +0200)]
Move part of 433 handling into MSG_EXPECTATIONS, improve messaging.

10 months agoFor MsgParseExpection task path parsing, allow starting directly with uppercase-refer...
Christian Heller [Tue, 30 Sep 2025 17:50:09 +0000 (19:50 +0200)]
For MsgParseExpection task path parsing, allow starting directly with uppercase-referenced nodes.

10 months agoFor MsgParseExpectation do/doafter tasks, use title as argument rather than callable...
Christian Heller [Tue, 30 Sep 2025 17:38:11 +0000 (19:38 +0200)]
For MsgParseExpectation do/doafter tasks, use title as argument rather than callable path node.

10 months agoSend out PINGs ourselves to check if connection still up.
Christian Heller [Tue, 30 Sep 2025 16:53:14 +0000 (18:53 +0200)]
Send out PINGs ourselves to check if connection still up.

10 months agoFix broken has_unread_highlight calculation.
Christian Heller [Mon, 29 Sep 2025 08:24:33 +0000 (10:24 +0200)]
Fix broken has_unread_highlight calculation.

10 months agoFix broken n_lines_unread calculation.
Christian Heller [Mon, 29 Sep 2025 08:22:39 +0000 (10:22 +0200)]
Fix broken n_lines_unread calculation.

10 months agoMark unread highlights in status line windows summary.
Christian Heller [Mon, 29 Sep 2025 08:19:32 +0000 (10:19 +0200)]
Mark unread highlights in status line windows summary.

10 months agoIn log lines, move highlight marker right before timestamp.
Christian Heller [Mon, 29 Sep 2025 08:12:36 +0000 (10:12 +0200)]
In log lines, move highlight marker right before timestamp.

10 months agoAdd very basic keyword highlighting.
Christian Heller [Mon, 29 Sep 2025 06:30:33 +0000 (08:30 +0200)]
Add very basic keyword highlighting.

10 months agoFix slightly-off bookmark and scroll infos.
Christian Heller [Mon, 29 Sep 2025 05:36:14 +0000 (07:36 +0200)]
Fix slightly-off bookmark and scroll infos.

10 months agoExplicate which indices are used negatively and which positively.
Christian Heller [Mon, 29 Sep 2025 04:36:01 +0000 (06:36 +0200)]
Explicate which indices are used negatively and which positively.

10 months agoAdd log bookmarking.
Christian Heller [Mon, 29 Sep 2025 02:10:40 +0000 (04:10 +0200)]
Add log bookmarking.

10 months agoDifferentiate log files by server/"client ID" directories.
Christian Heller [Mon, 29 Sep 2025 00:04:41 +0000 (02:04 +0200)]
Differentiate log files by server/"client ID" directories.

10 months agoMore explicitly name testing code syntax tokens.
Christian Heller [Sun, 28 Sep 2025 18:32:37 +0000 (20:32 +0200)]
More explicitly name testing code syntax tokens.

10 months agoMove testing toml identification into detection of filename with same stem.
Christian Heller [Sun, 28 Sep 2025 18:20:01 +0000 (20:20 +0200)]
Move testing toml identification into detection of filename with same stem.

10 months agoRemove dead code.
Christian Heller [Sun, 28 Sep 2025 17:10:09 +0000 (19:10 +0200)]
Remove dead code.

10 months agoOn config toml testing, move file identification from file path into testing code...
Christian Heller [Sun, 28 Sep 2025 17:08:31 +0000 (19:08 +0200)]
On config toml testing, move file identification from file path into testing code directive.

10 months agoRefactor playbook processing code out of TestingClientTui.
Christian Heller [Sun, 28 Sep 2025 16:46:40 +0000 (18:46 +0200)]
Refactor playbook processing code out of TestingClientTui.

10 months agoHint at TestingClientTui._split_active_line being semi-private.
Christian Heller [Sun, 28 Sep 2025 14:16:18 +0000 (16:16 +0200)]
Hint at TestingClientTui._split_active_line being semi-private.

10 months agoAdd TOML config test.
Christian Heller [Sun, 28 Sep 2025 14:15:45 +0000 (16:15 +0200)]
Add TOML config test.

10 months agoMinor test fixes/enhancements.
Christian Heller [Sun, 28 Sep 2025 11:27:30 +0000 (13:27 +0200)]
Minor test fixes/enhancements.

10 months agoEnsure 332 doesn't affect users DB, since those identities are ancient.
Christian Heller [Sun, 28 Sep 2025 11:24:31 +0000 (13:24 +0200)]
Ensure 332 doesn't affect users DB, since those identities are ancient.

10 months agoTo testing "repeat" command, add optional replacement context.
Christian Heller [Fri, 26 Sep 2025 15:43:37 +0000 (17:43 +0200)]
To testing "repeat" command, add optional replacement context.

10 months agoMinor refactoring.
Christian Heller [Fri, 26 Sep 2025 14:55:34 +0000 (16:55 +0200)]
Minor refactoring.

10 months ago"C0208: Use a sequence type when iterating over values (use-sequence-for-iteration)"
Christian Heller [Fri, 26 Sep 2025 12:44:41 +0000 (14:44 +0200)]
"C0208: Use a sequence type when iterating over values (use-sequence-for-iteration)"

10 months agoDetermine ClientDb.clear order so that more basic re-sets happen first.
Christian Heller [Fri, 26 Sep 2025 12:43:40 +0000 (14:43 +0200)]
Determine ClientDb.clear order so that more basic re-sets happen first.

10 months agoFor testing, allow nesting of repeat ranges.
Christian Heller [Fri, 26 Sep 2025 12:31:12 +0000 (14:31 +0200)]
For testing, allow nesting of repeat ranges.

10 months agoIn testing, for "repeat" instruction, use named anchors rather than (constantly chang...
Christian Heller [Fri, 26 Sep 2025 08:00:19 +0000 (10:00 +0200)]
In testing, for "repeat" instruction, use named anchors rather than (constantly changing) line numbers.

10 months agoSplit testing into multiple test files.
Christian Heller [Fri, 26 Sep 2025 06:36:13 +0000 (08:36 +0200)]
Split testing into multiple test files.

10 months agoMinor refactoring.
Christian Heller [Fri, 26 Sep 2025 03:48:52 +0000 (05:48 +0200)]
Minor refactoring.

10 months agoDon't write log files while testing.
Christian Heller [Fri, 26 Sep 2025 03:47:26 +0000 (05:47 +0200)]
Don't write log files while testing.

10 months agoMinor refactoring.
Christian Heller [Fri, 26 Sep 2025 03:32:00 +0000 (05:32 +0200)]
Minor refactoring.

10 months agoAlso move IrcConnSetup defaulting off toml parsing.
Christian Heller [Fri, 26 Sep 2025 03:04:43 +0000 (05:04 +0200)]
Also move IrcConnSetup defaulting off toml parsing.

10 months agoMove IrcConnSetup attributes defaulting into Client.__init__, refactor cmd_connect.
Christian Heller [Fri, 26 Sep 2025 03:03:55 +0000 (05:03 +0200)]
Move IrcConnSetup attributes defaulting into Client.__init__, refactor cmd_connect.

10 months agoAdd reading of config files to auto-connect, auto-join.
Christian Heller [Fri, 26 Sep 2025 02:24:13 +0000 (04:24 +0200)]
Add reading of config files to auto-connect, auto-join.

10 months agoAvoid mutables in class attribute defaults.
Christian Heller [Thu, 25 Sep 2025 23:44:07 +0000 (01:44 +0200)]
Avoid mutables in class attribute defaults.

10 months agoOn /reconnect auto-join channels we were in on last connection close.
Christian Heller [Thu, 25 Sep 2025 23:39:24 +0000 (01:39 +0200)]
On /reconnect auto-join channels we were in on last connection close.

10 months agoFor log file names, escape anything but the most boring characters.
Christian Heller [Thu, 25 Sep 2025 19:11:01 +0000 (21:11 +0200)]
For log file names, escape anything but the most boring characters.

10 months agoFix OSC52 sequence saved to window log rather than just being printed.
Christian Heller [Thu, 25 Sep 2025 18:41:14 +0000 (20:41 +0200)]
Fix OSC52 sequence saved to window log rather than just being printed.

10 months agoHandle dtach forgetting our hiding of the cursor.
Christian Heller [Thu, 25 Sep 2025 18:22:38 +0000 (20:22 +0200)]
Handle dtach forgetting our hiding of the cursor.