text:
Angular-Translate in cooperation with ng-models and forms

Subject of the issue
When you want to translate the placeholder of an input field, but work with ng-models, the ng models cannot be used.
Your environment
angular-translate: 2.9.2
angular: 1.5.0
Firefox, Chrome in different version
Steps to reproduce
example on Plunker: https://plnkr.co/edit/4JTMjZG0OftkZsVU3gVc?p=info
Expected behaviour
input value should be written into ng variable model
Actual behaviour
When you fill the translated input first, it does not will work / be displayed in the model
if you fill in the non translated input first and then the translated, everything works fine

You have to initialize your object forminput at the beginning: either with ng-init or simply in the controller.

authors: MariusHerget knalli

repo: angular-translate/angular-translate


text:
Pagination and seo

We have added a few code to show the href in a link to pagination.
directive.scope.setState = '&';
data-ui-sref="{{setState()}}({page: {{::page.number}}})"

new pagination template
var app = require('../index');

function configuration($provide) {
  'ngInject';
  $provide.decorator('uibPaginationDirective', function($delegate, $templateCache) {
        var directive = $delegate[0];
        directive.scope.setState = '&';
        $templateCache.put('uib/template/pagination/paginationHref.html',
            `

{{::getText('first')}}

{{::getText('previous')}}

{{page.text}}

{{::getText('next')}}

{{::getText('last')}}

            `);
        return $delegate;
    });
}

app.config(configuration);

usage

result

    3

Closing this as this project is no longer being maintained, per the README and the ISSUE_TEMPLATE.

source: gharchive/issue

authors: icfantv prugel

repo: angular-ui/bootstrap

license: MIT

license_type: permissive

license_source: github-api


text:
Every example in Tutorial mis-references CSS

Is it me or does every example in the tutorial contain:
<script src="/release/ui-grid-unstable.css"></script>
Shouldn't this be <link rel="stylesheet" href="/release/ui-grid-unstable.css" /> ?
For example, line 10 in http://ui-grid.info/docs/#/tutorial/102_sorting . But every example has it the same way.
Or am I missing something.

Closing on the basis that it doesn't break anything, and it's an upstream problem.

repo: angular-ui/ng-grid


text:
Problem with the new typed variables and $urlRouterProvider.otherwise

I'm testing the changes introduced in #1032 but I seem to be having a hard time with the types in combination with $urlRouterProvider.otherwise.
This works: url: '/channel/{channelId:[0-9]{1,8}}',.
This doesn't: url: '/channel/{channelId:int}',, it always redirects to my 404 page. When I remove $urlRouterProvider.otherwise('/404'); then it does work.

https://gist.github.com/eddiemonge/f6a58169c2846731a1eb

authors: eddiemonge kevinrenskers

repo: angular-ui/ui-router


text:
ui-view not updated at some point while change url very fast

This issue tracker is for Bug Reports and Feature Requests only.

[ ] Bug Report

angularJS: 1.7
My version of UI-Router is: 1.0.17
Bug Report
Current Behavior:
In my project, there is a sideBar which is implemented by $state.go used for change url, and we use lazyload property to load each module. I found that the view will not be updated to the latest state when I click the siderbar very fast to switch url. Due to analysis the trace log and the code of ui-router, I found it is caused by a wrong transition.
when the error occured, the trace log show that there is a A->c transition after A->B;
var activateViews = function (transition) {
    var enteringViews = transition.views('entering');
    var exitingViews = transition.views('exiting');
    if (!enteringViews.length && !exitingViews.length)
        return;
    var $view = transition.router.viewService;
    exitingViews.forEach(function (vc) { return $view.deactivateViewConfig(vc); });
    enteringViews.forEach(function (vc) { return $view.activateViewConfig(vc); });
    $view.sync();
};

so when A-> started, it will try to remove the viewConfig of A , and the viewConfig of B will left in the _viewConfigs;
var matchingConfigPair = function (uiView) {
    var matchingConfigs = _this._viewConfigs.filter(ViewService.matches(uiViewsByFqn, uiView));
    if (matchingConfigs.length > 1) {
        // This is OK.  Child states can target a ui-view that the parent state also targets (the child wins)
        // Sort by depth and return the match from the deepest child
        console.log(`Multiple matching view configs for ${uiView.fqn}`, matchingConfigs);
        matchingConfigs.sort(depthCompare(viewConfigDepth, -1)); // descending
    }
    return { uiView: uiView, viewConfig: matchingConfigs[0] };
};

Because of the extra config of B, the matchingConfigs will contain B and C, and the viewConfig of B will be returned
Expected Behavior:
the transtion's from state will be the last transition's to state.

question:

how to avoid the transition mentioned above(A->B, A->C)
in what situation ,the length of matchingConfigs will be  greater than 1(normal situation).
we try to reverse matchingConfigs first before sort it by depth, and it seem to can get the correct viewConfig, is this solution ok?

@christopherthielen can you have a look at this issue, looking forward to your reply

I am getting the same issue while after upgraded the routing from AngularJS UI Router to UI_Router Angular.
In our case, the child state view does not load when click the link, though the URL does changed. By the way, it does works fine if I use $state.go() method but not the link. Any suggestions please?

I am getting the same issue while after upgraded the routing from AngularJS UI Router to UI_Router Angular.
In our case, the child state view does not load when click the link, though the URL does changed. By the way, it does works fine if I use $state.go() method but not the link. Any suggestions please?


text:
Clear undo history

I added two lines of code to clear the undo history, is it the right place to add?
ngModel.$render = function() {
if (!tinyInstance) {
tinyInstance = tinymce.get(attrs.id);
}
if (tinyInstance) {
tinyInstance.setContent(ngModel.$viewValue || '');
tinyInstance.undoManager.clear(); //clear up undo history
tinyInstance.nodeChanged();       //update UI states
}
};

Can you give more of a description of what the issue is? It may be the right place.
Is the issue that if you destroy and re-create an instance the undo history remains? It might be better to clear the history on the destroy event.
If you could also include a Plunker or Fiddle that would be great. I will take a brief look into the issue as well and fix if I can re-create.

Closing this ticket due to inactivity. If you are still having problems, please feel free to open a new issue with an attached plunker reproducing it.

repo: angular-ui/ui-tinymce

license: mit

license_source: bigquery


text:
ng add @angular/material installs @angular/material but does not install @angular/cdk

Versions
Angular CLI: 6.0.0
Node: 8.9.3
OS: win32 x64
Angular: 6.0.0
... animations, cli, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, router

Repro steps

Step 1: ng add @angular/material
Step 2 It will update multiple files and add @angular/material and @angular/cdk to package.json

Observed behavior
It will install @angular/material but won't install @angular/cdk

Desired behavior
It should either install both or none.

have the same issue and manually installing it wants me to install @angular-devkit/angular-build as well.
manually installing the devkit results in:  "You seem to not be depending on "@angular/core" and/or "rxjs". This is an error."
All on a freshly created angular project, while importing a local frontend repo

Heya, I moved this issue over to https://github.com/angular/material2/issues/11159 because it is a problem it the add schematic that Material has.

authors: Barvor ayush987goyal filipesilva

repo: angular/angular-cli


text:
95% emitting CopyPlugin bug

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Command (mark with an x)
- [ ] new
- [ ] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Versions

Node Version: v11.0.0
Npm Version: 6.4.1
Angular Cli: 7.0.2 and 7.0.6
Repro steps

It's a little difficult to reproduce, but happens constantly. I'm using the command:
ng serve --host=myhost.com

The log given by the failure

95% emitting CopyPlugin
Desired functionality

To not bug things. In add to it,when the serve pass the '95%' phase, but it freezes when the serve reloads.

This seems like a bug but we'll need to look at a reproduction to find and fix the problem. Can you setup a minimal repro please?
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Thanks for feedback, @alan-agius4.
I'll try to create.

Apparently, in Angular ci 7.1.0 was solved. I'm testing, and no bugs. So i'm closing for now. Thanks @alan-agius4


text:
ng serve throwing error - ERROR in Could not resolve module /C/ i ｢wdm｣: Failed to compile.

Bug Report or Feature Request (mark with an x)
- [X ] bug report -> please search issues before submitting
- [ ] feature request

Command (mark with an x)
- [ ] new
- [ ] build
- [X ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Versions

node version v8.11.3
npm version 6.4.1
Repro steps

https://github.com/DeborahK/Angular-GettingStarted
Run the project in VS code (folder APM-Start)
The log given by the failure

ng serve -o
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
Date: 2018-12-10T00:54:55.452Z
Hash: aa987cb762275e989b79
Time: 4786ms
chunk {main} main.js, main.js.map (main) 1.87 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 92.4 kB [initial] [rendered]4 kB [initial] [rendered]                                       try] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.08 kB [enl] [rendered]try] [rendered]                                                 ] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 16.5 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 318 kB [initial] [rendered]
ERROR in Could not resolve module /C/
i ｢wdm｣: Failed to compile.
Desired functionality

Application must run fine (load index.html page)
Mention any other details that might be useful

Running the project in VS Code environment

@girishuppal thanks for reporting this however I am unable to reproduce the issue with the project you provided.

Can it be because of this ?

@girishuppal no, that doesn't look like it should affect paths. Perhaps it's related to the folder you clone to.

@girishuppal let us know if you have any further insight. Hopefully we're able to reproduce the problem and fix it. Alternatively, it could be an issue in your environment that we cannot help with.

Can you please let me know what additional things you need?

@girishuppal we need a way to reproduce this problem in our machines. @alan-agius4 tried to reproduce it but couldn't. If we cannot reproduce the problem, we cannot fix it.
It's hard to know why it happens on your machine but not on ours. Perhaps it is the folder you are using, perhaps it is something else.
So the best think you can do is give very precise instructions for us to follow, that you can also follow, and are able to reproduce the problem. Imagine you are someone else on another computer trying to follow the instructions. A good rule is that if you look at your own instructions and it is not clear what commands to run, or where to run them, then you need more detail.

i am alos having same issue. is ther any soluition for this
I haev used below commands to create my cli application

ng new AZD-rangeslider

authors: alan-agius4 filipesilva girishuppal kumaresan-subramani mgechev


text:
nomodule polyfill does not work when deferred

🐞 Bug report
Command (mark with an x)

