Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Release 3.2.2 #227

Merged
merged 15 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
## 3.2.2

- fix(example): Add Internet permission to Android example project (#219) (2024-12-19)
- docs: Add raygun-cli symbols command to README.md (#225) (2025-01-09)
- docs: Add mobile/native symbols docs (#217) (2024-12-20)
- docs: Update README.md with native plugins links (#211) (2024-11-15)
- chore(deps): bump json_serializable from 6.9.0 to 6.9.2 (#221) (2025-01-06)
- chore(deps): bump device_info_plus from 11.1.0 to 11.2.0 (#222) (2025-01-06)
- chore(deps): bump shared_preferences from 2.3.3 to 2.3.4 (#220) (2025-01-06)
- chore(deps): bump package_info_plus from 8.1.1 to 8.1.2 (#223) (2025-01-06)
- chore(deps): bump connectivity_plus from 6.1.0 to 6.1.1 (#224) (2025-01-06)
- chore(deps): bump network_info_plus from 6.1.0 to 6.1.1 (#214) (2024-12-03)
- chore(deps): bump package_info_plus from 8.1.0 to 8.1.1 (#216) (2024-12-02)
- chore(deps): bump json_serializable from 6.8.0 to 6.9.0 (#215) (2024-12-02)
- chore(deps): bump shared_preferences from 2.3.2 to 2.3.3 (#213) (2024-12-02)
- chore(deps): bump intl from 0.19.0 to 0.20.1 (#212) (2024-12-02)
- ci: fix analyze issue (#218) (2024-12-19)

## 3.2.1

- fix: #29 Package version in client payload (#203) (2024-10-23)
Expand Down
47 changes: 45 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,9 +290,52 @@ Please note that setting a custom endpoint will stop Crash Report or Real User M

Flutter supports code obfuscation with the `--obfuscate` parameter, this option generates symbol files that can be used to decode the obfuscated stack traces, as described in the section [Obfuscate Dart code](https://docs.flutter.dev/deployment/obfuscate) from the Flutter SDK.

Note that Flutter Web uses sourcemaps instead, which is described in the next section.
Note that Flutter Web uses sourcemaps instead, which are described in the next section.

To decode obfuscated Flutter stacktraces with Raygun, you will have to copy the stacktrace into a file and run the `flutter symbolize` command manually. In the future, Raygun aims to support this functionality directly in the website.
### Using Flutter mobile/native symbols within Raygun

To decode obfuscated Flutter stacktraces within Raygun, you can take advantage of our Flutter Symbols center, located within the Application Settings section of you app. From there, add the version number of your symbols and upload the particular file.

The file name should follow the following convention - `app.{platform}-{architecture}.symbols`

The version is required to match with the `version` located in the crash report. In order to ensure we process your intended crash reports.

To set the `version`, you can add the version during the initialization (`Raygun.init`) or calling `.setVersion()` where it is avaliable. More information can be find in the [Setup and usage section](https://github.com/MindscapeHQ/raygun4flutter?tab=readme-ov-file#setup-and-usage)

Once the symbols have been uploaded, incoming crash reports will be decoded. To symbolicate crash reports that were existing before uploading the symbols to the symbols center, head to the crash report of the identified de-symbolicated crash and scroll fown to the 'Error instance command section. Hit the 'Reprocess' button to start the decoding of the crash report which will eventually show the symbolicated stack trace.

### Uploading symbols with Raygun CLI

Raygun CLI is a command-line tool for Raygun. You can use this tool to upload symbol files directly from CI.

Install with:

```
dart pub global activate raygun_cli
```

To upload symbol files to Raygun, navigate to your project root and run the `symbols upload` command with the following parameters:

- `path` location of the symbols file.
- `version` app version.
- `app-id` the Application ID in Raygun.com.
- `token` is an access token from https://app.raygun.com/user/tokens.

```
raygun-cli symbols upload --path=<path to symbols file> --version=<app version> --app-id=APP_ID --token=TOKEN
```

Obtain a list of the uploaded symbol files with the `symbols list` command:

```
raygun-cli symbols list --app-id=APP_ID --token=TOKEN
```

For more information see [raygun-cli on pub.dev](https://pub.dev/packages/raygun_cli).

### Manual processing

To decode obfuscated Flutter stacktraces with Raygun manually, you will have to copy the stacktrace into a file and run the `flutter symbolize` command on your local system.

For example, a file named `stack.txt`. It will look similar to this:

Expand Down
1 change: 1 addition & 0 deletions example/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.raygun.raygun4flutter.example">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:label="example"
android:name="${applicationName}"
Expand Down
32 changes: 16 additions & 16 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ packages:
dependency: transitive
description:
name: collection
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev"
source: hosted
version: "1.18.0"
version: "1.19.0"
connectivity_plus:
dependency: transitive
description:
Expand Down Expand Up @@ -180,18 +180,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev"
source: hosted
version: "10.0.5"
version: "10.0.7"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev"
source: hosted
version: "3.0.5"
version: "3.0.8"
leak_tracker_testing:
dependency: transitive
description:
Expand Down Expand Up @@ -358,7 +358,7 @@ packages:
path: ".."
relative: true
source: path
version: "3.2.0"
version: "3.2.1"
shared_preferences:
dependency: transitive
description:
Expand Down Expand Up @@ -419,7 +419,7 @@ packages:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
version: "0.0.0"
source_span:
dependency: transitive
description:
Expand All @@ -440,10 +440,10 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev"
source: hosted
version: "1.11.1"
version: "1.12.0"
stream_channel:
dependency: transitive
description:
Expand All @@ -456,10 +456,10 @@ packages:
dependency: transitive
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
version: "1.3.0"
term_glyph:
dependency: transitive
description:
Expand All @@ -472,10 +472,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev"
source: hosted
version: "0.7.2"
version: "0.7.3"
typed_data:
dependency: transitive
description:
Expand Down Expand Up @@ -504,10 +504,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev"
source: hosted
version: "14.2.5"
version: "14.3.0"
web:
dependency: transitive
description:
Expand Down
27 changes: 9 additions & 18 deletions lib/src/messages/network_info.dart
Original file line number Diff line number Diff line change
Expand Up @@ -47,23 +47,14 @@ class NetworkInfo {

extension _ConnectivityResult on ConnectivityResult {
String _toName() {
switch (this) {
case ConnectivityResult.wifi:
return 'WiFi';
case ConnectivityResult.ethernet:
return 'Ethernet';
case ConnectivityResult.mobile:
return 'Mobile';
case ConnectivityResult.none:
return 'Not Connected';
case ConnectivityResult.bluetooth:
return 'Bluetooth';
case ConnectivityResult.vpn:
return 'VPN';
case ConnectivityResult.other:
return 'Other';
default:
return 'Unknown';
}
return switch (this) {
ConnectivityResult.wifi => 'WiFi',
ConnectivityResult.ethernet => 'Ethernet',
ConnectivityResult.mobile => 'Mobile',
ConnectivityResult.none => 'Not Connected',
ConnectivityResult.bluetooth => 'Bluetooth',
ConnectivityResult.vpn => 'VPN',
ConnectivityResult.other => 'Other'
};
}
}
2 changes: 1 addition & 1 deletion lib/src/services/settings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import 'package:uuid/uuid.dart';

class Settings {
/// The current version of the Raygun4Flutter package.
static const kVersion = '3.2.1';
static const kVersion = '3.2.2';

static const kDefaultCrashReportingEndpoint =
'https://api.raygun.com/entries';
Expand Down
Loading
Loading