JavaScript Intellisense not working for commonJS after upgrading to 0.10.10

I updated to 0.10.10 today, hoping to try out the new JavaScript support with Salsa. Unfortunately, my Intellisense has stopped working. I am using type definition files from definitely typed (e.g. the express.d.ts).
For example, using 0.10.8:
var exp = require("express");
exp.Router
I will see the content assist for the "Router" function and I can visit the definition file by right clicking on "Router" > Go to Definition
Now when I do the same thing in 0.10.10, I don't see "Router" in the Intellisense list. In addition, the list seems to have variables I had defined earlier in my code (which doesn't apply to express at all).

I have the same issue, intellisense seems to be completely missing as of 0.10.10 in javascript files. I tried introducing a skeleton jsconfig.json file:
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs"
}
}
This doesn't help. I'm also using typings from tsd.

My issue seems to be related to this as well.
https://github.com/Microsoft/vscode/issues/3813

I have same problem. Javascript intellisense stopped working after update in HTML files. In javascript files it's working fine

@konrad147 Yours is expected behavior. From the patch notes:
There is no longer support for IntelliSense in script sections inside HTML documents.

@konrad147

I have same problem. Javascript intellisense stopped working after update in HTML files. In javascript files it's working fine

Sorry, but this is a know limitation that is documented in release notes. We will work with the TypeScript team to bring this back.

@sghung this works for me, pls see below. Do you have a jsconfig.json defined? Can you compare the setup in the screenshot with your setup

@Daynil do you have a setup that allows me to reproduce the problem.

I have a similar problem with Javascript after updating to 0.10.10. After update it completely stopped working, forcing Intellisense to show up with ctrl+space shows "Loading..." tooltip which hangs forever. Once I got a tooltip that "[Javascript service?] crashed 5 times in 5 minutes" (are those crash reports logged somewhere so I could share them?)
Some details that maybe could be useful for establishing pattern:
The problem is not machine wide, for simpler projects I have it does work well (I can have 2 instances of VS Code running side by side, one is having Intellisense, one is stuck. I do have jsconfig.json, for me it looks like that:
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "ES6"
    },
    "exclude": [
        "target"
    ]
}

Making it identical to what @egamma suggested did not solve the problem.
I tried to open only small part of the project and it still hangs (by opening a folder -> pointing it to some subdirectory with 2-3 *.js files; maybe VS Code is smart enough to look up in directory tree to "base directory"?)
The project I have problem with is of rather small (around 50 js files, many of them very short) we are using AngularJS 1.5 with jspm (systemjs) and pure ES6, no TS (no tsd/typings folders are present). Our setup is maybe somewhat unusual as we are using ES6 modules to do heavy lifting when defining Angular components, something like this:
import controller from './match.controller';
import link from './match.link.js';