- [ ] new
- [x] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?
Yes, the previous version in which this bug was not present was: 8.1.1
Description
I believe #15087 breaks the nomodule polyfill for older iOS/Safari. The nomodule polyfill script is now deferred by default and does not seem to work unless I remove the defer attribute.
🔥 Exception or Error
In the reproduction above, "Angular is running in the development mode. Call enableProdMode() to enable the production mode." is logged twice indicating that both the es5 and es2015 scripts were executed. You can prove this by added a console.log to main-es5.js and main-es2015.js.
In my internal application:

polyfills-es2015.d441479….js:1 Error: Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.
Most likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)

🔬 Minimal Reproduction

ng new ...
Add "iOS >=10" to browserslist to enable the nomodule polyfill.
ng build
Serve the output files using a static file server.
Open the site in iOS 10 (iPhone 7 Safari for example).
You can remove the defer attribute from the nomodule polyfill script in index.html manually and refresh to see the problem go away.

🌍 Your Environment

Angular CLI: 8.2.0
Node: 10.15.3
OS: win32 x64
Angular: 8.2.0
... animations, cli, common, compiler, compiler-cli, core
... elements, forms, language-service, platform-browser
... platform-browser-dynamic, platform-server, router

Package                                    Version
--------------------------------------------------------------------
@angular-devkit/architect                  0.802.0
@angular-devkit/build-angular              0.802.0
@angular-devkit/build-optimizer            0.802.0
@angular-devkit/core                       8.2.0
@angular-devkit/schematics                 8.2.0
@nguniversal/common                        8.1.1
@nguniversal/module-map-ngfactory-loader   8.1.1
@schematics/angular                        8.0.0
@schematics/update                         0.802.0
rxjs                                       6.5.2
typescript                                 3.5.3
webpack                                    4.29.5

Anything else relevant?
This happens on iOS 10.3 and probably older.

Fixed via #15246 which has just been merged.

Thanks!

An 8.2 patch version of the fix is also pending: #15276

authors: clydin kevinphelps


text:
Include @angular/pwa in ng update

🚀 Feature request
Command (mark with an x)

- [ ] new
- [ ] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [X ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Description

Update @angular/pwa via ng update
Describe the solution you'd like

Hi. Since @angular/pwa is updated frequently alongside @angular/cli, it would be very useful to update both packages via ng update, which also increments consistency with another packages behavior. Thanks.
Describe alternatives you've considered

Alternative is to update @angular/cli and then run npm update for @angular/pwa

Strictly speaking @angular/pwa is not needed as a dependency. This is because the pwa package is a schematic and is only used once when generating adding pwa capabilities to your application. After that, this package is not used.

Interesting. I didn't know that. Thank you.


text:
First ng serve builds twice in quick succession

🐞 Bug report
Command (mark with an x)

[x] serve

Is this a regression?
I am not sure.
Description
After a fresh npm i install on a new repository, the first ng serve builds the app twice.
🔬 Minimal Reproduction

ng new
proceed to fill some default data, cd into the folder
ng serve

🔥 Exception or Error

test$ ng serve
⠋ Generating browser application bundles (phase: setup)...Compiling @angular/core : es2015 as esm2015
Compiling @angular/common : es2015 as esm2015
Compiling @angular/platform-browser : es2015 as esm2015
Compiling @angular/platform-browser-dynamic : es2015 as esm2015
✔ Browser application bundle generation complete.

Initial Chunk Files | Names         |      Size
vendor.js           | vendor        |   2.09 MB
polyfills.js        | polyfills     | 128.54 kB
main.js             | main          |  54.68 kB
runtime.js          | runtime       |   6.56 kB
styles.css          | styles        | 119 bytes

                    | Initial Total |   2.27 MB

Build at: 2021-07-28T13:56:34.696Z - Hash: 9ae2012d70b750fb75b5 - Time: 10338ms

** Angular Live Development Server is listening on localhost:33525, open your browser on http://localhost:33525/ **

✔ Compiled successfully.
✔ Browser application bundle generation complete.

5 unchanged chunks

Build at: 2021-07-28T13:56:35.493Z - Hash: 1b60cd5df3d3d625946b - Time: 439ms

✔ Compiled successfully.

🌍 Your Environment

Angular CLI: 12.1.3
Node: 16.3.0 (Unsupported)
Package Manager: npm 7.20.1
OS: linux x64

Angular: 12.1.3
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1201.3
@angular-devkit/build-angular   12.1.3
@angular-devkit/core            12.1.3
@angular-devkit/schematics      12.1.3
@schematics/angular             12.1.3
rxjs                            6.6.7
typescript                      4.3.5

Anything else relevant?
We are using different scripts which listens to the output of ng serve (for Cypress e2e test running). The initial "double" compilation causes our scripts to immediatly re-start.
Tried using ng serve --live-reload=false but it had no effect either.
This seems to be happening only upon the first build in a clean folder. After the first ng serve all subsequent ng serve only outputs "Build at: .." and "Compiled successfully." etc. only once.
Deleting the node_modules/ folder, and executing a new npm ci causes the next ng serve to reproduce the said problem.

This is working as expected.
See: https://github.com/angular/angular-cli/issues/21361


text:
Angular Service worker loads from old files after deployment for an angular application on OpenShift

I have an Angular PWA app that uses service worker. Problem is that whenever a change is made in a html file and deployed, the service worker on the browser still sometimes loads from old main.ts file. The browser sometimes loads from the new main.ts after it is refreshed but once the app is closed and reopened, it again loads from the old main.ts file.
I have verified that the new hashes are generated after the build. The angular app is deployed on NGINX server and there is no caching strategy defined in nginx.conf file.
ngsw-config.json
{
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"/.css",
"/.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}
]
}
angular.json
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"badgers-sett-web": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"prefix": "app",
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
}
},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/badgers-sett-web",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"assets": [
"src/assets",
"src/sw-assets",
"src/sw-master.prod.js",
"src/sw-master.js",
"src/manifest.json"
],
"styles": [
"src/styles/vendor.scss",
"node_modules/ol/ol.css"
],
"scripts": [
"src/preload.js"
]
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
}
],
"serviceWorker": true
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "badgers-sett-web:build"
},
"configurations": {
"production": {
"browserTarget": "badgers-sett-web:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "badgers-sett-web:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"assets": [
"src/assets",
"src/manifest.json"
],
"scripts": [
]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json"
],
"exclude": [
"/node_modules/"
]
}
}
}
},
"badgers-sett-web-e2e": {
"root": "e2e/",
"projectType": "application",
"prefix": "",
"architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "badgers-sett-web:serve"
},
"configurations": {
"production": {
"devServerTarget": "badgers-sett-web:serve:production"
}
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "tsconfig.e2e.json",
"exclude": [
"/node_modules/"
]
}
}
}
}
},
"defaultProject": "badgers-sett-web"
}
package.json
{
"name": "badgers-sett-web",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"config": "node -r dotenv/config ./src/env-config",
"start": "ng serve",
"build": "npm run config && ng build --prod",
"postbuild": "node ./src/leaflet-postbuild",
"test": "ng test",
"lint": "ng lint",
"updateChromeDriver": "node ./node_modules/protractor/bin/webdriver-manager update --gecko=false --versions.chrome '86.0.4240.111'",
"e2e": "npm run updateChromeDriver && ng e2e --webdriver-update=false"
},
"private": true,
"dependencies": {
"@angular/animations": "^8.2.14",
"@angular/cdk": "~8.2.3",
"@angular/common": "^8.2.14",
"@angular/compiler": "^8.2.14",
"@angular/core": "^8.2.14",
"@angular/flex-layout": "^8.0.0-beta.27",
"@angular/forms": "^8.2.14",
"@angular/material": "~8.2.3",
"@angular/platform-browser": "^8.2.14",
"@angular/platform-browser-dynamic": "^8.2.14",
"@angular/pwa": "^0.803.24",
"@angular/router": "^8.2.14",
"@angular/service-worker": "^8.2.14",
"@turf/turf": "^6.3.0",
"classlist.js": "^1.1.20150312",
"hammerjs": "^2.0.8",
"leaflet": "^1.6.0",
"leaflet-bing-layer": "^3.3.1",
"ngx-toast-notifications": "^1.3.0",
"ol": "~6.5.0",
"proj4": "^2.7.5",
"rxjs": "~6.4.0",
"tslib": "^1.10.0",
"web-animations-js": "^2.3.2",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.803.24",
"@angular/cli": "^8.3.24",
"@angular/compiler-cli": "^8.2.14",
"@angular/language-service": "^8.2.14",
"@types/hammerjs": "^2.0.36",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/leaflet": "^1.5.8",
"@types/node": "~8.9.4",
"codelyzer": "^5.2.1",
"dotenv": "^8.2.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^5.0.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.5.1",
"protractor": "^5.4.3",
"reflect-metadata": "^0.1.12",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.5.3"
}
}
main.ts
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './modules/app/app.module';
import { ENV } from './environments/environment';
if (ENV.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule)
.then(() => {
window.onerror = null;
})
.catch(err => {
onerror && onerror(err);
console.error(err);
});
index.html
<!doctype html>

Report Badger Sett

Please enable JavaScript to continue using the application.

Loading...

