Cannot find namespace 'firebase'.

With the new angularfire I get the error
ERROR in C:\temp\aspnetu\node_modules\angularfire2\database\database.d.ts
(9,29): error TS2503: Cannot find namespace 'firebase'.
ERROR in C:\temp\aspnetu\node_modules\angularfire2\database\database.d.ts
(10,31): error TS2503: Cannot find namespace 'firebase'.
ERROR in C:\temp\aspnetu\node_modules\angularfire2\utils\firebase_object_factory.d.ts
(4,76): error TS2503: Cannot find namespace 'firebase'.
ERROR in C:\temp\aspnetu\node_modules\angularfire2\utils\firebase_list_factory.d.ts
(5,74): error TS2503: Cannot find namespace 'firebase'.
...etc

Can you tell me what the solution was for this?

no solution, but I think the issue has not todo with Angularfire2 but with my project template with AngularUniversal and HMR:
https://github.com/aspnet/JavaScriptServices/issues/140

Anyone else got the solution for this?

Using the definitely typed version for the typings did not help also. Still getting the same error.

I am using angularfire2 in an ionic 2 project and I was getting the same error.
Typings for firebase 3 seem not to be available yet so it doesn't help to install the firebase typings from the global repository.
For me, it helped to include the typings from node_modules/angularfire2 into the typings/main.d.ts file:
/// <reference path="../node_modules/angularfire2/firebase3.d.ts" />

Yeah, I added it to the tsconfig file in files as mentioned in https://github.com/angular/angularfire2/blob/master/docs/1-install-and-setup.md#3-include-firebase-sdk-typings but I still get that error.

I noticed that after the inclusion of firebase3 my error is actually :
Cannot find name 'Firebase'.
And not 'namespace'. Will keep digging

Hey also getting this problem :/

As temporary workaround you can use this type definitions:   https://gist.githubusercontent.com/cdcarson/28399c50b02bf6c507fbf5b7b30daa31/raw/fa089d231ca4253d4715f8161efc6af74c972dfa/firebase-sdk-3-typings.d.ts
Add into 'typings.json' into globalDependencies this record:
   "firebase": "https://gist.githubusercontent.com/cdcarson/28399c50b02bf6c507fbf5b7b30daa31/raw/fa089d231ca4253d4715f8161efc6af74c972dfa/firebase-sdk-3-typings.d.ts"
and then typings i

In my case I need to get a hold of Firebase() so that I can use https://www.firebase.com/docs/web/api/firebase/authwithcustomtoken.html
authentication with custom tokens. I included the firebase typings but it seems Firebase global is somehow not exposed and typescript complains..

Okay. Regarding the error : Cannot find name 'Firebase'.
Firebase global does not exist anymore, so I still had some parts from the 2 SDK where I was doing new Firebase() which now does not exist.so not an issue..
Which means basically regariding this what fixes it for me is https://github.com/angular/angularfire2/blob/master/docs/1-install-and-setup.md#3-include-firebase-sdk-typings
Make sure to include that typings file and you should be good!

after installing the typings via gist or docs I still get the error.
The only fix for me was to change the change the "files" path in tsconfig.json from "../node_modules/angularfire2/firebase3.d.ts" -> "firebase3.d.ts" and copy firebase3.d.ts into my src directory.
I'm not sure why since using "../typings/globals/firebase/index.d.ts" fixed "Cannot find name 'Firebase'" on FB2 version of exact same app.

Hey all, I'm running into similar issues getting this installed in an Ionic2 project.  The tsconfig file has some globbing rules that excludes node_modules/ stuff and I think that may be overriding the manual file entry for the firebase typings.  Would be great to be able to simply install them from typings or something equivalent.

Yes if the tsconfig is excluding the node_modules then you want to add it to the typings.json file. In that case you can do what suggested by @olostan and do :
Add into 'typings.json' into globalDependencies this record:
"firebase": "https://gist.githubusercontent.com/cdcarson/28399c50b02bf6c507fbf5b7b30daa31/raw/fa089d231ca4253d4715f8161efc6af74c972dfa/firebase-sdk-3-typings.d.ts"
and then typings i

@joaogarin Thanks!

No problem.

I followed what was suggested by @olostan however, I am still receiving the error TS2304 cannot find name Firebase. any other suggestions or causes as to why this is persisting?

tried install typings dt~firebase --global --save and it installed firebase 2.4 and the error in the editor was removed but when compiled, I still got the cannot find name Firebase error.

Still causing me problems with ionic tried lots of things to work around.

