# refactor\(notifications\): isolate notification delivery \(\#258\) · lucenx/codexbar-plasma

[View on GitCafe](https://git.cafe/lucenx/codexbar-plasma/commit/2308aa12b09f3fd85cd0d759da9d300042805dbc)

Repository: [lucenx/codexbar-plasma](https://git.cafe/lucenx/codexbar-plasma)

Visibility: public

Requested revision: 2308aa12b09f3fd85cd0d759da9d300042805dbc

Requested commit: 2308aa12b09f3fd85cd0d759da9d300042805dbc

Commit: 2308aa12b09f3fd85cd0d759da9d300042805dbc

Tree: e3d9976be2d6c0b525dd0ea7824a849a687dd129

Author: Simone

Committer: GitHub

## Message

```
refactor(notifications): isolate notification delivery (#258)

* refactor(notifications): isolate notification delivery

Move notification command construction, nonces, request tracking and timeout cleanup into a focused dispatcher. Keep notification policy, privacy, localization and memo persistence in the applet.

Update development ownership and regression coverage. User-visible behavior, settings, catalogs, README, usage guidance, changelog and parity TODO remain unchanged.

Validation: make check passed with 94 Python tests and 1,249 Qt checks, without failures or skips. Packaging, isolated install/upgrade, normal and private Plasma smoke scenarios, and notification argument/lifecycle tests passed.

* fix(notifications): bound dispatcher command text

Bound notification title and body before shell command construction and cover oversized inputs. Correct the lifecycle surface assertion to target the dispatcher's actual expiry call, and document the bounded command contract.\n\nValidation: make check passed with 94 Python tests and 1,191 Qt checks. Local QML import/type checks remained partial because Plasma type metadata is unavailable; GitHub CI provides the full KDE environment.
```

## Parents

- [90bf0584fa1153c73666d80f754a06746f7da2c7](https://git.cafe/lucenx/codexbar-plasma/commit/90bf0584fa1153c73666d80f754a06746f7da2c7?format=markdown)

[Source at this commit](https://git.cafe/lucenx/codexbar-plasma/tree/2308aa12b09f3fd85cd0d759da9d300042805dbc?format=markdown)