Below is the ngsw state when loaded from old main.ts:
NGSW Debug Info:
Driver state: EXISTING_CLIENTS_ONLY (Degraded due to failed initialization: Hash mismatch (cacheBustedFetchFromNetwork): https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/styles.3325f41cbadbb3190f1d.css: expected 121fad6a3b93c17d7cbb19d3bc53e551c95e8bf3, got f93c2ce11595fdf1bff5e5e9b32d9b653bf559bd (after cache busting)
Error: Hash mismatch (cacheBustedFetchFromNetwork): https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/styles.3325f41cbadbb3190f1d.css: expected 121fad6a3b93c17d7cbb19d3bc53e551c95e8bf3, got f93c2ce11595fdf1bff5e5e9b32d9b653bf559bd (after cache busting)
at PrefetchAssetGroup. (https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/ngsw-worker.js:699:35)
at Generator.next ()
at fulfilled (https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/ngsw-worker.js:320:62))
Latest manifest hash: 9d6a292bb5b1d062910e5a850e1b54461ba9e582
Last update check: 15s542u
=== Version 9d6a292bb5b1d062910e5a850e1b54461ba9e582 ===
Clients:
=== Idle Task Queue ===
Last update tick: 20s685u
Last update run: 15s684u
Task queue:
Debug log:
[15s608u] Error(Hash mismatch (cacheBustedFetchFromNetwork): https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/styles.3325f41cbadbb3190f1d.css: expected 121fad6a3b93c17d7cbb19d3bc53e551c95e8bf3, got f93c2ce11595fdf1bff5e5e9b32d9b653bf559bd (after cache busting), Error: Hash mismatch (cacheBustedFetchFromNetwork): https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/styles.3325f41cbadbb3190f1d.css: expected 121fad6a3b93c17d7cbb19d3bc53e551c95e8bf3, got f93c2ce11595fdf1bff5e5e9b32d9b653bf559bd (after cache busting)
at PrefetchAssetGroup. (https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/ngsw-worker.js:699:35)
at Generator.next ()
at fulfilled (https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/ngsw-worker.js:320:62)) Error occurred while updating to manifest 335b50112d40ffabb8d54c00722544e2f9a95dc6
[15s560u] Error(Hash mismatch (cacheBustedFetchFromNetwork): https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/styles.3325f41cbadbb3190f1d.css: expected 121fad6a3b93c17d7cbb19d3bc53e551c95e8bf3, got f93c2ce11595fdf1bff5e5e9b32d9b653bf559bd (after cache busting), Error: Hash mismatch (cacheBustedFetchFromNetwork): https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/styles.3325f41cbadbb3190f1d.css: expected 121fad6a3b93c17d7cbb19d3bc53e551c95e8bf3, got f93c2ce11595fdf1bff5e5e9b32d9b653bf559bd (after cache busting)
at PrefetchAssetGroup. (https://badger-sett-web-badger-sett-dev.apps.rhos.agriculture.gov.ie/ngsw-worker.js:699:35)
at Generator.next ()


text:
ngDevMode is not defined - regression since 15.2

Which @angular/* package(s) are the source of the bug?
core
Is this a regression?
Yes
Description
After upgrading from prior 15.2 to 15.2 or later (including latest 16.x), I am getting ngDevMode is not defined error on app load. The error is terminating, app does not load.
I am using custom webpack plugin and esbuild-loader to build my app.
I reproduced the issue using standard Angular boilerplate project here:

https://ng-esbuild-minify.netlify.app/
https://github.com/vzakharov-rxnt/ng-esbuild-minify

To prove that it works fine in 15.1, I created a branch where the issue is fixed, and opened a PR to merge. Only package.json was changed, downgrading Angular to 15.1. PR triggers CI build, so you can confirm that the issue is indeed fixed:

https://github.com/vzakharov-rxnt/ng-esbuild-minify/pull/1
https://deploy-preview-1--ng-esbuild-minify.netlify.app/

Please provide a link to a minimal reproduction of the bug
https://ng-esbuild-minify.netlify.app/
Please provide the exception or error you saw
core.mjs:11067 Uncaught ReferenceError: ngDevMode is not defined
    at 991 (core.mjs:11067:54)
    at a (bootstrap:19:30)
    at Ko (main.500e5851.js:391:239)
    at main.500e5851.js:391:254
    at l (jsonp chunk loading:34:28)
    at main.500e5851.js:1:90

Please provide the environment you discovered this bug in (run ng version)
Angular: 16.2.4
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1602.1
@angular-devkit/build-angular   16.2.1
@angular-devkit/core            16.2.1
@angular-devkit/schematics      16.2.1
@angular/cli                    16.2.1
@schematics/angular             16.2.1
rxjs                            7.8.1
typescript                      5.1.6
zone.js                         0.13.3

Anything else?
In a real production app, our custom webpack configuration file is more complex and required to make a hybrid AngularJS/Angular 16 app work.
We are using EsbuildPlugin to speed up prod build time by a factor of 2-3x, which is significant when it comes to CI/CD.

Hi @vzakharov-rxnt,
Custom webpack configurations are not supported by the Angular team. If the problem persists using the Angular CLI directly. please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior. You can use ng new repro-app to create a new project where you reproduce the problem.

@alan-agius4 Are you saying it's possible to build a hybrid app without custom webpack config?
Or are you not supporting hybrid apps either? (anymore)
Here is how our prod app config looks:
const webpack = require('webpack');
const { merge } = require('webpack-merge');

module.exports = (config, options) => {
  if (options.optimization) {
    // https://how-to.dev/how-to-speed-up-angular-cli-app-with-esbuild-loader
    // remove 2 first minimizers, hoping they are the TerserPlugin
    // config.optimization.minimizer.shift();
    // config.optimization.minimizer.shift();
    //
    // config.optimization.minimizer.unshift(
    //   new EsbuildPlugin({}),
    // );

    // Replacing TerserPlugin with ESBuildMinifyPlugin minimizer
    // speeds up the prod build time from 40-80 seconds down to 8-18 seconds
    // but bundle size is roughly 5% larger, worth the trade-off?
  }

  const newConfig = {
    devtool: 'source-map', // only required if using ESBuildMinifyPlugin, otherwise no source maps
    output: {
      filename: 'js/[name].[contenthash:8].js',
      chunkFilename: 'js/[name].[contenthash:8].js',
    },
    module: {
      rules: [
        {
          test: /\.html$/i, // only applicable to htmls referenced via require(...)
          loader: 'html-loader',
        },
        {
          test: /\.(png|jpe?g|gif)$/i, // only applicable to images referenced via require(...)
          type: 'asset/resource',
          generator: {
            filename: 'images/[name].[contenthash][ext]'
          }
        },
        {
          test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
          type: 'asset/resource',
          generator: {
            filename: 'fonts/[name].[contenthash:8][ext]'
          }
        },
      ]
    },
    plugins: [
      new webpack.ProvidePlugin({
        'window.jQuery': 'jquery',
        'jQuery': "jquery",
        '$': 'jquery',
      }),
    ],
    externals: { // prevent these libs from being included in the build
      "html2canvas": "html2canvas",
      "canvg": "canvg"
    }
  }

  return merge(config, newConfig);
}

The solution was so simple:
Changing
new EsbuildPlugin({})

to
new EsbuildPlugin({
   define: { ngDevMode: "undefined" },
})

Many thanks to JeanMeche!
Leaving it here for others to find via search engines.


text:
Generated tsconfig.json file should not list files.

Windows 10
Versions. Please run ng --version.

angular-cli: 1.0.0-beta.1
node: 4.2.6
os: win32 x64

Steps

create a new project using ng new project
switch to the directory and open VSCode 1.0.0 on it
open project.component.spec.ts and then project.component.ts

Observe that you get errors about unsupported decorators in the second file. The reason is that the generated tsconfig.json file has a files sections only including main.ts and typings.d.ts. Either the files section must list all src files or better be removed to cover all *.ts files automatically. Otherwise the files under src will not honor the tsconfig.json settings.

Generated output causes issues in IntelliJ IDEA as well:

With the generated files section it warns that it won't compile .ts files, as they are not listed in tsconfig.json
Without the files section IDEA is happy, but basic tasks like ng server or ng test fail with cryptic stacktraces containing a "Cannot find name 'module'." as hint.

I have created ts configuration files that work in VS Code and Broccoli. I posted them here: https://github.com/Microsoft/vscode/issues/8954#issuecomment-231960894.
It appears the two sets of settings are mutually exclusive. If I apply the VS Code Settings, Broccoli breaks. If I apply the Broccoli Settings, VS Code throws errors.
I can post more of my project if that will help. I can also give an individual access to our BitBucket repo.

I see a solution here for IntelliJ IDEA.
I'm not sure how I'm supposed to configure VS Code so the Editor and Broccoli are both happy.
Maybe I'm too thick to see the solution?
I tried looking at Broccoli for help. I have no idea where to start. They have hundreds of projects. Sorry to be such a newb.

Based on my conversations with Microsoft, the files attribute is a violation of the current standard for TS. This is the same issue that IDEA is having. It will also not work out of the box.
How would I raise this as an issue with Broccoli?
Does Broccoli have a newer compiler to which we can upgrade which is standards compliant?
Exactly which TS compiler is being used?

I have looked at broccoli-typescript.js and it looks like you are using that setting to filter the *.d.ts files that are used by the incremental compile. I commented out lines 59-61. That made me clean up the typings directory. However, I still have two problems:

I am using the jQuery typings definitions which appear to conflict with protractor's definition of '$' which is a little weird.
I am getting an error on the definition of modules asking me to use NodeModule. I am guessing this one of the reasons you wanted to filter the *.d.ts files?

Fixed by #1455.

authors: bentolor dbaeumer filipesilva rkralston


text:
fix(@angular-devkit/schematics): running external schematics with yarn pnp

This change addresses an issue encountered when running external schematics from a yarn pnp workspace.  The function used to resolve a collection json using node used recursion in a way that it effectively walked itself into an exception. Then if the exception is the type it expected, it would keep going.  This was flawed in that yarn with pnp throws a different type of error when it failed to load the mis-constructed collection path (e.g. /node_modules/@schematics/angular/collection.json/package.json).  ENOTDIR instead of MODULE_NOT_FOUND.
This process of intentionally / knowingly walking into an exception seems problematic in general.  So, I addressed it by removing the recursion that was used mainly because there's a similar need to construct the collection path from a relative path in the package.json as there is to construct the collection path from a relative path that's passed in.  Rather than leaning on the recursion to do this, I added the logic at the time we pull the schematics path from the package, and move on.
Since the recursion was removed, the infinite recursion safety check at the start wasn't needed anymore.
I've tested this in both yarn pnp and non-pnp environments.
PR Checklist
Please check to confirm your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/angular/angular-cli/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #25648
What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Fixes: #25648

Thank you for the contribution.
The recursion is used to facilitate the use of package references within the schematics field of which the referenced package name could then contain a schematics field in its package.json that then needs to be resolved. This scenario unfortunately is lacking test coverage currently.
The relative path case appears well covered within this change but the package reference case with schematics fields look s like it would fail here. This may lead to breakage of some schematics packages.

@clydin thanks for the feedback.  Do you happen to have an example of a package that has their collection declared in that way?  Just so I understand the use case correctly.  Or just as snipped of what that package.json entry might look like?

I went ahead and added the recursion back in, but after the check for relative path.  Let me know if you feel this addresses the package use-case.

source: gharchive/pull-request

authors: clydin michaelfaith


text:
Update i18n documentation (2.4.x): System is not defined

Following the i18n cookbook i get System is not defined.
Im using latest Angular CLI. My index.html looks like this:
<body>
  <app-root>Loading...</app-root>

  <script>
    // Get the locale id somehow
    document.locale = 'de';

    // Map to the text plugin
    System.config({
      map: {
        text: 'systemjs-text-plugin.js'
      }
    });

    // Launch the app
    System.import('app').catch(function(err){ console.error(err); });
  </script>
</body>

Took me ages to figure this out. Documentation should be updated. Probably the problem is that the documentation suggests Angular CLI which is not using system.js. Also System.js has the global namespace "SystemJS" instead of "System".

Download system.js, but it in root (/app) and import it before the script tag.
In index.html remove the System.import('app')
Rename everything from System to SystemJS (index.html, i18n-provides.ts)

Finally it looks like this:
index.html
<body>
  <app-root>Loading...</app-root>

  <script src="system.js"></script>
  <script>
    // Get the locale id somehow
    document.locale = 'es';

    // Map to the text plugin
    SystemJS.config({
      map: {
        text: 'systemjs-text-plugin.js'
      }
    });
  </script>
</body>

i18n-providers.ts
export function getTranslationProviders(): Promise<Object[]> {
   [...]
}

declare let SystemJS: any;

function getTranslationsWithSystemJs(file: string) {
  return SystemJS.import(file + '!text'); // relies on text plugin
}

That is not the proper solution for the CLI either.
We are cooking a solution for certain guides to provide alternative solutions for the CLI and webpack.
Closing as duplicated (#3238)

At least it is a solution. Someone who reads the cookbook is probably unexperienced like me and ends frustrated there.

Believe me, it is not. That will only lead to more grief and pain.

Could you please explain why its pain because my project is nearly in production with this.

Because you are mixing different loaders. CLI uses webpack so you need to use a webpack solution. System.JS is another option.
It is like riding a motorbike inside a car because one tire was flat.
@filipesilva do you have any idea in how to do it with the CLI?

Ah okay see i didn't know that! Funny to clear that light in the dark.
I wouldn't compare it like this. Lets say i drive with a car around the world but to get food i use a motorcycle?
So the only need of system.js in my project is to load the translation files. There are probably lighter solutions than 18kb JavaScript + text-plugin.

I wouldn't compare it like this. Lets say i drive with a car around the world but to get food i use a motorcycle?

No, you are mixing both together, at the same time.
I bet the CLI can load your translations files without anything extra nor system.js.
Let's see if Filipe has something to say or I will try later myself.

I guess its good like this because i use AOT-compilation while he grabs translations with system.js JIT. (AOT translation-documentation is missing some extra work which is not covered on official documentation nor anywhere i found)

Heya @MickL, I have good news and bad news.
Good news is that i18n use/extract functionality is present in the CLI. Bad news is that it's fairly new it's not well documented.
We have an issue to track documentation for this, but it hasn't been documented yet: https://github.com/angular/angular-cli/issues/2711
The best I can do right now is to point you to the tests to see how we test it's working. The gist of it is that you can extract the messages using ng xi18n and use files with ng build --aot --i18n-file.
Translation usage test: https://github.com/angular/angular-cli/blob/master/tests/e2e/tests/build/aot/aot-i18n.ts
Extraction tests: https://github.com/angular/angular-cli/tree/master/tests/e2e/tests/i18n

Correct me if I'm wrong, from what I see in the tests, it seems the i18n is static? You cant have a multi-lang application? You have to build one application for each language?

The documentation shows the JIT method where you have only one build. Actually i use AOT prebuild app with JIT translations. You could improve performance by prebuild every language separate.

Yes but as @Foxandxss said the JIT method use SystemJS, it's not a viable option.

@filipesilva Does it create a single index.html and a separate build for every language? Would be awesome!

So is a JIT version for i18n translations in CLI coming or will there only be AOT support?

authors: Foxandxss MeMeMax MichaelBitard MickL filipesilva


text:
angular.equals(/lol/, new Date)  // TRUE

angular.equals(/lol/, new Date)  // TRUE
bug

This is a valid bug. Sent #11205 to fix this.

thank you

authors: Maxmaxmaximus pkozlowski-opensource


text:
$anchorScroll only working on second click

http://plnkr.co/qw6Wtikz1hwgbGMHyqqY

The problem here is that by default there is no hashPrefix specified on the $locationProvider, which means that in your sample, the URLhttp://run.plnkr.co/plunks/qw6Wtikz1hwgbGMHyqqY/#Ipsum gets interpreted as a hash bang path, i.e. http://run.plnkr.co/plunks/qw6Wtikz1hwgbGMHyqqY/#/Ipsum, where $location.path() === 'Ipsum' and $location.hash() === ''.
The second time you click the link then the path gets interpreted as http://run.plnkr.co/plunks/qw6Wtikz1hwgbGMHyqqY/#/Ipsum#Ipsum, where  $location.path() === 'Ipsum' and $location.hash() === 'Ipsum'.
A workaround for this is to provide a hashPrefix to $locationProvider as in http://plnkr.co/edit/0FJzVI86GNG15ga5J8Ie?p=preview
app.config(function($locationProvider) {
  $locationProvider.hashPrefix('!');
});

But I have a feeling that there is a bug in here somewhere...

Just a sidenote: Note that since v1.4.0-rc.0, you can pass a hash explicitly to $anchorScroll. E.g.:
$anchorScroll('Ipsum')

but it doesn't update the $location.hash, so won't work for deep linking.
--
@petebacondarwin, basically, when setting $location.hash(xyz) and there is no # (which is legitimate when the path is empty), $location will set the path to xyz (instead). This sounds like a bug indeed.
Couldn't $location.hash check for the existence of # (in non-html5 mode) and add it before setting the hash ?

Would the back button work with explicit?
On Apr 29, 2015 8:22 AM, "Georgios Kalpakas" notifications@github.com
wrote:

Just a sidenote: Note that since v1.4.0-rc.0, you can pass a hash
explicitly to $anchorScroll. E.g.:
$anchorScroll('Ipsum')
but it doesn't update the $location.hash, so won't work for deep linking.
@petebacondarwin https://github.com/petebacondarwin, basically, when
setting $location.hash(xyz) and there is no # (which is legitimate when
the path is empty), $location will set the path to xyz (instead). This
sounds like a bug indeed.
Couldn't $location.hash check for the existence of # (in non-html5 mode)
and add it before setting the hash ?
—
Reply to this email directly or view it on GitHub
https://github.com/angular/angular.js/issues/11749#issuecomment-97406196
.

I've been having issues also where I can get things to work with the anchorScroll but with an offset, it has this flashing problem. It's a bummer, I'm deep into this project and they use a lot of anchor tags and I'm using a fixed header for a phonegap biz app. I'm seriously considering dumping angular for the project just because I can't get around this issue.

The explicit hash, only scrolls to the anchor. It doesn't change the URL, so it doesn't affect the history (so back button won't work).
What issues do you have with the offset ? The flashing issues is related to `$location.hash()

I haven't worked up a plunker for the offset issue. I was just hoping that if this flashing issue worked with $location.hash then it would solve my other issue. And the issue for me is inconsistent. For some pages it works ok and for some not and I haven't figured out what it might be. One thing that made me wonder was finding someone talking about timing issues with when the content loads. Because the other thing is I'm loading in pages using the router into an ng-view. So I'm taking user content and building out just content pages and inserting them into ng-view and a lot of these pages have the anchor tags. There is something in that brew that's causing me these problems. Sorry I don't know more yet and thanks for asking.

I think this problem is based around the crazy way the browser URL updates are captured and how we then try to massage them in HashBangLocation mode.
There are quite a few other issues, which I suspect are related to this in some way: #11486, #11693, #11656, etc...
We need to have a good hard look at this part of the location service. I will spend some time this afternoon on it. @gkalpak it would be great if you were online to bounce ideas off.

I believe this is not fixed in master. See http://plnkr.co/edit/l8ICzAJEuJqL68mR71R1?p=preview

Indeed from testing different commits, I believe it is f81ff3b, which fixed it.

authors: gkalpak jimknight petebacondarwin


text:
$http multidimensional params

I need to send a multidimensional object as params from a get request, but when I do that, the second level of my object is encoded to json, not url pattern
Code:
$http({
  method: 'get',
  url: 'http://localhost/',
  params: { filters: { filterOne: 'filterValue' } }
})

Requested URL:
http://localhost/?filters=%7B%22filterOne%22:%22filterValue%22%7D

URL that I need to request:
http://localhost/?filters[filterOne]=filterValue

it should work like this? What I can do to get the expected result?
Tks

Angular's default paramSerializer stringifies objects as JSON. If you want to overwrite that behaviour, you can use the paramSerializer property of the $http config object, e.g. specifying your own serialization function (or dependency-injected factory).
If you want to serialize the parameters in the way jQuery does (which seems likely based on your example), you can use the built-in httpParamSerializerJQLike:
$http({
  method: 'GET',
  url: 'http://localhost/',
  params: {filters: {filterOne: 'filterValue'}},
  paramSerializer: '$httpParamSerializerJQLike'   // ...or any custom serializer
});

If you want to overwrite the serialization for all requests made by $http (and not have to do it on a per-request basis), you can specify the default serializer in $httpProvider.defaults.paramSerializer.
--
BTW, for general support questions (such as this one), please use one of the appropriate support channels.
GitHub issues are reserved for bug reports and feature requests.

authors: gkalpak vineck


text:
Invoking $mdDialog message dialog from node module

In order to show up a $mdDialog message dialog instead of a native alert message box, could you please give me some hints for the way how to require an Angular JS material component to show up a $mdDialog in Node.js style module which will be bundled into a client side.
NB: I'm using browserify in order to bundle all required module at a app.js file which will be injected later into an Angular JS as a constant.
I already injected all Angular JS and Angular JS Material into the client side via bower.
'use strict';

var CustomModeler = require('./custom-modeler/CustomModeler');

angular.module('ng-app')
   .constant('CustomModeler', CustomModeler)
  .constant('contextMenu', $.contextMenu)

thanks in advance.

You need to add require('angular-material') to the AngularJS module dependencies or Browserify won't pick it up.
This is not a bug report, though. Please look for programming help on Stack Overflow.

authors: dgouissem mgol


text:
ERROR in Metadata version mismatch for module /home/x/Desktop/koohbaad-web/node_modules/angular-2-local-storage/dist/index.d.ts, found version 4, expected 3, resolving symbol AppModule in /home/x/Desktop/koohbaad-web/src/app/app.module.ts, resolving symbol AppModule in /home/x/Desktop/koohbaad-web/src/app/app.module.ts, resolving symbol AppModule in /home/x/Desktop/koohbaad-web/src/app/app.module.ts

Package.json
{
"name": "koohbad-tour",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve --host 192.168.1.193",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@agm/core": "^1.0.0-beta.0",
"@angular/animations": "^4.",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"@types/underscore": "^1.8.0",
"angular-2-local-storage": "",
"angular-star-rating": "^3.0.8",
"angular2-masonry": "^0.4.0",
"angular2-recaptcha": "",
"angular2-text-mask": "^8.0.1",
"core-js": "^2.4.1",
"enhanced-resolve": "^3.3.0",
"jquery": "^3.2.1",
"ng-lazyload-image": "^3.3.3",
"ng-select": "^1.0.0-beta.5",
"ng2-select2": "^1.0.0-beta.10",
"ngx-infinite-scroll": "^0.5.1",
"node-sass": "^4.7.2",
"rxjs": "^5.1.0",
"screenfull": "^3.3.1",
"underscore": "",
"web-animations-js": "^2.2.5",
"zone.js": "^0.8.4",
"ngx-swiper-wrapper": "4.0.0"
},
"devDependencies": {
"@angular/cli": "1.0.0",
"@angular/compiler-cli": "^3.0.0",
"@types/jasmine": "2.5.38",
"@types/jquery": "^2.0.42",
"@types/node": "~6.0.60",
"codelyzer": "~2.0.0",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.2.0",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"ngx-dropzone-wrapper": "^4.0.3",
"protractor": "~5.1.0",
"ts-node": "~2.0.0",
"tslint": "~4.5.0",
"typescript": "~2.2.0"
}
}

Doesn't seem related to AngularFire, closing.

Looks like the angular-2-local-storage version you're using expects version 4 of angular, not 3. If this is a bug you're going to have to find and file an issue with that project. We have nothing to do with them, we're Firebase.


text:
How to use sendPasswordResetEmail?

I see in this link  sendPasswordResetEmail but somehow it's not supported when I use:
    this.af.auth.sendPasswordResetEmail({
      "email": email
    });

Any examples, or is this not yet implemented?

Closed as per https://github.com/angular/angularfire2/pull/195

Hi @mjabian,
Please look at my comment on #220, for a possible solution.

using this code
`import { AngularFire, AngularFireAuth } from 'angularfire2';
import { Injectable } from '@angular/core';
//import * as firebase from "firebase";
//declare var firebase: any;
@Injectable()
export class AuthService {
firebaseAuth: AngularFireAuth;
constructor(private _AngularFire: AngularFire) {
this.firebaseAuth = _AngularFire.auth;
}
resetPassword(email: string): Promise {
return firebase.auth().sendPasswordResetEmail(email);
}
}`
console error -->  Q {code: "auth/internal-error", message: "17"}

Looks like this can be closed as the answer can be found here: https://github.com/angular/angularfire2/issues/220#issuecomment-235373945

@Splaktar  using #220  but console errror...
POST https://www.googleapis.com/identitytoolkit/v3/relyingparty/getOobConfirmationCode?key=AIza 503 login.ts:30 failed Error: 17

authors: Splaktar bangonkali julienevano mjabian shamrozwarraich


text:
Sidenav toggle button doesn't clear the button focus state

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/fork/components-issue
Steps to reproduce:

Click on sidenav toggle button  on the default Angular Material Example
https://stackblitz.com/angular/rxplkxebyor?file=src%2Fapp%2Fsidenav-disable-close-example.ts

Close Reason backdrop clears the toggle button state but not the toggle button.

Expected Behavior
What behavior were you expecting to see?
Sidenav toggle button should work same as the backdrop click.
Actual Behavior
What behavior did you actually see?
Sidenav toggle button doesn't clear the cdk-focus on the nav button
Environment

Angular: 8..2.15
CDK/Material: 8.2.3
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): Windows

Focus is moved in both cases, we just set a different focus origin when restoring focus to the button which makes it look different. Buttons are styled so that they only show focus indication if focus came in from a keyboard interaction or programmatically.

Hello! It looks like clicking on the backdrop fails some restoreFocus checks, and the focus will not be properly restored. Hence clicking on the backdrop does not cause the button focus state.
It would actually be expected that also backdrop click shows the focus state on the button, plus it being actually focused.

authors: crisbeto devversion mpoonuru

repo: angular/components


text:
bug(overlay): Push calculation is wrong with FlexibleConnectedPositionStrategy

Bug description
Push calculation is wrong in this line. Maybe in the next lines also, but I did not check it yet.
I tried to add an element, that perfectly fits, but I could not. I realized that the double of the original margin is used on the right side. I used LTR.
Input
Take a document, that has 400px width. The margin is 20px on the viewport of the overlay. I tried to add one overlay at (300, 20) with size of (80,40). I will use this in the stackblitz and in the calculations.
Reproduction
https://stackblitz.com/edit/angular-ardamx

As you see the overlay is positioned well at the begining. 100px is the container. 80px is the overlay. 10-80-10 is well positioned.
If the body element is 420px width, the position is right. 0-80-20.
If the body is shrinked more to 400px, the position will not be 0-80-20, however it could fit.
Expected Behavior
pushX to be 0 in this case. The element should fit without pushing it. The margin should be 20px on the right, too.
Actual Behavior
start.x is 300, the width is 80 as these are given. The viewport width is 360px (=400px-2*20px).
pushX will be -20 as overflowRight is 20. This is calculated by 300+80-360=20.
This is wrong. The element can fit without pushing it. The margin is now the double of the originally given, which is 40px in this case.
Environment

Angular: 10.1.3
CDK/Material: 10.2.5
Browser(s): Chrome (Could be any)
Operating System (e.g. Windows, macOS, Ubuntu): macOS (Could be any)

This should work. As the width contains the margin 2 times.
const overflowRight = Math.max(start.x + overlay.width - viewport.width + this._viewportMargin, 0);
const overflowBottom = Math.max(start.y + overlay.height - viewport.height + this._viewportMargin, 0);

However I found that, the vertical push is not working until horizontal push appears.
I have made some modifications on the stackblitz.

The code now is:
const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);
const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);

{
  top:    scrollPosition.top + this._viewportMargin,
  left:   scrollPosition.left + this._viewportMargin,
  right:  scrollPosition.left + width - this._viewportMargin,
  bottom: scrollPosition.top + height - this._viewportMargin,
  width:  width  - (2 * this._viewportMargin),
  height: height - (2 * this._viewportMargin),
}

So, the overflowTop is this._viewportMargin - start.y. Same goes for Left.
start is a global coordinate.  The scroll position should not be removed from viewport, as making it local to the screen. The code should be the following:
const overflowTop = Math.max(viewport.top - start.y, 0);
const overflowLeft = Math.max(viewport.left - start.x, 0);

The margin is added one here in top and left. That's why it should work correctly.
May I create a pull request or two for this? I will make the changes if you approve.
P. S.
It would be a good first issue for me. This would be my first contribution to @angular/components.

if (overlay.width <= viewport.width) {
  pushX = overflowLeft || -overflowRight;
} else {
  pushX = start.x < this._viewportMargin ? (viewport.left - scrollPosition.left) - start.x : 0;
}

if (overlay.height <= viewport.height) {
  pushY = overflowTop || -overflowBottom;
} else {
  pushY = start.y < this._viewportMargin ? (viewport.top - scrollPosition.top) - start.y : 0;
}

At this part the (viewport.top - scrollPosition.top) can be simplified as this._viewportMargin.
I cannot find it out why it is not pushed vertically, when there is no horizontal push. That could be a new pull request.

I also found the problem for the pushing vertically. _pushOverlayOnScreen is not called so the problem was not there. The reason is this._isPushed was not true. It is set when the overlay not fits.
I have found that the _getOverlayFit function does not take the margins and the scroll into count.
The code should be:
let leftOverflow = viewport.left - x;
let rightOverflow = (x + overlay.width) - (viewport.left - viewport.width);
let topOverflow = viewport.top - y;
let bottomOverflow = (y + overlay.height) - (viewport.top - viewport.height);

Viewport contains the margin and the currect scroll state. This should work.


text:
bug(Drag and Drop): Adding items to a dropList while dragging breaks cdkDrag element layout

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
Adding items to the dragList element while dragging causes miscalculation in their layout.
I've seen that "infinite scrolling isn't supported". Combining the virtual scroller CDK seems like at least a todo-worthy feature.
Either way this issue is specifically regarding a bug that occurs when adding items to a dropList array (while dragging) breaks the appearance and usability of that list.
Reproduction
Steps to reproduce: Repro

drag any item in the Todo list to the bottom of the list to push an additional 10 items onto the array
continue dragging to see that some drag elements are now of varying heights and drop zones are overlapped.

Expected Behavior
Manipulating an array which drives drag and drop list data does not break the layout in any scenario.
Actual Behavior
Broken calculation of layout.
Environment
"@angular/animations": "~13.0.0",
"@angular/cdk": "13.2.6",
"@angular/common": "~13.0.0",
"@angular/compiler": "~13.0.0",
"@angular/core": "~13.0.0",
"@angular/forms": "~13.0.0",
"@angular/material": "13.2.6",
"@angular/platform-browser": "~13.0.0",
"@angular/platform-browser-dynamic": "~13.0.0",
"@angular/router": "~13.0.0",
"rxjs": "~7.4.0",
"tslib": "^2.3.0",
"zone.js": "~0.11.4"

This is the same root cause as https://github.com/angular/components/issues/14703. cdk/drag-drop "locks in" the dimensions of the container at the start of the dragging sequence for performance reasons.

authors: BenRacicot crisbeto


text:
fix(datepicker): wait for exit animation to finish before detaching content

This is something I ran into while working on aligning the datepicker with the most-recent Material design spec. Since #9639 we use a portal outlet to render the calendar header. The portal outlet directive will detach in ngOnDestroy and it won't wait for the parent animation to finish, which ends up shifting the entire calendar up while it's animating away. The only reason that this isn't visible at the moment is because the current animation isn't configured correctly, which causes it to go to opacity: 0 immediately.
For reference:

I went back to rebase this, but I think that the issue was addressed as a part of the refactor in 7039d3e00576e632da7f9cb15bc0fa623dd82a1e.


text:
fix(paginator): button labels being read out twice by assistive technology

Currently the paginator has an aria-label and a tooltip with the same text which sets an aria-describedby. The result is that screen readers read out the same text twice which is  unnecessary. These changes remove the aria-label, leaving only the ARIA descriptions from the tooltips.

This isn't really the best approach. The buttons should keep their aria-label and lose the duplicate aria-describedby.

The result seems to be the same though: the screen reader just reads out something like "Next page" when you focus the input in both cases.

At least for audit tools like axe, though, the assertion is that every button has a "label", which aria-describedby does not satisfy. I don;' know without testing, but I suspect some screen-readers might also treat them differently.

This change shouldn't be necessary anymore after the fix in #15250.

authors: crisbeto jelbourn


text:
feat(material/core): expose new @use-based Sass API

Reworks the public Sass API to take advantage of @use in order to allow for a single
entry point into @angular/material or @angular/cdk. Some mixins and variables were
renamed in order be a better reflection of what they do.
Before:
@import '~@angular/material/theming';
@include mat-core();

$candy-app-primary: mat-palette($mat-indigo);
$candy-app-accent:  mat-palette($mat-pink, A200, A100, A400);
$candy-app-warn:    mat-palette($mat-red);

$candy-app-theme: mat-light-theme((
  color: (
    primary: $candy-app-primary,
    accent: $candy-app-accent,
    warn: $candy-app-warn,
  )
));

@include angular-material-theme($candy-app-theme);

After:
@use '~@angular/material' as mat;
@include mat.core();

$candy-app-primary: mat.define-palette(mat.$indigo-palette);
$candy-app-accent:  mat.define-palette(mat.$pink-palette, A200, A100, A400);
$candy-app-warn:    mat.define-palette(mat.$red-palette);

$candy-app-theme: mat.define-light-theme((
  color: (
    primary: $candy-app-primary,
    accent: $candy-app-accent,
    warn: $candy-app-warn,
  )
));

@include mat.all-component-themes($candy-app-theme);

@jelbourn I've addressed the feedback by doing the following:

Switched a few of our internal themes to use the new API (dev app, e2e app etc). I had to revert my changes to the prebuilt themes, because I couldn't figure out how to format the path correctly. It would have to be something like @use '../../index' as mat;, but the compiler complained about it.
I've split up the text-field mixin from the CDK into text-field-autosize and text-field-autofill.

Note that the CI is currently failing, because CircleCI is down. I'll make sure that it's green once Circle is back up.

Caretaker note: this change might require a build file update. It shouldn't break anything in Google, but let me know if it does. Once it's synced we can follow-up with a change to allow Google apps to use the new APIs (which will require some fun and exciting copybara tweaking)


text:
Looking for an angular2 material ribbon

Bug, feature request, or proposal:
This is a feature request.
What is the expected behavior?
I am looking for a Angular Material2 Ribbon like this one https://dhtmlx.com/docs/products/dhtmlxRibbon/ but for now I did not found any example.
What is the current behavior?
No component exists for now.
We are testing a combination of basic material components here https://stackblitz.com/edit/angular-mat2-ribbon
What are the steps to reproduce?
not applicable
What is the use-case or motivation for changing an existing behavior?
I use for several years ExtJs framework and now I want to migrate to Angular Material, but I did'nt the correspondance for each components. For example is "Ext.Panel" the same as "mat-card" ?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular, Material
Is there anything else we should know?
no

I think it's not hard to combine existing components to achieve this.
https://stackblitz.com/edit/angular-material-ribbon-demo?file=app%2Fapp.component.html
All you have to do is add more layout style.

This isn't something we would add to the library itself, as it's not something captured by the Material Design spec.

authors: jelbourn legalbox wellwind


text:
md-icon SVG's registered with different names but second SVG overrides things in the first SVG

Bug, feature request, or proposal:
This is a bug with md-icon here is the use case I have, I have two SVG icons that are similar but the icon of them in the middle and the fill change. What happens is the second SVG overrides the fill of the first SVG for some reason.
What is the expected behavior?
I would expect since these two icons are named differently and are different svgs they shouldn't have conflicts with each other and change things about each other.
What is the current behavior?
The second SVG icon will override the first SVG icon's fill to its fill etc...

How the first icon is supposed to look:

What are the steps to reproduce?
Have two SVG icons with different fills and the first will override the second's fill.
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: https://goo.gl/DlHd6U
Another bug is the Plunker template is currently broken... so I am going to create the example via a commit to my fork's master:
https://github.com/alexw10/material2/commit/19d234ff2e22c565fc6a60ee0f10135b65ea5602
In the above example if I take away the second SVG icon and only put test1 in the dom it renders as the proper icon and is red etc...
Above is to show what I am seeing.
What is the use-case or motivation for changing an existing behavior?
Use case is having separate svgs should always render svgs as they are.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Whatever is in master currently for each of these, Mac, Chrome.
Is there anything else we should know?

Ah, okay I think this can be closed, I think the solution is to just make sure the SVG icons classes are not the same... this solved it.
Sorry I didn't know much about SVG and such before creating this. I am going to go ahead and close.


text:
Filtering http-table with Observable as data source error

If I try to combine the examples of table-filtering and http-table, so I can use the Observable returned by my API as DataSource, I run into the error that the connect function can't operate with the Observable from the Database. Instead it is creating an Observable<Observable<UserData[]>>.
Is this a bug? And if not maybe there is someone that can show me a working example of filtering AND an Observable as DataSource.

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.

authors: jelbourn swungdash


text:
Live candlestick chart test

Has anyone tried to test live candlestick chart ?
like in this sites: http://www.amcharts.com/demos/candlestick-chart/
http://www.highcharts.com/demo/dynamic-update/grid-light

Please read the contributing guidelines; these types of questions are ill-suited for GitHub. Thanks!

authors: JackyTrad hankduan

repo: angular/protractor


text:
cannot run Protractor on a docker image

Bug report
I'm trying to run e2e tests on CircleCI 2.0 infrastructure using a simple custom docker image, but it seems like if I use the directConnect flag, it does't work.
I'm using Alpine with Chromium 61 in the docker images. I'm not sure if this fails because I'm using Chromium and not Chrome.

Node Version: 8.9
Protractor Version: 5.2.0
Angular Version: 5.0.3
Browser(s): Chromium
Operating System and Version Ubuntu 14
Your protractor configuration file

// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const {SpecReporter} = require('jasmine-spec-reporter');

exports.config = {
    allScriptsTimeout: 11000,
    specs: [
        './e2e/**/*.e2e-spec.ts'
    ],
    capabilities: {
        browserName: 'chrome',
        // Run tests in a headless Chrome
        // https://github.com/angular/protractor/blob/master/docs/browser-setup.md#using-headless-chrome
        chromeOptions: {
            args: [
                // IMPORTANT: Required flag for running Chrome in unprivileged Docker,
                // see https://github.com/karma-runner/karma-chrome-launcher/issues/125#issuecomment-312668593
                '--no-sandbox',
                '--headless',
                '--disable-gpu'
            ]
        }
    },
    // TODO: Try to figure out why using directConnect doesn't work
    directConnect: true,
    baseUrl: 'http://localhost:4224/',
    framework: 'jasmine',
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        print: () => {}
    },
    onPrepare() {
        // Add jasmine spec reporter
        jasmine.getEnv()
            .addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
        // Compile TS files
        require('ts-node').register({
            project: 'e2e/tsconfig.e2e.json'
        });
    }
};

