home · contact · privacy
ircplom
16 hours 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.

18 hours 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.

21 hours 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.

21 hours 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.

21 hours 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.

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

22 hours 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.

22 hours 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 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).

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

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

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

4 days 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 …).

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

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

4 days 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".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

13 days agoReduce reliance on wobbly kwargs.
Christian Heller [Wed, 24 Sep 2025 04:08:06 +0000 (06:08 +0200)]
Reduce reliance on wobbly kwargs.

13 days agoUse more easily constructed NOTICE marker.
Christian Heller [Wed, 24 Sep 2025 03:49:12 +0000 (05:49 +0200)]
Use more easily constructed NOTICE marker.

13 days agoRemove LogScope.RAW.
Christian Heller [Wed, 24 Sep 2025 03:32:56 +0000 (05:32 +0200)]
Remove LogScope.RAW.

13 days agoFuse debugging windows / remove the one without the raw protocol logging.
Christian Heller [Wed, 24 Sep 2025 03:22:01 +0000 (05:22 +0200)]
Fuse debugging windows / remove the one without the raw protocol logging.

13 days agoMinor refactoring.
Christian Heller [Wed, 24 Sep 2025 00:55:39 +0000 (02:55 +0200)]
Minor refactoring.

13 days agoMinor code re-arrangement.
Christian Heller [Wed, 24 Sep 2025 00:49:33 +0000 (02:49 +0200)]
Minor code re-arrangement.