profile
viewpoint
Anna Kocheshkova annakocheshkova @akvelon, @Microsoft Russia, Ivanovo Developer at @akvelon

annakocheshkova/cordova-plugin-code-push 1

Cordova plugin for CodePush

annakocheshkova/active-directory-b2c-android-native-msal 0

This is a simple Android app showcasing how to use MSAL to authenticate users via Azure Active Directory B2C, and access a Web API with the resulting tokens.

annakocheshkova/active-directory-b2c-dotnet-desktop 0

Sample showing how a Windows Desktop .NET (WPF) application can sign in a user using Azure AD B2C, get an access token using MSAL.NET and call an API.

annakocheshkova/active-directory-b2c-ios-swift-native-msal 0

An iOS sample in Swift that authenticates Azure AD B2C users and calls an API using OAuth 2.0

annakocheshkova/appcenter-sampleapp-react-native 0

A sample App Center application written in React Native.

annakocheshkova/AppCenter-SDK-Android 0

Development repository for the App Center SDK for Android

annakocheshkova/AppCenter-SDK-Apple 0

Development repository for the App Center SDK for iOS

annakocheshkova/appcenter-sdk-cordova 0

App Center Preview SDK for Cordova

push eventmicrosoft/appcenter-sdk-apple

Anna Kocheshkova

commit sha 5348f03aa8efb459618c644bc767abb9db81002f

Fix customproperties viewController

view details

push time in a day

push eventmicrosoft/appcenter-sdk-apple

Anna Kocheshkova

commit sha 4a4c02e3da74fa3ef8ef248ea9bfb1be30683ec8

Fix condition

view details

push time in a day

push eventmicrosoft/appcenter-sdk-apple

Anna Kocheshkova

commit sha d5dab91eb72f35078ecbe2865565c9d5379b55df

Cleanup

view details

push time in a day

PR opened microsoft/appcenter-sdk-apple

Fix UIPicker on Mac catalyst

Things to consider before you submit the PR:

  • ~[ ] Has CHANGELOG.md been updated?~
  • ~[ ] Are tests passing locally?~
  • [x] Are the files formatted correctly?
  • ~[ ] Did you add unit tests?~
  • [X] Did you check UI tests on the sample app? They are not executed on CI.
  • [X] Did you test your change with either the sample apps that are included in the repository or with a blank app that uses your change?

Description

There's a bug on Mac Catalyst and UIPicker isn't working on it. This PR adds an alternative implementation via UIAlertController. image

Misc

AB#81428

+28 -0

0 comment

2 changed files

pr created time in a day

push eventmicrosoft/appcenter-sdk-apple

Anna Kocheshkova

commit sha 483d7c3bb5c32416f65bf882a25edad6cf6aaa83

Fix and finish the implementation

view details

push time in a day

push eventmicrosoft/appcenter-sdk-apple

Anna Kocheshkova

commit sha 822e6d6eee37d380bbe1fc6827f68c5a87d19b91

Remove viewController reference

view details

push time in a day

Pull request review commentmicrosoft/appcenter-sdk-android

