home · contact · privacy
ircplom
13 hours agoRe-start users counting on re-connect.
Christian Heller [Thu, 18 Sep 2025 09:56:39 +0000 (11:56 +0200)]
Re-start users counting on re-connect.

13 hours agoClean up tests sequence.
Christian Heller [Thu, 18 Sep 2025 09:55:44 +0000 (11:55 +0200)]
Clean up tests sequence.

13 hours agoDon't unintentionally re-create users just removed by re-setting (empty) .exit_message.
Christian Heller [Thu, 18 Sep 2025 09:47:36 +0000 (11:47 +0200)]
Don't unintentionally re-create users just removed by re-setting (empty) .exit_message.

14 hours agoGet rid of non-sensical rename messages.
Christian Heller [Thu, 18 Sep 2025 08:36:45 +0000 (10:36 +0200)]
Get rid of non-sensical rename messages.

16 hours agoHandle shortening of usernames by USERLEN.
Christian Heller [Thu, 18 Sep 2025 06:39:17 +0000 (08:39 +0200)]
Handle shortening of usernames by USERLEN.

16 hours agoRemembered why the Client connecting had been a thread in the first place …
Christian Heller [Thu, 18 Sep 2025 06:15:39 +0000 (08:15 +0200)]
Remembered why the Client connecting had been a thread in the first place …

16 hours agoAllow explicit setting of username.
Christian Heller [Thu, 18 Sep 2025 06:01:45 +0000 (08:01 +0200)]
Allow explicit setting of username.

17 hours agoAllow multiple loggings per ClientTui update.
Christian Heller [Thu, 18 Sep 2025 05:19:48 +0000 (07:19 +0200)]
Allow multiple loggings per ClientTui update.

22 hours agoEnsure proper resets of dicts on connect/disconnect.
Christian Heller [Thu, 18 Sep 2025 00:47:04 +0000 (02:47 +0200)]
Ensure proper resets of dicts on connect/disconnect.

22 hours agoMove into_endnode_updates into ClientDb.
Christian Heller [Thu, 18 Sep 2025 00:45:16 +0000 (02:45 +0200)]
Move into_endnode_updates into ClientDb.

24 hours agoClear MOTD on disconnect.
Christian Heller [Wed, 17 Sep 2025 22:57:21 +0000 (00:57 +0200)]
Clear MOTD on disconnect.

26 hours agoAlready Client-side check if updates make a difference.
Christian Heller [Wed, 17 Sep 2025 20:34:35 +0000 (22:34 +0200)]
Already Client-side check if updates make a difference.

30 hours agoSimplify Window.cmd__paste.
Christian Heller [Wed, 17 Sep 2025 16:31:03 +0000 (18:31 +0200)]
Simplify Window.cmd__paste.

30 hours agoFix empty-input test (need space separating context from emptiness).
Christian Heller [Wed, 17 Sep 2025 16:26:47 +0000 (18:26 +0200)]
Fix empty-input test (need space separating context from emptiness).

30 hours agoExtend basic TUI tests.
Christian Heller [Wed, 17 Sep 2025 16:09:16 +0000 (18:09 +0200)]
Extend basic TUI tests.

31 hours agoRemove redundant caps clearing message.
Christian Heller [Wed, 17 Sep 2025 15:59:29 +0000 (17:59 +0200)]
Remove redundant caps clearing message.

31 hours agoTest user renames, channel parts.
Christian Heller [Wed, 17 Sep 2025 15:36:18 +0000 (17:36 +0200)]
Test user renames, channel parts.

2 days agoFix broken iterator loops.
Christian Heller [Tue, 16 Sep 2025 08:56:02 +0000 (10:56 +0200)]
Fix broken iterator loops.

2 days agoIn tests, check that user ID truly increments after re-connect.
Christian Heller [Tue, 16 Sep 2025 01:15:38 +0000 (03:15 +0200)]
In tests, check that user ID truly increments after re-connect.

2 days agoAdd basic channel join testing, use str of incrementing int for user IDs to allow...
Christian Heller [Tue, 16 Sep 2025 00:55:48 +0000 (02:55 +0200)]
Add basic channel join testing, use str of incrementing int for user IDs to allow predictable ones in testing.

2 days agoEnforce sortedness in joining/residents users listings.
Christian Heller [Tue, 16 Sep 2025 00:53:00 +0000 (02:53 +0200)]
Enforce sortedness in joining/residents users listings.