let matchComponent = function(){
	return {
		template,
		controller,
		[...],
                link : link
	};
};```

I will try to duplicate my project layout and see if I can get a minimal repro.

I also am having problems with the intellisense now, getting that ~10s lag. It seems to happen intermittently, but it consistently happens when typing "try" or "trycatch" to get the snippet. The lag ranges from ~3-10s. I tried this in a new file in a new folder, and the lag doesn't occur. Only in my actual project.

@egamma I added the jsconfig.json as you had suggested. That did not fix the issue. However, if I restart VS Code, then intellisense works again. Are the jsconfig.json properties being cached somehow? (that would be fixed on a restart?)

@sghung

I added the jsconfig.json as you had suggested.

OK, can you confirm that you didn't have a jsconfig.json when Intellisense didn't work?

Are the jsconfig.json properties being cached somehow? (that would be fixed on a restart?)

yes, but you do not have to restart you can execute Reload JavaScript Project.

@Ravadre please notice that the jsconfig.json I included in this issue was just for this particular project setup. In general you exclude the folders with generated or library JS code, pls see https://code.visualstudio.com/Updates#_languages-javascript the section 'Migration'
Something like
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "ES6"
    },
    "exclude": [
        "node_modules",
        "jspm_packages",
        "client/jspm_packages
    ]
}

@egamma Yes, I can confirm that I did not have a jsconfig.json file in my workspace (in VS Code 0.10.8, I didn't need a jsconfig.json for intellisense to work).
Thanks for the tip regarding Reload JavaScript Project, that worked. Now to workaround this issue I do:

Test Intellisense not working in project
Add jsconfig.json
Test intellisense not working in project
Run "Reload JavaScript Project" command
Test Intellisense now works in project

@egamma Migration section, which for some reason I missed when I read changelog yesterday explains a lot. It also perfectly explains why removing jsconfig helped. I guess most time I spent on testing was futile :disappointed: .
Possibly, one thing I think could be useful to add would be some sort of a message to inform user that TS engine crashes because of (possibly?) running out of memory. Right now forgetting to exclude 1-2 jspm/node directories can mean that Code will constantly parse those file in the background (which means high IO, allocating lots of memory) over and over again.
Thanks for help!

Here's how my setup looks when I'm getting the issue, with the jsconfig.json set up as directed by @egamma :

@Ravadre agreed that we should provide more guidance for how to exclude folders and also in the case of a crash. This is tracked in #3901

@bill-mybiz your behaviour can be explained by not excluding folders in the jsconfig.json pls see this comment https://github.com/Microsoft/vscode/issues/3791#issuecomment-193848434.

@Daynil
I cannot reproduce what you show in the comment above (with or without jsconfig.json)

Can you start with the minimal example from the screenshot, does this work for you? Next, can you and more of your setup until Intellisense breaks?
Also when adding/modifying the jsconfig.json can you make sure that run the 'Reload JavaScript' command.

@egamma This is a TypeScript project and there are no source js files in my ts files glob. But just for the fun of it, I added a jsconfig.json as follows in the root directory (alongside my tsconfig):
{
    "compilerOptions": {
        "module": "commonjs",
        "target": "ES6"
    },
    "exclude": [
        "bin",
        "bin-webpack",
        "client/node_modules",
        "client/platforms",
        "client/plugins",
        "client/resources",
        "node_modules"
    ]
}

I tried both restart javascript project command and restarting vs code itself and there is no difference. There are still several seconds of lag with the trycatch snippet option (as well as with other ctrl+shift+spacebar intellisense). When I hit ctrl+space on "trycatch" to get the snippet intellisense option, it will consistently lag about 10sec. Ctrl+space thereafter will be immediate as long as I don't edit anything. But if I hit spacebar just after trycatch (to move the cursor off of the symbol), then left arrow (to return to the end of "trycatch"), and then ctrl+space, there will be the 10 second lag again.
I also tried to explicitly exclude folders in tsconfig, but it is not allowed when using the files glob.
My project is available on GitHub here.

@bill-mybiz since this is a TypeScript project then your issue is unrelated to what is discussed here and you are in the wrong issue :smile:

I also tried to explicitly exclude folders in tsconfig, but it is not allowed when using the files glob.

I see that you are using filesGlob this attribute is not supported in TS version that is used by VS Code (fileGlob is an Atom TypeScript specific extension). I would recommend to not use files glob but have a tsconfig.json that has no files section but that uses exclude.

@egamma Ah, yes it's always difficult to decide new issue vs. old one. I just saw that there are so many intellisense issues already and that they seemed to be swallowed by this one. I'll post a new one. Thanks!

@bill-mybiz thanks, then I'll close this one

@egamma I think I finally figured out what was going wrong with my project. I had a user setting that pointed to my global the tsserver in node_modules/typescript/lib. Suddenly an error message popped up saying the path doesn't point to a valid tsserver install. When I removed the user setting it started working again. Just in case anyone has this issue.

@Daynil thanks added this to the release notes about javascript:


feat: add secrets, add cert creation, make optional

Pr to allow the operator to either create and use certs, or use certs created by user.
Testing without cert and secrets

Launch and authenticate with cluster
Install Keycloak on the cluster

oc create -k https://github.com/securesign/sigstore-ocp/keycloak/operator/base
oc create -k https://github.com/securesign/sigstore-ocp/keycloak/resources/base

Run the operator

make install && make run

Add keycloak url to config/samples/rhtas_v1alpha1_securesign.yaml
Create a namespace: oc new-project securesign
Apply the yaml file: oc apply -f config/samples/rhtas_v1alpha1_securesign_cert_create.yaml -n securesign
Sign and verify

Testing with cert and secrets

As Above (1-5)
Create secrets in namespace

oc -n securesign create secret generic fulcio-secret-rh --from-file=private=file_ca_key.pem --from-file=public=file_ca_pub.pem --from-file=cert=fulcio-root.pem --from-literal=password=secure  && oc -n securesign create secret generic rekor-private-key --from-file=private=rekor_key.pem

Apply the yaml file: oc apply -f config/samples/rhtas_v1alpha1_securesign.yaml -n securesign
Sign and verify

Completes https://github.com/securesign/secure-sign-operator/issues/1

@JasonPowr will the certificate creation work at all for Kind clusters?
We may need to reset the config/sample deployment and then create an additional config/sample for certificate creation and to make sure CI is happy because it can only use kind

@cooktheryan I believe secret creation should work for the kind cluster at least I cant see why it wouldn't off the top of my  head, I see what you mean though, let me take a look and see :)

@cooktheryan that should keep the ci happy :)
Run sleep 120
NAME                                 READY   STATUS      RESTARTS   AGE
create-config-z2qd7                  0/1     Completed   0          2m
create-tree-rekor-kpgqm              0/1     Completed   0          2m
create-tree-xsrmm                    0/1     Completed   0          2m
ctlog-6fcb68984b-4g4fw               1/1     Running     0          2m
fulcio-server-7c67f996d5-v7kgn       1/1     Running     0          2m
rekor-redis-fff7cf654-7t7pd          1/1     Running     0          2m
rekor-server-7cc5dc7b55-z5bq9        1/1     Running     0          2m
trillian-db-55d446f549-lfpmr         1/1     Running     0          2m
trillian-logserver-9856ccddd-4bb6l   1/1     Running     0          2m
trillian-logsigner-cb9d88cdd-422ft   1/1     Running     0          2m

I think it would be a good idea to test both cert creation and using your own WDYT?

@JasonPowr completely agree having both tests will save our butts at the end of the day.
@JasonPowr why don't we file an issue to test for both. It will be a good opportunity for us to finish the work of allowing multiple installations of securesign deployed in namespaces.


"include" always returns a string, regardless of the actual type

https://github.com/helm/helm/blob/3d1bc72827e4edef273fb3d8d8ded2a25fa6f39d/pkg/engine/engine.go#L112-L125
I noticed when I put some complex logic in a define and referenced it in an if, it was always treating the result as true.
{{ define "not-true"}}
{{ false }}
{{ end }}
{{ if include "not-true" }}
BOO!
{{ else }}
YAY!
{{ end }}

BOO!

This is because the include function always returns a string.
There is no fix for this function that would be backward compatible, but perhaps we could add an additional function that works like json's decodeState.literalStore to allow types to carry through.

Unfortunately I don't think this is possible with go templates. ExecuteTemplate just writes to a buffer and any type information is lost.
Any idea how this could work?
As a workaround you can use (include "..." .) | fromJson, but this works only for complex types not boolean.
For numbers you can use atoi.

Yeah, I built a really hacky workaround.
{{- define "complex.logic" -}}
{{- $data := .Values.data -}}
{{- toJson (dict "bool" (and (dig "value1" false $data) (not (empty (dig "value2" "" $data))))) -}}
{{- end -}}

{{- if (include "complex.logic" . | fromJson).bool }}

Which at least tells the reader that the include value being returned is a bool.
Maybe this should be a sprig issue, adding a function that interprets strings as json values, ie. true is a bool but "true" is a string.

Ok, so it shouldn't be a sprig issue. Looks like there is nobody maintaining that project.

I will look at the sprig fromJson function to see how it works. Maybe it should interpret values in this way, but currently it only interprets maps.


Compilation errors with Rust E57 library and wasm-bindgen

Hi,
I've been using the Rust E57 library in one of my assignments, and I must say it's a great tool. I appreciate the effort you put into creating a pure Rust solution without any unsafe code. However, I've encountered an issue while trying to compile the Rust code to WebAssembly using  #[wasm_bindgen] tool. It seems to be related to the integration of the E57 library with the WebAssembly target. I've followed the necessary steps and have encountered the following errors:

error: #[wasm_bindgen] generic impls aren't supported
--> src\e57_reader.rs:48:5
|
48 | impl<T: Read + Seek> E57Reader {
|     ^^^^^^^^^^^^^^^^

error: paths with type parameters are not supported yet
--> src\e57_reader.rs:268:6
|
268 | impl E57Reader<BufReader> {
|      ^^^^^^^^^^^^^^^^^^^^^^^^^^

These errors suggest that there are limitations or compatibility issues with using generic implementations and type parameterized paths in the context of #[wasm_bindgen]. I believe this issue is specific to the integration of the E57 library with  #[wasm_bindgen]. I've successfully compiled other Rust projects to WebAssembly using #[wasm_bindgen], so I suspect there might be some specific considerations or configurations required for this library. I'm eager to use the Rust E57 library in my WebAssembly project, and resolving this issue would be of great help.

Can you please post your Rust code that uses wasm_bindgen and the E57 library? I was unable to reproduce your issue. This is my test code that compiled and worked without any hickups:
use e57::E57Reader;
use std::io::Cursor;
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn test_xml_extract(input: &[u8]) -> String {
    let reader = Cursor::new(input);
    let e57 = E57Reader::new(reader).unwrap();
    let xml = e57.xml();
    xml.to_string()
}

Its probably to be expected that wasm_bindgen cannot magically translate generic Rust arguments. You probably either have to copy the contents of the file that should be parsed over into the WASM memory. Or setup some more involved code that can stream the data from the JS context to the WASM context.

Yes sure, thank you for your response.
Here's my rust code which uses wasm_bindgen and the E57 library -
`use e57::E57Reader;
use std::fs::File;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn parse_e57_file(file_path: &str) {
let reader = E57Reader::from_file(file_path).unwrap();
}`
Here's detail error -
Uncaught (in promise) RuntimeError: unreachable     at __rust_start_panic (2397f9de451fc3a18581.module.wasm:0xc06c6)     at rust_panic (2397f9de451fc3a18581.module.wasm:0xbf5bc)     at std::panicking::rust_panic_with_hook::h7f7102b82d51338f (2397f9de451fc3a18581.module.wasm:0xa51d4)     at std::panicking::begin_panic_handler::{{closure}}::hfa40135feb109919 (2397f9de451fc3a18581.module.wasm:0xac74e)     at std::sys_common::backtrace::__rust_end_short_backtrace::haf21bfec9a028e09 (2397f9de451fc3a18581.module.wasm:0xc05f7)     at rust_begin_unwind (2397f9de451fc3a18581.module.wasm:0xb8de2)     at core::panicking::panic_fmt::he4489d678d6570d5 (2397f9de451fc3a18581.module.wasm:0xbdd5f)     at core::result::unwrap_failed::h9c69c0d7a98df92b (2397f9de451fc3a18581.module.wasm:0xae18a)     at core::result::Result<T,E>::unwrap::h5d965d21a18d8152 (2397f9de451fc3a18581.module.wasm:0x9a90b)     at missionrust::parse_e57_file::h8d553b808c8ba1a4 (2397f9de451fc3a18581.module.wasm:0xaf97f)

To get more helpful errors you should look into the crate https://crates.io/crates/console_error_panic_hook. It will provide the original Rust errors which will give you a better hint about whats going on. In your example that would be something like this:
panicked at 'called `Result::unwrap()` on an `Err` value: Read { desc: "Unable to open file", source: Some(Error { kind: Unsupported, message: "operation not supported on this platform" }) }

When you execute your WASM code inside a browser that means it runs in a sandbox. This sandbox has no access to your computers file system, meaning whatever file path you supply cannot be read. This is why it says not supported on this platform. Instead you need another way to get the E57 file data into you WASM sandbox. If the files are small enough the easiest option is to read them into the shared memory of the WASM sandbox and access it from there. See example code below.
If your files are very big, you are out of luck and need to find a way to stream them into your sandbox. However, this is not something that will be solved by this E57 library, since this is a generic Rust/WASM problem about file IO.
Rust Code
use e57::{E57Reader, Point};
use std::io::Cursor;
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn point_average(input: &[u8]) -> Vec<f64> {
    console_error_panic_hook::set_once();
    let reader = Cursor::new(input);
    let mut e57 = E57Reader::new(reader).unwrap();
    let point_clouds = e57.pointclouds();
    let point_cloud = point_clouds.first().unwrap();
    let iter = e57.pointcloud(point_cloud).unwrap();
    let mut result = vec![0.0, 0.0, 0.0];
    for i in iter {
        let values = i.unwrap();
        let point = Point::from_values(values, &point_cloud.prototype).unwrap();
        let coords = point.cartesian.unwrap();
        result[0] += coords.x / point_cloud.records as f64;
        result[1] += coords.y / point_cloud.records as f64;
        result[2] += coords.z / point_cloud.records as f64;
    }
    result
}

HTML + JavaScript
<!DOCTYPE html>

    <input type="file" id="file_picker"></input>


How do I enable es6 --harmony support?

If I start my app with sails lift --harmony - it doesn't work. node --harmony app.js doesn't work either. I'm using node 0.11 and testing let scoping.

I've had much better success with iojs

Ok, the problem was that let is not implemented even in node.js and iojs latest versions.

It is. Im using let right now with iojs.The regular harmony flag isnt sufficient afaik

Yeah, I see now, it requires strict mode + some magic.


Remove upload to pages ci, replaced by using readthedocs

Fixes #2533

I'm a bit surprised that switching documentation host doesn't require more changes than just cleaning out the config. I realise this is partially because the readthedocs support was added some time ago, but it still feels like there should be a corner of the developer documentation that had to be updated.
I guess the maintainer info about the online docs where written at the same time as readthedocs was added?

This was really just a leftover, it was not used anymore at all. It was behind a "if branch == master" check, but we are on main already for a long time


expand api error msg

Previously this error message would read for example like:

Failed to create session: Error calling ONNX Runtime C function

This is pretty useless.
Now it reads for example like:

Failed to create session: Error calling ONNX Runtime C function: Could not find an implementation for the node StatefulPartitionedCall/yolo_v3/non_max_suppression_padded/PartitionedCall/TopKV2:TopK(11)

Which is much more informative and actionable. :)

Absolutely! :D
Thanks a lot for you contributions 👍

Absolutely! :D
Thanks a lot for you contributions 👍


Fix golint warnings for helpers/general.go

It includes go-style of avoinding elses on after return and fix of
comment for NormalizeHugoFlags.

In this case we're gonna keep the if/elses (golint is suggestions). Could you trim down this pull request to the error in the comment?

@bep I wonder why you want to keep them?

In normal cases, I agree that multiple returns are better than nested if/elses. I have ran golint on Hugo several times in the past, and have skipped these same warnings before:

These nested, almost switch-like if-elses reads nicely as-is. It is a matter of taste.
Changing them just because golint says so is not a good reason enough. There is plenty of stuff to do in Hugo with more substance.
If the original author of this code had opened up this pull request, I would have merged it.

@bep ok, your repo - your rules
even if I think that go-community style overpower any personal style. I think that it should be less place for personal styles.

Actually it's @spf13 s repo. I totally obey with the go vet rules. But I think you will find lots of golint warnings even in Go's stdlib.

Merged in 7b4e4769d070c3af97abaca9c1169f9e341be141
Thanks.


Error on build

Bug
docker-compose --project-directory=. -f docker-compose.dev.yml up --build
Building api-admin
[+] Building 26.3s (12/13)
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 38B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 35B                                                                                0.0s
 => [internal] load metadata for docker.io/library/node:12-alpine                                                                        2.2s
 => [1/9] FROM docker.io/library/node:12-alpine@sha256:9923c9efb13cf7535f67e49b03010f0977a800068e4c8e0e2c93433a6bfa1e77                  0.0s
 => [internal] load build context                                                                                0.8s
 => => transferring context: 80.77kB                                                                                0.8s
 => CACHED [2/9] RUN mkdir -p /nest                                                                                0.0s
 => CACHED [3/9] ADD . /nest                                                                                0.0s
 => CACHED [4/9] WORKDIR /nest                                                                                0.0s
 => CACHED [5/9] RUN yarn global add @nestjs/cli                                                                                0.0s
 => CACHED [6/9] RUN yarn install --production=false                                                                                0.0s
 => CACHED [7/9] RUN nest build proto-schema                                                                                0.0s
 => ERROR [8/9] RUN nest build api-admin                                                                                23.1s
------
 > [8/9] RUN nest build api-admin:
#12 4.153 Starting type checking service...
#12 23.02 Hash: d144b1e82fac34f52f09
#12 23.02 Version: webpack 4.43.0
#12 23.02 Time: 18831ms
#12 23.02 Built at: 04/19/2021 4:07:07 PM
#12 23.02 Entrypoint main = apps/api-admin/main.js
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/arango/repository/base-arango.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/arango/repository/base-arango.repository.ts(829,7):
#12 23.02 TS2740: Type 'DateTime' is missing the following properties from type 'Date': toDateString, toTimeString, toLocaleDateString, toLocaleTimeString, and 37 more.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/arango/repository/base-arango.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/arango/repository/base-arango.repository.ts(830,7):
#12 23.02 TS2322: Type 'DateTime' is not assignable to type 'Date'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(115,13):
#12 23.02 TS2769: No overload matches this call.
#12 23.02   Overload 1 of 2, '(query?: FilterQuery<DOC>): Cursor<DOC>', gave the following error.
#12 23.02     Argument of type 'Record<string, unknown>' is not assignable to parameter of type 'FilterQuery<DOC>'.
#12 23.02       Type 'Record<string, unknown>' is not assignable to type '{ [P in keyof DOC]?: Condition<DOC[P]>; }'.
#12 23.02   Overload 2 of 2, '(query: FilterQuery<DOC>, options?: FindOneOptions): Cursor<DOC>', gave the following error.
#12 23.02     Argument of type 'Record<string, unknown>' is not assignable to parameter of type 'FilterQuery<DOC>'.
#12 23.02       Type 'Record<string, unknown>' is not assignable to type '{ [P in keyof DOC]?: Condition<DOC[P]>; }'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(436,5):
#12 23.02 TS2322: Type 'DOC | DOC[]' is not assignable to type 'WithId<DOC>'.
#12 23.02   Type 'DOC' is not assignable to type 'WithId<DOC>'.
#12 23.02     Type 'DOC' is not assignable to type 'EnhancedOmit<DOC, "_id">'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(443,5):
#12 23.02 TS2322: Type 'WithId<DOC>' is not assignable to type 'DOC'.
#12 23.02   'DOC' could be instantiated with an arbitrary type which could be unrelated to 'WithId<DOC>'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(465,7):
#12 23.02 TS2769: No overload matches this call.
#12 23.02   Overload 1 of 3, '(filter: FilterQuery<DOC>, update: UpdateQuery<DOC> | Partial<DOC>, callback: MongoCallback<UpdateWriteOpResult>): void', gave the following error.
#12 23.02     Argument of type 'Record<string, unknown>' is not assignable to parameter of type 'FilterQuery<DOC>'.
#12 23.02       Type 'Record<string, unknown>' is not assignable to type '{ [P in keyof DOC]?: Condition<DOC[P]>; }'.
#12 23.02   Overload 2 of 3, '(filter: FilterQuery<DOC>, update: UpdateQuery<DOC> | Partial<DOC>, options?: UpdateOneOptions): Promise<UpdateWriteOpResult>', gave the following error.
#12 23.02     Argument of type 'Record<string, unknown>' is not assignable to parameter of type 'FilterQuery<DOC>'.
#12 23.02       Type 'Record<string, unknown>' is not assignable to type '{ [P in keyof DOC]?: Condition<DOC[P]>; }'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(470,7):
#12 23.02 TS2345: Argument of type 'Record<string, unknown>' is not assignable to parameter of type 'FilterQuery<DOC>'.
#12 23.02   Type 'Record<string, unknown>' is not assignable to type '{ [P in keyof DOC]?: Condition<DOC[P]>; }'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(478,17):
#12 23.02 TS2339: Property 'id' does not exist on type 'void'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(479,24):
#12 23.02 TS2339: Property '_id' does not exist on type 'void'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts
#12 23.02 ERROR in /nest/libs/repo-orm/src/database/mongo/repository/base-mongo.repository.ts(483,5):
#12 23.02 TS2322: Type 'void' is not assignable to type 'DOC'.
#12 23.02   'DOC' could be instantiated with an arbitrary type which could be unrelated to 'void'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repository/src/repositories/access-token.repository.ts
#12 23.02 ERROR in /nest/libs/repository/src/repositories/access-token.repository.ts(9,3):
#12 23.02 TS2305: Module '"../../../repo-orm/src"' has no exported member 'InjectDb'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repository/src/repositories/offer.repository.ts
#12 23.02 ERROR in /nest/libs/repository/src/repositories/offer.repository.ts(9,3):
#12 23.02 TS2305: Module '"../../../repo-orm/src"' has no exported member 'InjectDb'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repository/src/repositories/plan.repository.ts
#12 23.02 ERROR in /nest/libs/repository/src/repositories/plan.repository.ts(9,3):
#12 23.02 TS2305: Module '"../../../repo-orm/src"' has no exported member 'InjectDb'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repository/src/repositories/project.repository.ts
#12 23.02 ERROR in /nest/libs/repository/src/repositories/project.repository.ts(9,3):
#12 23.02 TS2305: Module '"../../../repo-orm/src"' has no exported member 'InjectDb'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repository/src/repositories/tenant.repository.ts
#12 23.02 ERROR in /nest/libs/repository/src/repositories/tenant.repository.ts(8,3):
#12 23.02 TS2305: Module '"../../../repo-orm/src"' has no exported member 'InjectDb'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repository/src/repositories/user.repository.ts
#12 23.02 ERROR in /nest/libs/repository/src/repositories/user.repository.ts(10,3):
#12 23.02 TS2305: Module '"../../../repo-orm/src"' has no exported member 'InjectDb'.
#12 23.02
#12 23.02 ERROR in /nest/libs/repository/src/repositories/webhook.repository.ts
#12 23.02 ERROR in /nest/libs/repository/src/repositories/webhook.repository.ts(9,3):
#12 23.02 TS2305: Module '"../../../repo-orm/src"' has no exported member 'InjectDb'.
------
executor failed running [/bin/sh -c nest build api-admin]: exit code: 1
ERROR: Service 'api-admin' failed to build

To Reproduce
Steps to reproduce the behavior:

RUN:  docker-compose --project-directory=. -f docker-compose.dev.yml up --build

Desktop:

OS: Ubuntu 20.04 (WSL)

+1 on mac

+1 on windows 10

+1 Ubuntu 20.04.2 LTS

+1 on mac

Fixed


Error in get data if size it is greater than the total number of records that we have in databases.

Hello,
The issue at hand is as follows.
Consider the following code:
query := fmt.Sprintf(`page=%d&size=%d`, 1, 5)
req := &http.Request{
    Method: "GET",
    URL: &url.URL{
        RawQuery: query,
    },
}
page := Pagination.With(resp).Request(req).Response(&result)

If the total number of records in our database is only 4, we won't receive anything in the response.
Please provide a solution. Thank you.

page always starts at 0. you can change page to 0 instead of 1


Move external files to src directory or project root

things like logs, commands, config.json, etc should be in the project root or src directory. can't deal with as of now due to pypi limitations.

Added in <IP_ADDRESS>


Shared database authorization not scalable?

I'm trying to wrap my head around the security model that's used for shared databases. I understand it differs between plain CouchDB and Cloudant.
CouchDB
Creates a _users database and for every user it creates a document with a unique id and derived_key. This _users db is admded besides superlogin's userDB (sl_users for example.
This id is then added to members.names in the _security document of the shared database.
More info: http://docs.couchdb.org/en/1.6.1/intro/security.html#authentication-database
Cloudant
creates a API key per user using _api/v2/api_keys.
This key is then added to a cloudant object in the _security document of the shared database. This _security document, per key, roles are defined.
More info: https://console.ng.bluemix.net/docs/services/Cloudant/api/authorization.html
(Cloudant also has support for the CouchDB _users model, although it doesn't (yet) hash the password.
Resulting in user specific permissions per database?
This all seems to mean that in each shared database's _security document all the users are listed. This doesn't seem maintainable at all? What if I'd like to add another shared libary later on or want to change the rights of existing users?
When I currently visit our Cloudant dashboard and go to the permissions page of a shared database my browser hangs, because it's having problems loading / rendering all the permissions. (because every user is listed).
Why not role based?
CouchDB _users system also allow you to list members.roles and if I understand it correctly in the case of Cloudant API keys could be created per "role" and be shared with multiple users.
More information on sharing API keys on Cloudant: https://dx13.co.uk/articles/2016/4/11/using-a-cloudant-api-key-with-multiple-cloudant-databases-and-accounts.html
The plain CouchDB _users roles model seems much easier in my opinion? (Although I'm not sure if superlogin can already handle the hashing of passwords on Cloudant.)
Having roles means that you end up with only a couple of roles per database, creating a very readable and maintainable _security document.
What do you guys / girls think?

With SuperLogin you can store an array of approved roles for each user. (Just edit the roles array in the sl_users doc for each user.) Authentication is session based, so each login generates a unique Cloudant API key or on CouchDB a random username/password. When the session logs out, access is removed for that key. When the session expires, SuperLogin automatically invalidates that key.
Sharing Cloudant API keys between users would definitely be bad security. You setup traditional CouchDB authentication on Cloudant if you like, but I like Cloudant's model much better.
Per-role instead of per-session _security is possible. Just make sure the user has the correct role in their sl_users doc and they should be able to access a shared database which has that role enabled.

Thanks for the quick reply. I totally didn't get that it was session based.
So per session a API key is generated which is added to all the databases listed in userDBs.shared? If we're just thinking about Cloudant and userDBs.model.[somedatabasename].permissions defines the permissions that session get's automatically for that database? Which is updates when a new session is started? Does a refresh result in a new session?

With SuperLogin you can store an array of approved roles for each user. (Just edit the roles array in the sl_users doc for each user.)

You mean the roles each new user gets by default? You mean editing the roles array of each user doc in the sl_users database?

Per-role instead of per-session _security is possible. Just make sure the user has the correct role in their sl_users doc

You mean in each user's doc in the sl_users database right?
How do you for example setup the nobody api key with the superlogin config?

You are correct in most of your assumptions. A refresh leaves the session login and password intact, and simply extends the life.
One additional piece of advice I can give you is to run superlogin.removeExpiredKeys() on a scheduler (as often as practical for desired security) to remove all expired sessions from the _security docs of all your databases. This will keep them from getting too cluttered.

How do you for example setup the nobody api key with the superlogin config?

I'm not sure what you mean by this.

Thanks for the clarifications!
I always assumed that removeExpiredKeys was for removing old sessions from user's databases. I will defiantly look into that, that's probably one of the biggest reasons we're having problems loading the Permissions pages.
In regards to the nobody key / username, it's a way to determine the access of unauthenticated users.  Below is an example _security document, this contains a nobody key which has _reader permissions, this means that the database is publicly readable to unauthenticated users
{
    "cloudant": {
        "antsellseadespecteposene": [
            "_reader",
            "_writer",
            "_admin"
        ],
        "garbados": [
            "_reader",
            "_writer",
            "_admin"
        ],
        "nobody": [
            "_reader"
        ]
    }
}

The special nobody user name applies for anyone or any application that tries to do tasks, but that did not authenticate with the system. In other words, the nobody user name applies to all unauthenticated connection attempts. For example, if an application attempts to read data from a database, but did not identify itself, the task can proceed only if the nobody user has the role _reader.

More info: https://console.ng.bluemix.net/docs/services/Cloudant/api/authorization.html#enabling-the-_users-database-with-cloudant

Per-role instead of per-session _security is possible. Just make sure the user has the correct role in their sl_users doc and they should be able to access a shared database which has that role enabled.

This would only be possible using the CouchDB system right?

You are correct in most of your assumptions. A refresh leaves the session login and password intact, and simply extends the life.

But what if I need to update the permissions?
Using the Cloudant security model: What if I'd like to "upgrade" a user? Adding extra permissions for shared databases or adding a new shared database. Could I simply update the db using addUserDB, with other permissions? Would I first need to use `removeUserDB()? Does this automatically update the existing session API keys in databases? Or do I need to logout the user and have him login again? (I'm hoping that's not necessary)
When using the Cloudant model, how does one add new shared databases or edit permissions to shared databases for all existing users? I'm assuming I'd need to go through all the user docs and update them using addUserDB? Kind of the same question as above, what's the best way to then update the session API keys in the databases?