I solve this problem for my Ionic2 project by doing:
Step 1: package.json to contain the following versions
"dependencies": {
  "angularfire2": "^2.0.0-beta.2",
  "firebase": "^3.0.5",
  ...
},
"devDependencies": {
  "ionic-gulp-browserify-typescript": "^2.0.0", (Dunno what you can do for non-Ionic projects)
  ...

Step 2: install typings version 1.0.5 (that might be due to node version i have - v5.12.0)
Step 3: tsconfig.json to contain:
 "files": [
    "node_modules/angularfire2/firebase3.d.ts"
  ],
  "exclude": [
    "node_modules",
    "typings/global",
    "typings/global.d.ts"
  ],

Step 4: typings/index.d.ts
/// <reference path="globals/es6-shim/index.d.ts" />
/// <reference path="../node_modules/angularfire2/firebase3.d.ts" />

The solution is using the "files" array in the tsconfig.json file.
 "files": [
    "node_modules/angularfire2/firebase3.d.ts"
  ],

This is stated in the installation and setup section.

Here's an alternative to fincefid's and davideast's solutions above because

the "files" property cannot be used in conjunction with the "exclude" property 1

which might be problematic for some setups. This worked for me with an Ionic v2 project.
Instead of modifying tsconfig.json, you can reference the Firebase 3 typings file that is included in the angularfire2 node package directly in your typings.json. Run:

typings install file:node_modules/angularfire2/firebase3.d.ts --save --global

this saves the reference into typings.json
NOTE: requires typings v.1+

typings install

this puts the typings files in the typings/ directory.

@filoxo did not know you can install typings directly from the node_modules like that :+1:

Hi everyone,
Sorry to re-open the discussion... I followed the doc and your advice but I am still facing the same error "Cannot find namespace 'firebase'" when I try to build my Angular 2 web app.
I use Angular CLI. I referenced "node_modules/angularfire2/firebase3.d.ts" in the files array property of tsconfig.json as @davideast suggested...
Please can somebody help me ?
Thanks

Instead of using node_modules/angularfire2/firebase3.d.ts that came with angularfire2, I did typings install firebase to install the one from https://github.com/typed-typings/npm-firebase.  That one worked for me and I was able to do import * as firebase from 'firebase';.

Thanks @5amfung it works !

typings install firebase installs the types as a module that must be installed, which is correct (as far as I know) for the latest firebase JS library.
The AngularFire2 library still expects the firebase types to be global (ambient) which is why in the docs it suggests typings install firebase --ambient --save (or typings install firebase --global --save).
Since the new firebase typings are marked as modules then you cannot install them globally.
I found that the best trick is to use the trick by @filoxo in https://github.com/angular/angularfire2/issues/234#issuecomment-229560239

This error is still present, none of the solution above worked for me.

@IvRRimum Try updating to the latest versions of angularfire2, firebase, angular (RC5), and angular-cli.  I have been using this setup without any issues.

I find that you can add
"types":  [    "jasmine",    "firebase" ]
to tsconfig.json

@davideast  where in the installation and setup section does it mention that?

As for me, I followed what was suggested by @olostan and it worked for me

I'm having the same error. please provide complete installation steps in repo/instructions. This is very confusing. 😕 😫

@harry008 https://github.com/r-park/todo-angular2-firebase This repo works. Take this and delete stuff you don't need.

Solved my issue by following steps 👇

Added 👉   /// <reference path="../node_modules/firebase/firebase.d.ts" /> to src/typings.d.ts
Added "files": [  "../node_modules/firebase/firebase.d.ts" ] to and removed "types": ["firebase"] from src/tsconfig.json as it gives error of  Could not find definitions for file 'firebase'. You can keep types array for other things.

I've spent my half day just for this 😫 😓
@davideast I hope you had enjoyed your [pre/post/mid][whatever] ☕  in that meantime 😃

@IvRRimum I figured out that while hovering to https://github.com/unseen1980/Angular2-Firebase-Auth

There is so much BS going on with this implementation, and none of the above suggestion worked for me loading alternative options...................

I'm having problems too. I followed the steps by @harry008 , but I'm still getting errors about firebase.d.ts when I try ng serve:
ERROR in [default] /Users/jim/Git-Projects/Park-Boys-Bootcamp/4-Firebase-Rooms/project/node_modules/firebase/firebase.d.ts:391:2
Duplicate identifier 'export='.
ERROR in [default] /Users/jim/Git-Projects/Park-Boys-Bootcamp/4-Firebase-Rooms/project/src/typings.d.ts:6:10
';' expected.
ERROR in [default] /Users/jim/Git-Projects/Park-Boys-Bootcamp/4-Firebase-Rooms/project/src/typings/modules/firebase/index.d.ts:498:0
Duplicate identifier 'export='.

@JimTheMan looks like you have installed typings for firebase via typings install firebase or something like that. I guess that are conflicting with the referenced typings file in jsconfig.json. Try removing the firebase from typings folder and check if its working or not.

Thanks @harry008 you can check here: https://github.com/ParkBoys/Park-Boys-Bootcamp/tree/master/4-Firebase-Rooms/project
I have removed everything from the typings.d.ts file and am still getting the errors:

I tried every solution, nothing worked except this:
First you should know that I have an Angular 2.0 CLI project. - > is the final release, no RC bullshit, - with webpack.
Only 2 files are available for configuration now: tsconfig.json and typings.json - you don't touch any of them. In tsconfig.json you shoud have this:

"typeRoots": [
      "../node_modules/@types"
    ]

As you can see, the types are in @types folder form node_modules.  What we need to do:

Create a firebase folder inside the @types folder.

Inside firebase folder create a file called: index.d.ts

Paste the content from this url inside the index file : https://gist.githubusercontent.com/cdcarson/28399c50b02bf6c507fbf5b7b30daa31/raw/fa089d231ca4253d4715f8161efc6af74c972dfa/firebase-sdk-3-typings.d.ts - many thanks to @joaogarin :) !!

I guess this is the standard way to add typings now.. you can see that it's the same for jasmine  - which is added automatically by the CLI.

Thanks Alon-Gbbe. Your solutions worked fine. All other attemps failed.

I personally found adding the following code to src/typings.d.ts fixed everything without having to manually add any files
///<reference path="../node_modules/firebase/firebase.d.ts"/>

import * as firebase from 'firebase';
on top of node_modules\angularfire2\angularfire2.d.ts
worked!

I have following setup:
angular-cli: 1.0.0-beta.16
node: 6.6.0
os: win32 x64
<EMAIL_ADDRESS><EMAIL_ADDRESS>I created a new project:
ng new  project-name
cd  project-name
I changed following @angular-lines to use version 2.0.1 in package.json, because installation
of firebase and angularfire2 ended with errors:
"@angular/common": "2.0.1",
"@angular/compiler": "2.0.1",
"@angular/core": "2.0.1",
"@angular/platform-browser": "2.0.1",
npm install
-> ok
npm install angularfire2 firebase --save
-> ok
I did these changes to the project:
https://github.com/angular/angularfire2/blob/master/docs/1-install-and-setup.md#4-setup-ngmodule
ng serve
-> Cannot find namespace 'firebase'.
I did following change:
import * as firebase from 'firebase';
on top of node_modules\angularfire2\angularfire2.d.ts
ng serve
-> ok

I just opened the node_modules/angularfire2/angularfire2.d.ts and added the import to firebase
import * as firebase from 'firebase';

Last step of installation and setup

@jasugh Thanks.
Your last line solved my issue. i'm on RC.5
import * as firebase from 'firebase';
on top of node_modules\angularfire2\angularfire2.d.ts

@jasugh
You solutions worked for me. And I am on Windows 10
angular-cli: 1.0.0-beta.16                                                                                node: 4.5.0                                                                                os: win32 x64

Thanks @AIon-Gbbe, your step worked

try adding this line under your import
 declare let firebase: any; // <== THERE IS AN ERROR IN THE .d.ts file
ie
import { AngularFireModule } from 'angularfire2';
declare let firebase: any; // <== THERE IS AN ERROR IN THE .d.ts file
you do this when you add vanilla js to typescript, its basically saying to typescript that ' firebase' variable exists even if you dont see it right now and it should hopefully remove the error, if it does let me know.

Instead of declaring stuff or adding things to files not under your control try this:
In tsconfig.json add:
"files": [
      "../node_modules/firebase/firebase.d.ts"
    ]

In typings.d.ts add:
///<reference path="../node_modules/firebase/firebase.d.ts" /
Don't forget to remove the import statement from the fangularfire2.d.ts if you added it before.
Restart ng serve and you're good to go.

i tried every solution but still have not found solution any ideas?

@sercanyuksel I rushed some little template to github.
https://github.com/ArsProgramma/Ng2CliWithFirebase
npm intsall and typings install
After that it should work for you.

@AIon-Gbbe: thank you. this one solved it for me.

thanks all !
I've solved this by mixing some comments that i've found...
adding this int tsconfig.json, (right after "typeRoots" node)
    "types": [
      "firebase"
    ]

and adding this line to the typings.d.ts:
declare var require: any;
package.json versions:
"angularfire2": "^2.0.0-beta.5",
"firebase": "^3.4.1",

Solution proposed by @jasugh works for me in Windows7

When I add the types filed angular material will throw this error:
Cannot find name 'HammerInput'.
The only was it worked for me is adding it to angularfire2.d.ts/angularfire2 in the node_module folder with import *as firebase from 'firebase'

this changes helped me
tsconfig.json
+  ,"files":["../node_modules/firebase/firebase.d.ts"]

typings.d.ts
+  ///<reference path="../node_modules/firebase/firebase.d.ts"/>

After compare the working solution from @ArsProgramma with my solution I found the solution. only add to tsconfig.json :
"files": [
"../node_modules/firebase/firebase.d.ts"
]
Attention: do not add   "types": [
"firebase"
]

This has worked as a simple workaround for me:
In the main app.module.ts for my app (right before I first use the AngualrFireModule), I import the Firebase typings without actually using them (it's enough to cause the firebase namespace to be registered, apparently).
In other words:
import {AngularFireModule} from "angularfire2";
import * as firebase from 'firebase'; // This is just to make the compiler happy

I put
///<reference path="../node_modules/firebase/firebase.d.ts"/>
at the top line of main.ts so it loads firebase before Angular.

I've updated my solution:

angular-cli: 1.0.0-beta.17
node: 6.6.0
os: win32 x64

npm install -g typescript@next
npm install -g typings
npm install -g angular-cli

ng new my_project
cd my_project
npm install angularfire2 firebase --save
//DO NOT INSTALL @types/firebase - it will generate conflicts on new version of typescript
put import 'firebase/firebase'; on polyfills.ts
do the angularfire configuration
do any operation with it.

ng serve //for me have no errors related.

@paulimfavarato put import on polyfills.ts is not a right semantic solution.  I think add a reference on to typings.d.ts will be more semantic correct.
Here is my src/typings.d.ts content of my angular-cli 1.0.0-beta.17 project.
// Typings reference file, see links for more information
// https://github.com/typings/typings
// https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html
/// <reference path="../node_modules/firebase/firebase.d.ts" />

declare var System: any;

Thanks all for help!
I've combined the solutions by @hansanker and @paulimfavarato. And that's works fine for me:
`
// REMOVE this from tsconfig.json
"typeRoots": [
"./node_modules/@types"
],
"types": [
"firebase"
]
// ADD this to tsconfig.json:
"files": [
"../node_modules/firebase/firebase.d.ts"
]
// then run a command if firebase's types was installed:
npm uninstall @types/firebase
`

I tried everything and it still showing me cannot find namespace 'firebase' for ionic build.
however I can run ionic serve.
tsconfig file
  "typeRoots": [
    "../node_modules/@types"
  ],
  "types": [
    "firebase",
    "angular"
  ],
  "exclude": [
    "node_modules"
  ],

in the package json  I have custom rollup
  "config": {
    "ionic_rollup": "./scripts/rollup.config.js"
  }

rollup.config.js
console.log("Custom rollup fired!!!");
var nodeResolve = require('rollup-plugin-node-resolve');
var commonjs = require('rollup-plugin-commonjs');
var globals = require('rollup-plugin-node-globals');
var builtins = require('rollup-plugin-node-builtins');
var json = require('rollup-plugin-json');

// https://github.com/rollup/rollup/wiki/JavaScript-API

var rollupConfig = {
    entry: 'src/app/main.dev.ts',
    sourceMap: true,
    format: 'iife',
    dest: 'main.js',
    useStrict: false,
    plugins: [
        builtins(),
        commonjs({
            include: [
                'node_modules/rxjs/**',
                'node_modules/firebase/**',
                'node_modules/angularfire2/**'
            ],
            namedExports: {
                'node_modules/firebase/firebase.js': ['initializeApp', 'auth', 'database'],
                'node_modules/angularfire2/node_modules/firebase/firebase-browser.js': ['initializeApp', 'auth', 'database']
            }
        }),
        nodeResolve({
            module: true,
            jsnext: true,
            main: true,
            browser: true,
            extensions: ['.js']
        }),
        globals(),
        json()
    ]

};

if (process.env.IONIC_ENV == 'prod') {
    // production mode
    rollupConfig.entry = '{{TMP}}/app/main.prod.ts';
    rollupConfig.sourceMap = false;
}
module.exports = rollupConfig;

There is not a firebase3.d.ts inside of angularfire2 directory.

3 days of search and get nothing

@almgwary Please try to add a firebase.d.ts reference on to typings.d.ts.
Here is a src/typings.d.ts file in your angular-cli project, just add the following line into that file should works.
/// <reference path="../node_modules/firebase/firebase.d.ts" />

Hi anyone knows whats wrong.
ERROR in ./~/firebase/app/shared_promise.js
Module not found: Error: Can't resolve 'promise-polyfill' in 'C:\Users\IBM_ADMIN\ng2-tuts\king-tutor-app\node_modules\firebase\app'
@ ./~/firebase/app/shared_promise.js 22:35-62
@ ./~/firebase/app/firebase_app.js
@ ./~/firebase/app.js
@ ./~/firebase/firebase-browser.js
@ ./~/angularfire2/angularfire2.js
@ ./~/angularfire2/index.js
@ ./src/app/app.module.ts
@ ./src/main.ts
@ multi webpack-dev-server/client?http://localhost:4200/ ./src/main.ts
webpack: Failed to compile.

@doggy8088 new angularfire have the src\declarations.d.ts, works the same.

@vikvincer you need to install the missing promise-polyfill, which is not available by default in the newer releases. https://www.npmjs.com/package/promise-polyfill :)

If anyone is still wondering, just check the new documentation for npm firebase (https://www.npmjs.com/package/firebase), especially the way it is now imported:

import * as firebase from 'firebase';

Many old tutorials have not changed this paticular line and there is not much support available online for it too. Hope this helps a few.

Hi everyone,
I have the same issu and it's wasting my time. So please, did someone find the solution ?
I've tried everything but nothing, need help
To be sure you'll understand my problem, please look at the pictures :

I don't know if I'm right but I think the problem comes from here.

PS : I'm working on an Ionic project

@david95thinkcode Did you try 'firebase' instead of 'firebase/app'?
It seems the documentation was recently changed:
`// This import loads the firebase namespace along with all its type information.
import * as firebase from 'firebase/app';
// These imports load individual services into the firebase namespace.
import 'firebase/auth';
import 'firebase/database';`
I manged to solve the problem in my Ionic app using this import.

Mine is already working
on app.module.ts
import { AngularFireModule } from 'angularfire2';
import { FirebaseService } from './service/firebase.service'
import { AngularFireDatabaseModule } from 'angularfire2/database';
firebase.service.ts
import { AngularFireDatabase, FirebaseListObservable } from
'angularfire2/database';
On Fri, Jul 7, 2017 at 11:40 PM, kehkashanF<EMAIL_ADDRESS>wrote:

@david95thinkcode https://github.com/david95thinkcode Did you try
'firebase' instead of 'firebase/app'?
It seems the documentation was recently changed:
`// This import loads the firebase namespace along with all its type
information.
import * as firebase from 'firebase/app';
// These imports load individual services into the firebase namespace.
import 'firebase/auth';
import 'firebase/database';`
I manged to solve the problem in my Ionic app using this import.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/angularfire2/issues/234#issuecomment-313717364,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQ2tqu40NVrIRsYq8AnGXH7KTRmtIQ5lks5sLlF3gaJpZM4I4JbM
.

@kehkashanF I've try that this too but it didn't work.
Yeah, I saw the changes in the docs and tried the new specifications but it still not working :(

Issue fixed. I've reinstall firebase and everything work perfectly 👌

Just run yarn remove firebase --save
then clean cache and run yarn add firebase --save
It is losing ref to the namespace of firebase not an angularfire2 issue.

ERROR in error TS6053: File '/node_modules/angularfire2/firebase3.d.ts' not found.
Ok the above error is a nightmare now.
/src/typings.d.ts
/// <reference path="../node_modules/firebase/index.d.ts" />
/myPackageName/package.json
  "dependencies": {
    "@angular/animations": "^5.0.0",
    "@angular/common": "^5.0.0",
    "@angular/compiler": "^5.0.0",
    "@angular/core": "^5.0.0",
    "@angular/forms": "^5.0.0",
    "@angular/http": "^5.0.0",
    "@angular/platform-browser": "^5.0.0",
    "@angular/platform-browser-dynamic": "^5.0.0",
    "@angular/router": "^5.0.0",
    "angularfire2": "^5.0.0-rc.5-next",
    "core-js": "^2.4.1",
    "firebase": "^4.8.1",
    "rxjs": "^5.5.2",
    "tsd": "^0.6.5",
    "uuid": "^3.1.0",
    "zone.js": "^0.8.14"
  },
  "devDependencies": {
    "@angular/cli": "1.6.1",
    "@angular/compiler-cli": "^5.0.0",
    "@angular/language-service": "^5.0.0",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "^4.0.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.2.0",
    "tslint": "~5.7.0",
    "typescript": "^2.4.2"
  },
  "typings": "index.d.ts"
}

/myPackageName/tsconfig.json
"files": ["node_modules/angularfire2/firebase3.d.ts" ]

If looking for auth-types, import @firebase/auth-types
import * as firebase from 'firebase';
import { User } from '@firebase/auth-types';
then you can use the firebase user just like this: public user: User;

back to version "firebase": "4.8.0". remember to clear your cache. to check the version use npm list firebase

This issue just wasted shit tons of our time.

I have the exact same output as @dunlavy.
Im pissed off, and willing to do anything by now... Tried everything in this thread.

Have a look at this issue.
Fixing firebase dependency version to 4.8.0 solved every errors like a charm.

Thank you @vzts that worked, using 4.8.0 works for me, with the above configuration from my last post. 💯

I also just had this issue.
Upgrading firebase to version 4.8.0 fixed it, but 4.8.1 breaks it again, so if anyone is having problems, make sure you use 4.8.0, not 4.8.1

you only need to uninstall firebase and reinstall
npm uninstall firebase
npm install --save<EMAIL_ADDRESS>delete node modules and reinstall it
rm -rf node_module && npm i

#https://github.com/firebase/firebase-js-sdk/issues/388

@chezdrz Sorry for the late response.  I took a vacation.  ;-)
I used the troublesome work around I posted above.  May or may not work for you, but I was able to develop this way for awhile before I just updated my project dependencies to 4.8.2.  That cleared everything up for me perfectly.

import * as firebase from 'firebase ;
should fix the problem

If anyone is still wondering, just check the new documentation for npm firebase (https://www.npmjs.com/package/firebase), especially the way it is now imported:

import * as firebase from 'firebase';

Many old tutorials have not changed this paticular line and there is not much support available online for it too. Hope this helps a few.

It worked to me.


Question: what is the expected format of included config file?

The documentation states

It is recommended you put your pyscript configuration its own yaml file in the pyscript folder.

I have a working pyscript section in configuration.yaml:
pyscript:
  allow_all_imports: true
  hass_is_global: true
  zigbee:
    light:
      salon_interrupteur_canape:
        single:
          - group.salon,off
          - group.salon_avant,toggle
        double:
          - group.salon,toggle
(...)

I tried to create a pyscript/config.yaml file with
  allow_all_imports: true
  hass_is_global: true
  zigbee:
    light:
      salon_interrupteur_canape:
        single:
          - group.salon,off
          - group.salon_avant,toggle
        double:
          - group.salon,toggle
(...)

and include it configuration.yaml as:
pyscript:
  config: !include pyscript/config.yaml

It did not work, there were errors about missing entries in the configuration that I call for instance as pyscript.config['zigbee']['light'].keys() (to use the config above).
I then tried to move  allow_all_imports: true and  hass_is_global: true into configuration.yaml and other similar combinations but I never actually managed to have the separate file working.

what should be its format?
should it only include the apps configuration? Or also allow_all_imports: true and  hass_is_global: true
should I change the way I call the configuration variables in my apps?

you almost had it. in configuration.yaml you should have:
pyscript: !include pyscript/config.yaml

I actually automatically wrote it like this (similar to the other includes), then before reloading I realized that the docs say something else:
pyscript:
   config: !include pyscript/config.yaml

And did not try my first intuition :)
Your code works, I opened a PR to correct the docs (https://github.com/custom-components/pyscript/pull/154)


docs: rewrite readme with new gifs

Description
An update to the README structure.
Added gifs showing CLI usage with support for GitHub light & dark modes.
Type of change

[ ] Bug fix (non-breaking change to fix a bug).
[ ] Feature (non-breaking change to add functionality).
[ ] Breaking change.
[x] Other (eg: documentation change).  Please explain.

I turned on the "Automatically delete head branches" setting:


Unable to access site after deployment.

Hi, I have a SST + Sveltkit app and deployed it successfully but I'm getting 503:
The Lambda function associated with the CloudFront distribution is invalid or doesn't have the required permissions.
I see in your examples, you have a cdk.json, does that provide some global permissions to the CF + Lambda?

I also see the same error back to the browser from cloudfront, but i can see that the edge function triggers (cloudwatch logs in another region..), is throwing the error bellow:
"errorType": "TypeError",
    "errorMessage": "Cannot read properties of null (reading 'handleError')",
    "stack": [
        "TypeError: Cannot read properties of null (reading 'handleError')",
        "    at Object.handle_error (/var/task/handler.js:27249:35)",
        "    at handle_error_and_jsonify (/var/task/handler.js:25098:20)",
        "    at handle_fatal_error (/var/task/handler.js:25081:22)",
        "    at respond (/var/task/handler.js:27104:18)",
        "    at async Runtime.handler (/var/task/handler.js:27448:20)"
    ]

Yup, thanks for posting that error - I get the same.

@khuezy  - after using the adapter with 'yarn build' i edited [my-cdk-folder]/sveltekit/lambda/at-edge/handler.js
just above the line 'log("DEBUG", "render input", input);'
I added the 3 lines you can see bellow, works now.. im sure this is not clean.. and is going to disappear next time i build but working for now so i can have a play.
@juranki - I like the idea with this project. :) Nice work.
const env = {}
log('DEBUG', 'server init with env', env)
await server.init({ env: env })
log("DEBUG", "render input", input);
const rendered = await server.respond(input, {
  getClientAddress() {
    const addrHeader = request.headers["cloudfront-viewer-address"];
    if (addrHeader) {
      return addrHeader[0].value.split(":")[0];
    }
    return "";
  }
});

@khuezy , @nbaillie  -<EMAIL_ADDRESS>and<EMAIL_ADDRESS>contain the above fix, and other improvements too. The demo site appears to work, but that's the extent of testing at the moment.
Please try these versions and let me know the results.

Thanks @juranki! I'm able to successfully deploy using the latest versions.
Feel free to close this ticket.
Some questions if I may:

Since the handlers are using Lambda@Edge, are there any guidelines when writing APIs? From what I understand, there are some limitations.
Does Lambda@Edge support nodejs 18 yet?
If using Dynamodb, how do you know the region the Edge function is in to target the closes region?

@khuezy

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/edge-functions-restrictions.html lists the restrictions with Lambda@Edge (and CloudFront) functions.
one of the restrictions is limited set of runtimes; node 18 is not supported yet
lambda@edge runtime exposes region in environment variable AWS_REGION

Would you file an issue about the build error, please? ConstructsV2 builds both esm and commonjs modules. It might be time to drop commonjs.


Unable to sign-in using github

Describe what happened:
What was your system configuration?
Product and Version [VS/VSCode]: 1.47.1
OS Version[macOS/Windows]: Ubuntu 18.04
Live Share Extension Version: v1.0.2427
Target Platform or Language [e.g. Node.js]: golang
Details got from vscode about page
Version: 1.47.1
Commit: 485c41f9460bdb830c4da12c102daff275415b53
Date: 2020-07-14T00:13:57.513Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 4.15.0-65-generic

Steps to Reproduce / Scenario:

Go to Live share extension and install
Click on Live Share icon at the bottom once installed.
Select signin with github. It will redirect to Authorization page.
Dialog box appears in vscode to ask permission to open live share uri
Once authorized, its showing usercode is invalid or expired.

Attached logs to this issue:
logs.zip
Screenshots

Few more points to add

I also tried signing in using usercode option and failed to authenticate.

I also installed VScode insider and found the same problem

I also tried installing required dependencies again and restarted VSCode but the problem still persist

Thanks
Note: Can anyone please help me in fixing this issue, I'm working remotely and rely on code collaboration alot

I have the same with Microsoft login.

Hi all! Thank you for reaching out. @AchalaSB you have an old version of the tool, can you please upgrade to the latest version? This seems to be a Duplicate of issue#3216 which was fixed recently; also some workarounds are offered.  I'm closing this issue as a duplicate, please reactivate if the issue persists after upgrading - thanks again!

@mlacouture
What is the recommended version?
FYI  I'm on latest version of vscode and live share
Product and Version [VS/VSCode]: 1.47.1
OS Version[macOS/Windows]: Ubuntu 18.04
Live Share Extension Version: v1.0.2427

This is a very sad state of affairs.
@AchalaSB is facing this issue for a long time, among others in the VS Code community.
I have seen this issue in a few laptops and request the live-share team to perform a root cause analysis.
Given the hard times of mandatory WFH due to COVID, it is imperative we help the troubled VSLS users.
@jonwchu, @mlacouture , @fubaduba - I humbly request that the dev team perform a root cause analysis of this problem.
@AchalaSB, can you please confirm if you tried all the following methods:

Try normal login through GitHub (latest Firefox and Chrome used)
Try normal login through Microsoft (latest Firefox and Chrome used)
Try 1. and 2. after running the command Live Share: Disable VSCode account authentication
Try user-code based login
Try user-code based login after running the command Live Share: Disable VSCode account authentication
Install VS Code Insiders and check if it works there (But we get the same problem as described above)
Uninstall VS Code and remove ~/.vscode, Restart, Reinstall VS Code and install the VSLS Plugin (Still does not work)
Remove the OAuth permission granted to VSLS on GitHub and try again (Sorry, but this also failed)

@ganesh-aicumen I tried all the option mentioned above.
I also tried logging in different github account but that also failed.

@AchalaSB, the latest Live Share extension version is 1.0.2472

@mlacouture  There is no option to install this particular version 1.0.2472.
Live share marketplace showing v.1.0.2427 as latest version.
https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare
Even in VScode its showing v1.0.2427

sorry, you are right, I was looking at the wrong extension (Visual Studio) ...

reactivating as this seems to be a regression, we need to do more investigation.  BTW, thank you @AchalaSB for the logs ...

based on the logs this seems to be a problem with proxy configuration:
Connecting to https://prod.liveshare.vsengsaas.visualstudio.com/8a79c249 via proxy failed with exception System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
@AchalaSB, please look at the Live Share connectivity docs and make sure your proxy settings are configured correctly.

@mlacouture I changed proxy settings but that didn't work

@AchalaSB, did you try setting the proxy using environment variables? can you attach logs after setting the environment vars? thanks,

We haven't set any proxy for my network, but still I make proxy setting as automatic in my system ( disable -> automatic)
logs.zip

@jramsay and @jasongin any thoughts?
Agent logs:
[2020-07-21 07:58:07.341 Agent.Proxy W] Connecting to https://prod.liveshare.vsengsaas.visualstudio.com/0bac715a via proxy failed with exception System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
VSCode logs:
2020-07-22 13:06:02.781 Command:Object E] Command [Starting collaboration session]: Share User Failure: The user code is invalid or expired. Try signing in again.

Team, any update on the issue?? When and How can it be resolved?

I don't think a proxy is being used here -- the error message in the log is misleading on that point. On Linux, the only way Live Share detects a proxy is via the http_proxy / https_proxy environment variables, and another part of the logs clearly shows those variables were not set.
So the problem appears to be that the HTTPS certificate of the Live Share site is considered invalid. It is definitely valid for most users, but it could be your system is missing the necessary root certificate from its trusted root store.
If you open https://prod.liveshare.vsengsaas.visualstudio.com/ in a browser, do you see any certificate errors?
How about if you fetch it with curl?
curl https://prod.liveshare.vsengsaas.visualstudio.com/

@jasongin I tried the above url in browser.. When I copy the USERCODE in VScode it says username is undefined.

And the result of Curl command

@jasongin Any update/solution for this?

@jasongin @mlacouture, any fix for this issue?

@AchalaSB We're still investigating. We don't yet understand the root cause.
#3771 is another report of the same problem.

Any updates on this?

Does it help, if I mention, that my connections are always with Zscaler?

@BirgitPohl Use of Zscaler could definitely be an explanation for an "invalid certificate" error. According to their docs, Zscaler performs SSL inspection, which means the ZScaler proxy must replace the HTTPS certificate of the connection with one that they issue. Your browser might be configured to trust the certificate from ZScaler, while the OS configuration (used by Live Share) does not.

Its been a long time, any fix to this issue?

We have kept investigating, and we have some fixes in progress.

Is this issue fixed? I'm still seeing "Starting collaboration session: The user code is invalid or expired. Try signing in again."  (VSLS v1.0.2740)

I'm having the same issue. Think it might be related to my proxy. Here are my logs.zip

We've changed our authentication service. See #4128 and if the new authentication is giving you an issue, please create a new issue. Thank you for your patience.


With the 5.0.0 version, it's impossible to validate phone numbers for an arbitrary country

Since 5.0.0, instead of specifying a country ISO code as string, this library requires using the generated enum. This is fine when a country is known at compilation time, but for multi-national apps it breaks the workflow. All I know is a string. Even if it were a enum, it would be a different enum, coming from a different library.
Is there a way to use string ISO codes with this library?

Dart enums are possible to be created with a String, but I'll add a constructor to faciliate the process.
in the mean time you can use Enum.values.byName(your_string) so in this case IsoCode.values.byName('YOUR String')

I've updated the readme with an example. Feel free to reopen if that's not your issue


Devtools do not open (Stable and Insiders) (fresh installed insiders)

Issue Type: Bug
Video of issue:
https://i.mavis.moe/f/4xFesJt5pk/2020-08-10-21-53-55mp4.mp4
VS Code version: Code - Insiders 1.48.0-insider (2277c8e2a3e1cc630a6397301ba54a1dccd8a60d, 2020-08-07T11:32:09.993Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
AMD Ryzen 7 3800X 8-Core Processor              (16 x 3893)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.92GB (14.66GB free)

Process Argv

Screen Reader
no

VM
50%

Extensions (9)

Extension
Author (truncated)
Version

vscode-eslint
dba
2.1.8

gitlens
eam
10.2.2

prettier-vscode
esb
5.1.3

remote-wsl
ms-
0.44.4

vscode-typescript-next
ms-
4.1.20200809

debugger-for-chrome
msj
4.12.9

vetur
oct
0.26.1

vscodeintellicode
Vis
1.2.9

vscode-icons
vsc
10.2.0

(1 theme extensions excluded)

Since yoy don't have any webviews open, the Open Webviews Developer Tools command is not expected to do anything
Assigning @deepak1556 for the normal dev tools not opening

@mjbvz didnt know that but here's an example with a created webview:
https://i.mavis.moe/f/J5E5EHTrxr/2020-08-10-23-03-04mp4.mp4

Seeing the same issue..  Even the Help->Toggle Developer tools is not working. that is supposed to work regard less of webview.

Tried re-installing vscode, disabling all extensions, restarting machine. Didn't fix the issue.

@Venipa @giakas can you launch with --verbose flag, try to toggle developer tools and attach the output from the command line, not sure what the issue is hopefully the logs have some details.

Here is the log, but not much useful logs in there..
vscode.log
just lines like
[18036:0810/203436.440:INFO:CONSOLE(1670)] "%cTRACE color: #888 CommandService#executeCommand workbench.action.toggleDevTools", source: file:///C:/Users/giakas/AppData/Local/Programs/Microsoft VS Code/resources/app/out/vs/workbench/workbench.desktop.main.js (1670)

ping me on teams if you want to see the issue or debug on my machine. giakas is my Microsoft alias.

Thanks! yeah the logs don't contain useful info, pinged on teams for additional debugging.

Looks like this is happening when VSCode is opened with Elevated admin permissions. Installed insider version which was not set to open as administrator, and it worked fine.

Looks like this is happening when VSCode is opened with Elevated admin permissions. Installed insider version which was not set to open as administrator, and it worked fine.

fresh install of vscode insiders on notebook:

installed with system installer
run with admin results that devtools do open

run without admin also results that devtools do open

ill try it on my pc once im home... weird.

I just want to point out that it's an old issue #84804 (it didn't say administrator in title, but do in one comment)

Works for me on Windows 10 using VS Code v1.52.1 (stable).
@Venipa or @giakas can either of you still reproduce this issue with the latest Stable or Insiders version of VS Code?

Works for me on Windows 10 using VS Code v1.52.1 (stable).
@Venipa or @giakas can either of you still reproduce this issue with the latest Stable or Insiders version of VS Code?

@rzhao271 cant reproduce it anymore it seems.

@rzhao271 cant reproduce it anymore it seems.


TokenMgrError is a subclass of Error instead of Exception

Describe the bug
An error is thrown instead of an exception when a token parsing error occurs.
An error should only really be thrown for very serious errors like out of memory, thread death, etc. Even an NPE is only classes as an exception. If you should be catching it, it shouldn't be an Error, it should be an exception.
From the Java docs:

An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions. The ThreadDeath error, though a "normal" condition, is also a subclass of Error because most applications should not try to catch it.

To Reproduce
Steps to reproduce the behavior:

Example SQL: Unknown as our server shutsdown instead of catching it (as should happen with Errors).
Parsing this SQL using JSqlParser with this statements
Exception:

net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 4, column 39.  Encountered: "\u00a8" (168), after : ""
	at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:5943)