2 days agoIn testing files, parse zero-windows lines too.
Christian Heller [Tue, 16 Sep 2025 00:49:02 +0000 (02:49 +0200)]
In testing files, parse zero-windows lines too.

2 days agoSimplify Client connecting steps.
Christian Heller [Tue, 16 Sep 2025 00:16:29 +0000 (02:16 +0200)]
Simplify Client connecting steps.

3 days agoAdd /reconnect testing.
Christian Heller [Mon, 15 Sep 2025 21:50:08 +0000 (23:50 +0200)]
Add /reconnect testing.

3 days agoDon't kill testing keyboard and server input simulation loops after timeout.
Christian Heller [Mon, 15 Sep 2025 21:49:43 +0000 (23:49 +0200)]
Don't kill testing keyboard and server input simulation loops after timeout.

3 days agoFor test file, allow (ignore) empty and #-prefixed lines.
Christian Heller [Mon, 15 Sep 2025 21:01:48 +0000 (23:01 +0200)]
For test file, allow (ignore) empty and #-prefixed lines.

3 days agoEliminate race condition of ClientEvents sent before NewClientEvent initialized Clien...
Christian Heller [Mon, 15 Sep 2025 20:55:12 +0000 (22:55 +0200)]
Eliminate race condition of ClientEvents sent before NewClientEvent initialized ClientsDb entry.

3 days agoMinor refactor of client/connection class relations, plus some docstrings.
Christian Heller [Mon, 15 Sep 2025 15:42:55 +0000 (17:42 +0200)]
Minor refactor of client/connection class relations, plus some docstrings.

3 days agoSimplify isupport defaults handling by only using isupport-dict-specific mechanisms.
Christian Heller [Mon, 15 Sep 2025 15:32:15 +0000 (17:32 +0200)]
Simplify isupport defaults handling by only using isupport-dict-specific mechanisms.

3 days agoExtend tests, determine order of server caps listing.
Christian Heller [Mon, 15 Sep 2025 13:49:22 +0000 (15:49 +0200)]
Extend tests, determine order of server caps listing.

3 days agoMove test instructions/expectations into separate non-code file.
Christian Heller [Mon, 15 Sep 2025 07:22:02 +0000 (09:22 +0200)]
Move test instructions/expectations into separate non-code file.

3 days agoRemove trailing whitespace from /help output.
Christian Heller [Mon, 15 Sep 2025 07:14:42 +0000 (09:14 +0200)]
Remove trailing whitespace from /help output.

3 days agoAdd server reply simulation to testing, move into own module.
Christian Heller [Mon, 15 Sep 2025 05:35:42 +0000 (07:35 +0200)]
Add server reply simulation to testing, move into own module.

6 days agoAdd first stab at testing infrastructure.
Christian Heller [Fri, 12 Sep 2025 09:54:57 +0000 (11:54 +0200)]
Add first stab at testing infrastructure.

7 days agoEnsure dict update even on implicit item creation.
Christian Heller [Thu, 11 Sep 2025 22:09:50 +0000 (00:09 +0200)]
Ensure dict update even on implicit item creation.

7 days agoFix non-transmission of dictionary clearing.
Christian Heller [Thu, 11 Sep 2025 22:04:09 +0000 (00:04 +0200)]
Fix non-transmission of dictionary clearing.

7 days agoForce logging on implicit creation of items, even if to empty default.
Christian Heller [Thu, 11 Sep 2025 22:03:19 +0000 (00:03 +0200)]
Force logging on implicit creation of items, even if to empty default.

7 days agoRemove code dead since previous commit.
Christian Heller [Thu, 11 Sep 2025 21:08:28 +0000 (23:08 +0200)]
Remove code dead since previous commit.

7 days agoDon't force dataclass'ness on update values.
Christian Heller [Thu, 11 Sep 2025 21:03:54 +0000 (23:03 +0200)]
Don't force dataclass'ness on update values.

7 days agoRemove dead code.
Christian Heller [Thu, 11 Sep 2025 20:41:30 +0000 (22:41 +0200)]
Remove dead code.

7 days agoStrengthen hierarchical class relations.
Christian Heller [Thu, 11 Sep 2025 20:40:04 +0000 (22:40 +0200)]
Strengthen hierarchical class relations.

