Skip to content

Fix manually triggerable events bug - #106

Merged
almostearthling merged 12 commits into
mainfrom
development
Jun 25, 2026
Merged

almostearthling merged 12 commits into
mainfrom
development

Conversation

@almostearthling

Copy link
Copy Markdown
Owner

Merging this branch would:

and due to the substantial changes and reintroduciton of manually triggerable events the version is bumped to 1.3.0.

almostearthling and others added 9 commits June 21, 2026 13:41
Condition reset and suspend log messages are now all at info or warn level
Add a possible last resort error conversion function, that converts from pointers (`Box<Error>`) to whenever specific errors: it should actually almost never be used
Refactor DBus checks for contained string-likes in arrays and dictionaries: in the latter case only the keys are checked, and the contents are not inspected, this should spare some memory and CPU cycles
Stop converting DBus arrays to test whether an integer is contained, and just check for inclusion as a value: zvariant comparison operators just take care of discarding invalid comparisons; even though this may lead to tests for non integer arrays (which will fail anyway), avoiding building new arrays will save allocations and CPU cycles in general
This fixes #104  by splitting the list of events in two separate lists, one for external ones, and another for manually triggerable ones: both are rw-locked instead of just locked, so that multiple reads can occur at the same time, and are independent so that triggerable events do not have to wait for the listener to release the event list; also, #105 is fixed by simplifying the registry methods, although more can be done for simplification in other places
@almostearthling
almostearthling marked this pull request as draft June 24, 2026 14:15
@almostearthling almostearthling changed the title Development Fix manually triggerable events bug Jun 24, 2026
@almostearthling almostearthling self-assigned this Jun 24, 2026
@almostearthling almostearthling added bug Something isn't working optimization Code optimizations regression A bug arising because of recent modifications labels Jun 24, 2026
@almostearthling
almostearthling marked this pull request as ready for review June 24, 2026 14:17

@almostearthling almostearthling left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minimal edits

Comment thread src/condition/registry.rs Outdated
Comment thread Cargo.toml Outdated
Comment thread src/condition/registry.rs Outdated
More simplifications and cuts in the interface of items, as well as registries: many checks that were actually ignored, or performed on always-succeeding code, have been ditched
@almostearthling
almostearthling merged commit 36b7015 into main Jun 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working optimization Code optimizations regression A bug arising because of recent modifications

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove redundant Result enums in registries CLI based events constantly triggered

1 participant