Giter Club home page Giter Club logo

aerogear-js-sdk's Introduction

AeroGear Docker images

This is a set of Docker images related to Aerogear.

  • wildfly Docker files for AeroGear UnifiedPush Server, based on WildFly.

aerogear-js-sdk's People

Contributors

aidenkeating avatar aliok avatar austincunningham avatar b1zzu avatar ciaranroche avatar danielpassos avatar darahayes avatar david-martin avatar evanshortiss avatar jhellar avatar josemigallas avatar milenazuccarelli avatar paolobueno avatar pb82 avatar psturc avatar pwright avatar rachael-oregan avatar renovate-bot avatar renovate[bot] avatar stephencoady avatar tomjackman avatar tommyj1994 avatar wtrocki avatar ziccardi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aerogear-js-sdk's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • chore(deps): update all (@types/chai, @types/chai-as-promised, @types/debug, @types/fetch-mock, @types/lodash.find, @types/sinon, @types/uuid, @types/ws, bowser, browserify, chai, coveralls, debug, del-cli, graphql, loglevel, mocha, mockttp, offix-client, replace, source-map-support, subscriptions-transport-ws, ts-node, typedoc, typescript, uuid)
  • chore(deps): update dependency lerna to v3.22.1
  • chore(deps): update all (major) (@types/apollo-upload-client, @types/mocha, @types/node, @types/sinon, @types/uuid, @types/ws, apollo-upload-client, browserify, del, del-cli, fetch-mock, graphql, keycloak-js, mocha, mockttp, nyc, sinon, ts-node, typescript, uuid)
  • chore(deps): update dependency lerna to v6
  • Click on this checkbox to rebase all open PRs at once

Detected dependencies

circleci
.circleci/config.yml
npm
package.json
  • @types/mocha 5.2.7
  • coveralls 3.0.8
  • del-cli 3.0.0
  • lerna 3.19.0
  • npm-run-all 4.1.5
  • nyc 14.1.1
  • replace 1.1.1
  • ts-node 8.5.2
  • tslint 5.20.1
  • typedoc 0.15.3
  • typescript 3.7.2
packages/app/package.json
  • @types/chai 4.2.5
  • chai 4.2.0
  • mocha 6.2.2
  • typescript 3.7.2
packages/auth/package.json
  • keycloak-js 7.0.1
  • loglevel 1.6.6
  • url 0.11.0
  • @types/chai 4.2.5
  • @types/chai-as-promised 7.1.2
  • @types/loglevel 1.5.4
  • @types/mocha 5.2.7
  • @types/node 11.15.2
  • @types/proxyquire 1.3.28
  • @types/sinon 7.5.1
  • chai 4.2.0
  • chai-as-promised 7.1.1
  • del-cli 3.0.0
  • mocha 6.2.2
  • sinon 7.5.0
  • source-map-support 0.5.16
  • ts-node 8.5.2
  • typescript 3.7.2
packages/core/package.json
  • axios 0.19.0
  • lodash.find 4.6.0
  • loglevel 1.6.6
  • uuid 3.3.3
  • @types/chai 4.2.5
  • @types/chai-as-promised 7.1.2
  • @types/lodash.find 4.6.6
  • @types/loglevel 1.5.4
  • @types/mocha 5.2.7
  • @types/node 11.15.2
  • @types/proxyquire 1.3.28
  • @types/sinon 7.5.1
  • @types/uuid 3.4.6
  • browserify 16.5.0
  • chai 4.2.0
  • chai-as-promised 7.1.1
  • del-cli 3.0.0
  • mocha 6.2.2
  • mockttp 0.19.1
  • sinon 7.5.0
  • source-map-support 0.5.16
  • ts-node 8.5.2
  • typescript 3.7.2
packages/metrics-cordova/package.json
packages/push-cordova/package.json
packages/push/package.json
  • axios 0.19.0
  • bowser 2.7.0
  • @types/chai 4.2.5
  • chai 4.2.0
  • mocha 6.2.2
  • typescript 3.7.2
packages/security-cordova/package.json
packages/security/package.json
  • @types/loglevel 1.5.4
  • axios 0.19.0
  • loglevel 1.6.6
  • @types/chai 4.2.5
  • chai 4.2.0
  • mocha 6.2.2
  • mockttp 0.19.1
  • nyc 14.1.1
  • typescript 3.7.2
packages/sync-cordova/package.json
packages/sync/package.json
  • apollo-cache 1.3.4
  • apollo-cache-inmemory 1.6.5
  • apollo-cache-persist 0.1.1
  • apollo-client 2.6.8
  • apollo-link 1.2.13
  • apollo-link-context 1.0.19
  • apollo-link-http 1.5.16
  • apollo-link-retry 2.2.15
  • apollo-link-ws 1.0.19
  • apollo-upload-client 11.0.0
  • debug 4.1.1
  • idb-localstorage 0.2.0
  • offix-client 0.9.0
  • subscriptions-transport-ws 0.9.16
  • @types/apollo-upload-client 8.1.3
  • @types/chai 4.2.5
  • @types/debug 4.1.5
  • @types/fetch-mock 7.3.2
  • @types/graphql 14.2.3
  • @types/mocha 5.2.7
  • @types/ws 6.0.3
  • chai 4.2.0
  • del 5.1.0
  • fetch-mock 7.7.3
  • graphql 14.5.8
  • graphql-tag 2.10.1
  • mocha 6.2.2
  • ts-node 8.5.2
  • typescript 3.7.2
  • graphql ^0.12.0 || ^0.13.0 || ^14.0.0

  • Check this box to trigger a request for Renovate to run again on this repository