7 days agoSimplify CompletableTopic.
Christian Heller [Thu, 11 Sep 2025 20:20:27 +0000 (22:20 +0200)]
Simplify CompletableTopic.

7 days agoDifferentiate attribute-updaters off Dict and Completable updaters.
Christian Heller [Thu, 11 Sep 2025 20:17:08 +0000 (22:17 +0200)]
Differentiate attribute-updaters off Dict and Completable updaters.

7 days agoAllow Client updates to diversify into zero to many TUI updates.
Christian Heller [Thu, 11 Sep 2025 20:02:50 +0000 (22:02 +0200)]
Allow Client updates to diversify into zero to many TUI updates.

7 days agoAlso treat Channel.user_ids as (completable) set rather than sorted.
Christian Heller [Thu, 11 Sep 2025 17:27:35 +0000 (19:27 +0200)]
Also treat Channel.user_ids as (completable) set rather than sorted.

7 days agoUse set completable for CapsManager._ls, ._list, no need for order there.
Christian Heller [Thu, 11 Sep 2025 17:03:33 +0000 (19:03 +0200)]
Use set completable for CapsManager._ls, ._list, no need for order there.

7 days agoStraighten out interfaces/class hierarchy for Completables, better hide internals.
Christian Heller [Thu, 11 Sep 2025 16:35:50 +0000 (18:35 +0200)]
Straighten out interfaces/class hierarchy for Completables, better hide internals.

7 days agoFrom _User separate out _NickUserHost extras not needed on it properly.
Christian Heller [Thu, 11 Sep 2025 15:19:59 +0000 (17:19 +0200)]
From _User separate out _NickUserHost extras not needed on it properly.

7 days agoSplit off UpdateMixin.static_copy into exportable IntoUpdateValue with better naming.
Christian Heller [Thu, 11 Sep 2025 15:08:37 +0000 (17:08 +0200)]
Split off UpdateMixin.static_copy into exportable IntoUpdateValue with better naming.

7 days agoMove _Update.value adaption into class proper.
Christian Heller [Thu, 11 Sep 2025 14:58:46 +0000 (16:58 +0200)]
Move _Update.value adaption into class proper.

7 days agoSimplify ._focused_set_and_report_change branchings.
Christian Heller [Thu, 11 Sep 2025 14:52:40 +0000 (16:52 +0200)]
Simplify ._focused_set_and_report_change branchings.

7 days agoFix formatting of part and rename logs.
Christian Heller [Thu, 11 Sep 2025 14:43:31 +0000 (16:43 +0200)]
Fix formatting of part and rename logs.

7 days agoMove more processing into _Update.
Christian Heller [Thu, 11 Sep 2025 14:43:11 +0000 (16:43 +0200)]
Move more processing into _Update.

7 days agoRename variable for greater clarity.
Christian Heller [Thu, 11 Sep 2025 14:32:09 +0000 (16:32 +0200)]
Rename variable for greater clarity.

7 days agoSplit set_and_check_for_change into recursive node-walk end end-node processing.
Christian Heller [Thu, 11 Sep 2025 14:23:40 +0000 (16:23 +0200)]
Split set_and_check_for_change into recursive node-walk end end-node processing.

7 days agoHandle GenericAlias special case breaking previous switch to "Clearable" subclassing.
Christian Heller [Thu, 11 Sep 2025 14:19:50 +0000 (16:19 +0200)]
Handle GenericAlias special case breaking previous switch to "Clearable" subclassing.

7 days agoOnly declare respective level's direct children for log scopes.
Christian Heller [Thu, 11 Sep 2025 13:42:06 +0000 (15:42 +0200)]
Only declare respective level's direct children for log scopes.

7 days agoMinor code-reorganization for better readability.
Christian Heller [Thu, 11 Sep 2025 13:36:42 +0000 (15:36 +0200)]
Minor code-reorganization for better readability.

7 days agoStructure .clear ability into proper interface.
Christian Heller [Thu, 11 Sep 2025 13:34:09 +0000 (15:34 +0200)]
Structure .clear ability into proper interface.

7 days agoFix renaming logging "forgetting" old name.
Christian Heller [Thu, 11 Sep 2025 13:26:41 +0000 (15:26 +0200)]
Fix renaming logging "forgetting" old name.

