Release 0.3.2 - #14
Merged
Merged
Conversation
Six fixes since 0.3.1, all merged and green on main: the debug-logging leak of the FCM token and subscriber PII, the unguarded registerDevice that could create duplicate device rows, the overlapping permission checks, the reset() that could leave a subscriber blob or the whole device record behind, the redundant PATCH on every launch, and the scheduled workflows firing at the wrong time for non-UTC users. Patch rather than minor: every change is a fix, and no public API on PushFireSDK was added, removed or changed shape.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Version bump and changelog for the six fixes merged since 0.3.1.
pubspec.yamlandCHANGELOG.mdare updated here rather than left to the releaseworkflow: it only inserts a
- Release version 0.3.2stub when the heading is missing,which is not worth shipping to pub.dev as the record of a security fix.
What 0.3.2 contains
Security — debug logging no longer writes the FCM token or subscriber PII (#9). With
enableLogging: true, device registration logged the full FCM token, subscriber loginlogged name, email, phone and metadata, and tag operations logged tag values. Bodies are
now redacted, with the token keeping a first/last-ten mask so it stays correlatable with
the server. Identifiers are left readable.
Fixed
registerDeviceis single-flight, so two concurrent callers can no longer createduplicate device rows with one orphaned server-side (registerDevice has no concurrency guard, so two concurrent callers can create duplicate device rows #10).
handler and
syncNotificationPermission(registerDevice has no concurrency guard, so two concurrent callers can create duplicate device rows #10).reset()clears the subscriber blob and device record unconditionally, so neither anull-id blob nor a failed logout leaves state behind (reset() can leave a stored subscriber blob behind #11).
preference saved before the PATCH (setNotificationEnabled saves the preference before the PATCH, so a failed request leaves local and server disagreeing #6), and scheduled workflows firing at the wrong time
for non-UTC users (Scheduled workflows fire at the wrong time for non-UTC users: scheduledFor is sent without a timezone #7).
Version choice
Patch, not minor: every change is a fix, and no public API on
PushFireSDKwas added,removed or changed shape.
SubscriberService.clearSubscriberDataandPushFireSDKImpl.clearAllLocalStateare both underlib/src/and not exported.After merging
Tagging
v0.3.2triggers.github/workflows/release.yml, which runs the suite, creates aGitHub release, and publishes to pub.dev over OIDC. That publish cannot be undone.
Verified locally: 419 tests pass, and
dart pub publish --dry-runis clean.