Ionic3 FirebaseDynamiLinks plugin_not_installed - ionic2

When calling
firebaseDynamicLinks.onDynamicLink()
I get the warnings
console.warn: Native: tried calling FirebaseDynamicLinks.onDynamicLink, but the FirebaseDynamicLinks plugin
is not installed.
console.warn: Install the FirebaseDynamicLinks plugin: 'ionic plugin add
cordova-plugin-firebase-dynamiclinks'
But the plugin is installed:
ionic cordova plugin
> cordova plugin ls
✔ Running command - done!
cordova-plugin-browsertab 0.2.0 "cordova-plugin-browsertab"
cordova-plugin-buildinfo 1.1.0 "BuildInfo"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.7 "Console"
cordova-plugin-customurlscheme 4.3.0 "Custom URL scheme"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-firebase-analytics 0.10.1 "FirebaseAnalyticsPlugin"
cordova-plugin-firebase-dynamiclinks 0.10.1 "FirebaseDynamicLinksPlugin"
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.3 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova-universal-links-plugin 1.2.1 "Universal Links Plugin"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-deploy 0.6.7 "IonicDeploy"
ionic-plugin-keyboard 2.2.1 "Keyboard"
The method call throws the error
plugin_not_installed

You need to always access any ionic native/cordova plugin within platform.ready()
Do:
constructor(private platform:Platform){}
And in when you call the plugin:
this.platform.ready().then(() =>{
firebaseDynamicLinks.onDynamicLink();
//....
});

Related

Ansible Tower custom environments