7 days agoFix CAP negotation keyword typo.
Christian Heller [Thu, 11 Sep 2025 13:24:16 +0000 (15:24 +0200)]
Fix CAP negotation keyword typo.

11 days agoFix broken CAP command sendings.
Christian Heller [Sun, 7 Sep 2025 14:47:31 +0000 (16:47 +0200)]
Fix broken CAP command sendings.

11 days agoRefactor around PRIVMSG/NOTICE to reduce LogScope references in client.py.
Christian Heller [Sun, 7 Sep 2025 14:45:19 +0000 (16:45 +0200)]
Refactor around PRIVMSG/NOTICE to reduce LogScope references in client.py.

12 days agoSimplify Client.send usage.
Christian Heller [Sat, 6 Sep 2025 10:28:54 +0000 (12:28 +0200)]
Simplify Client.send usage.

12 days agoSlightly loosen .id_for_nickuserhost expectations.
Christian Heller [Sat, 6 Sep 2025 10:27:29 +0000 (12:27 +0200)]
Slightly loosen .id_for_nickuserhost expectations.

12 days agoSome channel users/topic logging refactoring.
Christian Heller [Sat, 6 Sep 2025 07:57:13 +0000 (09:57 +0200)]
Some channel users/topic logging refactoring.

12 days agoBetter encapsulate channel and user dictionaries code.
Christian Heller [Sat, 6 Sep 2025 04:46:19 +0000 (06:46 +0200)]
Better encapsulate channel and user dictionaries code.

12 days agoCommunicate user exits via User.exit_msg rather than client-side logging.
Christian Heller [Sat, 6 Sep 2025 04:42:56 +0000 (06:42 +0200)]
Communicate user exits via User.exit_msg rather than client-side logging.

12 days agoFix broken DB clearing after disconnect.
Christian Heller [Sat, 6 Sep 2025 03:22:15 +0000 (05:22 +0200)]
Fix broken DB clearing after disconnect.

12 days agoGet rid of complications like .from_silent or .set_updating.
Christian Heller [Sat, 6 Sep 2025 00:25:08 +0000 (02:25 +0200)]
Get rid of complications like .from_silent or .set_updating.

12 days agoProvide User instances with their .id_ in overarching dict to reduce roundtrips.
Christian Heller [Sat, 6 Sep 2025 00:05:02 +0000 (02:05 +0200)]
Provide User instances with their .id_ in overarching dict to reduce roundtrips.

13 days agoMinor refactoring.
Christian Heller [Fri, 5 Sep 2025 15:18:44 +0000 (17:18 +0200)]
Minor refactoring.

13 days agoDerive proper User class from NickUserSet, with additional .modes field.
Christian Heller [Fri, 5 Sep 2025 14:45:12 +0000 (16:45 +0200)]
Derive proper User class from NickUserSet, with additional .modes field.

13 days agoRe-organize NickUserHost field updating code.
Christian Heller [Fri, 5 Sep 2025 14:43:25 +0000 (16:43 +0200)]
Re-organize NickUserHost field updating code.

13 days agoStraighten consistence between class expectations.
Christian Heller [Fri, 5 Sep 2025 13:14:31 +0000 (15:14 +0200)]
Straighten consistence between class expectations.

13 days agoMake identity relation more explicit/forceful.
Christian Heller [Fri, 5 Sep 2025 12:53:33 +0000 (14:53 +0200)]
Make identity relation more explicit/forceful.

13 days agoOnly explicitly use userid_for_nickuserhost for updating users entries.
Christian Heller [Fri, 5 Sep 2025 12:51:47 +0000 (14:51 +0200)]
Only explicitly use userid_for_nickuserhost for updating users entries.

13 days agoSimplify _NickUserHost comparisons.
Christian Heller [Fri, 5 Sep 2025 12:45:22 +0000 (14:45 +0200)]
Simplify _NickUserHost comparisons.

13 days agoDifferentiate query windows into their own chat windows subclass.
Christian Heller [Fri, 5 Sep 2025 11:52:54 +0000 (13:52 +0200)]
Differentiate query windows into their own chat windows subclass.

13 days agoShow received nickname changes in all windows affected.
Christian Heller [Fri, 5 Sep 2025 11:50:30 +0000 (13:50 +0200)]
Show received nickname changes in all windows affected.

