Skip to content

Refactor direct dependency surface#227

Merged
devmobasa merged 1 commit into
mainfrom
refactor/trim-dependencies
May 22, 2026
Merged

Refactor direct dependency surface#227
devmobasa merged 1 commit into
mainfrom
refactor/trim-dependencies

Conversation

@devmobasa
Copy link
Copy Markdown
Owner

Summary

Reduces Wayscriber’s direct dependency surface by replacing small direct dependencies with focused
local implementations and test helpers.

Direct external deps across the workspace go from 29 to 21.

Removed direct deps:

  • env_logger
  • async-trait
  • base64
  • signal-hook
  • futures-util
  • tempfile
  • assert_cmd
  • predicates

Notable Changes

  • Adds local base64 encode/decode support for persisted image/session data.
  • Replaces env_logger with a small local logger, including file logging and RUST_LOG filtering.
  • Replaces signal-hook usage with a local Unix signal bridge.
  • Adds local StreamExt::next equivalent for zbus stream polling.
  • Replaces test-only tempfile, assert_cmd, and predicates usage with local helpers and direct assertions.

Signal Handling Notes

The new signal bridge preserves the important daemon behavior:

  • installs handlers before publishing the daemon pid
  • uses SA_RESTART
  • stores pending signals outside the self-pipe so full pipes do not drop shutdown/toggle signals
  • preserves errno across the signal handler
  • restores already-installed handlers on partial install failure

It intentionally does not chain prior signal handlers; Wayscriber owns these daemon/overlay signals.

@devmobasa devmobasa merged commit 9e174e9 into main May 22, 2026
2 checks passed
@devmobasa devmobasa deleted the refactor/trim-dependencies branch May 25, 2026 07:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant