fix: honor SMS notification storage - #177
Conversation
|
Review/merge-manager classification: I inspected the diff and ran Blocking findings:
Requested changes before this can be safe-to-land:
No GitHub CI checks are configured; absence of CI is not treated as a pass. |
|
Release-manager review classification: needs-fix before this can land. The functional pieces look directionally right, and local gates passed in review, but the storage-selection critical section is not atomic enough for mixed inbound/storage activity:
A race such as Requested fix:
Holding as needs-fix; not merging until the select/read/delete critical section is covered. |
|
Scheduled review/merge lane classification: needs-fix. The storage-selection direction is good and the focused/full suites passed in a read-only review worktree, but I found a merge blocker around async atomicity:
Requested fix:
git diff --check
PYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/ -q |
|
Review/merge-manager classification: needs-fix. I am not marking this ready or merging yet. The branch is currently mergeable, but review found storage-selection safety gaps that need a fresh TDD fix before landing:
No hardware testing is required; fake transports are sufficient. |
|
Release review: needs-fix. This draft is currently |
|
Release-captain classification: needs-fix. This PR is now |
|
Release lane update: needs-fix. This branch was already stale/conflicting against the default branch before the safe #236 landing, and |
|
Release review: needs-fix. This PR is now |
|
Release review: needs-fix. GitHub currently reports this branch |
|
Release review classification: needs-fix. GitHub now reports this branch |
|
Release-lane classification: needs fix/revalidation before merge. This draft was not independently reviewed or integration-tested in this pass and its GitHub mergeability is stale/unknown after current-main advances. Please rebase or otherwise validate it against current |
|
Release classification: needs-fix for this release pass. The draft has not received a current exact-head review and prescribed local integration gate over the advancing |
|
Release review: needs-fix. GitHub reports this storage-selection PR |
Summary
AT+CPMScommand builder and applyModemConfig.sms_storageduring SMS initialization+CMTIstorage/index on the internal raw SMS event and use reported storage before reading/deleting incoming SMS slots+CDSIreported storage before reading/deleting delivery-report slots, with state handling for CPMS failures and default-storage restorationTests
git diff --checkPYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/test_sms_service.py tests/test_delivery_reports.py tests/test_config.py tests/test_commands.py tests/test_urc.py tests/test_modem.py -qPYTHONPATH=. uv run --no-project --with pytest --with pytest-asyncio --with pytest-aiohttp --with pyserial-asyncio --with aiosqlite pytest tests/ -qRisks
AT+CPMS/CMGR/CMGDtestsSMSServicetracks selected storage and restores configured default for no-storage public APIs after non-default slot handlingCloses #14