SQLiteStatement added to SQLiteUtils

  package com.microsoft.appcenter.utils.storage; +import android.annotation.SuppressLint;+import android.content.ContentValues;+import android.content.Context;+import android.database.Cursor;+import android.database.sqlite.SQLiteQueryBuilder;+import android.support.test.InstrumentationRegistry;++import org.junit.After;+import org.junit.BeforeClass; import org.junit.Test; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull;+import static org.junit.Assert.assertTrue;+import static org.mockito.Mockito.mock;  @SuppressWarnings("unused") public class SQLiteUtilsAndroidTest { +    /**+     * Context instance.+     */+    @SuppressLint("StaticFieldLeak")+    private static Context sContext;++    /**+     * Database schema.+     */+    private static ContentValues mSchema;++    /**+     * Test database name.+     */+    private static final String DATABASE_NAME = "test-database";++    @BeforeClass+    public static void setUpClass() {+        sContext = InstrumentationRegistry.getTargetContext();++        /* Create a test schema. */+        mSchema = generateContentValues();+    }++    @After+    public void tearDown() {+        sContext.deleteDatabase(DATABASE_NAME);+    }++    private static ContentValues generateContentValues() {+        ContentValues values = new ContentValues();+        values.put("COL_STRING_NULL", (String) null);+        return values;+    }+     @Test     public void test() {         new SQLiteUtils();         assertNotNull(SQLiteUtils.newSQLiteQueryBuilder());     }++    @Test+    public void testTableMethods() {+        DatabaseManager databaseManager = new DatabaseManager(sContext, DATABASE_NAME, "test.setMaximumSize", 1, mSchema, mock(DatabaseManager.Listener.class));+
olmisa

comment created time in a day

Pull request review commentmicrosoft/appcenter-sdk-android

SQLiteStatement added to SQLiteUtils

  package com.microsoft.appcenter.utils.storage; +import android.annotation.SuppressLint;+import android.content.ContentValues;+import android.content.Context;+import android.database.Cursor;+import android.database.sqlite.SQLiteQueryBuilder;+import android.support.test.InstrumentationRegistry;++import org.junit.After;+import org.junit.BeforeClass; import org.junit.Test; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull;+import static org.junit.Assert.assertTrue;+import static org.mockito.Mockito.mock;  @SuppressWarnings("unused") public class SQLiteUtilsAndroidTest { +    /**+     * Context instance.+     */+    @SuppressLint("StaticFieldLeak")+    private static Context sContext;++    /**+     * Database schema.+     */+    private static ContentValues mSchema;++    /**+     * Test database name.+     */+    private static final String DATABASE_NAME = "test-database";++    @BeforeClass+    public static void setUpClass() {+        sContext = InstrumentationRegistry.getTargetContext();++        /* Create a test schema. */+        mSchema = generateContentValues();+    }++    @After+    public void tearDown() {+        sContext.deleteDatabase(DATABASE_NAME);+    }++    private static ContentValues generateContentValues() {+        ContentValues values = new ContentValues();+        values.put("COL_STRING_NULL", (String) null);+        return values;+    }+     @Test     public void test() {         new SQLiteUtils();         assertNotNull(SQLiteUtils.newSQLiteQueryBuilder());     }++    @Test+    public void testTableMethods() {+        DatabaseManager databaseManager = new DatabaseManager(sContext, DATABASE_NAME, "test.setMaximumSize", 1, mSchema, mock(DatabaseManager.Listener.class));++        String tableName = java.util.UUID.randomUUID().toString();+        ContentValues contentValues = new ContentValues();+        contentValues.put("someKey", "someValue");+        SQLiteUtils.createTable(databaseManager.getDatabase(), tableName, contentValues);+        assertTrue(checkTableExists(databaseManager, tableName));+
olmisa

comment created time in a day

Pull request review commentmicrosoft/appcenter-sdk-android

SQLiteStatement added to SQLiteUtils

  package com.microsoft.appcenter.utils.storage; +import android.annotation.SuppressLint;+import android.content.ContentValues;+import android.content.Context;+import android.database.Cursor;+import android.database.sqlite.SQLiteQueryBuilder;+import android.support.test.InstrumentationRegistry;++import org.junit.After;+import org.junit.BeforeClass; import org.junit.Test; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull;+import static org.junit.Assert.assertTrue;+import static org.mockito.Mockito.mock;  @SuppressWarnings("unused") public class SQLiteUtilsAndroidTest { +    /**+     * Context instance.+     */+    @SuppressLint("StaticFieldLeak")+    private static Context sContext;++    /**+     * Database schema.+     */+    private static ContentValues mSchema;++    /**+     * Test database name.+     */+    private static final String DATABASE_NAME = "test-database";++    @BeforeClass+    public static void setUpClass() {+        sContext = InstrumentationRegistry.getTargetContext();++        /* Create a test schema. */+        mSchema = generateContentValues();+    }++    @After+    public void tearDown() {+        sContext.deleteDatabase(DATABASE_NAME);+    }++    private static ContentValues generateContentValues() {+        ContentValues values = new ContentValues();+        values.put("COL_STRING_NULL", (String) null);+        return values;+    }+     @Test     public void test() {         new SQLiteUtils();         assertNotNull(SQLiteUtils.newSQLiteQueryBuilder());     }++    @Test+    public void testTableMethods() {+        DatabaseManager databaseManager = new DatabaseManager(sContext, DATABASE_NAME, "test.setMaximumSize", 1, mSchema, mock(DatabaseManager.Listener.class));++        String tableName = java.util.UUID.randomUUID().toString();+        ContentValues contentValues = new ContentValues();+        contentValues.put("someKey", "someValue");+        SQLiteUtils.createTable(databaseManager.getDatabase(), tableName, contentValues);+        assertTrue(checkTableExists(databaseManager, tableName));

Maybe we should check key and value as well? This is the important part of the statement that should be correctly compiled.

olmisa

comment created time in a day

Pull request review commentmicrosoft/appcenter-sdk-android

SQLiteStatement added to SQLiteUtils

  package com.microsoft.appcenter.utils.storage; +import android.annotation.SuppressLint;+import android.content.ContentValues;+import android.content.Context;+import android.database.Cursor;+import android.database.sqlite.SQLiteQueryBuilder;+import android.support.test.InstrumentationRegistry;++import org.junit.After;+import org.junit.BeforeClass; import org.junit.Test; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull;+import static org.junit.Assert.assertTrue;+import static org.mockito.Mockito.mock;  @SuppressWarnings("unused") public class SQLiteUtilsAndroidTest { +    /**+     * Context instance.+     */+    @SuppressLint("StaticFieldLeak")+    private static Context sContext;++    /**+     * Database schema.+     */+    private static ContentValues mSchema;++    /**+     * Test database name.+     */+    private static final String DATABASE_NAME = "test-database";++    @BeforeClass+    public static void setUpClass() {+        sContext = InstrumentationRegistry.getTargetContext();++        /* Create a test schema. */+        mSchema = generateContentValues();+    }++    @After+    public void tearDown() {+        sContext.deleteDatabase(DATABASE_NAME);+    }++    private static ContentValues generateContentValues() {+        ContentValues values = new ContentValues();+        values.put("COL_STRING_NULL", (String) null);+        return values;+    }+     @Test     public void test() {         new SQLiteUtils();         assertNotNull(SQLiteUtils.newSQLiteQueryBuilder());     }++    @Test+    public void testTableMethods() {+        DatabaseManager databaseManager = new DatabaseManager(sContext, DATABASE_NAME, "test.setMaximumSize", 1, mSchema, mock(DatabaseManager.Listener.class));++        String tableName = java.util.UUID.randomUUID().toString();+        ContentValues contentValues = new ContentValues();+        contentValues.put("someKey", "someValue");+        SQLiteUtils.createTable(databaseManager.getDatabase(), tableName, contentValues);+        assertTrue(checkTableExists(databaseManager, tableName));++        SQLiteUtils.dropTable(databaseManager.getDatabase(), tableName);+        assertFalse(checkTableExists(databaseManager, tableName));+    }++    private boolean checkTableExists(DatabaseManager databaseManager, String tableName) {+        SQLiteQueryBuilder builder = SQLiteUtils.newSQLiteQueryBuilder();+        builder.appendWhere("tbl_name = ?");+        Cursor cursor = databaseManager.getCursor("sqlite_master", builder, new String[]{"tbl_name"}, new String[]{tableName}, null);

Format

olmisa

comment created time in a day

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix visible app_secret value in logs

 + (NSString *)hideSecret:(NSString *)secret {   return [secret stringByReplacingCharactersInRange:NSMakeRange(0, appSecretHiddenPart.length) withString:appSecretHiddenPart]; } ++ (NSString *)hideSecretInString:(NSString *)string+                          secret:(NSString *)secret {+    NSString *encodeSecret = [self hideSecret:secret];

encodedSecret

AnastasiaKubova

comment created time in a day

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix visible app_secret value in logs

 - (void)testSSLConnectionErrorDetected {   XCTAssertFalse([MSHttpUtil isSSLConnectionError:error]); } +- (void)testHideSecretInString {+    +    // If+    NSString *secret = @"12345678-1234-1234-1234-123456789012";+    NSString *string = [NSString stringWithFormat:@"this-%@-should-be-encode", secret];+    NSString *expectedEncodeString = @"this-****************************56789012-should-be-encode";

Maybe there is a way to construct string from amount of '*' equal to secret.length ?

AnastasiaKubova

comment created time in a day

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix visible app_secret value in logs

 - (void)testSSLConnectionErrorDetected {   XCTAssertFalse([MSHttpUtil isSSLConnectionError:error]); } +- (void)testHideSecretInString {+    +    // If+    NSString *secret = @"12345678-1234-1234-1234-123456789012";+    NSString *string = [NSString stringWithFormat:@"this-%@-should-be-encode", secret];
    NSString *string = [NSString stringWithFormat:@"this-%@-should-be-encoded", secret];
AnastasiaKubova

comment created time in a day

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix visible app_secret value in logs

 - (void)testSSLConnectionErrorDetected {   XCTAssertFalse([MSHttpUtil isSSLConnectionError:error]); } +- (void)testHideSecretInString {+    +    // If+    NSString *secret = @"12345678-1234-1234-1234-123456789012";+    NSString *string = [NSString stringWithFormat:@"this-%@-should-be-encode", secret];+    NSString *expectedEncodeString = @"this-****************************56789012-should-be-encode";
    NSString *expectedEncodeString = @"this-****************************56789012-should-be-encoded";
AnastasiaKubova

comment created time in a day

create barnchmicrosoft/appcenter-sdk-apple

branch : fix/catalyst-uipicker

created branch time in a day

push eventannakocheshkova/azure-pipelines-tasks

Deepak Sattiraju

commit sha a5f9517c47a56e2b152e5d76a0bcafe78a7ad96c

[ACRTask] Fixing URL (#12871)

view details

shigupt202

commit sha 55e526e37dcabb20b6a87ffadbfb66dfc533d534

Adding namespace to helm and kubectl commands (#13219)

view details

Sergey Dobrodeev

commit sha f1de86ab3290e51b54858fd77cc9cec93150296e

[CopyFilesOverSSH] Fixed issue with task performance (#13187) * [CopyFilesOverSSH] Used fastPut method for better performance. * [CopyFilesOverSSH] Added logic for switching between put() and fastPut() methods.

view details

Anna Kocheshkova

commit sha bad5785a31637126266a469e700d964278e8a8f6

Merge branch 'master' into feature/mc-fus

view details

push time in 2 days

PR merged annakocheshkova/azure-pipelines-tasks

FUS feature fixes

Task name: AppCenterDistributeV3, AppCenterDistributeV2, AppCenterDistributeV1

Description: Fix abort endpoint and response is null case.

+17 -17

0 comment

3 changed files

annakocheshkova

pr closed time in 2 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha e62d32988ab72ea698a7e3ef1c37dc6111687072

Fix abort

view details

Anna Kocheshkova

commit sha 81a1511a517c7f550cad88834c9aab960c6b7a68

Fix undefined issue

view details

Anna Kocheshkova

commit sha e82627f7bcbf01205a8e38a85faa6f3a6db367d6

Merge pull request #12 from annakocheshkova/mc-fus-fixes FUS feature fixes

view details

push time in 2 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 6b2e75f7a9a03b7714e1fe70da76e4eafabc4549

Separate the logic

view details

Anna Kocheshkova

commit sha 3897bbe0f42f257e4598eb3ee246ba977c329daf

Separate more logic, remove unused imports.

view details

Anna Kocheshkova

commit sha 9ba623d93d2843a3e2cd5119fffea15f88b8b08b

Cleanup V1

view details

Anna Kocheshkova

commit sha 3805f723bc6bf3f576216ecc9c6046f88208e615

Cleanup V3

view details

Anna Kocheshkova

commit sha 65cf61dee50225ffb48eeb27e2cb6eca81a1a857

Final cleanup and fix query

view details

Anna Kocheshkova

commit sha d965815517f645dd71910eda8c177d53d8157f05

Merge pull request #11 from annakocheshkova/mc-fus-feedback FUS feature feedback

view details

push time in 2 days

PR merged annakocheshkova/azure-pipelines-tasks

FUS feature feedback

Task name: AppCenterDistributeV3, AppCenterDistributeV2, AppCenterDistributeV1

Description: Apply feedback for #13204

+279 -1779

0 comment

66 changed files

annakocheshkova

pr closed time in 2 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 81a1511a517c7f550cad88834c9aab960c6b7a68

Fix undefined issue

view details

push time in 2 days

PR opened annakocheshkova/azure-pipelines-tasks

FUS feature fixes

Task name: AppCenterDistributeV3, AppCenterDistributeV2, AppCenterDistributeV1

Description: Fix abort endpoint and response is null case.

+2 -2

0 comment

1 changed file

pr created time in 2 days

create barnchannakocheshkova/azure-pipelines-tasks

branch : mc-fus-fixes

created branch time in 2 days

PR opened annakocheshkova/azure-pipelines-tasks

FUS feature feedback

Task name: AppCenterDistributeV3, AppCenterDistributeV2, AppCenterDistributeV1

Description: Apply feedback for #13204

+279 -1779

0 comment

66 changed files

pr created time in 2 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 65cf61dee50225ffb48eeb27e2cb6eca81a1a857

Final cleanup and fix query

view details

push time in 2 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 3805f723bc6bf3f576216ecc9c6046f88208e615

Cleanup V3

view details

push time in 2 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 9ba623d93d2843a3e2cd5119fffea15f88b8b08b

Cleanup V1

view details

push time in 2 days

pull request commentmicrosoft/azure-pipelines-tasks

Use MC FUS library in AppCenterDistribute tasks

@anatolybolshakov yes, we performed e2e testing (we had a Manual testing task). The results are under our temporary test account. I can share the credentials and the link to test builds with you in private, if necessary.

Jamminroot

comment created time in 2 days

create barnchannakocheshkova/azure-pipelines-tasks

branch : mc-fus-feedback

created branch time in 2 days

Pull request review commentmicrosoft/azure-pipelines-tasks

Use MC FUS library in AppCenterDistribute tasks

 import tmrm = require('vsts-task-lib/mock-run'); import path = require('path'); import fs = require('fs'); import azureBlobUploadHelper = require('../azure-blob-upload-helper');+import { basicSetup, mockFs } from './TestHelpers';

Answered here

Jamminroot

comment created time in 2 days

Pull request review commentmicrosoft/azure-pipelines-tasks

Use MC FUS library in AppCenterDistribute tasks

 import tmrm = require('vsts-task-lib/mock-run'); import path = require('path'); import fs = require('fs'); import azureBlobUploadHelper = require('../azure-blob-upload-helper');+import { basicSetup, mockFs } from './TestHelpers';

Answered here

Jamminroot

comment created time in 2 days

Pull request review commentmicrosoft/azure-pipelines-tasks

Use MC FUS library in AppCenterDistribute tasks

 function beginReleaseUpload(apiServer: string, apiVersion: string, appSlug: stri     request.post({ url: beginUploadUrl, headers: headers }, (err, res, body) => {         responseHandler(defer, err, res, body, () => {             let response = JSON.parse(body);-            let uploadInfo: UploadInfo = {-                upload_id: response['upload_id'],-                upload_url: response['upload_url']+            if (!response.package_asset_id || (response.statusCode && (response.statusCode < 200 || response.statusCode >= 300))) {+                defer.reject(`failed to create release upload. ${response.message}`)             }--            defer.resolve(uploadInfo);+            defer.resolve(response);         });     });-     return defer.promise; } -function uploadRelease(uploadUrl: string, file: string, userAgent: string): Q.Promise<void> {-    tl.debug("-- Uploading release...");+function abortReleaseUpload(apiServer: string, apiVersion: string, appSlug: string, upload_id: string, token: string, userAgent: string): Q.Promise<void> {+    tl.debug("-- Aborting release...");     let defer = Q.defer<void>();-    tl.debug(`---- url: ${uploadUrl}`);+    let patchReleaseUrl: string = `${apiServer}/${apiVersion}/apps/${appSlug}/release_uploads/${upload_id}`;+    tl.debug(`---- url: ${patchReleaseUrl}`);     let headers = {+        "X-API-Token": token,         "User-Agent": userAgent,         "internal-request-source": "VSTS"     };-    let req = request.post({ url: uploadUrl, headers: headers }, (err, res, body) => {+    let abortedBody = { "status": "aborted" };+    request.patch({ url: patchReleaseUrl, headers: headers, json: abortedBody }, (err, res, body) => {         responseHandler(defer, err, res, body, () => {-            tl.debug('-- File uploaded.');++            const { _, message } = body;

No, first parameter is upload_status, we don't need that for logging.

Jamminroot

comment created time in 2 days

Pull request review commentmicrosoft/azure-pipelines-tasks

Use MC FUS library in AppCenterDistribute tasks

+var nock = require("nock");+import fs = require('fs');++const Readable = require('stream').Readable+const Stats = require('fs').Stats++export function basicSetup() {++  const uploadDomain = 'https://example.upload.test/release_upload';+  const assetId = "00000000-0000-0000-0000-000000000123";+  const uploadId = 7;++  nock('https://example.test')+    .patch('/v0.1/apps/testuser/testapp/releases/1')+    .query(true)+    .reply(200);++  nock('https://example.test')+    .post('/v0.1/apps/testuser/testapp/uploads/releases')+    .reply(201, {+        id: uploadId,+        package_asset_id: assetId,+        upload_domain: uploadDomain,+        url_encoded_token: "token"+    });++  nock(uploadDomain)+    .post(`/upload/set_metadata/${assetId}`)+    .query(true)+    .reply(200, {+        resume_restart: false,+        chunk_list: [1],+        chunk_size: 100,+        blob_partitions: 1+    });++  nock(uploadDomain)+    .post(`/upload/upload_chunk/${assetId}`)+    .query(true)+    .reply(200, {++    });++  nock(uploadDomain)+    .post(`/upload/finished/${assetId}`)+    .query(true)+    .reply(200, {+        error: false,+        state: "Done",+    });++  nock('https://example.test')+    .get(`/v0.1/apps/testuser/testapp/uploads/releases/${uploadId}`)+    .query(true)+    .reply(200, {+        release_distinct_id: 1,+        upload_status: "readyToBePublished",+    });++  nock('https://example.test')+    .patch(`/v0.1/apps/testuser/testapp/uploads/releases/${uploadId}`, {+        upload_status: "uploadFinished",+    })+    .query(true)+    .reply(200, {+        upload_status: "uploadFinished"+    });++    nock('https://example.test')+        .put('/v0.1/apps/testuser/testapp/releases/1', JSON.stringify({+            release_notes: 'my release notes'+        }))+        .reply(200);++    //make it available+    nock('https://example.test')+      .post('/v0.1/apps/testuser/testapp/releases/1/groups', {+        id: "00000000-0000-0000-0000-000000000000"+      })+      .reply(200);+            +    //finishing symbol upload, commit the symbol +    nock('https://example.test')+      .patch('/v0.1/apps/testuser/testapp/symbol_uploads/100', {+        status: 'committed'+      })+    .reply(200);+}++export function mockFs() {+  fs.createReadStream = (s: string) => {+    let stream = new Readable;+    stream.push(s);+    stream.push(null);++    return stream;+  };++  let fsos = fs.openSync;

We want to preserve the original fs logic in some cases. The test running logic is quite complex, and it relies on custom js runners which also use fs. That is why we can't mock it fully, and that is also why sinon won't work for us I guess.

Jamminroot

comment created time in 3 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 752d05fd8f3301a339e86f74cfcdcf6106ba6051

Test cleanup

view details

Anna Kocheshkova

commit sha 51976deba560f6dce43b0ef502231105284c7bcd

More refactoring

view details

Anna Kocheshkova

commit sha 41ebca4151325b3d4f5af6e23766ccb2d5d70e57

Merge pull request #10 from annakocheshkova/feature/mc-fus-test-cleanup Feature test cleanup

view details

push time in 3 days

PR merged annakocheshkova/azure-pipelines-tasks

Feature test cleanup

Task name: AppCenterDistributeV1, AppCenterDistributeV2

Description: Test cleanup to align with V3.

Added unit tests: (Y/N) Y

Checklist:

  • [X] Checked that applied changes work as expected
+324 -2971

0 comment

29 changed files

annakocheshkova

pr closed time in 3 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 51976deba560f6dce43b0ef502231105284c7bcd

More refactoring

view details

push time in 3 days

Pull request review commentannakocheshkova/azure-pipelines-tasks

Feature test cleanup

 import tmrm = require('vsts-task-lib/mock-run'); import path = require('path'); import fs = require('fs'); import azureBlobUploadHelper = require('../azure-blob-upload-helper');+import { basicSetup } from './TestHelpers';

I aligned it with TestHelpers from V3. If renaming to lower case, it will lead to lots of unrelated refactoring which I am not fond of.

annakocheshkova

comment created time in 3 days

PR opened annakocheshkova/azure-pipelines-tasks

Feature test cleanup

Task name: AppCenterDistributeV3, AppCenterDistributeV2

Description: Test cleanup to align with V3.

Added unit tests: (Y/N) Y

Checklist:

  • [X] Checked that applied changes work as expected
+215 -2120

0 comment

24 changed files

pr created time in 3 days

push eventannakocheshkova/azure-pipelines-tasks

Nishant Gupta

commit sha c0f6409d32b7d41198b159f310c3e756ef919ed1

PublishCodeCoverageResultsV1 Task: Report Generator version upgrade (#13139) * PublishCodeCoverageResultsV1: report generator version upgrade * version bump up

view details

Satu Bailey

commit sha 0ec5ba318f411668ab590ec3785b489215250ef4

Update cred provider version to 0.1.24 (#13150)

view details

shigupt202

commit sha e5a5aae30bac833f2b6ebe75e60629a15174b178

Adding support for multiple value files (#13123) * Adding support for multiple value files * Resolving PR comments * Updating the help text

view details

Sergey Dobrodeev

commit sha 89dfff6a849355d88fe9ed0a0ffdd714960d32ba

[CopyFilesOverSSH] Migrated from scp2 to ssh2-sftp-client (#13084) * [CopyFilesOverSSHV0] Migrated from scp2 library (#13048) * [CopyFilesOverSSHV0] Added info about ssh2-sftp-client to ThirdPartyNotice.txt * [CopyFilesOverSSHV0] Addressed code review items. * [CopyFilesOverSSH] Added missing dependencies * [CopyFilesOverSSH] Fixed issue with e2e launch

view details

Egor Bryzgalov

commit sha 188fa19d41a8f3759d4944a976f5d05d8e9dd09b

[CMakeV1] Added option to run cmake inside shell (#13099) * Added option which allows running CMake command inside shell.

view details

shadargee1982

commit sha bb48cfe4c7ca7ffd3d4e1f36efd7bf334cec0273

Flag NpmV0 and NuGetInstallerV0 as soft-deprecated (#13151) * Flag NpmV0 and NuGetInstallerV0 as soft-deprecated

view details

Brian

commit sha c6ad1af5b0d3ea720fdfae4d885062b8da0afb2e

Symbols add retry (#13176) * Add retries to all web calls in the symbol task * update task version to match checklist * Final cleanup based on manual testing

view details

Egor Bryzgalov

commit sha dd264815ee42eaeb7f0c7df4d9fe779ac19d2ca3

[InstallSSHKeyV0] Changed permissions setting code (#13172) * Fixed permissions setting for Windows * Fixed public key generation for the case when passphrase is required * Updated tests

view details

shadargee1982

commit sha e2ae64da4dae95afec53e5a0c09ae14b284f7c89

fix dotnet nuget push onPrem by setting credential configuration (#13183) * fix dotnet nuget push onPrem by setting credential configuration

view details

koushdey

commit sha 541a14e88bf9b24b4efd89b71ff67dd98b60ebb2

Check outputFormat when it is not provided as input. (#13186) * Check outputFormat when it is not provided as input. * Test cases and addressed comments

view details

Dan Friedman

commit sha 566869ba303825f6393e71eee8526dd8abdb785b

Set `action` variable before it is used (#13149) * Set `action` before it is used * Bump version * Fix version Co-authored-by: Dan Friedman <dan@thefriedmans.org> Co-authored-by: Anurag Chauhan <44864882+anuragc617@users.noreply.github.com>

view details

Anurag Chauhan

commit sha b0d5d3499489535a67ebbd6bb8b4f3bb8d7c520c

fix subscription input to make it editable (#13193)

view details

Leah Antkiewicz

commit sha 2e4c134acc0fa2d73f38d4b40f8dc584edaa529d

Changing token for ABTT workflow

view details

Leah Antkiewicz

commit sha 0dd200ee4a9af814e32d981ae6fb56100d2f391e

Updating token for Stale action

view details

Leah Antkiewicz

commit sha 548c5079373f62058405cced721d77716ce1e4b8

Filtering stale bot to just specific labels The stale bot isn't getting through all the issues since there are so many so going through by labels to help with that. Will continue to route through them

view details

Leah Antkiewicz

commit sha b8141b87b5c6973668baf3ac12744910c8d680b1

Fixing token typo

view details

Leah Antkiewicz

commit sha a87b202db7fcba354621dc707fc392e0f57f9b6e

Token fix for ABBT

view details

shigupt202

commit sha a503a57bcc39fe793ca31a7c26ebd8db4058ef71

Chart version in helm install and upgrade (#13126) * Adding chart version input to install and upgrade commands * Updating tests * Adding validation for version * Resolving PR comments * Adding invalid version to logs

view details

koushdey

commit sha 9de040ba34724b92989a3a79ab0971d68aa21917

Syncning changes in master from release 171 (#13195)

view details

shigupt202

commit sha 0ee6c8feee95179721454433ecc6fb231a21b449

Running commands silently (#13189) * Running commands silently * Updating task version * Bumping task version * Fixing failing L0 tests

view details

push time in 3 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 39e6e8578b5e31e9479e0637c08444447925b5b6

Remove logging

view details

push time in 3 days

Pull request review commentmicrosoft/azure-pipelines-tasks

Use MC FUS library in AppCenterDistribute tasks

++import ma = require('vsts-task-lib/mock-answer');+import tmrm = require('vsts-task-lib/mock-run');+import path = require('path');+import fs = require('fs');+import azureBlobUploadHelper = require('../azure-blob-upload-helper');++var Readable = require('stream').Readable+var Stats = require('fs').Stats++var nock = require('nock');++let taskPath = path.join(__dirname, '..', 'appcenterdistribute.js');+let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath);++tmr.setInput('serverEndpoint', 'MyTestEndpoint');+tmr.setInput('appSlug', 'testuser/testapp');+tmr.setInput('app', '/Users/anastasia.kubova/Downloads/test.ipa');+tmr.setInput('releaseNotesSelection', 'releaseNotesInput');+tmr.setInput('releaseNotesInput', 'my release notes');+tmr.setInput('isMandatory', 'True');+tmr.setInput('symbolsType', 'AndroidJava');+tmr.setInput('mappingTxtPath', '/test/path/to/mappings.txt');++process.env['BUILD_BUILDID'] = '2';+process.env['BUILD_SOURCEBRANCH'] = 'refs/heads/master';+process.env['BUILD_SOURCEVERSION'] = 'commitsha';++// upload +nock('https://example.upload.test')+    .post('/release_upload')+    .reply(201, {+        status: 'success'+    });++nock('https://example.test')+    .post('/v0.1/apps/testuser/testapp/uploads/releases')+    .reply(201, {+        id: 1,+        upload_url: "https://upload.example.test/upload/upload_chunk/00000000-0000-0000-0000-000000000000",+        package_asset_id: 1,+        upload_domain: 'https://example.upload.test/release_upload',+        url_encoded_token: "test"+    }).log(console.log);

Remove console.log

Jamminroot

comment created time in 3 days

Pull request review commentmicrosoft/azure-pipelines-tasks

Use MC FUS library in AppCenterDistribute tasks

 function beginReleaseUpload(apiServer: string, apiVersion: string, appSlug: stri     request.post({ url: beginUploadUrl, headers: headers }, (err, res, body) => {         responseHandler(defer, err, res, body, () => {             let response = JSON.parse(body);-            let uploadInfo: UploadInfo = {-                upload_id: response['upload_id'],-                upload_url: response['upload_url']+            if (!response.package_asset_id || (response.statusCode && (response.statusCode < 200 || response.statusCode >= 300))) {+                defer.reject(`failed to create release upload. ${response.message}`)             } -            defer.resolve(uploadInfo);+            defer.resolve(response);         });     });      return defer.promise; } -function uploadRelease(uploadUrl: string, file: string, userAgent: string): Q.Promise<void> {+function loadReleaseIdUntilSuccess(apiServer: string, apiVersion: string, appSlug: string, uploadId: string, token: string, userAgent: string): Q.Promise<string> {+    let defer = Q.defer<string>();+    const timerId = setInterval(async () => {+        let response;+        try {+            response = await getReleaseId(apiServer, apiVersion, appSlug, uploadId, token, userAgent);+        } catch (error) {+            clearInterval(timerId);+            defer.reject(new Error(`Loading release id failed with: ${error}`));+        }+        const releaseId = response.release_distinct_id;+        tl.debug(`Received release id is ${releaseId}`);+        if (response.upload_status === "readyToBePublished" && releaseId) {+            clearInterval(timerId);+            defer.resolve(releaseId);+        } else if (response.upload_status === "error") {+            clearInterval(timerId);+            defer.reject(new Error(`Loading release id failed: ${response.error_details}`));+        }+    }, 2000);+    return defer.promise;+}++function uploadRelease(releaseUploadParams: UploadInfo, file: string): Q.Promise<void> {+    const assetId = releaseUploadParams.package_asset_id;+    const urlEncodedToken = releaseUploadParams.url_encoded_token;+    const uploadDomain = releaseUploadParams.upload_domain;     tl.debug("-- Uploading release...");     let defer = Q.defer<void>();-    tl.debug(`---- url: ${uploadUrl}`);+    const uploadSettings: IInitializeSettings = {+        assetId: assetId,+        urlEncodedToken: urlEncodedToken,+        uploadDomain: uploadDomain,+        tenant: "distribution",+        onProgressChanged: (progress: IProgress) => {+            tl.debug("---- onProgressChanged: " + progress.percentCompleted);+        },+        onMessage: (message: string, properties: LogProperties, level: McFusMessageLevel) => {+            tl.debug(`---- onMessage: ${message} \nMessage properties: ${JSON.stringify(properties)}`);+            if (level === McFusMessageLevel.Error) {+                mcFusUploader.cancel();+                defer.reject(new Error(`Uploading file error: ${message}`));+            }+        },+        onStateChanged: (status: McFusUploadState): void => {+            tl.debug(`---- onStateChanged: ${status.toString()}`);+        },+        onCompleted: (uploadStats: IUploadStats) => {+            tl.debug("---- Upload completed, total time: " + uploadStats.totalTimeInSeconds);+            defer.resolve();+        },+    };+    mcFusUploader = new McFusNodeUploader(uploadSettings);+    const appFile = new McFile(file);+    mcFusUploader.start(appFile);+    return defer.promise;+}++function abortReleaseUpload(apiServer: string, apiVersion: string, appSlug: string, upload_id: string, token: string, userAgent: string): Q.Promise<void> {+    tl.debug("-- Aborting release...");+    let defer = Q.defer<void>();+    let patchReleaseUrl: string = `${apiServer}/${apiVersion}/apps/${appSlug}/uploads/releases/${upload_id}`;+    tl.debug(`---- url: ${patchReleaseUrl}`);     let headers = {+        "X-API-Token": token,         "User-Agent": userAgent,         "internal-request-source": "VSTS"     };-    let req = request.post({ url: uploadUrl, headers: headers }, (err, res, body) => {++    let abortedBody = { "upload_status": "aborted" };++    request.patch({ url: patchReleaseUrl, headers: headers, json: abortedBody }, (err, res, body) => {         responseHandler(defer, err, res, body, () => {-            tl.debug('-- File uploaded.');-            defer.resolve();-        });-    }); -    let form = req.form();-    form.append('ipa', fs.createReadStream(file));+            let response = JSON.parse(body); +            const { upload_status, message } = response;+            if (upload_status !== "uploadFinished") {

aborted?

Jamminroot

comment created time in 3 days

Pull request review commentannakocheshkova/azure-pipelines-tasks

Fix missed points in mc-fus branch

 describe('AppCenterDistribute L0 Suite', function () {         assert(tr.failed, 'task should have failed');     }); +    it.only('Negative path: failed when HTTP status is not 2xx', function () {

Remove "only"

AnastasiaKubova

comment created time in 5 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha bc3d646ace2692598b8dda967af5f1e4db357708

Initial version of the changes

view details

Anna Kocheshkova

commit sha a77d8bd1c93328875af192716e1c39fcfdf21804

Fix build warnings

view details

Anna Kocheshkova

commit sha 07f7aa97a73f5f366c1af0096771aec62cb8102b

Fix parsing

view details

Anna Kocheshkova

commit sha 8e2d6f89d697822ba99a579ff312d0cf15958fac

Cleanup

view details

Anna Kocheshkova

commit sha f774dc80225e1f8ebf8a4c53645ac33ddb7fe5db

Address feedback

view details

Anna Kocheshkova

commit sha 820e530f496223bbd4912292bd9f60bbc2546012

Fix api and header

view details

Anna Kocheshkova

commit sha 4e0e85606708d914b0f90a097ee140fdab2bd625

Update Promise to throw properly

view details

Anastasia Kubova

commit sha e2717adfe48342c9e5b6ce9f7ac2dc8ddf1a1b6e

fix type

view details

Anna Kocheshkova

commit sha d34d8b62d2c495746cb370394c33c10c9c148c73

Merge pull request #1 from annakocheshkova/feature-mc-fus-v3 Use FUS in AppCenterDistributeV3

view details

push time in 5 days

PR merged annakocheshkova/azure-pipelines-tasks

AppCenterDistributeV3 tests

Task name: AppCenterDistributeV3

Description: Fix and modify unit tests in the task.

Checklist:

  • [X] Checked that applied changes work as expected

What has been done:

  • Adopted tests for mc-fus We use several new APIs now. Adopted tests to use that.
  • Fixed existing tests Some of them were passing only by accident, or even checking failure for "success" path.
  • Added work with real mock files This is required to test mc-fus. We can't really mock fs since the test running mechanism uses it.
  • Refactored tests. Separated the common logic. Tests had a lot of duplicate code and there appeared even more after our changes. Separated it into helper function.
+531 -1071

0 comment

27 changed files

annakocheshkova

pr closed time in 5 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 496d362d3358880236ad538f56b4d141816ad66d

Add mocks

view details

Anna Kocheshkova

commit sha 5b7067a01332c11de84b919ad9bfdc9e0e48b0f3

Mock working with file

view details

Anna Kocheshkova

commit sha 6f235343abd9d90d199c0c529d997e0c0c181ea9

Fix golden path test

view details

Dmitrii Chichuk

commit sha 7009c9fe7b7c53acc3aa72f10d8f3ea31118c408

MultipleIpaFail test fix

view details

Dmitrii Chichuk

commit sha 721f9a89de8c5678d36cd5f03a2d992310d6b5b1

Fix NoSymbolsConditionallyPass test wip

view details

Anna Kocheshkova

commit sha 8ea188183425c5843a3cf2452eb3c9b9b37acb98

L0NoSymbolsConditionallyPass

view details

Anna Kocheshkova

commit sha 381074d2346dbf6108866f4717e71c7679bc4b75

Add negative test

view details

Dmitrii Chichuk

commit sha 0e4957973c0c9813d3c782694feb8a8933054744

Fix L0SymDistributeBreakpadWithProguard test

view details

Dmitrii Chichuk

commit sha e1df50991f00e3b9f81c8843da62022da8dbb34f

Fix L0SymDistributeBreakpad test

view details

Anna Kocheshkova

commit sha 615aaf6f7e7fd3fb525573094f0692571edbe87d

Update store test

view details

Anna Kocheshkova

commit sha c97ee67b3e0fe8f1704a1f268aa057f4c0dad64a

Fix next store test

view details

Anna Kocheshkova

commit sha 86f3ca42cc9cc8c7c3567e42df4791e7f1a925eb

Fix more tests

view details

Dmitrii Chichuk

commit sha b416740bcdd042d26e1767593f3c1f49679e4b94

Fix L0BuildVersionSpecifiedInBodyLeadToSuccessfulUpload test

view details

Dmitrii Chichuk

commit sha 46b337f68002bc11f55b544dbd184639be97ae29

Fix L0EmptyBuildVersionDoesntAppearInBody test

view details

Anna Kocheshkova

commit sha f570b5ed3684056395dc7f3aefd95e6aebe920fb

Try fixing abort

view details

Anna Kocheshkova

commit sha 941bc1538df6818b5b51cc7ec1a14a1439c489f9

Merge branch 'feature-mc-fus-v3-unit' of https://github.com/annakocheshkova/azure-pipelines-tasks into feature-mc-fus-v3-unit

view details

Anna Kocheshkova

commit sha caff4f1b17efcf2e1dcb6f19627cae66c6a618c9

Fix remaining tests

view details

Anna Kocheshkova

commit sha b57fa1e30e99172d47e994033f1f9a8ce9e0c03b

Separate mocks

view details

Anna Kocheshkova

commit sha 3cc5c74eb5767d513e9c35b6b2bb5f33e1628752

Cleanup tests

view details

Anna Kocheshkova

commit sha a85e3e25f96bd8400a9220b29e241dab70fba7b0

Merge branch 'feature-mc-fus-v3' into feature-mc-fus-v3-unit # Conflicts: # Tasks/AppCenterDistributeV3/appcenterdistribute.ts

view details

push time in 5 days

PR merged annakocheshkova/azure-pipelines-tasks

Use FUS in AppCenterDistributeV3

Task name: AppCenterDistributeV3

Description: Switch to using FUS for uploading the file.

Documentation changes required: (Y/N) N

Added unit tests: (Y/N) N

Checklist:

  • [ ] Task version was bumped - please check instruction how to do it
  • [X] Checked that applied changes work as expected

Note: unit tests are in a separate PR. No need to bump task version yet.

+1085 -35

0 comment

8 changed files

annakocheshkova

pr closed time in 5 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha afbd8f4fbf34418d9f9456d2a1e8ff3218689718

Add const for timeout

view details

push time in 5 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 0556c32c62ab42d1127089148f39ab6bef0e8a96

Apply fixes from v3

view details

push time in 5 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha ee7d219454bbab9c948016481fb0f51e2f732930

Revert trash changes

view details

push time in 8 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha f774dc80225e1f8ebf8a4c53645ac33ddb7fe5db

Address feedback

view details

Anna Kocheshkova

commit sha 820e530f496223bbd4912292bd9f60bbc2546012

Fix api and header

view details

Anna Kocheshkova

commit sha 4e0e85606708d914b0f90a097ee140fdab2bd625

Update Promise to throw properly

view details

Anna Kocheshkova

commit sha a85e3e25f96bd8400a9220b29e241dab70fba7b0

Merge branch 'feature-mc-fus-v3' into feature-mc-fus-v3-unit # Conflicts: # Tasks/AppCenterDistributeV3/appcenterdistribute.ts

view details

push time in 8 days

PR opened annakocheshkova/azure-pipelines-tasks

AppCenterDistributeV3 tests

Task name: AppCenterDistributeV3

Description: Fix and modify unit tests in the task.

Checklist:

  • [X] Checked that applied changes work as expected

What has been done:

  • Adopted tests for mc-fus We use several new APIs now. Adopted tests to use that.
  • Fixed existing tests Some of them were passing only by accident, or even checking failure for "success" path.
  • Added work with real mock files This is required to test mc-fus. We can't really mock fs since the test running mechanism uses it.
  • Refactored tests. Separated the common logic. Tests had a lot of duplicate code and there appeared even more after our changes. Separated it into helper function.
+550 -1078

0 comment

28 changed files

pr created time in 8 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 4e0e85606708d914b0f90a097ee140fdab2bd625

Update Promise to throw properly

view details

push time in 8 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha b57fa1e30e99172d47e994033f1f9a8ce9e0c03b

Separate mocks

view details

Anna Kocheshkova

commit sha 3cc5c74eb5767d513e9c35b6b2bb5f33e1628752

Cleanup tests

view details

push time in 8 days

Pull request review commentannakocheshkova/azure-pipelines-tasks

Update unit tests for AppCenterDistributeV1

 fs.statSync = (s) => {         return true;     } +    stat.size = 100;     return stat; }++let fsos = fs.openSync;+fs.openSync = (path: string, flags: string) => {+    if (path.endsWith("one.ipa")){+        console.log("Using mocked fs.openSync");+        return 1234567.89;+    }+    return fsos(path, flags);+};++let fsrs = fs.readSync;+fs.readSync = (fd: number, buffer: Buffer, offset: number, length: number, position: number)=> {+    if (fd==1234567.89) {+        buffer = new Buffer(100);+        console.log("Using mocked fs.readSync");

Remove :)

Jamminroot

comment created time in 8 days

Pull request review commentannakocheshkova/azure-pipelines-tasks

Update unit tests for AppCenterDistributeV1

 tmr.setInput('releaseNotesInput', 'my release notes'); tmr.setInput('symbolsType', 'AndroidJava'); tmr.setInput('mappingTxtPath', '/test/path/to/mappings.txt'); -//prepare upload nock('https://example.test')-    .post('/v0.1/apps/testuser/testapp/release_uploads')+    .patch('/v0.1/apps/testuser/testapp/releases/1')+    .query(true)+    .reply(200).log(console.log);

console.log

Jamminroot

comment created time in 8 days

Pull request review commentmicrosoft/plcrashreporter

Revert os_unfair_lock usage

 				PRODUCT_BUNDLE_IDENTIFIER = "com.microsoft.${PRODUCT_NAME:rfc1034identifier}"; 				PRODUCT_NAME = "Tests iOS"; 				SDKROOT = iphoneos;+				TARGETED_DEVICE_FAMILY = "1,2";

Is this change related?

MatkovIvan

comment created time in 8 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 820e530f496223bbd4912292bd9f60bbc2546012

Fix api and header

view details

push time in 8 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha caff4f1b17efcf2e1dcb6f19627cae66c6a618c9

Fix remaining tests

view details

push time in 9 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha f570b5ed3684056395dc7f3aefd95e6aebe920fb

Try fixing abort

view details

Anna Kocheshkova

commit sha 941bc1538df6818b5b51cc7ec1a14a1439c489f9

Merge branch 'feature-mc-fus-v3-unit' of https://github.com/annakocheshkova/azure-pipelines-tasks into feature-mc-fus-v3-unit

view details

push time in 9 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 86f3ca42cc9cc8c7c3567e42df4791e7f1a925eb

Fix more tests

view details

push time in 9 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha f774dc80225e1f8ebf8a4c53645ac33ddb7fe5db

Address feedback

view details

push time in 9 days

MemberEvent

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix MSErrorLogFormatter

 + (NSString *)extractExceptionReasonFromReport:(PLCrashReport *)report {   return exceptionReason; } -+ (NSString *)selectorRegisterValueFromReport:(PLCrashReport *)report-                              ofCrashedThread:(PLCrashReportThreadInfo *)crashedThread-                                      is64bit:(BOOL)is64bit {++ (NSString *)selectorRegisterValueFromReport:(PLCrashReport *)report ofCrashedThread:(PLCrashReportThreadInfo *)crashedThread {    /*    * Try to find the selector in case this was a crash in obj_msgSend.-   * We search this whether the crash happened in obj_msgSend or not since we+   * We search this whether the crash happened in objc_msgSend or not since we    * don't have the symbol!    */   NSString *foundSelector = nil; -// Search the registers value for the current architecture.-#if TARGET_OS_SIMULATOR-  if (is64bit) {-    foundSelector = [[self class] selectorForRegisterWithName:@"rsi" ofThread:crashedThread report:report];-    if (foundSelector == NULL)-      foundSelector = [[self class] selectorForRegisterWithName:@"rdx" ofThread:crashedThread report:report];-  } else {-    foundSelector = [[self class] selectorForRegisterWithName:@"ecx" ofThread:crashedThread report:report];-  }-#else-  if (is64bit) {-    foundSelector = [[self class] selectorForRegisterWithName:@"x1" ofThread:crashedThread report:report];-  } else {+  // Search the registers value for the current architecture.+  switch (report.machineInfo.processorInfo.type) {+  case CPU_TYPE_ARM:     foundSelector = [[self class] selectorForRegisterWithName:@"r1" ofThread:crashedThread report:report];-    if (foundSelector == NULL)+    if (foundSelector == NULL) {       foundSelector = [[self class] selectorForRegisterWithName:@"r2" ofThread:crashedThread report:report];-  }-#endif+    }+    break;++  case CPU_TYPE_ARM64:+    foundSelector = [[self class] selectorForRegisterWithName:@"x1" ofThread:crashedThread report:report];

Just a suggestion: we could simplify the code a bit if we put determination of register name under switch and avoid calling the same function 4 times.

MatkovIvan

comment created time in 10 days

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix MSErrorLogFormatter

 - (void)assertIsCrashProbeReportValidConverted:(NSString *)filename {   NSArray *images = crashReport.images;   for (PLCrashReportBinaryImageInfo *image in images) {     if (image.codeType != nil && image.codeType.typeEncoding == PLCrashReportProcessorTypeEncodingMach) {-      assertThat(errorLog.primaryArchitectureId, equalTo(@(image.codeType.type)));-      assertThat(errorLog.architectureVariantId, equalTo(@(image.codeType.subtype)));+      XCTAssertEqual(errorLog.primaryArchitectureId.unsignedLongLongValue, image.codeType.type,+                     @"Report: %@, Image: %@", filename, [image.imageName lastPathComponent]);+      // It might be not equal valid architectures is wider than actual compile targets.

Uncomment?

MatkovIvan

comment created time in 10 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha c97ee67b3e0fe8f1704a1f268aa057f4c0dad64a

Fix next store test

view details

push time in 10 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 615aaf6f7e7fd3fb525573094f0692571edbe87d

Update store test

view details

push time in 10 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 381074d2346dbf6108866f4717e71c7679bc4b75

Add negative test

view details

push time in 10 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 8ea188183425c5843a3cf2452eb3c9b9b37acb98

L0NoSymbolsConditionallyPass

view details

push time in 10 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 6f235343abd9d90d199c0c529d997e0c0c181ea9

Fix golden path test

view details

push time in 11 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 5b7067a01332c11de84b919ad9bfdc9e0e48b0f3

Mock working with file

view details

push time in 11 days

create barnchannakocheshkova/azure-pipelines-tasks

branch : feature-mc-fus-v3-unit

created branch time in 11 days

PR opened annakocheshkova/azure-pipelines-tasks

Use FUS in AppCenterDistributeV3

Task name: AppCenterDistributeV3

Description: Switch to using FUS for uploading the file.

Documentation changes required: (Y/N) N

Added unit tests: (Y/N) N

Checklist:

  • [ ] Task version was bumped - please check instruction how to do it
  • [X] Checked that applied changes work as expected

Note: unit tests are in a separate PR. No need to bump task version yet.

+1081 -34

0 comment

8 changed files

pr created time in 11 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 8e2d6f89d697822ba99a579ff312d0cf15958fac

Cleanup

view details

push time in 11 days

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha 07f7aa97a73f5f366c1af0096771aec62cb8102b

Fix parsing

view details

push time in 12 days

MemberEvent

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha a77d8bd1c93328875af192716e1c39fcfdf21804

Fix build warnings

view details

push time in 12 days

MemberEvent

push eventannakocheshkova/azure-pipelines-tasks

Anna Kocheshkova

commit sha bc3d646ace2692598b8dda967af5f1e4db357708

Initial version of the changes

view details

push time in 12 days

create barnchannakocheshkova/azure-pipelines-tasks

branch : feature-mc-fus-v3

created branch time in 13 days

create barnchannakocheshkova/azure-pipelines-tasks

branch : feature/mc-fus

created branch time in 13 days

push eventannakocheshkova/AppCenter-SDK-Apple

Anna Kocheshkova

commit sha 0d8dbadb1912e63d06ede3b072b0e813ae2cced2

Remove script

view details

push time in 15 days

push eventannakocheshkova/AppCenter-SDK-Apple

Anna Kocheshkova

commit sha 884b688d9d481449bffd0adb4dd88410d216fb54

Configure ObjC

view details

push time in 15 days

push eventannakocheshkova/AppCenter-SDK-Apple

Anna Kocheshkova

commit sha a73edf0ef34458336b50da2a12f44cacda2aa5b2

Update signing again

view details

push time in 15 days

push eventannakocheshkova/AppCenter-SDK-Apple

Anna Kocheshkova

commit sha c29236e5a072cd1a07088b14a83152fc086a543c

Update signing

view details

push time in 15 days

push eventannakocheshkova/AppCenter-SDK-Apple

Anna Kocheshkova

commit sha bad3f60b9ca696f8c1fa2fa5353cdc98f8f72358

Change bundle id

view details

push time in 15 days

push eventannakocheshkova/AppCenter-SDK-Apple

charmian01

commit sha 9c82f264ed29352ed2293ce60e1e9d60d2cf4302

Merge pull request #1907 from microsoft/release/2.5.2 Update versions for release 2.5.2

view details

charmian01

commit sha 20516cbab69b21263a277150eaa80b84fe82d1c2

Merge pull request #1908 from microsoft/develop Merge develop to master

view details

ilya Shumihin

commit sha a382f1eb13cdac4c4ea4c51abd648b4cdc35b9cf

Optimization of deleting objects from memory

view details

Ruslan Urmeev

commit sha ea3d348f09909fbb4b97b7e3a9d0399ffdf2acc0

perform selector on main thread

view details

Michael Smith

commit sha a24057e70c00d29f1ecdf3aabf84d7c0eb9277dd

Fix test for fatal error changes

view details

Michael Smith

commit sha b64cceca9008fa34274eb0b85f63743cafaeec05

Some review changes

view details

Michael Smith

commit sha bb502cdf9ab0168707acea0d61078446ce96eef0

move default retry intervals back to .m

view details

Michael Smith

commit sha 27a54c57debf512f0812ee2f2a6dfbddd972b08e

Reintroduced url checking for distribution ingestion tests

view details

Michael Smith

commit sha 6faac0cae9eb22b7337e176e2bf2fd901003a50d

Fix to stop mocking httpclient in teardown

view details

Michael Smith

commit sha a73084e70e7e80bebb9a3727d1ec4d36aff56d26

Formatting

view details

Michael Smith

commit sha 9af01fd59d48555b7294d311f7755f543e420063

remove extra reset call

view details

Jae Lim

commit sha a4285eaa8cf67a3fc8c998de0543694da868f996

Merge branch 'feature/refactor-ingestion' into feature/dependency-configuration

view details

Clement Polet

commit sha b014bb6830fdc27e09d9941bd5ffcb29f8dbf9ec

Add comment about breaking session strong reference in Distribute

view details

Jae Lim

commit sha 5f9525772dbd84f40fe4ae0526d815077ba03545

Add headers to unbrella header

view details

Ilya Shumihin

commit sha 3b85c696fe55c2b4374f10abacea59a3d248c5f9

Update CHANGELOG.md

view details

Ruslan Urmeev

commit sha 5419d0b3f9c5764e0cb760ca38b2746339b02d8d

merge develop

view details

Ruslan Urmeev

commit sha 8b7ab908a8a1fc7088707d4e8621c6730ce01e05

CI fix

view details

Ruslan Urmeev

commit sha 576adc9005409a776444c7d92a793b929451d512

fix CI 2

view details

ilya Shumihin

commit sha a0331178641464cf7519b0d58e45dc99820eceba

Merge branch 'develop' of https://github.com/microsoft/appcenter-sdk-apple into develop

view details

ilya Shumihin

commit sha 2484b5f08dfbe6fa810809d0c9fd3bcb167e81d5

Added a button on test app to raise an exception from NSApplication.

view details

push time in 16 days

push eventannakocheshkova/AppCenter-SDK-Apple

Yoann Chaudet

commit sha b62171a0e488fa0e41e817051fec0fab873b7270

Remove read options from list API

view details

Jae Lim

commit sha 07431129c661730e73dc7109f08a0d2a5338b3ce

Instantiate an error object when Cosmos DB returns error response without an error object

view details

Jae Lim

commit sha e931d3fad246030061d7f260a7e15040e0b08f4e

Merge branch 'develop' into feature/error-on-cosmosdb-error-response

view details

Jacob Wallraff

commit sha ea1e7b08999686513d74aff81006a5200179650b

Apply suggestions from code review - formatting

view details

Yoann Chaudet

commit sha 073546769cbe2dde53a9c40647a9582c6516e1fa

Merge pull request #1512 from Microsoft/yochaude/drop-readoptions-from-list Remove read options from list API

view details

Guillaume Perrot

commit sha d467d36c4a247c83704f851e158557f56c4a5655

Merge pull request #1507 from Microsoft/fix/userConfirmationHandler-check Fix no userConfirmationHandler provided

view details

Mehrdad Mozafari

commit sha ca615f80cd735bd5c79f917cda678cea2acf78f3

fixed the unit tests

view details

Mehrdad Mozafari

commit sha 49d1ed38eda862a1622bbc432096db25ff1fb5df

fixed leftover code

view details

Jae Lim

commit sha 8fcf2e20255a1df74cee6c7cbf1cf431666b199d

Fix broken unit tests caused by implementation

view details

Mehrdad Mozafari

commit sha 34553f1ebf598701c5daf21f7e54903bf96c082e

reverted

view details

Jae Lim

commit sha c810cf4318167eb1ddeebddd3c703c6753694d34

Merge branch 'develop' into feature/fix-build-errors-with-xcode10.2

view details

Jae Lim

commit sha 15d36dfe6b80b6fe9150ff6082d6e9859fd163aa

Revert test value

view details

Jae Lim

commit sha a2ced386339ca2a8e312873a8f896426ff62d106

Apply suggestions from code review

view details

hovsepm

commit sha e3605b92bca2dd1334a6c70b4d66cc6a733831da

Adding uriEncoding for CosmosDB calls.

view details

Mehrdad Mozafari

commit sha ab36e710470404bb70c1058b118c9721acbfe115

added unit test

view details

Jae Lim

commit sha 0aa8b8c3287c6cfba73ac473bcc11699b5e86db8

Merge pull request #1513 from Microsoft/feature/error-on-cosmosdb-error-response Pass an error when Cosmos DB returns error response

view details

Jae Lim

commit sha 73d7919307250403e6ea65d33d49f25e704d2f1d

Merge pull request #1509 from Microsoft/fix/flash-next-batch Fix flashing logs after reaching maximum of parallel batches

view details

hovsepm

commit sha 63e06c7acb1270dce66ae0ad8d2b56fd840aca39

Fixed build breaks.

view details

Mehrdad Mozafari

commit sha 9fb3b22eccd11386a99d0a6e0f1941b425457865

Unit tests

view details

hovsepm

commit sha 644c02c2041a9195cae38a83fa39669f0b586a89

Merge branch 'develop' of github.com:Microsoft/AppCenter-SDK-Apple into documentUriEncoding

view details

push time in 16 days

Pull request review commentmicrosoft/appcenter-sdk-dotnet

CgManifest auto update method

 public void UpdateConfigFileSdkVersion(string newVersion)     ReplaceRegexInFiles(ConfigFile.Path, @"<sdkVersion>[\.|A-z|0-9|-]*<\/sdkVersion>", $"<sdkVersion>{newVersion}</sdkVersion>"); } +Task("UpdateCgManifest").Does(()=>+{+    try+    {+        var manifestFilePath = "cgmanifest.json";+        var content = ParseJsonFromFile(manifestFilePath);+        var registrations = (JArray)content["Registrations"];+        foreach (var registration in registrations.Children())+        {+            HanldeRegistration(registration);+        }++        SerializeJsonToPrettyFile(manifestFilePath, content);+    }+    catch (Exception e)+    {+        Warning($"Can't update 'cgmanifest.json'. Error message: {e.Message}");+    }+});++void HanldeRegistration(JToken registration)+{+    var component = registration["component"];+    if (component == null) +    {+        Warning("Current registration has no 'component' property.");+        return;+    }++    var typeObject = component["type"];+    if (typeObject == null || typeObject.Value<string>() != "git")+    {+        Warning("Current component has no field 'type' or 'type' is not 'git'.");+        return;+    }++    UpdateCommitHash(component);+}++void UpdateCommitHash(JToken component)+{+    var gitData = component["git"];+    var repoUrl = gitData["repositoryUrl"].Value<string>();+    var currentRepoName = repoUrl.Contains(AndroidSdkRepoName) ? AndroidSdkRepoName : AppleSdkRepoName;+    var releaseTag = GetReleaseTag(currentRepoName);+    if (string.IsNullOrEmpty(releaseTag))+    {+        Warning($"Repository url: {repoUrl}. Release tag '{releaseTag}' was not found.");+        return;+    }++    var tagsRequest = CreateGitHubRequest($"repos/{currentRepoName}/tags");

Move to const

olmisa

comment created time in 16 days

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix analyzer warnings

 - (NSString *)userId { - (void)setUserId:(nullable NSString *)userId {   NSArray *synchronizedDelegates;   @synchronized(self) {-    BOOL sameUserId = (!userId && !self.currentUserIdInfo.userId) || [self.currentUserIdInfo.userId isEqualToString:(NSString *)userId];+    BOOL sameUserId = (!userId && !self.currentUserIdInfo.userId) || (userId && [self.currentUserIdInfo.userId isEqualToString:(NSString *)userId]);

Does this change the logic? Has this part been tested?

olmisa

comment created time in 17 days

Pull request review commentmicrosoft/appcenter-sdk-apple

Fix analyzer warnings

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(                        [[NSUserDefaults standardUserDefaults] removeObjectForKey:kMSStorageMaxSizeKey];                         // Show alert.-                       UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Warning!"-                                                                                                message:@"The maximum size of the internal "-                                                                                                        @"storage could not be set."+                       UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Warning!", nil)+                                                                                                message:NSLocalizedString(@"The maximum size of the internal "+                                                                                                        @"storage could not be set.", nil)                                                                                          preferredStyle:UIAlertControllerStyleAlert];-                       [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]];+                       [alertController addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) style:UIAlertActionStyleDefault handler:nil]];

Is that right? First argument seems to be the key: https://developer.apple.com/documentation/foundation/nslocalizedstring

olmisa

comment created time in 17 days

push eventmicrosoft/appcenter-cli

Anna Kocheshkova

commit sha c184c982391d5a27719f7f973cf29e0f8af74da8

Increase timeout on CI

view details

Anna Kocheshkova

commit sha 3fe0d5d53df2e7251d80def0b12ae24578c771b8

Merge branch 'feature/mc-fus' into fix/endpoint-fix

view details

push time in 19 days

push eventmicrosoft/appcenter-cli

Anna Kocheshkova

commit sha c184c982391d5a27719f7f973cf29e0f8af74da8

Increase timeout on CI

view details

push time in 19 days

PR opened microsoft/appcenter-cli

Rework endpoint

Tests should pass regardless of the login

+3 -5

0 comment

1 changed file

pr created time in 19 days

create barnchmicrosoft/appcenter-cli

branch : fix/endpoint-fix

created branch time in 19 days

push eventmicrosoft/appcenter-cli

Anna Kocheshkova

commit sha 68a26e507328e45d5429dd3dadab7a93982de09d

Add copyright

view details

push time in 19 days

push eventmicrosoft/appcenter-cli

Anna Kocheshkova

commit sha 6556a36b28ea3140b39a256aa6cc10a94b24c403

Remove unused method

view details

push time in 19 days

push eventmicrosoft/appcenter-cli

Anna Kocheshkova

commit sha 84d02a507b1bec62af54b132a0417037c523b5b5

Generate the file

view details

push time in 19 days

more