home · contact · privacy
ircplom
9 months agoUse FormattingString for type checks and to replace external escaping hints.
Christian Heller [Tue, 28 Oct 2025 21:05:38 +0000 (22:05 +0100)]
Use FormattingString for type checks and to replace external escaping hints.

9 months agoClean up remnants of previous prefix-focused log line formatting logic.
Christian Heller [Tue, 28 Oct 2025 19:01:01 +0000 (20:01 +0100)]
Clean up remnants of previous prefix-focused log line formatting logic.

9 months agoRemove formatting hints from stripped log lines, move formatting to BaseTui.log.
Christian Heller [Tue, 28 Oct 2025 18:20:07 +0000 (19:20 +0100)]
Remove formatting hints from stripped log lines, move formatting to BaseTui.log.

9 months agoIn testing, for log command comparisons ignore formatting instructions.
Christian Heller [Tue, 28 Oct 2025 18:19:06 +0000 (19:19 +0100)]
In testing, for log command comparisons ignore formatting instructions.

9 months agoAdapt indent, highlight nicknames in chat windows, add line formattings test.
Christian Heller [Mon, 27 Oct 2025 06:40:14 +0000 (07:40 +0100)]
Adapt indent, highlight nicknames in chat windows, add line formattings test.

9 months agoFix broken config test with new escape characters.
Christian Heller [Mon, 27 Oct 2025 06:39:27 +0000 (07:39 +0100)]
Fix broken config test with new escape characters.

9 months agoOverhaul formatting and testing of line writings.
Christian Heller [Mon, 27 Oct 2025 06:38:21 +0000 (07:38 +0100)]
Overhaul formatting and testing of line writings.

9 months agoRemove dead code.
Christian Heller [Fri, 24 Oct 2025 22:26:43 +0000 (00:26 +0200)]
Remove dead code.

9 months agoIn tests, automatically call quit steps once end of script reached.
Christian Heller [Fri, 24 Oct 2025 18:16:11 +0000 (20:16 +0200)]
In tests, automatically call quit steps once end of script reached.

9 months agoMinor refactoring.
Christian Heller [Fri, 24 Oct 2025 16:26:38 +0000 (18:26 +0200)]
Minor refactoring.

9 months agoFurther extend scrolling and bookmark tests.
Christian Heller [Thu, 23 Oct 2025 04:36:40 +0000 (06:36 +0200)]
Further extend scrolling and bookmark tests.

9 months agoExtend history cutoff tests.
Christian Heller [Thu, 23 Oct 2025 04:28:36 +0000 (06:28 +0200)]
Extend history cutoff tests.

9 months agoFix log depth cutoff not limiting negative history scroll index.
Christian Heller [Thu, 23 Oct 2025 03:42:31 +0000 (05:42 +0200)]
Fix log depth cutoff not limiting negative history scroll index.

9 months agoAdd basic log depth cutoff tests.
Christian Heller [Thu, 23 Oct 2025 03:38:29 +0000 (05:38 +0200)]
Add basic log depth cutoff tests.

9 months agoIn tests, replace anchoring from within script by inserts of pre-defined blocks.
Christian Heller [Wed, 22 Oct 2025 23:42:34 +0000 (01:42 +0200)]
In tests, replace anchoring from within script by inserts of pre-defined blocks.

9 months agoMinor test refactoring.
Christian Heller [Wed, 22 Oct 2025 17:10:08 +0000 (19:10 +0200)]
Minor test refactoring.

9 months agoAlso update status line after each successful command execution.
Christian Heller [Tue, 21 Oct 2025 13:41:11 +0000 (15:41 +0200)]
Also update status line after each successful command execution.

9 months agoUpdate status line on any logs, not just those of other windows.
Christian Heller [Tue, 21 Oct 2025 13:03:15 +0000 (15:03 +0200)]
Update status line on any logs, not just those of other windows.

9 months agoMinor test optimization.
Christian Heller [Tue, 21 Oct 2025 05:17:32 +0000 (07:17 +0200)]
Minor test optimization.

9 months agoRemove never-read attribute setting.
Christian Heller [Tue, 21 Oct 2025 01:00:06 +0000 (03:00 +0200)]
Remove never-read attribute setting.

9 months agoFix off-by-one, too-early-enabling scroll calculations.
Christian Heller [Tue, 21 Oct 2025 00:57:28 +0000 (02:57 +0200)]
Fix off-by-one, too-early-enabling scroll calculations.

9 months agoFix broken testing repeat line indices (plus some minor refactoring).
Christian Heller [Mon, 20 Oct 2025 23:09:43 +0000 (01:09 +0200)]
Fix broken testing repeat line indices (plus some minor refactoring).

9 months agoIn testing, ignore empty lines.
Christian Heller [Mon, 20 Oct 2025 22:39:55 +0000 (00:39 +0200)]
In testing, ignore empty lines.

9 months agoFix timeout test broken by previous repeat syntax change.
Christian Heller [Mon, 20 Oct 2025 19:41:30 +0000 (21:41 +0200)]
Fix timeout test broken by previous repeat syntax change.

9 months agoMinor refactoring.
Christian Heller [Mon, 20 Oct 2025 19:41:13 +0000 (21:41 +0200)]
Minor refactoring.

9 months agoFor testing "repeat" directive, start offsets at lowest int in targeted regions'...
Christian Heller [Mon, 20 Oct 2025 19:30:35 +0000 (21:30 +0200)]
For testing "repeat" directive, start offsets at lowest int in targeted regions' modifiable int args.

9 months agoReorganize test script expansions.
Christian Heller [Mon, 20 Oct 2025 17:54:59 +0000 (19:54 +0200)]
Reorganize test script expansions.

9 months agoIn testing, reduce verbosity of "repeat" command.
Christian Heller [Sun, 19 Oct 2025 08:53:30 +0000 (10:53 +0200)]
In testing, reduce verbosity of "repeat" command.

9 months agoRestructure color formatting.
Christian Heller [Sun, 19 Oct 2025 08:12:50 +0000 (10:12 +0200)]
Restructure color formatting.

9 months agoGreatly extend TUI drawing tests.
Christian Heller [Sun, 19 Oct 2025 04:48:53 +0000 (06:48 +0200)]
Greatly extend TUI drawing tests.

9 months agoFix scrolling's .history_idx_neg calculation stumbling over bookmark line.
Christian Heller [Sun, 19 Oct 2025 04:48:10 +0000 (06:48 +0200)]
Fix scrolling's .history_idx_neg calculation stumbling over bookmark line.

9 months agoIn testing, improve flexibility of screen line check command.
Christian Heller [Sat, 18 Oct 2025 18:51:07 +0000 (20:51 +0200)]
In testing, improve flexibility of screen line check command.

9 months agoFor testing "repeat" directive, allow relative next to absolute number manipulations.
Christian Heller [Fri, 17 Oct 2025 08:00:06 +0000 (10:00 +0200)]
For testing "repeat" directive, allow relative next to absolute number manipulations.

9 months agoRestructure testing command syntax for greater flexibility and extensibility.
Christian Heller [Fri, 17 Oct 2025 03:43:13 +0000 (05:43 +0200)]
Restructure testing command syntax for greater flexibility and extensibility.

9 months agoReorganize testing syntax.
Christian Heller [Thu, 16 Oct 2025 22:26:20 +0000 (00:26 +0200)]
Reorganize testing syntax.

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

9 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.

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

9 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.

9 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'.

9 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.

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

9 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.

9 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.

9 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.

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

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.

9 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.