I'm running Ansible Tower v3.8.6 on a RHEL8 server and I've defined a custom environment by following this
link. I've added this custom environment to under Settings - System - "Custom Virtual Environment Paths" and also made this custom environment the default for my organisation.
I've added the following to my playbook and it confirms that I'm using the "correct" version of ansible and python as defined in my custom virtual environment.`
- name: get ansible and python versions
shell: |
ansible --version
python -V
register: result
- name: display ansible and python versions
debug:
var: result.stdout
I setup this environment so I can interact with our Ovirt 4.5 environment. Despite the fact that I have the python ovirt sdk installed I keep getting this error.
"msg": "ovirtsdk4 version 4.4.0 or higher is required for this module"
I've googled and googled but none of the solutions work for me.
Is this a lost cause? Upgrading to Ansible Automation Platform is out of the question.
Any ideas how I can make this work?
#pwd
/var/lib/awx/venv/rhv-4.5
#source bin/activate
(rhv-4.5) #ansible --version
ansible [core 2.12.6]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /var/lib/awx/venv/rhv-4.5/lib/python3.8/site-packages/ansible
ansible collection location = /var/lib/awx/vendor/inventory_collections:/opt/collections
executable location = /var/lib/awx/venv/rhv-4.5/bin/ansible
python version = 3.8.12 (default, Sep 16 2021, 10:46:05) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
jinja version = 3.1.2
libyaml = True
(rhv-4.5) #python -V
Python 3.8.12
(rhv-4.5) #pip list
Package Version
----------------------- ---------
ansible-core 2.12.6
certifi 2022.6.15
cffi 1.15.1
charset-normalizer 2.1.1
cryptography 37.0.4
idna 3.3
Jinja2 3.1.2
lxml 4.9.1
MarkupSafe 2.1.1
ntlm-auth 1.5.0
ovirt-engine-sdk-python 4.5.2
packaging 21.3
pip 22.2.2
psutil 5.9.1
pycparser 2.21
pycurl 7.45.1
pykerberos 1.2.4
pyparsing 3.0.9
pywinrm 0.4.3
PyYAML 6.0
requests 2.28.1
requests-ntlm 1.1.0
resolvelib 0.5.4
setuptools 65.3.0
six 1.16.0
urllib3 1.26.12
wheel 0.37.1
xmltodict 0.13.0
(rhv-4.5) #
EDIT
I wrote a small playbook to test ovirt_auth from within the venv.
---
- name: Test ovirt_auth
hosts: localhost
vars:
rhv1_url: "https://rhvm.server.local/ovirt-engine/api"
rhv1_username: "me#rhvm.local"
rhv1_passwd: "Super Secure Password"
tasks:
- name: Authenticate with RHV
ovirt.ovirt.ovirt_auth:
url: "{{ rhv1_url }}"
username: "{{ rhv1_username }}"
password: "{{ rhv1_passwd }}"
- name: debug ovirt_auth
debug:
var: ovirt_auth
This worked and the debug printed the expected output.
When I ran it through Ansible Tower, fails and "ovirtsdk4 version 4.4.0 or higher is required for this module" message is back
So it looks like Ansible Tower just isn't getting the memo...
So the solution was deceptively simple, and shout out to Kevin from Red Hat Support for the answer.
The workflow runs on the Ansible Tower server using an inventory called 'inv-localhost'. This inventory already had the "ansible_connection: local" but needed 'ansible_python_interpreter: "{{ansible_playbook_python}}"' as well.
Now it works!
In addition, I'd not followed custom environment documentation correctly. Should go without saying but read the doco closely...
Thanks

Require mdbootstrap through webpacker 4 fails

When I require mdbootrstrap in a webpacker pack, the following error is outputed:
Firefox: TypeError: "exports" is read-only
Chrome: Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
Is there a config tweak that I could make to get rid of this error? Or must I just wait for mdbootstrap owner to release a patch for this?
Any help appreciated!
Links:
Github demo app: https://github.com/yoones/rails_6_mdb_through_webpacker
Yarn package.json: https://github.com/yoones/rails_6_mdb_through_webpacker/blob/master/package.json
Webpacker env config: https://github.com/yoones/rails_6_mdb_through_webpacker/blob/master/config/webpack/environment.js
Webpacker pack: https://github.com/yoones/rails_6_mdb_through_webpacker/blob/master/app/javascript/packs/application.js
Versions:
Ruby on Rails 6.0.1
Webpacker 4.2.2
mdbootstrap 4.10.1

I have an error with Backlogs plugin in Redmine

Since last week, I have a problem using redmine_backlogs plugin in Redmine. When I try to log time on an issue, I have this error message:
an error occured, please check the server logs (Unprocessable Entity)
Checking production.log, I have these lines:
ActiveRecord::RecordInvalid (Validation failed: Temps passé n'est pas valide):
plugins/redmine_backlogs/lib/backlogs_activerecord_mixin.rb:38:in journalized_update_attributes!'
plugins/redmine_backlogs/app/models/rb_task.rb:138:in update_with_relationships'
plugins/redmine_backlogs/app/controllers/rb_tasks_controller.rb:28:in update'
lib/redmine/sudo_mode.rb:63:in sudo_mode'
Here are the information about my Redmine instance:
Environment:
Redmine version 3.4.5.stable
Ruby version 2.2.4-p230 (2015-12-16) [x86_64-linux-gnu]
Rails version 4.2.8
Environment production
Database adapter Mysql2
SCM:
Subversion 1.9.3
Mercurial 3.7.3
Git 2.7.4
Filesystem
Redmine plugins:
a_common_libs 2.1.10
clipboard_image_paste 1.10
global_roles 2.1.0
google_analytics_plugin 1.0.0
redmine_backlogs v1.0.6
redmine_code_review 0.7.0
redmine_dmsf 1.5.7 devel
redmine_drafts 0.2.0
redmine_issue_templates 0.1.1
redmine_ldap_sync 2.0.8.devel.gf831737c23
redmine_my_page 0.1.10
redmine_scm 0.5.1
redmine_xls_export 0.2.1.t9
Thank you for your help
Mathieu

ionic.config.json syntax error at position 0

I'm trying to execute google maps web api for my ionic 2 project.
After adding a proxy (For the browser CORS issue) and executing ionic serve, the following error is returned.
Uh oh! There's a syntax error in your ionic.config.json file:
SyntaxError: Unexpected token in JSON at position 0
at Object.parse (native)
at Object.load (C:\Users\User\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\lib\project.js:48:17)
at Object.runr (C:\Users\User\AppData\Roaming\npm\node_modules\ionic\lib\cli.js:156:32)
at C:\Users\User\AppData\Roaming\npm\node_modules\ionic\lib\cli.js:54:9
at _fulfilled (C:\Users\User\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:787:54)
at self.promiseDispatch.done (C:\Users\User\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:816:30)
at Promise.promise.promiseDispatch (C:\Users\User\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:749:13)
at C:\Users\User\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:557:44
at flush (C:\Users\User\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
The following is my ionic.config.json file:
{
"name": "NW",
"app_id": "",
"v2": true,
"typescript": true,
"proxies": [
{
"path": "/proxy",
"proxyUrl": "https://maps.googleapis.com/"
}
]
}
My System Information is as below:
Cordova CLI: 6.5.0
Ionic Framework Version: 2.0.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 1.0.0
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.5
Xcode version: Not installed
I tried to fix this by checking for foreign tokens and using a newly generated default ionic.config.json but same error persists.
Appreciate any ideas or solutions to this issue.
Thanks.
Open your config file in Notepad++ and check the encoding format. The encoding format should be UTF-8 and nothing else, not even UTF-8 BOM. If it is, change it to UTF-8. save file and try running it again. Hope it helps.
Note: DO NOT USE Notepad to do the above steps, as notepad considers UTF_8 and UTF-8-BOM as same.

Including node-uuid package in Ionic 2 application

I'm building an Ionic 2 (RC0) application and I'm trying to use node-uuid by following the official documentation.
I've done:
$ npm install --save node-uuid
$ npm install --save #types/node-uuid
node-uuid seems to be using the default export approach, so I'm importing it in my typescript file like this:
import uuid from 'node-uuid';
And using it as follows:
console.log(uuid.v4);
However, my app doesn't come up and I see this error in the logs:
TypeError: des$3 is undefined
What am I missing?
Most resources for Angular 2 recommend using the typings CLI to install the type definitions, but this made no difference for me. I tried:
$ npm install --global typings
$ typings install --save node-uuid
$ ionic info
Your system information:
Cordova CLI: You have been opted out of telemetry. To change this, run: cordova telemetry on.
6.3.1
Ionic Framework Version: 2.0.0-rc.0
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
OS: Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS
Node Version: v6.6.0
******************************************************
Dependency warning - for the CLI to run correctly,
it is highly recommended to install/upgrade the following:
Please install your Cordova CLI to version >=4.2.0 `npm install -g cordova`
******************************************************
Please note that node-uuid is deprecated. They merged with another project and now it's only called uuid. Everything up to the point of installing the #types library is correct. (note that you will have to redo those steps using just 'uuid' not 'nod-uuid')
However,
console.log(uuid.v4);
does not generate an id. As per the documentation you need to specify in your import which version of uuid you want to use and then call your variable as a method: uuid();
From docs: [Deprecation warning: The use of require('uuid') is deprecated and will not be supported after version 3.x of this module. Instead, use require('uuid/[v1|v3|v4|v5]') as shown in the examples below.]
Here is a code example using uuid/v1:
import { Component } from '#angular/core';
import uuid from 'uuid/v1'; //here change 'v1' with the version you desire to use
#Component({
selector: "page-uuid",
templateUrl: "uuid.html"
})
export class uuidTestPage {
id = uuid();
constructor() {
console.log(this.id); // outputs id. For example: 298da400-1267-11e8-a6e5-3148ee6706e9
}
}
After you serve your app and enter the uuidTestPage you should see the id logged to the console. The format of the id will vary depending on the version you use:
Version 1 (timestamp): my example.
Version 3 (namespace)
Version 4 (random)
etc...
Happy coding!
you can try it: (angular2-uuid)
npm install angular2-uuid --save
......
import { UUID } from 'angular2-uuid';
...
let uuid = UUID.UUID();
it works on angular 2 & ionic 2