Security and Metrics Interdependency

Description

I'm building a sample application that uses the Security functionality and calls checkManyAndPublishMetric. I was running into an issue that stated "Missing required plugin to collect metrics".

The issue was that I had not run npx ionic cordova plugin add @aerogear/cordova-plugin-aerogear-metrics --save so the app-version plugin was missing.

Might be necessary to call this out somehow? It was easy to miss.

Steps to reproduce

  1. Install the following:
    "@aerogear/app": "~0.3.0",
    "@aerogear/cordova-plugin-aerogear-security": "~0.3.0",
    "@aerogear/security": "~0.3.0",
  1. Initialise using standard pattern from showcase app
  2. Call checkManyAndPublishMetric
  3. Error Missing required plugin to collect metrics is returned

Add support for loading and parsing the configuration file as part of the SDK init

Feature Request

At the moment, developers need to provide the JSON object of the configuration when initialise the SDK, here is an example.

In this example, the content of mobile-services.json is put into a JS file and then required by the user's application. This is due to the fact that JSON format is not universally supported by all the loaders/importers in nodejs/typescript. It is supported by the newer versions of node and typescript, but the older ones don't.

To make it easier for developers to use our SDK, we should handle the loading and parsing of the mobile-services.json file. It will:

  1. Make it easier for developers to consume our SDK
  2. Make it easier for us to document the setup steps.

A possible approach is to allow developers to provide the path to the mobile-services.json file as part of the SDK initialisation. The SDK will still be backward compatible if the parameter to initialise the SDK is an object. But if the parameter is a String type, the SDK will then load and parse the configuration file and build the configuration object.

error running scripts/docs.sh

$ ./scripts/docs.sh
returns:

Generate documentation for packages
lerna info version 2.11.0
fs.js:948
binding.stat(pathModule._makeLong(path));
^

Error: ENOENT: no such file or directory, stat '/home/pwright/repos/aerogear/aerogear-js-sdk/packages/metrics-cordova/src'

Console error that cannot be suspended

Bug Report

When starting SDK in any app following error appears a couple of times:

vendor.js:21535 Error when sending metrics {"stack":"Error: Metrics server configuration is missing. Metrics will be disabled.\n    at MetricsService.

there is no way to suspend it. Not having metrics enabled is not an error so we might remove this to not obfuscate logs.

ping @austincunningham

iOS Auth SDK Issue without InAppBrowser

Bug Report

When performing a login to Keycloak without InAppBrowser on iOS I received a failure with this error in the console TypeError: null is not an object (evaluating 'ref.addEventListener').

  • Affected Package(s): aerogear/auth
  • Package version(s): 2.4.0
  • Platform (e.g. Android/iOS): iOS
  • Platform Version: 12.0 Simulator
  • Cordova Version: CLI 9.0, [email protected]
  • Node.js / npm versions: 10.15 / 6.4

I created a simple Cordova application using cordova create, then added the SDK, bundled via browserify with the following:

const app = agInit(config)

// initialise auth
const Auth = require('@aerogear/auth').Auth;
const authService = new Auth(app.config);
const initOptions = { onLoad: "login-required" };

authService.init(initOptions)
    .then(() => {
        // successful init & authentication
        alert('success')
    })
    .catch((err) => {
        // initialization error
        alert('fail')
        console.error(err)
    });

Running the app with this printed TypeError: null is not an object (evaluating 'ref.addEventListener'). After I added InAppBrowser the issue was resolved.

Maybe we need to check for InAppBrowser and report a better error depending on platform?

Move plugin check into platformUtils

Description

Based on the comment here (#91 (comment)) we could refactor checking for plugins into a helper function in platformUtils. Instead of null checking we could then do something like

IRoot = await platformUtils.getCordovaPlugin<IRoot>("IRoot");

Root Detection for Android

Description

I've tested the root checks on my Nexus 5 device and found that our default check is not sufficient for certain devices.

We are invoking IRoot.isRooted(), but on my device this doesn't catch the root. I need to invoke IRoot. isRootedRedBeerWithoutBusyBoxCheck() which correctly detected the root as did IRoot.isRootedRedBeer().

I'm not 100% sure what solution is best here from an Android perspective. Maybe check both isRootedRedBeer and isRootedRedBeerWithoutBusyBoxCheck? If the isRootedRedBeerWithoutBusyBoxCheck returns false then assume it's a false positive per this doc?

Steps to reproduce

  1. Root or obtain rooted Android Device
  2. Invoke return this.securityService.check(SecurityCheckType.notRooted)
  3. Verify that check.passed is false

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.