Also back to the subject of scalability for a moment. Superlogin currently seems to authorizes / deauthorizes databases per user.
When running for example removeExpiredKeys it queries the userDocs for expired keys, collects those per user and then goes per user through all that user's databases to deauthorize the keys. But to deauthorize keys it needs to download the _security document, update it and then upload it again. So this happens amount of users * amount of personal databases. If I understand the code all these requests are basically started at the same time. This doesn't seem very scalable?
I'm afraid it already fails in our production database, running removeExpiredKeys() goes through quite a lot of users / sessions, but not all and it then throws the following error:
(node:22227) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: read ECONNRESET

Could be a separate issue, but I'm assuming it's just to much to fast.
A partial first fix might be to make sure these requests happen in series instead of parallel? Maybe like we use an asyncIterator in this code: https://github.com/colinskow/superlogin/issues/63#issuecomment-301041076

I sort of answered those last questions myself and I've opened a separate issue on the scalability of removeExpiredKeys: https://github.com/colinskow/superlogin/issues/158


type(WebAppManifest): Add "form_factor" to "screenshots"

See https://developer.mozilla.org/en-US/docs/Web/Manifest/screenshots#form_factor

messed up the env


account activity: invalid json response

Description of the issue
2024-10-01T04:54:54.042Z @ha:ps5:error FetchError: invalid json response body at https://us-prof.np.community.playstation.net/userProfile/v1/users/me/profile2?fields=npId,onlineId,accountId,avatarUrls,plus,aboutMe,languagesUsed,trophySummary(@default,level,progress,earnedTrophies),isOfficiallyVerified,personalDetail(@default,profilePictureUrls),personalDetailSharing,personalDetailSharingRequestMessageFlag,primaryOnlineStatus,presences(@default,@titleInfo,platform,lastOnlineDate,hasBroadcastData),requestMessageFlag,blocking,friendRelation,following,consoleAvailability reason: Unexpected token < in JSON at position 0
at /app/node_modules/node-fetch/lib/index.js:273:32
at processTicksAndRejections (node:internal/process/task_queues:96:5)
2024-10-01T04:54:54.042Z @ha:ps5:error Account 'NikasRiekenberg' retrieval failed. Activity for this account will not be tracked.
Addon version
1.4.0
Platform
Core 2024.9.3
Supervisor 2024.09.1
Operating System 13.1
Frontend 20240909.1
Logs of the issue (if applicable)
2024-10-01T04:54:54.042Z @ha:ps5:error FetchError: invalid json response body at https://us-prof.np.community.playstation.net/userProfile/v1/users/me/profile2?fields=npId,onlineId,accountId,avatarUrls,plus,aboutMe,languagesUsed,trophySummary(@default,level,progress,earnedTrophies),isOfficiallyVerified,personalDetail(@default,profilePictureUrls),personalDetailSharing,personalDetailSharingRequestMessageFlag,primaryOnlineStatus,presences(@default,@titleInfo,platform,lastOnlineDate,hasBroadcastData),requestMessageFlag,blocking,friendRelation,following,consoleAvailability reason: Unexpected token < in JSON at position 0
at /app/node_modules/node-fetch/lib/index.js:273:32
at processTicksAndRejections (node:internal/process/task_queues:96:5)
2024-10-01T04:54:54.042Z @ha:ps5:error Account 'NikasRiekenberg' retrieval failed. Activity for this account will not be tracked.

