lerix_flutter 0.3.0
lerix_flutter: ^0.3.0 copied to clipboard
The official Lerix Flutter SDK: error and crash reporting plus push notifications for Flutter apps on Android, iOS, macOS, Windows and Web.
0.3.0 #
- Client-side error filtering, two new optional
Lerix.initoptions applied to every report (uncaught Flutter, Dart and zone errors,Lerix.throwError, web):ignoreErrors: List<Pattern>drops matching errors before they are sent. AStringmatches as a case-insensitive substring of the message (empty or whitespace-only strings are ignored); aRegExpmatches withhasMatch.beforeSend: LerixErrorEvent? Function(LerixErrorEvent)sees each report right before it is sent (afterignoreErrors); return it, a modified copy (copyWith), ornullto drop it. If it throws, the original report is sent and the exception is not reported or rethrown.
- A dropped report doesn't call
onError.
0.2.1 #
- A device that first connected with an SDK version that reported a different
OS (for example
unknownon macOS before 0.2.0) now reconnects and registers as the right platform. The locally cached app config is only reused when its OS matches the current one; before, such a device kept its old platform, so its pushes failed with "Push notifications aren't supported on this platform".
0.2.0 #
- Windows (preview): push notifications through WNS with the Windows App
SDK, using a Microsoft Entra ID app registration added in the dashboard
(Notifications → Settings → Windows). The device's push channel is
created and registered with Lerix on every launch; Windows shows the
notification itself, and a click (including one that launches the app)
reaches
setOnNotificationTapped. Needs Windows 10 2004+ and the Windows App Runtime 1.7. The first build downloads the Windows App SDK from NuGet, so it needs network access. Delivery while the app is closed needs package identity (a sparse package); see the Windows guide. - macOS: push notifications through APNs (same Apple key as iOS), device
details and error reporting. Forward the APNs callbacks from
AppDelegate(see the README). - macOS: the SDK stores its data in the standard keychain, so a sandboxed app doesn't need a Keychain Sharing entitlement.
- iOS and macOS: a failed APNs registration now fails
getDeviceToken()withREGISTRATION_FAILEDinstead of leaving it waiting forever. - Linux push isn't supported yet.
0.1.0 #
Lerix.setUser(externalId, identityHash: ...)andLerix.clearUser()link an install to your own user ID, so one send withexternalUserIdsreaches that person on every device and platform. The ID is kept across re-registration and re-sent automatically.
0.0.2 #
- Web: the Lerix service worker is now registered on its own
/lerix/scope instead of/. At/it was replaced by Flutter'sflutter_service_worker.jsin a defaultflutter build web, so pushes were reported as sent but never shown. A worker left at/by 0.0.1 is removed and its push subscription cancelled; the device resubscribes on the nextinit()(when permission is already granted) and gets a new device id. - Uncaught errors are now sent to Lerix, as critical crashes. The
FlutterError.onError,PlatformDispatcher.onErrorand zone handlers only built the report locally, so automatic capture never reached the dashboard; Flutter's own console output for framework errors is kept. - Web: error reports now include their stack. The browser's JavaScript frames
were parsed as Dart VM frames and all dropped; they are now sent as the
browser wrote them, and Lerix maps them back to Dart files and lines with
the source maps uploaded by
npx @lerix-dev/lerix-cli uploadafterflutter build web --source-maps.
0.0.1 #
Initial release of lerix_flutter, the Lerix Flutter SDK.
- Automatic capture of uncaught Flutter and Dart errors, plus manual
Lerix.throwErrorreporting with type, severity and metadata. - Anonymous user registration per project, with
Lerix.deleteUser()andLerix.reRegisterUser()to recover from a stale or mismatched user id. - Push notifications on iOS (native APNs), Android (FCM, no
google-services.jsonneeded) and Web (VAPID + service worker): permissions, device id / token, foreground and tap callbacks, cold-start tap recovery, topic subscriptions, custom sounds and rich images. - "Unsend" support: a silent follow-up push removes an already-displayed
notification from the device (iOS
removeDeliveredNotifications, AndroidNotificationManager.cancel). Requires theapplication(_:didReceiveRemoteNotification:fetchCompletionHandler:)override inAppDelegate.swift— seeNOTIFICATIONS_SETUP_SIMPLE.md. - Web service worker (
web_sw/lerix-sw.js) now uses the samelerix-*channel, cache and message names the Dart side listens on.