Expected behavior
An exception to be thrown instead of an error.
System

Database you are using Postgres
Java Version 15
JSqlParser version 4.3-SNAPSHOT

Greetings.
Pardon me to be blunt here: In my understanding, JSQLParser parses your statement or it does not -- and the error message will be helpful only when you are extremely lucky. I can easily create statements, where the error is thrown at irrelevant positions and with misguiding hints (especially when sub-queries are involved).
So as far as I can see it, your concern is a bit academical and if you really want to change the Error into an Exception then you would need to send a PR or sponsor a developer.

So, my problem isn't the message that JSQLParser outputs, my problem is the type of the thrown object.
You can see someone has encountered the problem here in the past:
https://github.com/JSQLParser/JSqlParser/issues/31#issuecomment-358998915
Generally for good code you would only catch exceptions and let errors propagate:
try {
  // parse query here
} catch (Exception e) {
  // Handle exception
}

You could even make it catch (RuntimeException | JSQLParserException e)
Currently, that doesn't work as you are throwing an Error, not an Exception. Most people don't want to catch Error or Throwable because you might end up catching OutOfMemoryError, etc which you want the program to fail when that happens.
Currently, you need (assuming you aren't throwing any more error types):
try {
  // parse query here
} catch (Exception | Error e) {
  if (e instanceof Error && !(e instanceof TokenMgrError)) {
    // Rethrow all important errors
    throw e;
  }
  // Handle exception
}

Does that make sense?
It just seems odd that a bad input character could take down a server.

Sorry, I am not able to follow. For the JSQLFormatter Online Service, we basically use oce like shown below:
try {
Statement statement =
              CCJSqlParserUtil.parse(
                  statementSql,
                  parser -> parser.withSquareBracketQuotation(useSquareBracketQuotation));
} catch (Exception ex) {

}

This server runs since forever, while it is just a small shared memory starved instance.
What would be wrong with that from your point of view? And why do you think the parser would take a server down?

SELECT p as ¨P FROM dual

Thank you for the example, I start to see your point.
When entering the statement above into JSQLFormatterUI, it will not show an Parser Exception, but throws an Error when trying to format it.
I will likely have a look into this over the weekend and would return with findings.

Hi Andreas! Did you manage to take a look in the end?
I just tried running that query on 4.2 and realised that it is handled correctly in that version:
net.sf.jsqlparser.JSQLParserException: Lexical error at line 1, column 13.  Encountered: "\u00a8" (168), after : ""
	at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:190)
	at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:63)
	at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:38)