Are you sure your npsso is (still) valid?

Yes i double checked. I realized that npsso is invalid yesterday. I updated this mornig to 1.4.0 and got a new npsso.

Yes, i double checked. I realized that npsso is invalid yesteray evenning. Today i updated to 1.4.0 and fetched new npsso.

Maybe due to problems with PSN today. Let me check when i am at home tonight.

I can see no errors in the log anymore.


Improve support for advanced Kotlin features

Kotlin users are usually satisfied with the JVM interoperability that already exists, but sometimes that gets in the way when using some advanced features like Coroutines.
I'd love to see support for some kotlin specific features such as the following:

Suspending functions with the help of coroutines
Default values provided on the method signatures (for annotated methods)
DSL builder for commands

For the supending fun/coroutine support, it would be very appreciated if we could pass an instance of a CoroutineScope into the builder/annotation parser/command executor (don't know which one is more appropriate here) and have a way to use it easily inside the suspend fun. Support should also be added for builders by addding Extension overloads that made use of CoroutineScope.(...) -> ... code blocks

This is unlikely to be implemented as an official project at the moment (cc @Sauilitired). We would definitely appreciate a PR, however.

The DSL builder has been implemented. We're not going to implement support for default values, as that's already a part of the annotation syntax. The coroutine support is unlikely to be added into cloud itself. You can already inject values into parameter if you want to, and you can also customize execution by providing a custom execution coordinator.


fix: Updated supported Terraform versions

Resolves #29

v1.4.0 has been just released.

theres no code in variables.tf


Firmware master with nuttx printf backport

For testing nuttx printf backport of 'sizeof specifier z'
Addresses https://github.com/PX4/Firmware/issues/12485

@bkueng the git tag validation fails on appveyor:
Error: the git tag '9fce22474f' does not match the expected format.

https://github.com/PX4/Firmware/pull/12552

Thank you @bkueng

Ignoring the unrelated appveyor failure and merging this.


At least my code has been rated at 9.89/10
9.89 comma correct code 11% mine.

whats still left for 0.5.11?

Testing and this Travis bug


Did it.. yup

Before issuing a pull request, please see the contributing page.

This change fixes the change in gearing with the back servo of the depositor


Build error with 1.1.32

Commit 3ff0168c5d504835883df91fdce6b1f46fe655cf has broken my project, which does use XAML (a WPF project). Prior to this change it was building fine. After this change I get the following build error when using VS 2015 update 3:
obj\Debug\ThisAssembly.GitInfo.g.cs" was specified more than once in the "Sources" parameter

Could you provide a diagnostic build log?

Sure, do you have a place that is non-public for me to send it to you?

You can just create a private gist I guess? Send to daniel at cazzulino dot com


Make Windows testing hermetic

Description
Centralize platform detection such that tests can be hermetic and not use any real platform information
Related issue
b/271422538
How has this been tested?

Checklist:

Unit tests

[ ] Unit tests do not apply.
[x] Unit tests have been added/modified and passed for this PR.

Integration tests

[x] Integration tests do not apply.
[ ] Integration tests have been added/modified and passed for this PR.

Documentation

[x] This PR introduces no user visible changes.
[ ] This PR introduces user visible changes and the corresponding documentation change has been made.

Minor version bump

[x] This PR introduces no new features.
[ ] This PR introduces new features, and there is a separate PR to bump the minor version since the last release already.
[ ] This PR bumps the version.

I suspect the remaining integration test failures are flakes, but I'm still trying to prove that. PTAL.


displayed in a quarter size

Thank you for this amazing work.
I had a few problems when I tried to use this framework.
glExample1~5 are displayed in a quarter size.
And glViewer3D and bunny showed only black background. (GL Error 0x0502)
MacBook Pro (2021)
Chip : Apple M1 Pro
OS : Ventura 13.1
Matlab R2022b

Thank you for the feedback!
I looked around and it seems to be related to the fact that on retina displays, pixels and screen coordinates are not 1:1. (see https://stackoverflow.com/questions/35715579/opengl-created-window-size-twice-as-large)
I will try to reproduce the behaviour on windows (maybe with resolution supersampling) or find a macbook to test and fix this issue.

Hello again @elgar328,
If you don't mind, could you try adding
obj.java.setSurfaceScale([1 1]);
right after line 43 in the file gl/glCanvas.m?
Does that fix the display issue?

oh! this works!
Thank you very much :)

Let me know if you need another test in mac environment. I will do it :)

Cool!!!
Did that also fix glViewer3D?
And are the duplicated view in your screenshot normal?
It should look like this with the original example:

Thank you very much for the tests!

In glExample5 it looks like this at first glance.

However, if I rotate the view slightly with the mouse, a repeating shape appears from then on.

glViewer3D() still doesn't work.

Alright, there seems to be a problem with textures in mac environment (glViewer3D renders on a texture).
I will try to find the cause and probably ask you to run some tests eventually!
Thanks again :)

There seem to be an issue in mac with using a texture sampler on unit 0 (see https://stackoverflow.com/questions/70338946/gl-texturen1-activated-and-bound-instead-of-gl-texturen-on-apple-silicon-m1-po)
Could you try to change line 13 of gl/+glmu/Texture.m
to obj.unit = unit+1;
Does that change anything in the behaviour of the examples?

glExample5 works properly!

glViewer3D() and bunny does not work.

Ok we're getting closer!
It is probably related to the framebuffers, I will continue to look for a solution.
And just for my information, does the glMandelbrot example work?

glMandelbrot(100,false) works fine :)

I created the branch macDebug which implements error checking at almost every gl calls in glViewer3D.
Could you switch to it and copy the matlab error stack when running glViewer3D? It will help me knowing which call returns an error.
Thanks a lot :)

here it is!

I removed the call which was causing this one error as it was optional, do you get another error now?

The same error still occurs.
I tried the 'dbstop if error' syntax but it didn't work.

Did you pull the updates on macDebug? I think the error should now happen somewhere else than glViewer3D/InitFcn line 158
Also, if you have discord, add me if you want: fr0nk#2095

I used the 'dbstop if error' statement together.

I downloaded a new zip file from github, but it seems that the same error came out because Matlab was referring to the previous version.
I sent a friend request on discord. I'm not familiar with how to use discord, but I have discord turned on.


MINIFICPP-1282 Use GNUInstallDirs for more reliable determination of installed lib/lib64 directories

