mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-28 06:22:45 -08:00
1.7 KiB
1.7 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
| id | title | status | assignee | created_date | updated_date | labels | dependencies | priority | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-80 | Strengthen IPC contract typing and runtime payload validation | To Do | 2026-02-18 11:43 | 2026-02-18 11:43 |
|
medium |
Description
IPC handlers still rely on many unknown payload casts in main process paths. This task formalizes typed IPC contracts and validates runtime payloads before dispatch to reduce runtime-only failures.
Suggestions
- Define canonical channel map (
channel -> request/response/error types). - Add boundary validators for untrusted renderer payloads.
- Keep channel registration centralized to avoid drift.
Action Steps
- Inventory IPC channels and payload shapes in
src/main/ipc-runtime.tsand registration callsites. - Introduce shared IPC type map and typed registration helpers.
- Add runtime guards/validators at IPC entry points.
- Remove unsafe casts where typed contracts are introduced.
- Add negative tests for malformed payloads and expected error responses.
- Document IPC contract extension process.
Acceptance Criteria
- #1 IPC channels are defined in a typed central contract
- #2 Runtime payload validation exists for externally supplied IPC data
- #3 Unsafe cast usage in IPC boundary code is materially reduced
- #4 Malformed payloads are handled gracefully and test-covered
Definition of Done
- #1 IPC-related tests pass
- #2 IPC contract docs updated