So it looks like it is a regression in 4.3-SNAPSHOT. I had a look at the changes and I couldn't find the change that caused this class to show up. Do you happen to know which PR/lines introduced this new TokenMgrError class?

Hi Ben,
sorry, I have had a hell of a week and not much time on my hands.
I do not think, anything has changed on the Token Manager itself, but new Tokens and Productions have been added. It is very possible/likely that your statement was completely rejected before while now it is partially parsed and then fails hard (or the other way around).
My intention is to implement a test tool, which iterates through each GIT commit, compiles and tests and reports output. I will need that for the performance discussion also. Although I can't promise, just sketch.

No problem, I expected something like that :)
It's a bit weird that the exception message is the same apart from the type of exception! You mentioning partially parsed reminds me that I saw some LOOKAHEAD stuff added so maybe that is caused the new error class to be generated.
That test tool sounds valuable for performance testing! For finding out when issues like this were introduced, git blame tends to be a bit faster since it does a binary search for the commit.

Could this again a difference to the gradle build? Maven build does not generate a TokenMgrError class but a TokenMgrException class.

This TokenMgrError is generated when the legacy error handling of JavaCC is activated:
https://github.com/javacc/javacc/blob/e6620f210ce182af53d09ca1a556aba82f4cc244/src/main/java/org/javacc/parser/JavaFiles.java#L488
Since 08.2019 we have this option activated
JAVA_TEMPLATE_TYPE = "modern";
This one seems not to be honored using the gradle build.