Use GNUInstallDirs for more reliable determination of installed lib/lib64 directories.
This fixes a bug :beetle:  I ran into when attempting to build on Arch Linux. According to https://cmake.org/cmake/help/v3.4/module/GNUInstallDirs.html GNUInstallDirs CMAKE_INSTALL_LIBDIR will give the correct dir: "object code libraries (lib or lib64 or lib/ on Debian)"
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit?

Looks good to me.
@szaszm do you have any concerns?

Thanks for the review/merge.


Bug: getByTestIdOrAriaLabel does not work data-testid

Which package(s) does this bug affect?

[ ] Create Plugin
[ ] Sign Plugin
[X] Plugin E2E

Package versions
0.18.0

What happened?
It's not possible to use getByTestIdOrAriaLabel with a data-testid. The method requires you to call it like getByTestIdOrAriaLabel('data-testid="my-id"') to use data-testid, but the method incorrectly creates the selector as [data-testid="data-testid="my-id""].
You can see the bug at https://github.com/grafana/plugin-tools/blob/8be2f927615c2e5a5d21a2b27398122dbe22bdfe/packages/plugin-e2e/src/models/pages/GrafanaPage.ts#L30.
What you expected to happen
The method should create the selector as [data-testid="my-id"].
How to reproduce it (as minimally and precisely as possible)
Use the method with a data-testid.
Environment
System:
    OS: macOS 13.6.4
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 352.62 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.19.0 - ~/.volta/tools/image/node/18.19.0/bin/node
    Yarn: 1.22.19 - ~/.volta/tools/image/yarn/1.22.19/bin/yarn
    npm: 10.2.3 - ~/.volta/tools/image/node/18.19.0/bin/npm
  Browsers:
    Chrome: 122.0.6261.129
    Edge: 122.0.2365.80
    Firefox: 123.0
    Firefox Developer Edition: 121.0
    Safari: 17.3
  npmPackages:
    @grafana/aws-sdk: 0.3.1 => 0.3.1
    @grafana/data: 10.2.0 => 10.2.0
    @grafana/e2e: 10.2.0 => 10.2.0
    @grafana/e2e-selectors: 10.2.0 => 10.2.0
    @grafana/eslint-config: ^6.0.0 => 6.0.1
    @grafana/experimental: 1.7.3 => 1.7.3
    @grafana/plugin-e2e: ^0.18.0 => 0.18.0
    @grafana/runtime: 10.2.0 => 10.2.0
    @grafana/tsconfig: ^1.2.0-rc1 => 1.2.0-rc1
    @grafana/ui: 10.2.0 => 10.2.0

Additional context
No response

Thanks for creating this issue @tracy-french!
The intent of this method is to provide a safe way to use grafana/e2e-selectors. These selectors were initially using aria-label attribute, but to improve accessibility most of them have been migrated to use data-testid instead. For legacy reasons, the selector value had to be prefixed with data-testid  so that the resolver would know what attribute to look for. So the purpose of the getByTestIdOrAriaLabel method is to provide a safe way to find locators based on a Grafana e2e selector. You can find more information about this in the plugin-e2e docs.
If you have defined data-testid attributes to elements in your plugin, I suggest you use page.getByTestId to access them.
The get that the method name getByTestIdOrAriaLabel is a bit misleading since there's more to it. I'll definitely add a more explanatory comment. I'm also considering changing the method name entirely to something like getByGrafanaSelector. Thoughts on that @mckn?

Thanks for creating this issue @tracy-french!
The intent of this method is to provide a safe way to use grafana/e2e-selectors. These selectors were initially using aria-label attribute, but to improve accessibility most of them have been migrated to use data-testid instead. For legacy reasons, the selector value had to be prefixed with data-testid  so that the resolver would know what attribute to look for. So the purpose of the getByTestIdOrAriaLabel method is to provide a safe way to find locators based on a Grafana e2e selector. You can find more information about this in the plugin-e2e docs.
If you have defined data-testid attributes to elements in your plugin, I suggest you use page.getByTestId to access them.
The get that the method name getByTestIdOrAriaLabel is a bit misleading since there's more to it. I'll definitely add a more explanatory comment. I'm also considering changing the method name entirely to something like getByGrafanaSelector. Thoughts on that @mckn?

I think the getByGrafanaSelector is a better name for this method since it reflects a bit more what it does.

Great, I'll put up a PR that changes the name. We can mark getByTestIdOrAriaLabel as deprecated, but still support it until we release 1.0.0.

IMHO whilst the package is on a major zero I don't think there's a need to deprecate things, rather I'd vote to rip it out now. Major zero signifies that the package is in active development and breaking changes can and will happen. This allows us to remove any cruft as it evolves into the api we want to give to consumers without the risk of something deprecated arriving in the 1.0.0 release.

IMHO whilst the package is on a major zero I don't think there's a need to deprecate things, rather I'd vote to rip it out now. Major zero signifies that the package is in active development and breaking changes can and will happen. This allows us to remove any cruft as it evolves into the api we want to give to consumers without the risk of something deprecated arriving in the 1.0.0 release.

Yes let's do it! I'm updating the PR.


IOS can not paly audio!!!

IOS can not paly audio!  see picturn

can you provide more info? What kind of file are you trying to play?

Ref #482

I have the same problem in iOS, any solution to this please?


Edit mode slider has no visible focus state

Bug Description
The edit mode slider has no visible focus state. This is important for accessibility.

Expected Behaviour
There should be a visible focus state when the slider is in focus.
Steps to Reproduce

Screenshots

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

@samitron7 I added UX Need here. I know we have this section in figma, but does it apply to the edit mode slider as well?

@samitron7 any update on this?

I would like for us to gather up all the focus related issues and prioritize those so I can holistically view and work through them all. (Prioritization is needed here for me because I won't be able to get to this right now @chris-pgm.

This should be moved out of the sprint and into the backlog.
An epic could be created to cover this more holistically.

Adding "Needs more Info" status -- if I understand correctly from the comments then this still needs looking into for having specific Acceptance Criteria.

flagging @o-fernandez @bmattb for awareness on more info needed.

I believe @pbakaus is going to take on accessibility work and help me prioritize as well (?)

@samitron7 small correction: I won't be able to take on all a11y work, but I am writing guidelines and am happy to coordinate. Eng and QA still needs to help track and implement fixes.
/cc @dvoytenko, who might be the best candidate to look at doing a pass around keyboard nav and focus states


Create brew Formula

It would be nice to have teleport be a formula available for installation through brew. The Formula Cookbook documents how to get started.

Turns out that according to the How to Create and Maintain a Tap guide, a new homebrew-teleport repo would be required. Not sure if that's something you'd want to pursue, but it's more of a process than I initially thought.

The current recommendation is to use cargo teleporter install to build and install the latest.
Closing


[BUG] AutoPlayCPU inconsistencies

Describe the problem
Since FAPlus was introduced, AutoPlayCPU is behaving differently depending on what timing window you use (see screenshots and videos below):

for timings that only go up to W1 (like ITG, DDR, Original...) it will correctly emulate a human player and output some deviation across notes
for timings that go above W1 (like ITG Advanced, FAPlus, ECFA...) there is no deviation at all, always hitting with 0ms precision

Describe what should happen
It should have the same behavior on all timing windows.
Logs and Additional context

Video: https://streamable.com/4tw24n

Video: https://streamable.com/ao39my

Can this be checked again @SHRMP0 ? I know its super old, but it should already be behaving at this point.

Tested on OutFox-alpha-0.5.0-pre043-a1-20.04-amd64-modern-date-20240211 and the issue persists.


Code style

Why do you use both keywords 'virtual' and 'override' in methods definition? It's redundantly and hard to read, because semantics for this keywords are different.

@lordnn, thank you very much for the given feedback.
I totally agree with your remark. C++ core guidelines also say that declaration of the virtual function should contain only one of the following keywords: 'virtual', 'override', 'final'. C128.
Our team will defiantly add this issue to the backlog, but due to the current work load we cannot promise to address it soon.
Alternatively anyone outside of our team can make a PR to fix the issue. We would be happy for any contribution from the community.

@m1t0z  I could try to solve this code style issue.
A pull request will come soon

Sorry for the 2 PR closed, but forgot the sign in the commit.

That's not all.
CCrossValidationSubProblem::GetOriginalIndex
CStratifiedCrossValidationSubProblem::GetOriginalIndex
and CClassificationStatistics all methods must be marked with an 'override' specifier

@lordnn
i think this could be another issue to resolve.

Absolutely! Especially if you get paid for the number of closed issues. :-)

#25 merged. If there are some other wishes about syntax, we can reopen this later (or open new issue).


Updated to 2018.1 API

AddSubAsset(); is now AddObjectToAsset();
SetMainAsset(); is now SetMainObject(); and is called after parsing.
Tested in 2017.4.0f1

I'm from the future and I just did the same for the 2019 version, I hadn't seen this, but yeah. It works!

Also made the same changes and it works in 2020.1.2f1 !

AddObjectToAsset needs to be called with the MainObject before using SetMainObject though.


Added test case that gets host OS version of the image

@lifeeth  @villaseca

Closing. Please view #20 instead.


Is there any way to close room after user report or user block?

Hello,
I am trying to have a one-to-one chat feature for my app.
I want to know If one user blocks or reports to another user then we should close the room and users can not be able to message each other.
Is this case possible with this library?

Hey! Yes, this should be possible. Both users and rooms have metadata map available to store any values there, so you can add like a blocklist of user ids inside users metadata and filter out users for example which ids are in the blocklist and also if you have rooms with users in blocklist, close them and.. then depends what UI you want to do, just remove them, or make some toast message whatever :)


Removing sample-app/test-app from logic as they are not pre-exisintin…

Removes test-app/sample-app NS from migration check as it assumes they are pre-existing. Test-app and Sample-app are not deployed on paas standup and only existing in production.
Companion PR:

LGTM


Can you provide a way to generate p_values in the paper?

Can you provide a way to generate p_values in the paper?

Please refer this link https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html


Configurable Completeness Denominator

For completeness we are currently hard coding the value of the denominator for the completeness calculation. We should set this up so that we can have different values for different tabs and that these values can be configurable using the standard config files.

The function that calculates the week days not reported also can take the weekend days as arguments. We need to be able to specify these also in the config files.

The denominator is ready now. Change to weekend days needs to be done in API as far as I'm concerned, I will look at it now.

in progress.

PRs for this issues are ready for merging:

https://github.com/meerkat-code/meerkat_frontend/pull/190
https://github.com/meerkat-code/meerkat_jordan/pull/7
https://github.com/meerkat-code/meerkat_mad/pull/7
https://github.com/meerkat-code/meerkat_api/pull/28

For Madagascar and Jordan I've put default weekend values as [5,6], I don't know if those are correct though!