2 weeks agoFor any NICK_USER_HOST message tokens potentially update entry; get rid of irregular...
Christian Heller [Thu, 4 Sep 2025 05:41:31 +0000 (07:41 +0200)]
For any NICK_USER_HOST message tokens potentially update entry; get rid of irregular "set_user" tasks.

2 weeks agoTighten user identity knowledge controls.
Christian Heller [Thu, 4 Sep 2025 05:14:01 +0000 (07:14 +0200)]
Tighten user identity knowledge controls.

2 weeks agoMinor code reorganization.
Christian Heller [Thu, 4 Sep 2025 01:55:26 +0000 (03:55 +0200)]
Minor code reorganization.

2 weeks agoSome Completables refactoring.
Christian Heller [Thu, 4 Sep 2025 01:53:24 +0000 (03:53 +0200)]
Some Completables refactoring.

2 weeks agoSimplify topic setting code.
Christian Heller [Thu, 4 Sep 2025 01:36:37 +0000 (03:36 +0200)]
Simplify topic setting code.

2 weeks agoAvoid zero-length task path steps.
Christian Heller [Thu, 4 Sep 2025 01:34:58 +0000 (03:34 +0200)]
Avoid zero-length task path steps.

2 weeks agoAdd 'doafter' task verb, with defined execution order between task verbs.
Christian Heller [Thu, 4 Sep 2025 01:11:11 +0000 (03:11 +0200)]
Add 'doafter' task verb, with defined execution order between task verbs.

2 weeks agoVery minor refactoring.
Christian Heller [Thu, 4 Sep 2025 00:17:36 +0000 (02:17 +0200)]
Very minor refactoring.

2 weeks agoMinor refactoring.
Christian Heller [Wed, 3 Sep 2025 21:59:58 +0000 (23:59 +0200)]
Minor refactoring.

2 weeks agoMinor refactoring.
Christian Heller [Wed, 3 Sep 2025 21:54:07 +0000 (23:54 +0200)]
Minor refactoring.

2 weeks agoMove fundamental message parsing code into msg_parse_expectations module.
Christian Heller [Wed, 3 Sep 2025 21:20:28 +0000 (23:20 +0200)]
Move fundamental message parsing code into msg_parse_expectations module.

2 weeks agoReformat message expectations code for better readability.
Christian Heller [Wed, 3 Sep 2025 15:00:36 +0000 (17:00 +0200)]
Reformat message expectations code for better readability.

2 weeks agoFix crashes on /part due to now _always_ expecting a parting message.
Christian Heller [Wed, 3 Sep 2025 14:19:45 +0000 (16:19 +0200)]
Fix crashes on /part due to now _always_ expecting a parting message.

2 weeks agoMove handling of 366, 376, 903, 904, ERROR into EXPECTATIONS (with some task parsing...
Christian Heller [Wed, 3 Sep 2025 14:14:42 +0000 (16:14 +0200)]
Move handling of 366, 376, 903, 904, ERROR into EXPECTATIONS (with some task parsing redesign on the way).

2 weeks agoRefactor message task target parsing towards greater flexibility.
Christian Heller [Wed, 3 Sep 2025 13:18:13 +0000 (15:18 +0200)]
Refactor message task target parsing towards greater flexibility.

2 weeks agoSatisfy mypy.
Christian Heller [Wed, 3 Sep 2025 12:54:53 +0000 (14:54 +0200)]
Satisfy mypy.

2 weeks agoMove TOPIC message parsing into EXPECTATIONS (with small task parsing hack to make...
Christian Heller [Wed, 3 Sep 2025 12:53:51 +0000 (14:53 +0200)]
Move TOPIC message parsing into EXPECTATIONS (with small task parsing hack to make it work).

2 weeks agoReorganize task name parsing towards greater flexibility.
Christian Heller [Wed, 3 Sep 2025 12:40:50 +0000 (14:40 +0200)]
Reorganize task name parsing towards greater flexibility.

2 weeks agoOn message parsing, don't collect empty-string task names.
Christian Heller [Wed, 3 Sep 2025 12:39:51 +0000 (14:39 +0200)]
On message parsing, don't collect empty-string task names.

2 weeks agoMove topic handling into MSG_EXPECTATIONS, re-name variables for clarity of usage.
Christian Heller [Wed, 3 Sep 2025 12:00:47 +0000 (14:00 +0200)]
Move topic handling into MSG_EXPECTATIONS, re-name variables for clarity of usage.