home · contact · privacy
ircplom
8 days 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.

8 days 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.

8 days 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 days 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 days 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 days 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.

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

9 days 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 days 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 days 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 days 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 days agoRefactor IrcConnException hierarchy.
Christian Heller [Mon, 6 Oct 2025 19:29:47 +0000 (21:29 +0200)]
Refactor IrcConnException hierarchy.

10 days 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 days 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.

11 days 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.

11 days 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.

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

11 days 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).

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

11 days 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.

12 days 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.

12 days 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.

12 days 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).

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

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

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

13 days 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.

13 days 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.

13 days 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).

13 days 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.

13 days 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.

2 weeks 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.

2 weeks 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 …).

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

2 weeks 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.

2 weeks 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".

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

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

2 weeks 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.

2 weeks 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.

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

2 weeks 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.

2 weeks 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.

2 weeks 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.

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

2 weeks 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.

2 weeks 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.

2 weeks 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.

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

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

2 weeks 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.

2 weeks 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.

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

2 weeks 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)"

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

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

2 weeks 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.

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

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

2 weeks 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.

3 weeks 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.

3 weeks 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.

3 weeks 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.

3 weeks agoPin blessed to a version we know works.
Christian Heller [Thu, 25 Sep 2025 18:12:06 +0000 (20:12 +0200)]
Pin blessed to a version we know works.

3 weeks agoStandardize dependency-check into plomlib's dependency_hint.
Christian Heller [Wed, 24 Sep 2025 12:33:42 +0000 (14:33 +0200)]
Standardize dependency-check into plomlib's dependency_hint.

3 weeks agoAdd dependency check/install hint.
Christian Heller [Wed, 24 Sep 2025 12:18:52 +0000 (14:18 +0200)]
Add dependency check/install hint.

3 weeks agoRe-enable testing via test.txt.
Christian Heller [Wed, 24 Sep 2025 10:51:27 +0000 (12:51 +0200)]
Re-enable testing via test.txt.

3 weeks agoTurn into installable by way of plomlib's install procedures.
Christian Heller [Wed, 24 Sep 2025 10:48:00 +0000 (12:48 +0200)]
Turn into installable by way of plomlib's install procedures.

3 weeks agoUse Path.joinpath smarter.
Christian Heller [Wed, 24 Sep 2025 08:34:05 +0000 (10:34 +0200)]
Use Path.joinpath smarter.

3 weeks agoFix broken date filename generation.
Christian Heller [Wed, 24 Sep 2025 08:30:03 +0000 (10:30 +0200)]
Fix broken date filename generation.

3 weeks agoPut logs under ~/.local/share/ircplpom.
Christian Heller [Wed, 24 Sep 2025 08:29:44 +0000 (10:29 +0200)]
Put logs under ~/.local/share/ircplpom.

3 weeks agoUse pathlib rather than os.path.
Christian Heller [Wed, 24 Sep 2025 08:24:40 +0000 (10:24 +0200)]
Use pathlib rather than os.path.

3 weeks agoLog date changes, sort log files into dates.
Christian Heller [Wed, 24 Sep 2025 06:56:15 +0000 (08:56 +0200)]
Log date changes, sort log files into dates.

3 weeks agoGeneralize logging to all ClientWindows, use dedicated directory.
Christian Heller [Wed, 24 Sep 2025 06:38:17 +0000 (08:38 +0200)]
Generalize logging to all ClientWindows, use dedicated directory.

3 weeks agoMinor refactoring.
Christian Heller [Wed, 24 Sep 2025 04:25:17 +0000 (06:25 +0200)]
Minor refactoring.

3 weeks agoRemove inconsequential attribute mapping of ClientWindows to LogScopes.
Christian Heller [Wed, 24 Sep 2025 04:16:27 +0000 (06:16 +0200)]
Remove inconsequential attribute mapping of ClientWindows to LogScopes.