All is merged.


Closing over loops vars in child content

Fixes #19166

Internal Review Topic (links to section in Routing)
Internal Review Topic (links to section in Components overview)

I'd like to cover this in both Routing and Components because the Routing topic is considered more fundamental than the Components topic and will often be consumed first. I don't want the reader to click forward into the Components topic while reading about routing. Therefore, I cover it twice but using different language and examples.
I'm going with a forceful WARNING in the Routing topic to separate it from the section content. In the Components topic, this is a general concept, so I think I'll lay it out right in the text, not in a NOTE or WARNING.
Thanks @mrlife! :rocket: ... would u like to review this?
@Andrzej-W ... would u like to take a look? I noticed that you commented on the engineering issue.

This looks great! Thanks @guardrex!

Thanks @mrlife ... We don't use the "closed over" language very much in the doc set, so phrasing that felt a little tricky. I'm glad it's even close 🙈😄 to good.

I'm not even sure that we should have the expression "closed over" without additional explanation. I'll leave it up to @mkArtakMSFT to decide. If an explanation is warranted, it would be good to have a few engineer tips, including from you :cat2::cat2::cat2:, on what exactly to say.

Changing "closed over" to "used" would be better understood to most readers. Would doing so cause useful meaning to be lost? That I don't know.


Figure out how to clear the google sign in for visual tests

In both the overview page and 404 playwright tests, the google sign in pop appears for both the webkit and firefox browsers. This issue to investigate and solve how to clear that before the screenshot is taken.

We won't be using Google sign in. Not relevant anymore.


Remove 'Trying to get property of non-object'

Can you give some context as to why this would happen?

Sometimes it caused by the low timeout. Getting NULL is better for us than showing error 500.

It might be better to throw an exception in that? Then the caller can catch it.

@zackkitzmiller we did it, but it doesn't work


enhancement: drop marker at geocoded location

I'm working on a project where users will want to compare their address against a polygon layer. Once they find their address, they'll want to zoom out and pan to look at the polygon boundaries. How hard would it be to drop a pin at the location returned by the geocoder?

Here's a solution I came up with.  You could use a standard marker instead of the Leaflet Awesome Markers plugin shown in the example.
var searchBounds;
var  addressSearchResults;

// OSM Geocoder
osmGeocoder = new L.Control.OSMGeocoder({
        collapsed: false,
        position: 'topright',
        text: 'Search',
        placeholder: 'Enter address',
        bounds: searchBounds,
        callback: function(results) {
            // add a message on the screen about not finding an address (future step)
            if (results.length == 0) {
	       console.log("ERROR: didn't find a result");
	   }

            // clear previous geocode results
            addressSearchResults.clearLayers();

            // create icon for result
            var addressSearchIcon = L.AwesomeMarkers.icon({
                icon: 'map',
                prefix: 'fa',
                markerColor: 'orange',
                iconColor: '#fff'
             });

            // get coordinates for result
            var coords = L.latLng(results[0].lat,results[0].lon);

            // create a marker for result
            var marker = L.marker(coords, {
                icon: addressSearchIcon
            });

            // add result object to map and zoom to
            addressSearchResults.addLayer(marker);
            this._map.addLayer(marker).setView(coords,17);

            // open pop-up for location
            var popup = L.popup({closeOnClick: true}).setLatLng(coords).setContent(results[0].display_name).openOn(map);
        }
    }).addTo(map);


MM-56402: Close the store on Deactivate

Not closing the store would keep DB connections open,
allowing them to remain in the server connection pool.
https://mattermost.atlassian.net/browse/MM-56402

While I look for a server side solution. There's no harm in doing the due diligence from plugin side :smile:
@lieut-data - AFAIK, only playbooks, focalboard were the early plugins using the store API. The new ones are probably msteams and the metrics plugin.
@isacikgoz - Can we ensure to add the same code in the PR for the metrics plugin as well? Thanks.

@lieut-data - How do you want to test this? I tested locally of course, but I don't have a reader-writer setup.

@agnivade, from a Playbooks perspective, I think the e2e test coverage ought to be good enough. And I think @jespino has confirmed the semantically same change for MS Teams resolves the issue there too.


kube3d: enable tests

kube3d: enable tests

Result of nixpkgs-review pr 167403 run on x86_64-linux 1

1 package built:

kube3d

Actually I'll just subsume this into #166237 so they get merged together

Ok, I've moved that over. Thanks for this


Tutorial Groups: General configuration, date picker opens in wrong location

Describe the bug
The date picker in the tutorial group general settings opens in the wrong location.
To Reproduce

Go to ‘Tutorial Groups’ for a course.
Edit the configuration.
Select the from/to dates for the groups.
C.f. screenshot.

Expected behavior
The date picker does not open in the top-right corner of the browser window.
Screenshots

Which version of Artemis are you seeing the problem on?
develop, commit b6f6ae519f6f039bd5791a7efccd0382827e70c2
What browsers are you seeing the problem on?
Firefox
Additional context
No response
Relevant log output
No response

Thanks for catching this! I will fix it


New camera not appearing in HA

I added a new camera to my Eufy Homebase but it does not appear on HA. I have updated to the latest versions, restarted HA numerous times, but the camera just doesnt appear. It appears within my app and in the Eufy web portal. What could be wrong?

resolved


[Todoist] ...

Extension
https://www.raycast.com/doist/todoist
Raycast Version
1.77.3
macOS Version
14.5 (23F79)
Description
Menu bar Filter Query does not appear to support the query: due before: +1 hour
I've tried a bunch of other filters, all of which seem to work fine, but this one in particular does not work. I'm wondering if somewhere the extension is parsing the filter wrong.
Steps To Reproduce

Have some tasks in Todoist, due within the next hour
Set Menu Bar Tasks to Filter view, with filter: due before: +1 hour

Current Behaviour
No tasks are shown in the menu bar
Expected Behaviour
Menu bar should show tasks due within the next hour

This is not a parsing issue and a problem with Todoist Api and how filters are being handled. I tried by creating a task due within next hour but when I put the filter due before: +1 hour or even due before: +4 hours (as suggested on their filter documentation), I did not get results, both in Raycast and Postman.
But when I switched to due before: +9 hours (based on my local time this would mean next day), I saw the task due in the next hours. There is some discrepancy in todoist api on how this filter is being handled.

ah. then yeah, not a Raycast issue.
I'll see if I can get support from Todoist :)

From Todoist support:

Thank you for your patience. As promised, this is a follow-up on your question regarding the API not handling ''overdue'' or ''due before: +1 hours''.
Our developers explained to me that this is intentional. Extended, more complex filters like these are implemented by our clients, and not by backend.
This means that if you want to consume the API and filter by overdue, all you need to do is to filter in the code you are writing.

Hey @lucymhdavies , is there a query that works if we substitute +x hours with iso timestamp client-side and then send the query to todoist api?

That is a very good question. If we can do something client-side to say "all tasks before TIMESTAMP", that could work. There's a bunch of UX considerations, but ignoring those for now...
it all depends on the API allowing "Before TIMESTAMP" type filters.
and it seems, no, it doesn't.
From experimentation, with a BUNCH of different filters...
#
# Things which the API accepts, but which return nothing
#

# due before: 8th july 4pm
filter="due%20before%3A%209th%20july%201am"

# due before: July 9th 2024, 1am
filter="due%20before%3A%20July%209th%202024%2C%201am"
# Response: []

# due before: July 9th 2024, 11am
filter="due%20before%3A%20July%209th%202024%2C%2011am"
# Response: []

# due before: July 9th 2024, 12pm
# (about 24h from now)
filter="due%20before%3A%20July%209th%202024%2C%2012pm"
# Response: []

#
# Things which do work, but aren't helpful
#

# due before: July 9th 2024, 1pm
# (about 25h from now)
filter="due%20before%3A%20July%209th%202024%2C%201pm"
# Response: (lots of tasks; all today)

# due before: July 9th 2024, 11pm
filter="due%20before%3A%20July%209th%202024%2C%2011pm"
# Response: (lots of tasks; all today)

# due before: tomorrow
filter="due%20before%3A%20tomorrow"
# Response: (lots of tasks)

# due before: July 12th 2024, 1pm
# 4 days from now
filter="due%20before%3A%20July%2012th%202024%2C%201pm"
# Response: (lots of tasks; all today)

# due before: friday
filter="due%20before%3A%20friday"
# Response: (lots of tasks, all due from today at soonest and thursday at latest)

# due before: next week
filter="due%20before%3A%20next%20week"
# Response: (lots of tasks, all due on various days this week)

# due before: 1am friday
filter="due%20before%3A%201am%20friday"
# Works as expected! - so the comma is likely a problem

# due before: July 12th 2024 1pm
filter="due%20before%3A%20July%2012th%202024%201pm"
# Response: (lots of tasks, up to and including 11th July) - so the comma definitely an issue

# due before: 3pm tomorrow
filter="due%20before%3A%203pm%20tomorrow"
# all tasks today

# due before: 11pm tomorrow
filter="due%20before%3A%2011pm%20tomorrow"
# all tasks today

# due before: 1am wednesday
filter="due%20before%3A%201am%20wednesday"
# suddenly, a bunch of tasks

# due before 3pm tuesday
filter="due%20before%3A%203pm%20tuesday"
# all today

# due before: 11pm tuesday
filter="due%20before%3A%2011pm%20tuesday"
# all today

#
# Bunch of timestamp formats which do not work
#

# due before: 2024-08-09T12:00:00.000000Z
filter="due%20before%3A%202024-08-09T12%3A00%3A00.000000Z"
# Response: The search query is incorrect

# due before: 2024-08-09T12:00:00
filter="due%20before%3A%202024-08-09T12%3A00%3A00"
# Response: The search query is incorrect

# due before: July 9th 2024, 1am GMT
filter="due%20before%3A%20July%209th%202024%2C%201am%20GMT"
# Response: The search query is incorrect

# due before: 2024-07-08T16:00:00+0000
filter="due%20before%3A%202024-07-08T16%3A00%3A00%2B0000"
# The search query is incorrect

# due before: Mon, 08 Jul 2024 16:00:00 +0000
filter="due%20before%3A%20Mon%2C%2008%20Jul%202024%2016%3A00%3A00%20%2B0000"
# The search query is incorrect

# due before:<PHONE_NUMBER>
filter="due%20before%3A%201720454400"
# The search query is incorrect

#curl -s -X GET   https://api.todoist.com/rest/v2/tasks?filter=${filter}   -H "Authorization: Bearer ${token}"
curl -s -X GET   https://api.todoist.com/rest/v2/tasks?filter=${filter}   -H "Authorization: Bearer ${token}" | jq -c .[].due