As for the tools look into: https://github.com/JSQLParser/javacc-perf-diag. This one make a statistics about the parsing using aspects that are connected to the parser.

On Fri, 2021-11-19 at 15:43 -0800, Tobias wrote:

This TokenMgrError is generated when the legacy error handling of
JavaCC is activated:
https://github.com/javacc/javacc/blob/e6620f210ce182af53d09ca1a556aba82f4cc244/src/main/java/org/javacc/parser/JavaFiles.java#L488
Since 08.2019 we have this option activated
JAVA_TEMPLATE_TYPE = "modern";
This one seems not to be honored using the gradle build.

You are right.
Adding the dependency: javacc 'net.java.dev.javacc:javacc:7.0.10'
should solve this problem though. I would submit a PR soonest.

Solved by PR #1428 which requests for latest JavaCC 7.0.10 explicitely.


Accounts Are Confusing To Navigate From Drawer

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
8.0b
Where did you get the app from?
Google Play
Android version
14
Device model
Pixel 8 Pro
Steps to reproduce

Open Thunderbird
Click Account Name

Expected behavior
There should be an indication that there's other accounts and what they are. You can toggle through the accounts but there's no suggestion that there's a way to pick specifically. On top of that, when you have multiple accounts from the same domain, they all just display the same thing, so there's no way to know which account you're trying to select, even when you press Show Accounts, which should be true by default.
Actual behavior
See above.
Logs
No response

Indeed, this is awful. You can set a colour for each account, buy the name assigned to each account is simply ignored in the selection list until it is selected. I have three accounts against the same domain name but different TLDs, and each only appears as the first two letters of that domain, so therefore the same two letters three times!
Additionally, and maybe it's just me, the account selection seems deeply counter intuitive. I'm still not sure entirely how account selection works, I think maybe clicking one pushes it up to the top but... I dunno, they seem to keep moving around. Maybe it would be more obvious if I didn't have three near identical account circles with the same 2 letter “name” to select from.

There are a few other issues filed that should cover this, we definitely need to make some changes

The accounts drawer is shown by default now
#8381 covers the letters

Thanks for bringing this up!


Document when/how to review EventLog from handle_skipped_award

We create these rows when SkippedAwardError is raised. Presumably, we do so in order to review/monitor those messages.
Original discussion: #182

Presumably, we do so in order to review/monitor those messages.

Yes, the main use case is to monitor how many invitations are not being sent because of data quality issues. Additional use cases include monitoring if the invitation process is working as expected and/or if a data source was changed. I also check this table when running commands manually (e.g. fetch awards within a period or by supplier ID)
We needed the first more during the piloting stage of the project, but I still check for this when reporting to the donor

Thanks - can you draft a new section in deployment.rst, with some examples of the SQL statements you run?


Add MeanSquaredErrorResult

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (881ea62) to head (ada0a4e).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #271   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           94        95    +1
  Lines         2299      2328   +29
  Branches       209       212    +3
=========================================
+ Hits          2299      2328   +29

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Connect() doesn't connect to device and thus never emits an OnNext()

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[] iOS
[*] Android
[] tvOS
[] macOS
[] .NET Standard
UWP IS NOT SUPPORTED DURING THE BETA PERIOD - ONLY PRs ARE WELCOME FOR NOW