A relevant example test

import {AppPage} from './portal.po';

describe('App', () => {
    let page: AppPage;

    beforeEach(() => {
        page = new AppPage();
    });

    it('should display welcome message', () => {
        page.navigateTo();
    });
});

Output from running the test

(node:60) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

webpack: Compiled successfully.
[12:19:40] I/file_manager - creating folder /root/gva-travel/node_modules/webdriver-manager/selenium
[12:19:40] I/update - chromedriver: unzipping chromedriver_2.33.zip
[12:19:41] I/update - chromedriver: setting permissions to 0755 for /root/gva-travel/node_modules/webdriver-manager/selenium/chromedriver_2.33
[12:19:41] I/launcher - Running 1 instances of WebDriver
[12:19:41] I/direct - Using ChromeDriver directly...
[12:19:41] E/launcher - spawn /root/gva-travel/node_modules/webdriver-manager/selenium/chromedriver_2.33 ENOENT
[12:19:41] E/launcher - Error: spawn /root/gva-travel/node_modules/webdriver-manager/selenium/chromedriver_2.33 ENOENT
    at _errnoException (util.js:1024:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:372:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
[12:19:41] E/launcher - Process exited with error code 199
npm ERR! code ELIFECYCLE
npm ERR! errno 199
npm ERR! gva-travel@0.0.0 e2e:ci: `ng e2e --prod --no-progress --no-live-reload --no-watch --port 4224`
npm ERR! Exit status 199
npm ERR!
npm ERR! Failed at the gva-travel@0.0.0 e2e:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2017-11-25T12_19_41_356Z-debug.log
Exited with code 199

Steps to reproduce the bug
The URL you are running your tests against (if relevant)

And if I try without it I get:
(node:73) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.

webpack: Compiled successfully.
[13:44:06] I/update - chromedriver: file exists /root/gva-travel/node_modules/webdriver-manager/selenium/chromedriver_2.33.zip
[13:44:06] I/update - chromedriver: unzipping chromedriver_2.33.zip
[13:44:06] I/update - chromedriver: setting permissions to 0755 for /root/gva-travel/node_modules/webdriver-manager/selenium/chromedriver_2.33
[13:44:06] I/update - chromedriver: chromedriver_2.33 up to date
[13:44:06] I/launcher - Running 1 instances of WebDriver
[13:44:06] I/local - Starting selenium standalone server...
[13:44:07] I/local - Selenium standalone server started at http://172.19.0.3:37615/wd/hub
[13:44:27] E/launcher - Timed out waiting for driver server to start.
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: host: '338ac0b1aeda', ip: '172.19.0.3', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-97-generic', java.version: '1.8.0_151'
Driver info: driver.version: unknown
[13:44:27] E/launcher - WebDriverError: Timed out waiting for driver server to start.
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: host: '338ac0b1aeda', ip: '172.19.0.3', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-97-generic', java.version: '1.8.0_151'
Driver info: driver.version: unknown
    at Object.checkLegacyResponse (/root/gva-travel/node_modules/selenium-webdriver/lib/error.js:546:15)
    at parseHttpResponse (/root/gva-travel/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/root/gva-travel/node_modules/selenium-webdriver/lib/http.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/root/gva-travel/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
    at Function.createSession (/root/gva-travel/node_modules/selenium-webdriver/chrome.js:761:15)
    at createDriver (/root/gva-travel/node_modules/selenium-webdriver/index.js:170:33)
    at Builder.build (/root/gva-travel/node_modules/selenium-webdriver/index.js:626:16)
    at Local.getNewDriver (/root/gva-travel/node_modules/protractor/built/driverProviders/driverProvider.js:53:33)
    at Runner.createBrowser (/root/gva-travel/node_modules/protractor/built/runner.js:195:43)
    at q.then.then (/root/gva-travel/node_modules/protractor/built/runner.js:339:29)
    at _fulfilled (/root/gva-travel/node_modules/protractor/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/root/gva-travel/node_modules/protractor/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/root/gva-travel/node_modules/protractor/node_modules/q/q.js:796:13)
    at /root/gva-travel/node_modules/protractor/node_modules/q/q.js:604:44
    at runSingle (/root/gva-travel/node_modules/protractor/node_modules/q/q.js:137:13)
    at flush (/root/gva-travel/node_modules/protractor/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
[13:44:27] E/launcher - Process exited with error code 199
npm ERR! code ELIFECYCLE
npm ERR! errno 199
npm ERR! gva-travel@0.0.0 e2e:ci: `ng e2e --prod --no-progress --no-live-reload --no-watch --port 4224`
npm ERR! Exit status 199
npm ERR!
npm ERR! Failed at the gva-travel@0.0.0 e2e:ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2017-11-25T13_44_28_022Z-debug.log
Exited with code 199

And a final note, if I set the path to the chromedriver that's installed on the system via chromeDriver: '/usr/bin/chromedriver', then the tests run just fine.

@rolandjitsu I would suggest to not put tests and chrome in same container - for scalability and stability reasons. This allows to use ready-to-use official selenium images for browsers, and in future you might use selenium grid easily. Or even some other selenium grid replacement like Selenoid: https://medium.com/@aandryashin/selenium-done-in-60-seconds-176796f8bdc7
You can take my gist as example: https://gist.github.com/Xotabu4/a243d9ff25cfe276bcaa0175fb6a4b00

@Xotabu4 I was not aware you could do that on CircleCI. Thanks.

Experiencing more or less the same issue now.  Have a container setup with Xvfb and Firefox, attempting to run some Protractor tests against a webapp in a separate container, using an environment variable to provide the address.
The tests run fine locally, but once I docker build and docker run the image, the tests fail with the following:
[14:00:48] D/launcher - Running with --troubleshoot
[14:00:48] D/launcher - Protractor version: 5.3.0
[14:00:48] D/launcher - Your base url for tests is https://192.168.1.69:8443
(node:25) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
[14:00:48] I/launcher - Running 1 instances of WebDriver
[14:00:48] I/direct - Using FirefoxDriver directly...
[14:01:49] E/launcher - address not available
[14:01:49] E/launcher - WebDriverError: address not available
    at Object.throwDecodedError (/opt/smoke-test/node_modules/selenium-webdriver/lib/error.js:514:15)
    at parseHttpResponse (/opt/smoke-test/node_modules/selenium-webdriver/lib/http.js:519:13)
    at doSend.then.response (/opt/smoke-test/node_modules/selenium-webdriver/lib/http.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:160:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/opt/smoke-test/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
    at Function.createSession (/opt/smoke-test/node_modules/selenium-webdriver/firefox/index.js:521:41)
    at Direct.getNewDriver (/opt/smoke-test/node_modules/protractor/built/driverProviders/direct.js:105:33)
    at Runner.createBrowser (/opt/smoke-test/node_modules/protractor/built/runner.js:195:43)
    at q.then.then (/opt/smoke-test/node_modules/protractor/built/runner.js:339:29)
    at _fulfilled (/opt/smoke-test/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/opt/smoke-test/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/opt/smoke-test/node_modules/q/q.js:796:13)
    at /opt/smoke-test/node_modules/q/q.js:556:49
    at runSingle (/opt/smoke-test/node_modules/q/q.js:137:13)
[14:01:49] E/launcher - Process exited with error code 199

The 199 code is the "kitchen sink" error code & doesn't give a lot to go on.  The most notable line is
E/launcher - address not available, which seems important, but I'm not quite sure what to track down to resolve.  Its not clear who or what is asking for the address or what kind of address is desired.

Hello im trying to run the test on docker and i get the following error, i am using gulp angular protractor, is this a known issue?

gulp protractor:local

[12:50:23] Using gulpfile ~/gulpfile.js
[12:50:23] Starting 'webdriver-update'...
[12:50:23] I/file_manager - creating folder /root/node_modules/protractor/node_modules/webdriver-manager/selenium
[12:50:26] I/update - chromedriver: unzipping chromedriver_2.36.zip
[12:50:27] I/update - chromedriver: setting permissions to 0755 for /root/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.36
[12:50:45] I/update - geckodriver: unzipping geckodriver-v0.19.1.tar.gz
[12:50:45] I/update - geckodriver: setting permissions to 0755 for /root/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.19.1
[12:50:45] Finished 'webdriver-update' after 22 s
[12:50:45] Starting 'protractor:local'...
(node:39) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
[12:50:46] I/launcher - Running 1 instances of WebDriver
[12:50:46] I/local - Starting selenium standalone server...
[12:50:46] I/local - Selenium standalone server started at http://192.168.1.15:41366/wd/hub
[12:51:06] E/launcher - Timed out waiting for driver server to start.
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:15.31Z'
System info: host: 'ultra', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.13.0-36-generic', java.version: '1.8.0_121'
Driver info: driver.version: unknown
[12:51:06] E/launcher - WebDriverError: Timed out waiting for driver server to start.
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:33:15.31Z'
System info: host: 'ultra', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.13.0-36-generic', java.version: '1.8.0_121'
Driver info: driver.version: unknown
    at Object.checkLegacyResponse (/root/node_modules/selenium-webdriver/lib/error.js:546:15)
    at parseHttpResponse (/root/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/root/node_modules/selenium-webdriver/lib/http.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/root/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
    at Function.createSession (/root/node_modules/selenium-webdriver/chrome.js:761:15)
    at createDriver (/root/node_modules/selenium-webdriver/index.js:170:33)
    at Builder.build (/root/node_modules/selenium-webdriver/index.js:626:16)
    at Local.getNewDriver (/root/node_modules/protractor/built/driverProviders/driverProvider.js:53:33)
    at Runner.createBrowser (/root/node_modules/protractor/built/runner.js:195:43)
    at q.then.then (/root/node_modules/protractor/built/runner.js:339:29)
    at _fulfilled (/root/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/root/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/root/node_modules/q/q.js:796:13)
    at /root/node_modules/q/q.js:604:44
    at runSingle (/root/node_modules/q/q.js:137:13)
    at flush (/root/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
[12:51:06] E/launcher - Process exited with error code 199

/root/gulp/e2e-tests.js:21
                throw err;
                ^
Error: protractor exited with code 199
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! dpe2etests@0.0.1 e2e:local: `gulp protractor:local`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the dpe2etests@0.0.1 e2e:local script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-03-12T12_51_06_758Z-debug.log

You probably want to do webdriver-update in your Dockerfile so that the drivers are built into the image & that component doesn't need to be done every time you run the image.  I don't think that will solve all your problems, but it may help some.

@benjaminapetersen  Thank you for the suggestion  will try it tomorrow!

Running docker run -d --rm --net=host --name chrome selenium/standalone-chrome-debug:3 this and  specifying seleniumaddress in my configfile solved the issue. Thank you!

@vjbhaskar in the seleniumaddress what did u mention? http://

 exports.config = {     seleniumAddress: 'http://localhost:4444/wd/hub'   }

docker run -d --rm --net=host --name chrome selenium/standalone-chrome-debug:3
the selenium executable is a standalone one- are we to give the hub url?

authors: Xotabu4 benjaminapetersen mneetha rolandjitsu vjbhaskar


text:
Route config should contain exactly one "component", "loader", or "redirectTo" property.

Every time I have multiple viewports, I get this error: "Route config should contain exactly one "component", "loader", or "redirectTo" property." I guess its because I am using components instead of component. I got the code from this page http://blog.thoughtram.io/angularjs/2015/02/19/futuristic-routing-in-angular.html. Is there a more up to date location for resources on the new router with angular 1.5?
Heres my code:
            $router.config([
                {
                    path: '/angular/amrit',
                    components: {
                            navigation: 'amrit',
                            main: 'auth'
                          }
                },
                {
                    path: '/angular/auth',
                    component: 'auth'
                },

            ]);

Also how do you add lifecycle hooks in angular 1.5?

+1 I am also experiencing this issue. For some reasons "components" is not a recognised property in the RouteConfig of the angular_1_router.js build I have.

authors: amritk horyd

repo: angular/router


text:
Safari

Hey,
could you, please, add Safari macOS? I use BTTV in safari as js script loaded with GreaseMonkey or something and it can work that way here but for BTTV I have just a single js file.
using m1 Mac /pl

alternative for making single js file is adding extension to Mac app store, so it can be easily downloaded do safari

Sorry, but for now Safari will still not be supported.

authors: animekkk ayechief

repo: animekkk/twitch-enhancer


text:
Updated Readme.md

I have added the details about codemon init -f  ,codemon  fetch and the newly added support for Java and Python.Please kindly look into it and mention if I have to modify or add to it.
I have some doubts regarding the GIF.
In the GIF:

I will be  creating a directory along with fetching test cases in python or Java(to show the newly added support for those languages).
2)cd into the contest directory and list all the files
3)Showing Listen feature

Should we also show "user Registration"  as with its addition GIF would be more long.

Issue Number #57

@ankingcodes
Can you please look into it.
Or should I complete it at last when all the features are added ??

repo: ankingcodes/codemon


text:
Creating a Data model

In this PR, I did-

Create a new Rails App
Project has Postgres database set up.
Build project schema.

Create and run the necessary migration files.
Table and column names match the ERD diagram.
Foreign keys included.

In posts table the column holding the foreign key to the users table named author_id

All columns that are foreign keys have a corresponding index.

Thanks @elisha2kyakpo1 for Approving this PR 😊.


text:
🛑 mikrotik24 is down

In 5ad1fb2, mikrotik24 (https://mikrotik24.duckdns.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: mikrotik24 is back up in 1841545 after 13 minutes.


text:
🛑 SQCP is down

In 5796da3, SQCP (https://nklv.duckdns.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SQCP is back up in d1fe10e after 4 hours, 10 minutes.


text:
linked picker: config not updated (continue)

Hello. Your example from #21 not working correctly.
Steps:

Open "End date" picker
Chose date in the "Start date" picker
Open again "End date" picker

Actual result:
And you see that days are available, which are before start date
Expected result:
Days have to be not available, which are before start date

Your issue title says "config not updated" andi I showed you how you can update config dynamically.

@ankurk91 Yes. But it does not update config dynamically.

It is working fine for me.

Configs are being updated.
It is upto you; how to restrict user from selecting dates.

@ankurk91 If you select End date first - it works incorrect (((

You meant I need to select end date first and then start date?
OR
You are saying that I have selected end date first in my GIF.

You meant I need to select end date first and then start date?

Yes. Look at my gif. You see an error )))

I got your issue, now.
In this example, start date has a minDate of today and if we select an end date before todays date; the "start date" input field locks down.
This issue can be fixed by setting minDate on end date field.
Check the updated fiddle.
https://jsfiddle.net/w99v77k4/5/

My statement will remain same -

It is upto you; how to restrict user from selecting dates.

@ankurk91 Ok. Click step by ste/p:

Select start date 28/12/2017
Select end date 30/12/2017
3 Select start date 23/12/2017

In end date you cannot select from 24/12 to 27/12
Other issue:

Select start date 25/12/2017
Select end date 30/12/2017
3 Select start date 27/12/2017

You can select 25/12 and 26/12 as end date, but your start date is 27/12

I was able to reproduce your first case.
I found that Vue.js can is not detecting change in minDate because it is moment js object.
I will keep you posted, if i found a solution.

@ankurk91 Thanks. Will wait, because i really require this issue )))

@andrii-trush
This issue has been fixed in v4.1.1
Thanks for reporting and steps to re-produce.


text:
Some errors in the 800K datasets: oversized word/char box, missing labels

Hi, I am having similar problems as those discussed in #13 #15.
I am using the pre-generated 800K dataset to train a model, and found that there exist the following issues:
(1) Some word/char boxes are oversized, as discussed in #13, #15.
(2) Some word recognition annotations are wrong.
(3) There are some confusing bounding box coordinate values, e.g. negative value, coordinates that cross over the image boundary, char box coordinates that actually consist of 2 pairs of vertexes(e.g. p1,p1,p2,p2, while 4 different points are expected).

Hi,
What percentage of the images has these problems? If it is only a small fraction, then (1), (3) can be checked automatically and such samples can be discarded.
Re (2): how is the annotation wrong? Please give some examples.

@ankush-me
Hi,
For (1), it's hard to check whether a box is oversized. I think automatic check is an AI task itself :)  but  as you replied in #13 #15, it may have been caused by the fonts applied in those samples. the percentage is low. (we didn't manually count it)
For (3), the percentage is a bit high, but is easy to check and correct. We print an error message every time our pre-processing program encounters this problem, and it seems like, nearly around half the samples contain such errors. ( We shuffle the sample list every time the program starts). We just ignore and discard those invalid boxes.
For (2),  wrong annotation includes: (a) the GT characters are different from what are actually on the image(e.g. GT chars are 'the' while chars on the image are 'HHH'). (b) there are no corresponding chars on the image while GT char list indicates there should be.
p.s. the (p1,p1,p2,p2) mentioned above has no corresponding chars on the image either

Hi, Apologies for the delay in replying.
Regarding incorrect GT:

This "HHH" is a known issue, and we don't really know the cause. Please let me know if you have any information regarding this.
This could be due to extreme values of the alpha channel -- hopefully there aren't too many of these.
p1,p1,p2,p2 again, can be checked automatically and discarded.

Hi, thanks for your reply.
We checked the source code, and found out the possible reason why some chars may missing in the graph.
The way your code prints chars onto the img is:
(1) Compute a 'surface' according to the depth information and semantic segmentation result.
So the 'surface' is a connected subset of all pixels in the original image.
(2) Select a 'surface', use pygame to print text ont it one char by one char. Once the next char is out of 'surface', the printing process would be interrupted.
When the interruption happens, chars that have already been printed are not eliminated, and the text  is still kept in the set of contours that would be the ground truth. This is where the problem is.
If a misunderstood it, please correct me.

I do not really understand your interpretation of the "interruption" ---
The code renders the full text string. It does check if the text fits in the "surface" patch (as you call it above), but if it doesn't it just moves on to the next sample, discarding the current one.
Can you point to the code where you think the text is still kept after "interruption"?

Hi,
I think the problem is here in this function.
i loops across order, instead of in an incremental order. So when the line indicates that a collision happens, the function returns the first i elements in loc, bbs and order.
(1)  It's possible that the first i elements would include chars that are not printed yet, while omitting ones that have already been printed.
(2) Line383 doesn't filter out text that are not print yet.
Please correct me if I'm wrong.

@Jyouhou Thank you -- yes it does seem like a bug!

Hi,
I think the problem is here in this function.
i loops across order, instead of in an incremental order. So when the line indicates that a collision happens, the function returns the first i elements in loc, bbs and order.
(1) It's possible that the first i elements would include chars that are not printed yet, while omitting ones that have already been printed.
(2) Line383 doesn't filter out text that are not print yet.
Please correct me if I'm wrong.

That seems like a bug, but not really a bug now!
Because now every time call this function, it would only put 1 text(line or word or paragraph) into the background
May be it was what you called a bug fix.....

authors: Heermosi Jyouhou ankush-me

repo: ankush-me/SynthText


text:
repo needs license and citation instructions

Add the MIT license (see my HoneyComb repo for an example of how that looks).
Edit the README to say so.
Add below that a requirement to cite Ness et al and Ho et al (in prep).
Get me to sign off on all this before closing issue.

@davidwhogg , added. Let me know if it looks okay.

signing off

authors: annayqho davidwhogg

repo: annayqho/TheCannon


text:
🛑 Rainbow is down

In a1e20aa, Rainbow (https://радуга-талантов.рф) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Rainbow is back up in df60d71 after 21 minutes.

repo: ano-pedproject/repo


text:
🛑 Pedacademy is down

In 147c06d, Pedacademy (https://педакадемия.рф) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pedacademy is back up in 942b4be after 24 minutes.


text:
Extension: Sign Arbitrary Data

Adding functionality to extension to sign arbitrary data with the extension.

Added a .sign(address, data) function to to namada.getSigner() to produce signatures for arbitrary data with our keys. This promise resolves when the user has both approved the signature and successfully authenticated, and is rejected if the user clicks Reject
As the data can be of arbitrary size, similar to the Tx approvals, this gets added to a temporary in-memory key store, referenced by msgId passed to the approval window. There is a limit to the number of characters we can provide to the Approval popup via query-strings

Testing

Install the extension, setup accounts, and copy one of the addresses (make sure it is unlocked before next step)
In the browser console, do the following (replacing the following address with a real address from your wallet):const signer = namada.getSigner();
const signature = await signer.sign("tnam1qry3lnk03j965y92np6e25jvadk3kw9u7cvwjclp", "Arbitrary Data!");

The resulting output should look something like:{
  "hash": "c5ebe9588ae5b0966977043d94f033d5d729787fdc4df686cf54d0388968df6b",
  "signature": "5f62366e652209586208f5e8b40014b35e1361e1d82dd67bd0609e894fd60a7cdb8ad7c43b7e778bd1e38b5ef259c9e8f3338e5929d4468333a1d46b4706660e"
}

Also, you can test Reject behavior - this will invoke Promise.reject() so it can be handled in a client, you should just see an error in this case

Works nicely for me and the code looks good! I Just left a couple of questions.
I'm also wondering whether the extension needs to prompt the user for approval here. Otherwise a website could use the user's key to silently sign any random data.

This is now implemented!

repo: anoma/namada-interface


text:
Fix missing ansible-lint warning

The PR fixes the missing ansible-lint warning from the ansible meta-data displayed on hovering over the Ansible statusbar item.
Fixes: https://github.com/ansible/vscode-ansible/issues/607

Its still happening on Mac M2 installations
installed python3 ansible and ansible-lint using homebrew
userxxxx@mylocal_mac:~ $ which ansible-lint
/usr/local/bin/ansible-lint
userxxxx@mylocal_mac:~ $ ansible-lint --version
ansible-lint 6.18.0 using ansible-core:2.15.3 ansible-compat:4.1.8 ruamel-yaml:0.17.32 ruamel-yaml-clib:0.2.7
userxxxx@mylocal_mac:~ $
userxxxx@mylocal_mac:~ $ ansible --version
ansible [core 2.15.3]
config file = /Users/userxxxx/repositories/ansible/ansible.cfg
configured module search path = ['/Users/userxxxx/repositories/ansible/library']
ansible python module location = /usr/local/Cellar/ansible/8.3.0/libexec/lib/python3.11/site-packages/ansible
ansible collection location = /Users/userxxxx/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.11.5 (main, Aug 24 2023, 15:18:16) [Clang 14.0.3 (clang-1403.0.22.14.1)] (/usr/local/Cellar/ansible/8.3.0/libexec/bin/python)
jinja version = 3.1.2
libyaml = True
userxxxx@mylocal_mac:~ $
cmd 'ansible-lint --version' was not executed with the following error: ' TypeError: Cannot read properties of undefined (reading 'path')
[Trace - 15:27:14] Received notification 'update/ansible-metadata'.
Params: [
[
{
"ansible information": {
"core version": "2.15.3",
"location": "/usr/local/Cellar/ansible/8.3.0/libexec/lib/python3.11/site-packages/ansible",
"config file path": "/Users/userxxxx/repositories/ansible/ansible.cfg",
"collections location": [
"/Users/userxxxx/.ansible/collections",
"/usr/share/ansible/collections",
"",
"/usr/local/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python311.zip",
"/usr/local/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11",
"/usr/local/Cellar/python@3.11/3.11.5/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload",
"/usr/local/lib/python3.11/site-packages"
],
"modules location": [
"/Users/userxxxx/repositories/ansible/library",
"/usr/local/Cellar/ansible/8.3.0/libexec/lib/python3.11/site-packages/ansible/modules"
],
"default host list path": [
"/Users/userxxxx/repositories/ansible/inventory"
]
},
"python information": {
"version": "3.11.5",
"location": "/usr/local/opt/python@3.11/bin/python3.11"
},
"ansible-lint information": {}
}
]
]
Stil show warnings and the ansible-lint-information in the 'update/ansible-metadata'. is empty.

authors: priyamsahoo vrcs

repo: ansible/ansible-language-server