In Todoist, I have a bunch of tasks at various times throughout today.  Looks like it's only dates in the formats listed on https://todoist.com/help/articles/introduction-to-filters-V98wIH, and commas mess things up
But for our purposes... the closest I've been able to get it to do is all tasks today (which we can already do).
Seems their API is indeed written in a way to discourage attempts to do granular timestamp filtering server-side.
Unless I'm missing some test cases... seems the only way we could make this work would be to pull all tasks due today, and then do the filtering client-side. But I don't know if that's going to hit against https://github.com/raycast/extensions/issues/10127 or not

Yeah my testing also concluded the same thing and even due before: +x hours only worked for showing the tasks due today (if x was adjusted properly). In my opinion, pulling all the tasks to perform filtering will conflict with https://github.com/raycast/extensions/issues/10127 and chances are we might not even get to the filtering part before seeing memory issues.
For users with smaller number of tasks this might work, but we might need to design this with worst-case scenario in mind. Thinking from limiting this query standpoint, from Todoist API I couldn't see a way to get task count for user other than pulling all tasks, which will also cause issues. Plus, limiting the query for some users and not for others is a UX variance which might not be ok.
I think we can close this until we solve the memory issues. What do you think?

Agreed

Surprise update from Todoist today!

I wanted to reach out to you and share an update about your feedback regarding the API not handling ''overdue'' or ''due before: 1+ hours''.
As promised, I've shared your feeback with our Product team and later discussed this with our developers. I'm very happy to let you know that our Backend team is currently working on this so that the API supports complex filters. This should become available in the new version of Todoist. I can see from our internal discussions that our engineers are currently running the final tests before releasing these improvements! 🚀
I'd like to take this opportunity to thank you for helping us keep Todoist great, Lucy.

hopefully, once the API changes have been made, we won't need to re-open this.
but we'll see what happens 🤞

From my testing...
"overdue | due before: +1 hour"
Now works as expected
So I think they may have released the API changes


SecurityGroup userIdGroupPairs groupRef does not use the referenced id

Describe the bug
Checked out the fairly new issue #2058 that was closed and followed that information (the information on https://aws-controllers-k8s.github.io/community/reference/ec2/v1alpha1/securitygroup/ seems to be outdated - so something seems to not work with the publishing)
Tried it out, but it seems like it is not able to translate into the groupID when using the AWS API.
The resulting crd when applying the changes:
apiVersion: ec2.services.k8s.aws/v1alpha1
kind: SecurityGroup
metadata:
...
spec:
  ingressRules:
    - fromPort: 443
      ipProtocol: tcp
      toPort: 443
      userIDGroupPairs:
        - groupRef:
            from:
              name: sgName
          userID: 'account'
  name: aSgGroup
  vpcRef:
    - from:
        name: ourVpc
status:
  ackResourceMetadata:
    ownerAccountID: 'account'
    region: eu-west-1
  conditions:
    - lastTransitionTime: '2024-06-27T11:13:07Z'
      status: 'True'
      type: ACK.ReferencesResolved
    - message: "VPCIdNotSpecified: No default VPC for this user\n\tstatus code: 400, request id: 089a7ea4-5ff7-4bc1-987f-d73d87f398f1"
      status: 'True'
      type: ACK.Recoverable
    - lastTransitionTime: '2024-06-27T11:13:08Z'
      message: >-
        Unable to determine if desired resource state matches latest observed
        state
      reason: "VPCIdNotSpecified: No default VPC for this user\n\tstatus code: 400, request id: 089a7ea4-5ff7-4bc1-987f-d73d87f398f1"
      status: Unknown
      type: ACK.ResourceSynced
  id: theSgGroupId

Cloudtrail excerpt:
 "requestParameters": {
        "groupId": "sg-0b059064b8e4e4620",
        "ipPermissions": {
            "items": [
                {
                    "ipProtocol": "tcp",
                    "fromPort": 443,
                    "toPort": 443,
                    "groups": {
                        "items": [
                            {
                                "userId": "account",
                                "groupName": "sgName",
                                "vpcId": "vpc-XXXXXXXXXXX"
                            }
                        ]
                    },
                    "ipRanges": {},
                    "ipv6Ranges": {},
                    "prefixListIds": {}
                }
            ]
        }
    },

Steps to reproduce
Create a securityGroup within a VPC
apiVersion: ec2.services.k8s.aws/v1alpha1
kind: VPC
metadata:
  name: default
spec:
  amazonProvidedIPv6CIDRBlock: false
  cidrBlocks:
    - <IP_ADDRESS>/21
    - <IP_ADDRESS>/16
  enableDNSHostnames: true
  enableDNSSupport: true
  tags:
    - key: Name
      value: default
---
apiVersion: ec2.services.k8s.aws/v1alpha1
kind: SecurityGroup
metadata:
  name: default-cluster
spec:
  description: "Allow traffic to the VPC endpoint from the VPC"
  name: default-cluster
  vpcRef:
     from:
       name: default
  egressRules:
    - ipProtocol: "-1"
      fromPort: 0
      toPort: 65535
      ipRanges:
      - cidrIP: "<IP_ADDRESS>/0"
        description: Internet
  ingressRules:
    - ipProtocol: "-1"
      fromPort: 0
      toPort: 65535
      ipRanges:
        - cidrIP: <IP_ADDRESS>/21
          description: default CIDR
---
apiVersion: ec2.services.k8s.aws/v1alpha1
kind: SecurityGroup
metadata:
  name: default-cluster-additional
spec:
  name: default-cluster-additional
  vpcID: vpc-02f8b2038f5d17119
  ingressRules:
    - ipProtocol: "tcp"
      fromPort: 443
      toPort: 443
      userIDGroupPairs:
        - groupRef:
            from:
              name: default-cluster
          vpcRef:
            from:
              name: default
          userID: "default"

Expected outcome
The AWS API is called using the security group id rather than the name.
The request towards AWS should be similar to:
 "requestParameters": {
        "groupId": "sg-0b059064b8e4e4620",
        "ipPermissions": {
            "items": [
                {
                    "ipProtocol": "tcp",
                    "fromPort": 443,
                    "toPort": 443,
                    "groups": {
                        "items": [
                            {
                                "userId": "account",
# This should contain "groupId": "sgXXXXXXXX"
                                "vpcId": "vpc-XXXXXXXXXXXXX"
                            }
                        ]
                    },
                    "ipRanges": {},
                    "ipv6Ranges": {},
                    "prefixListIds": {}
                }
            ]
        }
    },

Environment

Kubernetes version 1.30
Using eks.2
EC2 - SecurityGroup
Provider version 1.2.12

Provided a PR which should give the proper behavior

Confirmed to work after fix!


undeclared property

Hello, after implementation of this module I'm getting following error:
Cannot write to an undeclared property Ublaboo\NetteDatabaseDataSource\NetteDatabaseDataSource::$queryHelper.
Isn't there declaration of property $queryHelper missing in file NetteDatabaseDataSource.php?

Should by fine by now.


input-leap missing qtwayland buildInput

Describe the bug
As described on the manual Qt 6 apps should include qtwayland in their buildInputs on linux. Otherwise the application crashes
Steps To Reproduce
Steps to reproduce the behavior:

Run input-leap under wayland (nix run nixpkgs/nixpkgs-unstable#input-leap)
See it core dump:$ nix run nixpkgs/nixpkgs-unstable#input-leap nixpkgs/nixpkgs-unstable#kdePackages.qtwayland
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
zsh: segmentation fault (core dumped)  nix run nixpkgs/nixpkgs-unstable#input-leap

Expected behavior
Input leap should run properly under wayland.
Additional context
Packaging guidelines for Qt 6 Apps: https://nixos.org/manual/nixpkgs/unstable/#qt-default-nix
Notify maintainers
@kovirobi @phryneas @twey @shymega
Metadata
$ nix run nixpkgs#nix-info -- -m
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.57, NixOS, 24.05 (Uakari), 24.05.20241020.8917291`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Lix, like Nix) 2.91.0
System type: x86_64-linux
Additional system types: i686-linux, x86_64-v1-linux, x86_64-v2-linux, x86_64-v3-linux
Features: gc, signed-caches
System configuration file: /etc/nix/nix.conf
User configuration files: /home/jalil/.config/nix/nix.conf:/nix/store/m0ndjgn8a2x97g52sjixgbjnmpdwjyii-stylix-kde-config/nix/nix.conf:/etc/xdg/nix/nix.conf:/home/jalil/.local/share/flatpak/exports/etc/xdg/nix/nix.conf:/var/lib/flatpak/exports/etc/xdg/nix/nix.conf:/home/jalil/.nix-profile/etc/xdg/nix/nix.conf:/nix/profile/etc/xdg/nix/nix.conf:/home/jalil/.local/state/nix/profile/etc/xdg/nix/nix.conf:/etc/profiles/per-user/jalil/etc/xdg/nix/nix.conf:/nix/var/nix/profiles/default/etc/xdg/nix/nix.conf:/run/current-system/sw/etc/xdg/nix/nix.conf
Store directory: /nix/store
State directory: /nix/var/nix
Data directory: /nix/store/ndg5v9y81lchij6mkl4i0k2vbjhw88k9-lix-2.91.0/share`
 - nixpkgs: `/nix/store/2iip9qgn6k4if6q97pp1x3bcblc56jr3-source`

Add a :+1: reaction to issues you find important.

I have a branch for upstream Input Leap that I've been working on a way to build either-or Qt 5 and Qt 6 packages. I could upstream this to Nixpkgs.


how to avoid clearing terminal

I would like for nuxt to provide an option to not clear the screen on startup / possibly other events. It is especially annoying when I have previous terminal output which I would like to keep, but nuxt just bulldozes over it. Perhaps like vite does it?

hm.. it seems nuxt dev --no-clear no longer works. I left my project untouched, today upgraded to 3.3.3 (3.4.0 had an issue that prevented me to upgrade to), and noticed that running pnpm run dev as I did before started to clear the console on HMR again without me having changed the script.


Package into bioconda recipe

I misunderstood how recipes work, there is no change required for our repo.

Submitted pull request, awaiting response.


Release versions-maven-plugin 2.6

Is 2.6 ready to be release?
e.g. I'm after the fixes that have been done to correctly support maven-enforcer-plugin

@alexmonthy unable to use SNAPSHOT due to repo manager won't download them. Have checked on 2.6-SNAPSHOT works but can't use it at work

I've tried this snapshot and I found out that the only way to obtain a list of the upgradable plugins is to remove them from ~/.m2/repository/!
The command I use is:
mvn org.codehaus.mojo:versions-maven-plugin:2.6-SNAPSHOT:display-plugin-updates
What's happening?

last release is year old, and does not contain some fixes like #48
I also look forward to the release.

@giacgbj I have recently run into this problem on my Windows machine, where I get different lists of upgradeable plugins depending on if I run  mvn org.codehaus.mojo:versions-maven-plugin:2.6-SNAPSHOT:display-plugin-updates in my Linux subsystem or from the command prompt, since they have different repositories.  Have you been able to reproduce the problem? I might take a look at the problem in the coming weeks if I can narrow down what the actual problem is. Feel free to create an issue in the meantime.

@giacgbj The behavior is the result of the plugin reading the cached XML-files for the version data, instead of explicitly updating all the repositories every time (which would take up alot of bandwidth). Running Maven with the -U flag forces an update of the artifacts and the plugin works as expected.

Which tasks have to be completed before the next release? Or is there something like a release window during which any scheduled releases take place?

+1 I also vote for a new version release.

Who has permissions to do a release?

@mikeobr checking the release history it seems like @khmarbaise and @olamy has (at least some) permissions.

Hi, I have started the release process cause there is some need of an update of the plugin....

I've started the VOTE process https://groups.google.com/forum/#!topic/mojohaus-dev/WUErj-rMhHg
please VOTE for it....

Release done.

Thank you very much! :+1:


RD Custom Field Mapping fix

Warning
Info
Issues
Fixes #1697

@njjc OK, it's finally building, so ready for review and merge once it passes!  thanks.


Create Coins_Denomination.cpp

Please review and merge

Excellent work @Bijoy-007 Thanks a lot for making this PR.


asar - introduce alternative path to circumvent drive letter casing issues

My only worry with this change is that we are ending up with 2 paths being added in case we were not adding the path before:
https://github.com/microsoft/vscode/blob/13e572599f04ad08452195129f50bfd53b3f541e/src/bootstrap.js#L101-L106
This PR fixes #128725

Awesome


Add the ability to pass any objects as signal binds, not just built-in types (Mono)

Godot version:
3.0.stable.official.mono
OS/device including version:
Manjaro Linux 64 bit (rolling release)
Issue description:
I am unable to pass custom classes as signal binds, getting exception. I understand this is expected behavior, but I would like to be able to pass any objects alongside my signals.
It is very inconvenient for me as developer to pass data through built-in types like strings, it's time consuming and error prone. On the other hand, being able to define a class and then use it on both sending and receiving side of the signal would save me a lot of effort.
Steps to reproduce:
See the attached project. When clicked, the button generates an exception:
0:00:00:0782 - Attempted to convert an unmarshallable managed type to Variant. Name: 'CustomClass' Encoding: 18
Attempted to convert an unmarshallable managed type to Variant. Name: 'CustomClass' Encoding: 18
Time: 0:00:00:0782
C Error: Method/Function Failed, returning: Variant()
C Source: modules/mono/mono_gd/gd_mono_marshal.cpp:593
C Function: mono_object_to_variant
Minimal reproduction project:
TestProjectBindCustomClass.zip
Please note that the weird .Connect function syntax (object[] within object[] is due to this bug:
#16311

This feature would be very very nice to have.
The delegate/event/eventArgs pattern of C# can be used for an equivalent but is more complex, not integrated in the editor (and harder to integrate than the signals) and I have not yet tested how it interacts with free_queue.
What's worse is that the error is a runtime error instead of a compile-time error.

Duehok, your delegate solution seems valid although I need to try it. However, I still believe objects in signal binds should be implemented at language-agnostic level.

The problem is that Godot is not aware of anything that doesn't inherit its Object class (in fact, signals are a property of the Godot objects). It seems inconvenient but it's intended to be used as a script language so all your game classes should be Godot objects (which internally can call anything offered by the language).
Maybe @neikeq can find some workaround, but IMO this doesn't need to work this way.

I tried your approach by extending CustomClass from Node or Object classes, then I get another error:

ERROR: emit_signal: Error calling method from signal 'pressed': 'Node2D(game.cs):: _on_Btn_pressed': Method not found.
At: core/object.cpp:1202.

@xfactor2000 yeah, that one is probably a bug.

@vnen So should I do something, like poking somebody?

Godot's inability to pass custom objects to signals is really limitating. A workaround to this issue I have found is to use a custom wrapper class for signal parameters. Unfortunatelly generic wrapper doesn't work, so it must be something like this:
public class ParameterWrapper : Godot.Object
    {
        private readonly object value;

        public ParameterWrapper(object value)
        {
            this.value = value;
        }

        public T GetValue<T>()
        {
            return (T)this.value;
        }
    }

Could any of core developers confirm, that this is a valid solution and will not produce memory leaks or something?

Nope, in fact it works just fine, it's just that your custom objects have
to inherit from Node. See the discussion above.
On Tue, Jun 5, 2018, 10:11 Fido789<EMAIL_ADDRESS>wrote:

Godot's inability to pass custom objects to signals is really limitating.
A workaround to this issue I have found is to use a custom wrapper class
for signal parameters. Unfortunatelly generic wrapper doesn't work, so it
must be something like this:
public class ParameterWrapper : Godot.Object
{
private readonly object value;
    public ParameterWrapper(object value)
    {
        this.value = value;
    }

    public T GetValue<T>()
    {
        return (T)this.value;
    }
}

Could any of core developers confirm, that this is a valid solution and
will not produce memory leaks or something?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/16706#issuecomment-394605337,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwqYVuzmEH91sPpU0NoGhop1erDQarNks5t5i83gaJpZM4SF2uo
.

That's great. So in that case couln't be such a wrapper implemented at engine's level? Just checking for the type and if is is not built-in type or Godot.Object, wrap/unwrap it?

Just pass a custom class that inherits from Node inside binds array, and
you will receive it as function parameter.
On Tue, Jun 5, 2018, 11:08 Fido789<EMAIL_ADDRESS>wrote:

That's great. So in that case couln't be such a wrapper implemented at
engine's level? Just checking for the type and if is is not built-in type
or Godot.Object, wrap/unwrap it?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/16706#issuecomment-394620044,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwqYfOFwz8y-OkTTCFAen_L9SMd1EtDks5t5jxkgaJpZM4SF2uo
.

Sure, I can do that, but a lot of my objects doesn't derive from Node/Godot.Object. For example my Level class. It would be very convenient if I could pass it as a parameter to level buttons. I can pass it wrapped in a wrapper above, but if it can be easily wrapped at the engine level, why not to do it?

Why not make your level class inherit from Node? That's what I did, never
bothered me.
On Tue, Jun 5, 2018, 11:16 Fido789<EMAIL_ADDRESS>wrote:

Sure, I can do that, but a lot of my objects doesn't derive from
Node/Godot.Object. For example my Level class. It would be very convenient
if I could pass it as a parameter to level buttons. I can pass it wrapped
in a wrapper above, but if it can be easily wrapped at the engine level,
why not to do it?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/16706#issuecomment-394622483,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwqYYGOe62hMpDhCB1z5bHD7HUXBx3Uks5t5j5mgaJpZM4SF2uo
.

Well there are many reasons, like memory consumption, inability to derive from anything else, easy transfer to another engine (right now Unity -> Godot), unit testing and many other. If I would do that, the cure would be much worse than symptoms.

You can make your base class derive from Node and then derive from it. As
for memory consumption - why is it an issue? Node is meant to be a basic
building block of Godot, so it makes sense to inherit from it often. If it
was not optimized for wide usage, Godot wouldn't work.
On Tue, Jun 5, 2018, 11:27 Fido789<EMAIL_ADDRESS>wrote:

Well there are many reasons, like memory consumption, inability to derive
from anything else, easy transfer to another engine (right now Unity ->
Godot), unit testing and many other. If I would do that, the cure would be
much worse than symptoms.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/16706#issuecomment-394625798,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwqYe9BvM9QKKE7IcD1w4-bk2jWjmUCks5t5kENgaJpZM4SF2uo
.

It is not that memory consumption would be huge or something, it is just unnecessary. For now I will stick to the wrapper.

@Fido789 thanks for the solution with the wrapper! This just made my day 😄

I am using the wrapper currently, but the reason I cannot just inherit from Godot.Object or Node is because the classes used come from a shared library that is used by other applications that do not "know" about Godot.

So I'm using the ExtraMath library and I'm trying to use a Vector4 in a signal. The wrapper object shared above works fine for this, but it is a little weird that you can't see what type your passing around. Inheriting from Godot.Object makes sense some sense when passing a Level or a Player because there aren't that many. Making a value type inherit from Godot.Object just to pass it around is a weird though.
For now I'll just make a signal wrapper specifically for Vector4 so you can see what type it is at a glance. But it would be nice if this was there was a way to wrap it at the engine level

The problem with the wrapper approach is that it leaks. I was going through the godot.log in my projecct today and found the following log lines on exit:
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object.cpp:2070) - ObjectDB instances leaked at exit (run with --verbose for details).
Leaked instance: Object:2344
Leaked instance: Object:2110
Leaked instance: Object:2227
[...snip...]

After some poking, I found that the wrapper node is responsible for this. Whenever you create a wrapper, it needs to be disposed. But I don't know how you could properly do that without a lot of boilerplate code.
The wrapper approach is IMHO not good.

The wrapper should inherit Reference/RefCounted for automatic collection.

The wrapper should inherit Reference/RefCounted for automatic collection.

 That solves it, thanks for the tip!


[wip] mint and deposit feature

includes modal to pay PFS (#463)
includes display of RDN/SVT tokens (#429)
includes modal to mint and deposit RDN/SVT (#389)
@kelsos I have added to do's to the commit with the things that are left to do. So if you search for TODO you should find them all. The UI should be pretty much finished, mostly SDK integration and tests are left. Sorry that someone has to take it over and that I couldn't finish it before leaving.

Codecov Report

Merging #547 into master will increase coverage by 1.42%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #547      +/-   ##
==========================================
+ Coverage   96.04%   97.46%   +1.42%
==========================================
  Files          84       37      -47
  Lines        3236     2288     -948
  Branches      701      623      -78
==========================================
- Hits         3108     2230     -878
+ Misses         81       36      -45
+ Partials       47       22      -25

Flag
Coverage Δ

#dapp
?

#sdk
97.46% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

raiden-dapp/src/components/Spinner.vue

raiden-dapp/src/plugins/raiden.ts

raiden-dapp/src/components/TokenInformation.vue

raiden-dapp/src/components/AppCore.vue

raiden-dapp/src/components/Confirmation.vue

raiden-dapp/src/components/AppHeader.vue

raiden-dapp/src/views/Home.vue

raiden-dapp/src/utils/query-params.ts

raiden-dapp/src/components/ConfirmationDialog.vue

raiden-dapp/src/model/types.ts

... and 30 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1b26d8d...e56a19c. Read the comment docs.