Version of OS(s) listed above with issue
Android 7.0 API 24
Version of Library
5.3
Expected Behaviour
Connect() connects to the device and emits at least once to signal this fact.
Actual Behavior
Connect() never connects to the device and thus never emits (onNext's), funnily enough the WhenDeviceStatusChanged() emits when I switch the BLE Scanner app and connect to device then all the services reads etc.. work as well. I just can't get it to Connect with you Connect() method :(
I've noticed your example in the readme doesn't subscribe to the Connect()?  Shouldn't Connect() be lazy to match the Rx paradigm and therefore require a subscriber to actually begin a connection. If so I would have expected that you would only find services/characteristics once the connect() observable had emitted an OnNext()'s or OnCompleted() to signal a connection was established.
The code below is how I interpreted the API i.e you used Connect()'s observable to be notified when the connection was established but continue to use the device concept to look for known services etc..
connectIntents is an IObservable<IDevice> which emits when a user clicks on a device they want to retrieve info from.
var subscription = connectIntents
    .Select(device => device.Connect(config).Select(_ => device))
    .Switch()
    .Select(connectedDevice =>
    {
        return connectedDevice
            .GetKnownService(ServiceUuid)
            .Select(service =>
            {
                return service
                .GetKnownCharacteristics(CharacteristicUuid)
                .Select(c => c.Read())
                .Switch()
                .Select(x => Encoding.UTF8.GetString(x.Data))
                .Select(x => JsonConvert.DeserializeObject<ObjectDto>(x));
            })
            .Switch();
    })
    .Switch()
    .Subscribe(objectDto =>
    {
        render(objectDto);
    });

Code of Conduct

No Library Update Requests
No Timeline Requests
Please read through the documentation and FAQs
Please be respectful of my time. I put a lot of effort into my libraries.  I try to support the issue requests within a day.  I'm not psychic, so please take the time to fill out the above form as complete as possible

Awesome project btw. I'm a huge Rx fan and love seeing it used like this.

I use await for the completable Connect() observable.  It is easier for the general community to understand the completable part.  I also manage the connection to the device internally, as opposed to pushing anything out.
If you follow the examples, the connection will work just fine

Diggin deeper apparently the device is not 'connectable' isConnectable false on the advertisement ? Anyway everything i've tried hasn't worked. Do you recommend any other xamarin bluetooth wrappear type projects?
 connectIntents.Subscribe(device =>
            {
                RunOnUiThread(async () =>
                {
                    if (device.AdvertisementData.IsConnectable) {
                        await device._device.Device.Connect();
                    }

                    device.WhenServiceDiscovered().Subscribe(s =>
                    {
                        System.Diagnostics.Debug.WriteLine("Service Discovered");
                    });

                    device.WhenAnyCharacteristicDiscovered().Subscribe(d =>
                    {
                        System.Diagnostics.Debug.WriteLine("Characteristic Discovered");

                    });

                });```

You don't need to run on UiThread.  The library does all of that internally.  Also, you don't need to check the ad data... just connect if you know the device.  You may also want to trap any connection errors.
The question for asking for other libraries is rather rude and uncalled for here.


[1.19.4] Built-in resource packs are incompatible with MC 1.19.4

In Mixtape 1.3.2, the built-in resource packs are incompatible with MC 1.19.4 due to the old pack_format value in pack.mcmeta.
This can be fixed by updating the value from 12 to 13.

Thanks! I forgot to do that when porting it, ill do that now.

done! https://github.com/AliahX/Mixtape/releases/tag/v1.3.3


Add support for custom actions

Changes
With the removal of iproj.json actions in PR #1481, this PR adds the ability to run custom actions with custom deployment method. Also, updates launchActionSetup to accept a workspace folder.
Checklist

[x] have tested my change
[ ] updated relevant documentation
[x] Remove any/all console.logs I added
[x] eslint is not complaining
[ ] have added myself to the contributors' list in CONTRIBUTING.md
[x] for feature PRs: PR only includes one feature enhancement.

@halcyon-tech/core I need some additional eyes on this PR. I am happy with the code and have reviewed with Sanjula, but I'd like a second opinion. I'd also like some additional testing on this for different areas where Actions can be run.

Running an action from active editors

Members
IFS
Local

Running actions from views

Object Browser
IFS Browser

Thank you!

I made the following changes to the tests:

Instead of testing CompileTools.runAction directly, I updated the tests to call the code-for-ibmi.runAction command as this gives us better coverage
Added 2 additional tests for custom actions against members and streamfiles

@sebjulliand As you suggested, I updated the Actions interface so that the extensions property is now optional -> 98a99f8
However, the actions.json schema was not changed.


Imgproxy is not able to request images over https

We have tried to run image proxy in kubernetes and accidentally happened to come across this issue when we tried to get an image over https.
Certificates are installed, probably as dependency of go, but when trying to wget https page from within pod, the error is that ssl_client is missing:
wget https://www.google.com
Connecting to www.google.com (<IP_ADDRESS>:443)
wget: can't execute 'ssl_client': No such file or directory
wget: error getting response: Connection reset by peer

Sorry, can't reproduce the issue. Imgproxy downloads images over HTTPS just fine:
Original:
https://www.gettyimages.ca/gi-resources/images/Homepage/Hero/UK/CMS_Creative_164657191_Kingfisher.jpg
Imgproxified:
https://imgproxy-test-darthsim.herokuapp.com/unsafe/resize:fit:400:400/sharpen:0/aHR0cHM6Ly93d3cuZ2V0dHlpbWFnZXMuY2EvZ2ktcmVzb3VyY2VzL2ltYWdlcy9Ib21lcGFnZS9IZXJvL1VLL0NNU19DcmVhdGl2ZV8xNjQ2NTcxOTFfS2luZ2Zpc2hlci5qcGc
Wget doesn't work with https inside imgproxy pod because of lack of ssl_client, but go doesn't use one.

In the end the problem was on our side. But thank you for pointing me in the right direction by showing me working url. I used the command echo "<url>" | base64 for generating the base64 encoded part of url and echo appends newline character to the end of the string so this caused the error. When generating that string with echo -n "<url>" | base64, everythings works fine.


Building A Dialog with ViewPager

Hello,
I'm fighting to build a material-dialog with an inside ViewPager. Do you see any issue to do that or do you have any example ?

You're putting a view pager in a dialog? You shouldn't do that

Hello,
Yes this was my intention. Why not ?
We can do that with traditional Dialog, as for example http://stackoverflow.com/questions/13334733/viewpager-fragmentpageradapter-inside-a-dialogfragment-gets-illegalargumentex

Because a Dialog window doesn't have a fragment manager. Fragment managers are in an Activity which has a window separate from the dialog.
If you really needed to you can do a fragment transaction on a custom view for this library, but you shouldn't.

@afaucogney did you ever get a viewpager in the dialog to fully work?

So what was the conclusion on this problem? I am encountering this as well.


fix abs of diff of uint

brought up in #4188
abs to unsigned or bool is no-op
use where for int because cstyle does not like relu for int (might have more issue with int in general)
keep double relu for float, would need to check perf before switching
RHIP crashed in CI @Qazalin fyi

fixed by the new abs #4611


Add pylint for the project

Add initial pylint configuration for the project. The linter will be run for each pull request/commit.

Pylint was added to the project and also added to GitHub Actions


Does panic on error affect the user experience

          i am okay with a panic since UDF errors are rare, perhaps we should revisit this if this is affecting the user experience?

Originally posted by @vigith in https://github.com/numaproj/numaflow/pull/1778#discussion_r1673212015

In the batchmap implementation, we panic the numa container on seeing an error from the UDF.
As a matter of user experience, do we want to keep retrying infinitely instead and stall?


Where is the selected list stored

Hi again,
(I'm sorry for having so many questions in a few amount of time 😆 !)
Still using Vue.js, I was wondering how to access the selected list. I would like to store it in my store in vuex, so that when I reload the tree (after I add a child for example), I get the same opened folders.
Thank you @elbywan

Hey @The-BlackWidow !
I made a small jsfiddle that shows how to store the bosket selection array into the vuex store.
Hope it will help 😉.

Thank you very much for your answer. I realised I had already tried that, and it worked, however my main issue was saving all the unfolded folders. So I need to change the fold strategy.

Hi again @elbywan !
Could you please make the unfolded list available ? Through a method for example ?
I've been struggling with keeping the state of the tree intact, after a node's name modification.


Change species names

Original post: https://rfcx.slack.com/archives/C03FD1WD02J/p1720706300526659
Update species names

Platysteira concreta ansorgei to Dyaphorophyia ansorgei (yellow-bellied wattle-eye)

https://www.iucnredlist.org/species/103704667/112337064

Trachyphonus purpuratus to Trachylaemus purpuratus (eastern yellow-billed Barbet)

https://www.iucnredlist.org/species/22725980/94907982

Caprimulgus binotatus to Veles binotatus (brown nightjar)

https://www.iucnredlist.org/species/22689871/93250826

@RatreeOchn Can you double check family for this species "Trachylaemus purpuratus"?
IUCN website shows FAMILY = Lybiidae


switching to PaesslerAG/jsonpath

We love httpexpect, and are using it in our project. However, currently httpexpect depends on github.com/yalp/jsonpath which does not come with a license. From a legal standpoint, this is a big red flag, and we need a solution for us to be able to use httpexpect.
Someone raised this issue directly on the jsonpath repo (https://github.com/yalp/jsonpath/issues/3), but there has been no movement.
Can httpexpect remove the jsonpath dependency so that we can use this legally? One possibility might be to use another one like https://github.com/PaesslerAG/jsonpath which is licensed under BSD-3. Thoughts?

I just added a license to the https://github.com/yalp/jsonpath project. Sorry for the delay...
https://github.com/yalp/jsonpath/issues/3#issuecomment-366633733

Thanks @yalp! Greatly appreciated.
@gavv, what are your thoughts on proceeding? It sounds like @yalp is indicating one should use https://github.com/PaesslerAG/jsonpath going forward (https://github.com/yalp/jsonpath/blob/master/README.md).

We could switch but we should solve the compatibility issues first.. See my comment at #49.

Closing this for now.


Check if updated file exists before adding to list of terraform updated files

Fixes #5167 by not adding duplicate files to the updated files list

I have updated issue to provide a sampel config to illustrate the issue

Code change looks reasonable to me, with the caveat that I've got minimal terraform expertise.
However, would it be possible to add an rspec test that includes a repo fixture simulating the failure condition of duplicate files? No need to simulate the codecommit response, and I realize GitHub already doesn't fail on this, but it'd still be good to have a test repo to ensure no regressions in the future. Just create a test fixture repo copying your setup from https://github.com/dependabot/dependabot-core/issues/5167#issue-1240553985.

Code change looks reasonable to me, with the caveat that I've got minimal terraform expertise.
However, would it be possible to add an rspec test that includes a repo fixture simulating the failure condition of duplicate files? No need to simulate the codecommit response, and I realize GitHub already doesn't fail on this, but it'd still be good to have a test repo to ensure no regressions in the future. Just create a test fixture repo copying your setup from #5167 (comment).

I added in a test fixture and updated the rspec, I am still new to ruby and especially the testing stuff so please review, I am sure it will need some expanding on but wanted to see if this was the right start for it.
Thanks ahead of time.

After investigating the test further I may need some guidance on how to test it properly.  The terraform file fetcher gathers the files to process based relative paths etc., this is how the duplicate file gets in there.
But the rspec loads the files differently, by using the helper to read all the files in the fixture, this does not duplicate the file.
I am not sure on the best path for this.  Do we edit the file fetcher instead and prevent duplicate files there or allow the updater to filter out the duplicates to ensure that we do not exclude something prematurely in the file fetcher.  Any thoughts on this would be appreciated.

Thinking about this more, the current solution gets this working,  maybe use this patch as a quick fix and address the bigger issues as different issue or in one of the related issues such as, #5128 & #5150.
A do think review of how the terraform file fetcher works (processing directories listed in dependabot.yml in addition to resolving relative paths), naming of terraform dependencies for modules and submodules (including git sources, registry and provider sources), and just an overall design review is probably warranted.

Hi! 👋🏾
Sorry for the silence around this PR--it looks good to me. Thank you for adding appropriate tests.
As for the other linked Terraform issues:
I don't expect this PR to resolve either of them since I think https://github.com/dependabot/dependabot-core/issues/5128 is due to Dependabot not comparing the variables.tf file or other similar "metadata" files between versions, and https://github.com/dependabot/dependabot-core/issues/5150 is due to Dependabot having inconsistent in how it treats different Terraform source.
I'll try to take a look at those issues separately sometime this week.

Hi! 👋🏾
Sorry for the silence around this PR--it looks good to me. Thank you for adding appropriate tests.
As for the other linked Terraform issues: I don't expect this PR to resolve either of them since I think #5128 is due to Dependabot not comparing the variables.tf file or other similar "metadata" files between versions, and #5150 is due to Dependabot having inconsistent in how it treats different Terraform source names/versions.
I'll try to take a look at those issues separately sometime this week.

Nish, thanks for approving this PR.  I didn't mean that this PR would resolve those other PRs rather that those PRs would address the bigger issues of how dependencies are named and files are fetched would fix this issue more appropriately.
Thanks!


How to configure for more than one Vite app?

Hello,
The provided config works if there's just one Vite app in the project. However, I would like to have more apps.
How can I provide multiple build directories with corresponding public paths? Thanks.
pentatrion_vite:
  # Base public path when served in development or production
  base: /build/

Hi @angelov-a, if you want more than one app in your project you can specify your entry points in your vite.config.js file.
export default {
  // ...
  build: {

    rollupOptions: {
      input: ["./assets/app.js", "./assets/other-entry-point.js"],
    },
  },
};

in your public/build you'll find all your files.
and you can reference your other point in your template :
{% block stylesheets %}
    {{ vite_entry_link_tags('other-entry-point.js') }}
{% endblock %}

{% block javascripts %}
    {{ vite_entry_script_tags('other-entry-point.js') }}
{% endblock %}

but I don't believe you can provide multiple build directories with vite ? build.outDir
not to mention the bundle, how do you do that with vite config? and for what purpose ?

Hello @lhapaipai,
Thanks for the answer!
It's not needed to have multiple build directories, since it's separate Vite projects. But they are in one Symfony project which would open the Vite apps in different twig templates.
So the build directories would be
├──public
│ ├──app1
│ ├──app2

Would it be possible to have?
# template for app 1
{% block javascripts %}
    {{ vite_entry_script_tags('app1/main.js') }}
{% endblock %}

# template for app 2
{% block javascripts %}
    {{ vite_entry_script_tags('app2/main.js') }}
{% endblock %}

Hi,
It's actually not possible to use this bundle if you have multiple build directories. I looked if i could implement it but it means search in multiple manifest files, and finally rewrite all the code. so i decided not to add this feature, sorry...
for me, if you need to have separate Vite projects and not only one project in symfony, it's the use case of the module building. so in this case you can always build this module separately and re-import it in your Symfony Vite project.

Hi @angelov-a , this is now possible with PR #39 it will have taken time but everything happens :-)


feat: CXPUI-8 added carousel and removed feature category

Added carousel (react-slick) for featured and most popular categories
removed featured category from left navigation panel
added .NET, Java, Node JS, PHP, Ruby, My SQL, Kafka, Apache as most popular categories
on search hiding the carousel

@jpvajda i am closing this PR without merging as it contains other CXP-UI changes. i have merged other changes for demo purpose. will create another PR for changes related to this PR


[feature](windows function)Improve error handling for window functions.

Proposed changes
before
mysql [test]>select lag(k1,1,0) from db;
ERROR 1105 (HY000): errCode = 2, detailMessage = (<IP_ADDRESS>)[INTERNAL_ERROR]Unknown expr node type: 0

now
mysql [test]>select lag(k1,1,0) from db;
ERROR 1105 (HY000): errCode = 2, detailMessage = lag only used in analytic function

The current error originates from the old planer.
After removing the old planer code in the future, this case will need to be modified.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


Tokens aren't counted as difficult terrain.

Hiya,
Currently tokens aren't counted as being difficult terrain even if the option is ticked. Using Enhanced Terrain Ruler, Terrain Ruler and Drag Ruler. Terrain marked with the polygon works as intended.

Just leaving this here for anyone that might stumble across this issue: Terrain Ruler fully supports the Enhanced Terrain Layer module. The module responsible for this is Drag Ruler, which still uses costGrid and as a result doesn't fully support Enhanced Terrain Layer yet. This is planned to change in Drag Ruler 1.5.0. This is the Drag Ruler issue that tracks Enhanced Terrain Layer support in Drag Ruler.


binary_search.cpp

Added binary search algorithm using c++.Please merge my pull request and add hactoberfest label on it.

create a binary search.md for binary search to in which the code should be pasted


Feature request: cargo install --upgrade <binary>

When using pip, I can run pip install --upgrade azure-cli to get the latest version of the azure-cli package built and installed (and thus the az binary gets updated if needed as well).
As far as I can tell, there isn't any way to do this with cargo install today.
At best, I can use cargo install --list | grep <Something> but that doesn't tell me if it's up-to-date.
Alternatively, cargo install <something> -f will force re-compile even if the binary is up-to-date and it's unnecessary.
Maybe there could be a cargo install --upgrade <something> functionality?

I believe this is covered by https://github.com/rust-lang/cargo/issues/2082, but thanks for the report!

Can this be re-opened please? #4981 says it simply uninstalls, then reinstalls.
I have the situation on CI that cargo install --force was used to force update, but is slow, sometimes to the point of timing out the test.
I'll try cargo-update since --reinstall or --force is not a substitute for a real update command.

How would --upgrade solve the problem that compiling cargo-web takes too long? It seems like it would be easier in that case to just pull the prebuilt binary: https://github.com/koute/cargo-web/releases.

It doesn't always take too long. Travis nodes appear to be highly loaded; at least performance is quite variable and normally the build doesn't time out, it's just slow. The current solution using install-update works fine, although installing cargo-update itself is a bit hacky since it's necessary to quench the error on "already installed" (not an error by most standards).
Another reason to have a cargo upgrade option: to allow --all.


docs: add deprecation notice

Cookiecutter no longer works, so I'm issuing a deprecation notice here. Once this goes through we should archive the repo to make it read-only

Closing this since we'll hold off deprecating cookiecutter


GH2777: Added tests for Cake.Core.IO

Tests for FileSystemExtensions
Tests for FilePathCollections
Tests for PathCollections

I rebased the commits in #2517, but since the PR came from an unknown repository, I needed to send a new PR.

Relates to #2777

@mholo65 your changes have been merged, thanks for your contribution 👍


Microsoft ATA, and Guacamole not Installed correctly

Operating System Version:
Deploying via (Virtual workstation 16):
Vagrant Version (if applicable): 1.0.21

Description of the issue:
After Installing the detectionlab, i ran the build check command (.\post_build_checks.ps1) and found some error with;
Microsoft ATA, and Guacamole.
Can anybody help me fix this issue.

below is the screenshot link
https://filetransfer.io/data-package/kyHnmyHZ#link

Hello,
Please either post a copy of the vagrant build log for Logger and WEF or retry building them via
vagrant destroy -f wef
vagrant up wef
vagrant destroy -f logger
vagrant up logger

I can't debug issues without logs

Closed due to inactivity.


Feature: CalDav support which supports authentication

Hi! First of all, thank you for creating this amazing plugin.
A feature I would like to see is proper CalDav support to pull in external calendars. For now and for the sake of simplicity, we could implement this in a read-only fashion.

See the standard here: https://developers.google.com/calendar/caldav/v2/guide
See a guide from Google here: https://developers.google.com/calendar/caldav/v2/guide

This could also replace the current subscription implementation which has the unfortunate disadvantage that calendars need to be made public (if i understand it correctly). Google and Apple have CalDav APIs for their calendars.
I do not have a lot of time right now but I would love to contribute. If I do get the time I will look at the source and try to think of a way to work on this.

Each platform authentication may be inconsistent, it is recommended to add a new type of subscription calendar, which can include google calendar authentication.

I have started to work on this. For my use-case (Nextcloud), either Basic Authentication or OAuth2 can be used. Basic Auth is very simple to work with by using app specific passwords. Googles CalDav API also uses OAuth2.
Using this guide along the way as I proceed: https://sabre.io/dav/building-a-caldav-client/

It would be great for those use tasks.org as mobile opensource app.

Unfortunately I do not currently have time to continue working on this due to work and exam season.

Hi Everyone
Thank you @dominiwe for including the relevant resources.
I might fork and give the integration a try. It will probably be basic auth for now, as my use case is also Nextcloud. If it works out, then I'll move on to OAuth2.
And thank you @haydenull for the stellar plugin.

Thank you all for your efforts. If there is anything I can help, please don't hesitate to ask.

Hi all, any update on this? Having this feature would be really helpful!


Sync Music tracks between Clients

maybe sync the rng seed on client connect to avoid having to send additional packets for music track playback

Yes with interop on Raven clients only.


Added progress filter class to mobile-services-android-authenticate-app-refresh-token.md

and to mobile-services-android-authenticate-app-refresh-token-EC.md

Hi @soninaren, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (nasoni). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

#4041 fixed


Variables not received on some SD

I guess this one is hard because depending on the streamdeck, behavior is different.
I mostly have not too many issues with the XL but the 15 buttons and the mini are another story.
The std doesn't seem to properly receive the values of a given variable. I am using the Ka-50 profile. When programming the exact same output on the XL, I can see the variable value (LED) going from zero to one alright. With the exact same button on the SD standard, it doesn't show any change in the variable value, but it does change it on the twin button of the XL.  Can it be a problem with SD being on a USB hub?

OK yeah that is weird.
Although the UI differs the code behind is the same. So check that with the hub (good observation!) and report back. Really weird.

Is still this a problem?


Name collision with Seed files

We cannot use Seed files using the same name of any of Voyager files, like DataRowsTableSeeder, PermissionsTableSeeder, etc., because they are being autoloaded from composer.
As result, when installing a Hook the system will use classes from the auloaded, missing the seeds located on the Hook folder.
This bug was hard to figure out, because install will run fine without any error message.

We could namespace them, but that's not "standard" Laravel, and is hard to enforce in community-submitted hooks.

Yea, I think it would be a good idea to namespace them, but Laravel seeder does not support that by default, so will need to overwrite some code in the seeder script.
Once that is done I think we should just write a best practice about doing so, in order for the community to namespace their seeders in the hooks.

Laravel's seeder should handle that just fine. You just have to call the class explicitly with the namespace


Source code documentation & tests

I made this into an issue instead of posting it on the mailing list, because in my mind this is an issue and not just a discussion :)
I've started writing a Ruby plugin (so far I've got some basic things working) and now that I'm trying to implement the eval part, I've found myself struggling to navigate the source code, as I'm pretty new to clojure. Which leads me to two things:
I'd love to start adding inline docs (at least some to the most obvious places), unless someone plans to document everything by themself :)
And then there's the question of unit tests. Since ClojureScript is a super-dynamic language it's not really a question (at least in my mind) whether we should have tests for at least the non-UI stuff. But it's probably a good idea to get some general agreement on how to approach this, what library to use, etc.

I'm going to close this, not because it's not a good idea (or two good ideas) – it is (they are) – but because it's not really useful as an open issue.
I'm willing to accept PRs on the atom-shell branch for adding comments or other source code documentation.
I'd like to add tests – I just tried to add clojurescript.test – see this comment related to a small change for which it would be nice to have a few corresponding tests.
But I ran into an issue with clojurescript.test that was (somewhat) fixed, but in versions that require newer versions of ClojureScript. Unfortunately, per #1739 we may not be able to do so that soon:

Update ClojureScript dependency · Issue #1739 · LightTable/LightTable

And we may not be able to add tests – see #1647 for the first documented attempt:

Adding a test suite to Light Table · Issue #1647 · LightTable/LightTable

Or, maybe we will need "to run the tests in LT itself". That's an interesting idea actually ...


[App] Refactor plugins to be a standalone LightningPlugin

What does this PR do?
Changes plugins to be standalone, similar to apps - rather than children of apps.

Before submitting

[x] Was this discussed/agreed via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
Did you make sure to update the documentation with your changes? (if necessary)
Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
Did you list all the breaking changes introduced by this pull request?
Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

Reviewer checklist

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

cc @borda @justusschock @awaelchli

@ethanwharris Since this will probably merge soon, could I ask you to then cherry-pick that commit over into this branch: https://github.com/Lightning-AI/lightning/pull/16790 for an efficient releasing in the coming days. Thanks in advance!


wishlist: sprite gallery

We have some srsly cool sprites. It'd be nice to have some sort of gallery /HoF for them

This is a duplicate I added it a few minutes earlier.


Problem resuming a SCORM packaged exam

When resuming this exam uploaded to a Moodle page as a SCORM package, I (also reproduced by other users) get the error
Numbas has failed
Sorry, Numbas has encountered an error which means it can't continue. Below is a description of the error.
Numbas Error: Error loading question 7: Not a polynomial
The error message is always the same and always refers to question 7 of that exam. However, putting just that question and a second dummy question into an exam did not reproduce the problem, so there seems to be some interaction with one of the other questions(?)
Unfortunately, I do not currently have a setup where I could easily debug this further (and also, I am not sure how to go about that). Do you have an idea what could cause this? I could probably dig deeper and/or try to actually produce a smaller example with this behavior; any pointers would be helpful, though. Thanks!
Another (very small) thing I noticed when trying to put together a "minimal non-working example": For exams with only one question no Pause button is shown. It's probably not worth changing, but it might make sense to mention that in the documentation.

Thanks for reporting this. It turned out the polynomials extension on the mathcentre editor was out of date. I've updated it to the latest version, and that question now works.
I'll open a new issue about the pause button.


Typescript tests are not actually typechecking gts files

In order for glint to typecheck gts files, the tsconfig glint.environment node needs to include "ember-template-imports". e.g.
  "glint": {
    "environment": ["ember-loose", "ember-template-imports"]
  },

In addition, the addon must have a dev dependency on @glint/ember-tempate-imports.
Once glint actually runs in the addon, type check issues are revealed:
│ [types] src/components/template-import.gts:2:26 - error TS2307: Cannot find module './template-only' or its corresponding type declarati…
│ [types]
│ [types] 2 import TemplateOnly from './template-only';
│ [types]                            ~~~~~~~~~~~~~~~~~
│ [types]
│ [types] src/components/template-import.gts:3:24 - error TS2307: Cannot find module './another-gts.gts' or its corresponding type declara…
│ [types]
│ [types] 3 import AnotherGts from './another-gts.gts'; // N.B. relative imports inside a v2 addon should have explicit file extensions (t…
│ [types]                          ~~~~~~~~~~~~~~~~~~~
│ [types]
│ [types] src/components/template-import.gts:4:20 - error TS2307: Cannot find module '@ember/modifier' or its corresponding type declarati…
│ [types]
│ [types] 4 import { on } from '@ember/modifier';
│ [types]                      ~~~~~~~~~~~~~~~~~
│ [types]
│ [types] src/components/template-import.gts:6:20 - error TS2307: Cannot find module '@ember/helper' or its corresponding type declaration…
│ [types]
│ [types] 6 import { fn } from '@ember/helper';

Should eventually get fixed by #199.


Investigate compatibility with Skill Customization 5e

Skill Customization 5e might require more horizontal real estate than I currently allow the skills list to have. Need to investigate how badly broken it may be.

Things aren't too bad actually.

It is possible for the user to expand the sheet sideways a little and the fluid layout will fix itself fine.