Skip to content

release: dream11 #1123

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

Draft
wants to merge 30 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4355b9a
chore(android): ignore jetbrains ide run configurations (#1110)
abdelhamid-f-nasser Jan 31, 2024
4bf62c2
feat: add network diagnostics callback
abdelhamid-f-nasser Feb 10, 2024
ac0801e
fix: use correct string type in network diagnostics handler (#1160)
a7medev Mar 25, 2024
780b423
Merge branch 'master' into dream11
a7medev May 13, 2024
8dbae3f
chore: bump npm version to v13.0.3
a7medev May 13, 2024
9cac70a
chore(android): bump sdk to v13.0.1
a7medev May 13, 2024
ea9df2e
Merge branch 'master' into chore/sync-dream11-with-master
a7medev May 13, 2024
ca902d3
Merge pull request #1202 from Instabug/chore/sync-dream11-with-master
mzelzoghbi May 13, 2024
780c8ee
Merge branch 'master' into chore/sync-dream11-with-master
a7medev May 13, 2024
fe42cd2
Merge pull request #1212 from Instabug/chore/sync-dream11-with-master
mzelzoghbi May 13, 2024
05a4f41
Merge branch 'master' into chore/sync-dream11-with-master
a7medev May 18, 2024
e12ce85
Merge pull request #1216 from Instabug/chore/sync-dream11-with-master
mzelzoghbi May 19, 2024
1f61cd1
feat(d11):control sending screenshots with each crash type (#1234)
ahmedAlaaInstabug Jun 17, 2024
ed824f3
release(dream11): v13.0.7 (#1241)
a7medev Jun 26, 2024
8d35b79
chore: sync podfile lock (#1242)
a7medev Jun 26, 2024
7c642cc
Release(Dream11):v14.0.0 (#1323)
ahmedAlaaInstabug Nov 23, 2024
33102c3
release : 14.0.0 (#1325)
ahmedAlaaInstabug Nov 23, 2024
0821d9c
chore(android): integrate with V.14.0.2.1 (#1332)
kholood-ea Dec 17, 2024
e5d589d
release(d11) : 14.0.2 (#1333)
ahmedAlaaInstabug Dec 23, 2024
4eb4355
release(dream11):14.0.3 (#1354)
ahmedAlaaInstabug Mar 4, 2025
ad3b3b1
release(dream11): 14.0.3 (#1355)
ahmedAlaaInstabug Mar 4, 2025
4edd1e6
Release: v14.0.4
AyaMahmoud148 May 1, 2025
f5b7ee6
fix: podfile.lock
AyaMahmoud148 May 1, 2025
03dfe14
chore: add change log
AyaMahmoud148 May 1, 2025
1648386
Merge pull request #1387 from Instabug/Release/v14.0.4
mzelzoghbi May 1, 2025
12c6270
release (d11): v14.0.5
ahmedAlaaInstabug May 25, 2025
0a82047
Update CHANGELOG.md
ahmedAlaaInstabug May 27, 2025
69344cf
fix: pod file.lock
ahmedAlaaInstabug May 27, 2025
3e738d7
fix: pod file.lock
ahmedAlaaInstabug May 27, 2025
0da6eb2
Merge pull request #1398 from Instabug/release(dream11)/14.0.5
mzelzoghbi May 28, 2025
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
362 changes: 234 additions & 128 deletions .circleci/config.yml

Large diffs are not rendered by default.

64 changes: 64 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,69 @@
# Changelog

## [14.0.5](https://github.com/Instabug/Instabug-React-Native/compare/v14.0.4...14.0.5) (May 26, 2025)

### Changed

- Bump Instabug Android SDK to v14.0.5 ([#1398](https://github.com/Instabug/Instabug-React-Native/pull/1398)). [See release notes](https://instabug.atlassian.net/wiki/spaces/SWAT/pages/5001379841/D11+-+Android+14.0.5+-+Public+Release+Notes).

## [14.0.4](https://github.com/Instabug/Instabug-React-Native/compare/v14.0.3...14.0.4) (May 1, 2025)

### Changed

- Bump Instabug Android SDK to v14.0.4 ([#1387](https://github.com/Instabug/Instabug-React-Native/pull/1387)). [See release notes](https://instabug.atlassian.net/wiki/spaces/SWAT/pages/5001379841/D11+-+Android+14.0.4+-+Public+Release+Notes).

## [14.0.3](https://github.com/Instabug/Instabug-React-Native/compare/v14.0.2...14.0.3) (March 5, 2025)

### Changed

- Bump Instabug Android SDK to v14.0.3 ([#1354](https://github.com/Instabug/Instabug-React-Native/pull/1354)). [See release notes](https://github.com/Instabug/Instabug-Android/releases/tag/v14.0.3).

## [14.0.2](https://github.com/Instabug/Instabug-React-Native/compare/v14.0.0...14.0.2) (December 18, 2024)

### Changed

- Bump Instabug Android SDK to v14.0.2.1 ([#1331](https://github.com/Instabug/Instabug-React-Native/pull/1331)). [See release notes](https://github.com/Instabug/Instabug-Android/releases/tag/v14.0.2.1).

## [14.0.0](https://github.com/Instabug/Instabug-React-Native/compare/v13.0.5...14.0.0) (November 25, 2024)

### Added

- Add support for opting into session syncing ([#1292](https://github.com/Instabug/Instabug-React-Native/pull/1292)).
- Add support for Expo Router navigation tracking ([#1270](https://github.com/Instabug/Instabug-React-Native/pull/1270)).
- Enhance the network interceptor to capture more client error messages ([#1257](https://github.com/Instabug/Instabug-React-Native/pull/1257)).
- Add support for Feature Flags APIs `Instabug.addFeatureFlags`, `Instabug.removeFeatureFlags` and `Instabug.clearAllFeatureFlags` ([#1230](https://github.com/Instabug/Instabug-React-Native/pull/1230)).
- Export `uploadSourcemaps` and `uploadSoFiles` utilities in the `instabug-reactnative/upload` sub-package for usage in custom Node.js upload scripts ([#1252](https://github.com/Instabug/Instabug-React-Native/pull/1252)).
- Add support for passing a grouping fingerprint, error level, and user attributes to the `CrashReporting.reportError` non-fatals API ([#1194](https://github.com/Instabug/Instabug-React-Native/pull/1194)).

### Deprecated

- Deprecate Experiments APIs `Instabug.addExperiments`, `Instabug.removeExperiments` and `Instabug.clearAllExperiments` in favor of the new Feature Flags APIs ([#1230](https://github.com/Instabug/Instabug-React-Native/pull/1230)).

### Changed

- Bump Instabug iOS SDK to v14.0.0 ([#1312](https://github.com/Instabug/Instabug-React-Native/pull/1312)). [See release notes](https://github.com/Instabug/Instabug-iOS/releases/tag/14.0.0).
- Bump Instabug Android SDK to v14.0.0 ([#1312](https://github.com/Instabug/Instabug-React-Native/pull/1312)). [See release notes](https://github.com/Instabug/Instabug-Android/releases/tag/v14.0.0).

### Fixed

- Replace thrown errors with logs ([#1220](https://github.com/Instabug/Instabug-React-Native/pull/1220))
- Fix an issue with JavaScript fatal crashes on iOS causing them to be reported as native iOS crashes instead. ([#1290](https://github.com/Instabug/Instabug-React-Native/pull/1290)).
- Correctly resolve the flavor path when uploading sourcemaps on Android. ([#1225](https://github.com/Instabug/Instabug-React-Native/pull/1225)).
- Drop non-error objects reported as crashes since they don't have a stack trace ([#1279](https://github.com/Instabug/Instabug-React-Native/pull/1279)).
- Fix APM network logging on iOS when the response body is missing or empty. ([#1273](https://github.com/Instabug/Instabug-React-Native/pull/1273)).
- Fix APM network logging on Android ([#1253](https://github.com/Instabug/Instabug-React-Native/pull/1253)).
- Fix an OOM (out-of-memory) crash while saving network logs on Android ([#1244](https://github.com/Instabug/Instabug-React-Native/pull/1244)).
- Change parameters used inside inner classes to `final` in Android code to maintain compatibility with Java 7 and earlier ([#1239](https://github.com/Instabug/Instabug-React-Native/pull/1239)).
- Read `INSTABUG_APP_TOKEN` from system environment when there is no default value ([#1232](https://github.com/Instabug/Instabug-React-Native/pull/1232)).

## [13.0.6](https://github.com/Instabug/Instabug-React-Native/compare/v13.0.5...v13.0.6) (JUN 17, 2024)

### Changed

- Support controlling repro steps for ANRs, app hangs, fatal crashes, non-fatal crashes, force restarts, and out-of-memory crash types separately using the `Instabug.setReproStepsConfig` API.
- Bump Instabug Android SDK to v13.0.6 . [See release notes](https://github.com/Instabug/android/releases/tag/v13.0.6).
- Bump Instabug iOS SDK to v13.0.6 . [See release notes](https://github.com/instabug/instabug-ios/releases/tag/13.0.6).

## [13.0.5](https://github.com/Instabug/Instabug-React-Native/compare/v13.0.4...v13.0.5) (May 18, 2024)

### Changed
Expand Down
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ android {
minSdkVersion getExtOrDefault('minSdkVersion').toInteger()
targetSdkVersion getExtOrDefault('targetSdkVersion').toInteger()
versionCode 1
versionName "13.0.5"
versionName "14.0.4"
multiDexEnabled true
ndk {
abiFilters "armeabi-v7a", "x86"
Expand Down
2 changes: 1 addition & 1 deletion android/jacoco.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ task jacocoTestReport(type: JacocoReport) {
'**/*Binding.*'
]

def jClasses = "${project.buildDir}/intermediates/javac/debug/classes"
def jClasses = "${project.buildDir}/intermediates/javac/debug/compileDebugJavaWithJavac/classes"
def javaClasses = fileTree(dir: jClasses, excludes: excludes)
def sourceDirs = ["${project.projectDir}/src/main/java"]
classDirectories.from = files(javaClasses)
Expand Down
2 changes: 1 addition & 1 deletion android/native.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
project.ext.instabug = [
version: '13.0.3'
version: '14.0.5'
]

dependencies {
Expand Down
73 changes: 60 additions & 13 deletions android/sourcemaps.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,13 @@ gradle.projectsEvaluated {
def start = name.startsWith(prefixes[0]) ? prefixes[0].length() : prefixes[1].length()
def end = name.length() - suffix.length()
def flavor = name.substring(start, end).uncapitalize()
def defaultVersion = getDefaultVersion(flavor)

task.finalizedBy createUploadSourcemapsTask(flavor)
task.finalizedBy createUploadSourcemapsTask(flavor, defaultVersion.name, defaultVersion.code)
}
}

Task createUploadSourcemapsTask(String flavor) {
Task createUploadSourcemapsTask(String flavor, String defaultVersionName, String defaultVersionCode) {
def name = 'uploadSourcemaps' + flavor.capitalize()

// Don't recreate the task if it already exists.
Expand All @@ -38,13 +39,7 @@ Task createUploadSourcemapsTask(String flavor) {
try {
def appProject = project(':app')
def appDir = appProject.projectDir
def flavorPath = flavor + (flavor.empty ? '' : '/')
def sourceMapDest = "build/generated/sourcemaps/react/${flavorPath}release/index.android.bundle.map"
def sourceMapFile = new File(appDir, sourceMapDest)

if (!sourceMapFile.exists()) {
throw new InvalidUserDataException("Unable to find source map file at: ${sourceMapFile.absolutePath}")
}
def sourceMapFile = getSourceMapFile(appDir, flavor)

def jsProjectDir = rootDir.parentFile
def instabugDir = new File(['node', '-p', 'require.resolve("instabug-reactnative/package.json")'].execute(null, rootDir).text.trim()).getParentFile()
Expand All @@ -53,9 +48,8 @@ Task createUploadSourcemapsTask(String flavor) {
def inferredToken = executeShellScript(tokenShellFile, jsProjectDir)
def appToken = resolveVar('App Token', 'INSTABUG_APP_TOKEN', inferredToken)

def projectConfig = appProject.android.defaultConfig
def versionName = resolveVar('Version Name', 'INSTABUG_VERSION_NAME', "${projectConfig.versionName}")
def versionCode = resolveVar('Version Code', 'INSTABUG_VERSION_CODE', "${projectConfig.versionCode}")
def versionName = resolveVar('Version Name', 'INSTABUG_VERSION_NAME', defaultVersionName)
def versionCode = resolveVar('Version Code', 'INSTABUG_VERSION_CODE', defaultVersionCode)

exec {
def osCompatibility = Os.isFamily(Os.FAMILY_WINDOWS) ? ['cmd', '/c'] : []
Expand All @@ -80,6 +74,59 @@ Task createUploadSourcemapsTask(String flavor) {
return provider.get()
}

File getSourceMapFile(File appDir, String flavor) {
def defaultFlavorPath = flavor.empty ? 'release' : "${flavor}Release"
def defaultSourceMapDest = "build/generated/sourcemaps/react/${defaultFlavorPath}/index.android.bundle.map"
def defaultSourceMapFile = new File(appDir, defaultSourceMapDest)

if (defaultSourceMapFile.exists()) {
return defaultSourceMapFile
}

if (flavor.empty) {
throw new InvalidUserDataException("Unable to find source map file at: ${defaultSourceMapFile.absolutePath}.")
}

def fallbackSourceMapDest = "build/generated/sourcemaps/react/${flavor}/release/index.android.bundle.map"
def fallbackSourceMapFile = new File(appDir, fallbackSourceMapDest)

project.logger.info "Unable to find source map file at: ${defaultSourceMapFile.absolutePath}.\n" +
"Falling back to ${fallbackSourceMapFile.absolutePath}."

if (!fallbackSourceMapFile.exists()) {
throw new InvalidUserDataException("Unable to find source map file at: ${fallbackSourceMapFile.absolutePath} either.")
}

return fallbackSourceMapFile
}

/**
* Infers the app version to use in source map upload based on the flavor.
* This is needed since different flavors may have different version codes and names (e.g. version suffixes).
*
* It checks the version for the flavor's variant.
* If no variant is found it falls back to the app's default config.
*
*
* @param flavor The flavor to get the app version for.
* @return A map containing the version code and version name.
*/
Map<String, String> getDefaultVersion(String flavor) {
def appProject = project(':app')
def defaultConfig = appProject.android.defaultConfig

def variants = appProject.android.applicationVariants

// uncapitalize is used to turn "Release" into "release" if the flavor is empty
def variantName = "${flavor}Release".uncapitalize()
def variant = variants.find { it.name.uncapitalize() == variantName }

def versionName = variant?.versionName ?: defaultConfig.versionName
def versionCode = variant?.versionCode ?: defaultConfig.versionCode

return [name: "${versionName}", code: "${versionCode}"]
}

boolean isUploadSourcemapsEnabled() {
def envValue = System.getenv('INSTABUG_SOURCEMAPS_UPLOAD_DISABLE')?.toBoolean()
def defaultValue = true
Expand All @@ -91,7 +138,7 @@ String resolveVar(String name, String envKey, String defaultValue) {
def env = System.getenv()
def envValue = env.get(envKey)

if (envValue != null && envValue != defaultValue) {
if (envValue != null && defaultValue !=null && envValue != defaultValue) {
project.logger.warn "Environment variable `${envKey}` might have incorrect value, " +
"make sure this was intentional:\n" +
" Environment Value: ${envValue}\n" +
Expand Down
2 changes: 1 addition & 1 deletion android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<manifest package="com.instabug.reactlibrary"
<manifest
xmlns:android="http://schemas.android.com/apk/res/android">

</manifest>
25 changes: 25 additions & 0 deletions android/src/main/java/com/instabug/reactlibrary/ArgsRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import com.instabug.bug.BugReporting;
import com.instabug.bug.invocation.Option;
import com.instabug.crash.models.IBGNonFatalException;
import com.instabug.featuresrequest.ActionType;
import com.instabug.library.InstabugColorTheme;
import com.instabug.library.InstabugCustomTextPlaceHolder.Key;
Expand All @@ -14,6 +15,7 @@
import com.instabug.library.invocation.InstabugInvocationEvent;
import com.instabug.library.invocation.util.InstabugFloatingButtonEdge;
import com.instabug.library.invocation.util.InstabugVideoRecordingButtonPosition;
import com.instabug.library.sessionreplay.model.SessionMetadata;
import com.instabug.library.ui.onboarding.WelcomeMessage;

import java.util.ArrayList;
Expand Down Expand Up @@ -54,11 +56,20 @@ static Map<String, Object> getAll() {
putAll(extendedBugReportStates);
putAll(reproModes);
putAll(sdkLogLevels);
putAll(nonFatalExceptionLevel);
putAll(locales);
putAll(placeholders);
putAll(launchType);
}};
}

public static ArgsMap<IBGNonFatalException.Level> nonFatalExceptionLevel = new ArgsMap<IBGNonFatalException.Level>() {{
put("nonFatalErrorLevelCritical", IBGNonFatalException.Level.CRITICAL);
put("nonFatalErrorLevelError", IBGNonFatalException.Level.ERROR);
put("nonFatalErrorLevelWarning", IBGNonFatalException.Level.WARNING);
put("nonFatalErrorLevelInfo", IBGNonFatalException.Level.INFO);
}};

static ArgsMap<InstabugInvocationEvent> invocationEvents = new ArgsMap<InstabugInvocationEvent>() {{
put("invocationEventNone", InstabugInvocationEvent.NONE);
put("invocationEventShake", InstabugInvocationEvent.SHAKE);
Expand Down Expand Up @@ -229,4 +240,18 @@ static Map<String, Object> getAll() {
put("team", Key.CHATS_TEAM_STRING_NAME);
put("insufficientContentMessage", Key.COMMENT_FIELD_INSUFFICIENT_CONTENT);
}};

public static ArgsMap<String> launchType = new ArgsMap<String>() {{
put("cold", SessionMetadata.LaunchType.COLD);
put("warm",SessionMetadata.LaunchType.WARM );
put("unknown","unknown");
}};

// Temporary workaround to be removed in future release
// This is used for mapping native `LaunchType` values into React Native enum values.
public static HashMap<String,String> launchTypeReversed = new HashMap<String,String>() {{
put(SessionMetadata.LaunchType.COLD,"cold");
put(SessionMetadata.LaunchType.WARM,"warm" );
}};

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
final class Constants {
final static String IBG_PRE_INVOCATION_HANDLER = "IBGpreInvocationHandler";
final static String IBG_POST_INVOCATION_HANDLER = "IBGpostInvocationHandler";
final static String IBG_NETWORK_DIAGNOSTICS_HANDLER = "IBGNetworkDiagnosticsHandler";

final static String IBG_ON_SHOW_SURVEY_HANDLER = "IBGWillShowSurvey";
final static String IBG_ON_DISMISS_SURVEY_HANDLER = "IBGDidDismissSurvey";

final static String IBG_ON_NEW_MESSAGE_HANDLER = "IBGonNewMessageHandler";
final static String IBG_ON_NEW_REPLY_RECEIVED_CALLBACK = "IBGOnNewReplyReceivedCallback";
final static String IBG_SESSION_REPLAY_ON_SYNC_CALLBACK_INVOCATION = "IBGSessionReplayOnSyncCallback";

}
Loading