Waypoint Evaluation Enhancement Request

Currently, the waypoint section of the mission evaluation export is formatted like this:

3 pieces of information are provided for each evaluated waypoint: scoreRatio, id, and closestForMissionFt. Could you add the id of the closest UAS Telemetry object as a 4th piece of information? That would be great, because then we'd be able to determine which Telemetry object resulted in the closestForMissionFt value without having to manually sift through thousands of Telemetry objects.
Thanks!

Note that we're returning interpolated data (linear if within telem/velocity bounds), so there isn't an ID necessarily.
Why do you want this information?

It would be great to have that information so that we could compare it with our Mission Planner logs and sanity check ourselves.
I didn't realize that you were returning interpolated data - thanks for clarifying that. I assume that all of the interpolated air positions are situated between two UAS Telemetries, correct? Would it be possible to provide the IDs of those two UAS Telemetries?
Thanks

I agree with you that such data may be useful for analysis / verification. Unfortunately we don't have the resources at this time to support that level of feature scope. You can use the model APIs to create analysis scripts, like create_teams. You can also use the KML output to analyze in tools like Google Earth.


Demo app integration

r? @ustulation
(maidsafe_highfive has picked a reviewer for you, use r? to override)

r? @shankar2105


More dev-local data quality tests

Codecov Report

Merging #80 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #80   +/-   ##
=======================================
  Coverage   68.31%   68.31%
=======================================
  Files          30       30
  Lines        1477     1477
  Branches      108      108
=======================================
  Hits         1009     1009
  Misses        468      468

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 83a5f74...baf49b3. Read the comment docs.


Add transition animation cross fade to the loading state

Hello, just added the transition property to allow Glide to make the animation cross fade to the image load state.

Why wasn't this merged?


Fix link to localization sample

As the whole document refers to the sample code, the invalid URL should be fixed.
As the document targets .NET Core 3 or newer, I've changed the URL to the 3.x sample code instead of the parent directory including samples for .NET Core 2 as well.

Thanks @sibbl! :rocket:
cc: @hishamco


[WIP] Set container-selinux package to RHEL 9.1 and 9.2 compatible ver

Which issue(s) this PR addresses:

Closes #

nvm! 2.208 is busted on arm


[v1.2][T09-B1] EduBuddy

@chuakunhong @johnnychanjx @TeyXinHui

Enhancements
Kun Hong:  Morph Phone input into NRIC input to reflect EduBuddy requirements
Keng Seng: Add Sort Command to sort students by name in alphabetical order
Johnny:       Change case sensitivity for command word for standardized input
Xin Hui:       Add Delete Tag Command to delete specified tag from every student

@kengsengg @TeyXinHui @johnnychanjx @chuakunhong
There is one thing I forgot to mention:

Think about the major and minor features you want to implement, and update your user guide to show all the new features (commands), even though you haven't started yet!

v1.2 Enhancements
Kun Hong: Add TagReplace Command that allows a specified tag to be replaced by an intended tag
Keng Seng: Enable Sort Command to sort by tags as well
Johnny: Redesign the browser panel to fit our user target profile
Xin Hui: Add new Subject class which records subjects taken by students and their grades

@kengsengg @TeyXinHui @johnnychanjx @chuakunhong Good job 👍
Here are something you need to take note:

I have seen some coming in v2.0 labels inside user guide, remember to put in the enhancements you have done and label them as since v1.x. All the other original features can also be labeled as since v1.0 to make them consistent
Inside use guide, the detailed command and example of the new features can be included now. The key point is that you need to come up with the design before implementation
User guide can include screenshots about how to use the command and what is the expected outcome
Update FAQ and Command Summary in user guide accordingly
Add more label inside the issue tracker (i.e. priority, status)
For the issues labeled as story, the benefit part (after so that) should be put inside the description of this issue instead of title
Make sure all the PRs are linked to the corresponding issues using the issue number
Write your project portfolio

v1.4 Enhancements
Kun Hong: Implement AddRemark and DeleteRemark Command
Keng Seng: Enable the list of appointments to be viewed on the calendar UI
Johnny: Reflect updated student's name, IC, subjects on the student profile page
Xin Hui: Improve the input command for subjects


called Option::unwrap() on a None value

I tried to run this-week-in-past on Kubernetes: I have mounted my image folder to /resources, but the pod crashes with this error:
[2024-04-11T14:56:14Z INFO  this_week_in_past] 👋 Welcome to this-week-in-past version 1.23.1                                                                                │
│ [2024-04-11T14:56:14Z INFO  this_week_in_past] 📅 System time: 2024-04-11 14:56:14                                                                                │
│ [2024-04-11T14:56:14Z ERROR r2d2] database is locked                                                                                │
│ [2024-04-11T14:56:14Z INFO  this_week_in_past] 📅 Database time: 2024-04-11 14:56:14                                                                                │
│ [2024-04-11T14:56:14Z INFO  this_week_in_past] 🚀 Launching webserver on http://<IP_ADDRESS>:8080 🚀                                                                                │
│ [2024-04-11T14:56:14Z INFO  actix_server::builder] starting 1 workers                                                                                │
│ [2024-04-11T14:56:14Z INFO  actix_server::server] Actix runtime found; starting in Actix runtime                                                                                │
│ [2024-04-11T14:56:14Z INFO  this_week_in_past::scheduler] Begin resource indexing                                                                                │
│ [2024-04-11T14:56:14Z INFO  this_week_in_past::scheduler] Indexing resources, this may take some time depending on the amount of resources...                                                                                │
│ thread '<unnamed>' panicked at src/filesystem_client.rs:90:58:                                                                                │
│ called `Option::unwrap()` on a `None` value

Do you have an idea what could be the reason for this error and how to fix it? I assume it has something to do with my setup and not with your code, but I'm struggling to get any further and would appreciate hint :)
I'm using the latest docker image: rouhim/this-week-in-past:1.23.1
I also tested the same volume with https://github.com/filebrowser/filebrowser and I can open the folders and files.

I'm running the container in k3s thus it should work for you too. How does your resource definition looks like?

I've also improved the logging at this point, which should make it easier for us to look in the right direction.

[2024-04-11T18:59:42Z INFO  this_week_in_past] 👋 Welcome to this-week-in-past version 1.24.1
[2024-04-11T18:59:42Z INFO  this_week_in_past] 📅 System time: 2024-04-11 18:59:42                                                                                [2024-04-11T18:59:42Z INFO  this_week_in_past] 📅 Database time: 2024-04-11 18:59:42
[2024-04-11T18:59:42Z INFO  this_week_in_past] 🚀 Launching webserver on http://<IP_ADDRESS>:8080 🚀                                                                                [2024-04-11T18:59:42Z INFO  actix_server::builder] starting 1 workers
[2024-04-11T18:59:42Z INFO  actix_server::server] Actix runtime found; starting in Actix runtime
[2024-04-11T18:59:42Z INFO  this_week_in_past::scheduler] Begin resource indexing
[2024-04-11T18:59:42Z INFO  this_week_in_past::scheduler] Indexing resources, this may take some time depending on the amount of resources...
thread '<unnamed>' panicked at src/filesystem_client.rs:99:10:                                                                                called `Option::unwrap()` on a `None` value

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: this-week-in-past
  namespace: photoprism
  labels:
    app: this-week-in-past
spec:
  replicas: 1
  selector:
    matchLabels:
      app: this-week-in-past
  template:
    metadata:
      labels:
        app: this-week-in-past
    spec:
      containers:
        - name: this-week-in-past
          image: rouhim/this-week-in-past:1.24.1
          volumeMounts:
            - name: resources
              mountPath: /resources
          env:
            - name: SLIDESHOW_INTERVAL
              value: "40"
            - name: REFRESH_INTERVAL
              value: "60"
            - name: WEATHER_ENABLED
              value: "false"
            - name: IGNORE_FOLDER_MARKER_FILES
              value: ".irgnore,nsfw"
      volumes:
        - name: resources
          persistentVolumeClaim:
            claimName: pvc-pictures-smb

Looks good to me, maybe there is an issue with the smb mounting?
I've further increased the logging, the pipe is running... Will be in 1.25.0

1.25.0 should be there

Thanks for the updates!
My assumption is also that something is wrong with the volume, but I can't figure it out at the moment. That's why I attached the filebrowser to the same volume, but I can see the folders and view the pictures. 😕
I still get an error with version 1.25.0
[2024-04-18T20:30:07Z INFO  this_week_in_past::scheduler] Indexing resources, this may take some time depending on the amount of resources...
thread '<unnamed>' panicked at src/filesystem_client.rs:102:31:
called `Option::unwrap()` on a `None` value

Its still on my mind, if I have some spare time, I'll further improve logging at this point.

Can you please try 1.25.1 and message the error message back?

Sorry for the delay. I got some news with 1.25.17:

thread '' panicked at src/filesystem_client.rs:95:13:                                                                                > Failed to convert folder name to string for path: /resources/2023/20230506_Stra�e

The original name of the folder is 20230506_Straße.
I had no issues with this folder when mounting the samba share in docker. I also get an error with filebrowser. It shows the folder but can't access the content.
Thanks a lot for the additional logging! Now I can dig further into the issue.


Crash after updating to v1.21.0

Describe the bug
After updating teslamate to version v1.21.0, the docker container fails to start.
Relevant entries from the logs
Crash dump is being written to: erl_crash.dump...done
2021-01-04 21:02:19.751 [info] Migrations already up
2021-01-04 21:02:23.492 [info] Version: 1.21.0

2021-01-04 21:02:31.624 [info] Application teslamate exited: TeslaMate.Application.start(:normal, []) returned an error: shutdown: failed to start child: TeslaMate.Api

** (EXIT) an exception was raised:
** (CaseClauseError) no case clause matching: {:error, "non-existing domain"}

(teslamate 1.21.0) lib/tesla_api/auth.ex:44: TeslaApi.Auth.handle_response/1
(teslamate 1.21.0) lib/teslamate/api.ex:171: TeslaMate.Api.refresh_tokens/1
(teslamate 1.21.0) lib/teslamate/api.ex:99: TeslaMate.Api.init/1
(stdlib 3.14) gen_server.erl:417: :gen_server.init_it/2
(stdlib 3.14) gen_server.erl:385: :gen_server.init_it/6
(stdlib 3.14) proc_lib.erl:226: :proc_lib.init_p_do_apply/3
{"Kernel pid terminated",application_controller,"{application_start_failure,teslamate,{{shutdown,{failed_to_start_child,'Elixir.TeslaMate.Api',{{case_clause,{error,<<\"non-existing domain\">>}},[{'Elixir.TeslaApi.Auth',handle_response,1,[{file,\"lib/tesla_api/auth.ex\"},{line,44}]},{'Elixir.TeslaMate.Api',refresh_tokens,1,[{file,\"lib/teslamate/api.ex\"},{line,171}]},{'Elixir.TeslaMate.Api',init,1,[{file,\"lib/teslamate/api.ex\"},{line,99}]},{gen_server,init_it,2,[{file,\"gen_server.erl\"},{line,417}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,385}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,226}]}]}}},{'Elixir.TeslaMate.Application',start,[normal,[]]}}}"}

Environment

TeslaMate version: 1.21.0
Type of installation: Docker

Did you double check your docker-compose or your .env file?
Looks like you might have an invalid Fqdn in your settings

Did you double check your docker-compose or your .env file?
Looks like you might have an invalid Fqdn in your settings

I have this same error with a fresh install on a Synology

I have this same error with a fresh install on a Synology

Here's my docker command:
docker run -d --name='TeslaMate' --net='private' -e TZ="America/Los_Angeles" -e HOST_OS="Unraid" -e 'DATABASE_USER'='teslamate' -e 'DATABASE_PASS'='<redacted>' -e 'DATABASE_NAME'='teslamate' -e 'DATABASE_HOST'='TeslaMate-postgres' -e 'MQTT_HOST'='TeslaMate-mosquitto' -v '/mnt/user/appdata/teslamate/import':'/opt/app/import':'rw' 'teslamate/teslamate:latest'

The FQDN has not changed since I initially configured it. It may not be resolvable from the container, since it's in a private network. This has not been a problem in the past, however.

Here's my docker command:
docker run -d --name='TeslaMate' --net='private' -e TZ="America/Los_Angeles" -e HOST_OS="Unraid" -e 'DATABASE_USER'='teslamate' -e 'DATABASE_PASS'='<redacted>' -e 'DATABASE_NAME'='teslamate' -e 'DATABASE_HOST'='TeslaMate-postgres' -e 'MQTT_HOST'='TeslaMate-mosquitto' -v '/mnt/user/appdata/teslamate/import':'/opt/app/import':'rw' 'teslamate/teslamate:latest'

The FQDN has not changed since I initially configured it. It may not be resolvable from the container, since it's in a private network. This has not been a problem in the past, however.

I had the same problem upgrading (on a QNAP)) and I solved it only by deleting the docker, restarting the server and creating it again.
Fortunately I didn't lost any data :-)

I had the same problem upgrading (on a QNAP)) and I solved it only by deleting the docker, restarting the server and creating it again.
Fortunately I didn't lost any data :-)


chore: update svelte peer dependency

Resolves warn: incorrect peer dependency<EMAIL_ADDRESS>for Svelte 5 projects using bits-ui.

@huntabyte is this one needed as well or we should close it?

I don't think it will hurt to support it here as well.


Add datetime_immutable type to documentation

Updated to add all types from https://github.com/doctrine/dbal/pull/2450/files#diff-58432246b30eea57e32e0912074f5807


Replace the geo_file_format property with conforms_to

Replaces the geo_file_format property with conforms_to. Closes #89.

Coverage remained the same at 100.0% when pulling f9016d5fb032a3006b68c313d656d137bfdc4c77 on conforms-to into 3a930792b178fb468d7fc7b648016b14e028a10f on master.

:+1:


"Acc: 0.8891" is train_acc or val_acc ?

"Acc: 0.8891" is train_acc or val_acc ?
thanks for your answer~

Well， val acc

Thank you~Nice man~~

Oops.
No Thanks! Train accuracy.
This neural network is not particularly complex and it is difficult to achieve high accuracy.


epoch_param.gov_action_deposit is not updated

OS
Your OS: Ubuntu
Versions
The db-sync version (eg cardano-db-sync --version): <IP_ADDRESS>
PostgreSQL version: unsure
Build/Install Method
The method you use to build or install cardano-db-sync: Docker image ghcr.io/intersectmbo/cardano-db-sync:<IP_ADDRESS>
Run method
The method you used to run cardano-db-sync (eg Nix/Docker/systemd/none): Docker
Additional context

Updated Cardano Node image version in docker-compose.yml to image: ghcr.io/intersectmbo/cardano-node:9.1.0
Started on sanchonet: NETWORK=sanchonet POSTGRES_PORT=5555 docker compose up --build -d
Query gov_action_deposit:

select epoch_no, gov_action_deposit from public.epoch_param ORDER BY epoch_no DESC LIMIT 1;
epoch_no | gov_action_deposit
----------+--------------------
   412 |<PHONE_NUMBER>0
(1 row)

Same issue is observed on Preview too. Wrong gov_action_deposit.

Problem Report
Returns<PHONE_NUMBER>0 instead of<PHONE_NUMBER>00

On further analysis, the issue is related to how db-sync is started:

When starting without config file args, and only NETWORK env param, the issue reproduces.
When starting with configuration params, but not passing the NETWORK env to the container, the issue does not reproduce.

I am attaching the docker logs for both scenarios, psql output and docker-compose for both scenarios.

Log files when issue reproduces:

no-config-arg-repro.psql.log
no-config-arg-repro.log
no-config-docker-compose.yml.txt

Log files when issue does not reproduce:

with-config-arg-not-repro.log
with-config-arg-not-repro.psql.log
with-config-docker-compose.yml.txt

Release <IP_ADDRESS> makes it easier to pick the correct config for docker


Remove Apache license from metrics mail

removes
/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */

from Beam Metrics Report mail

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

cc @kamilwu

Thanks for review @mxm, is there anything that should be done to get this PR merged?

No, looks good!


Create metadb derived table item_tags

Create a metadb derived table for items with tags. Table contains a new row for every tag associated with an item record and contains the name of the tag and ordinality the tag appears in.

@lib-eric I noticed that you didn't include the item hrid. Did you want to do that? Our other derived tables include both id and hrid.

@lib-eric I noticed that you didn't include the item hrid. Did you want to do that? Our other derived tables include both id and hrid.

Good point @jenmawe , added!

If possible could we have a PR description: https://github.com/folio-org/folio-analytics/blob/main/CONTRIBUTING.md#pull-request-description

I think this is solved now and the PR is ready to be merged, thanks.


.filter should narrow down output type

TypeScript Version:  2.6.2
The output of filter can be a further constrained/narrowed-down type. For example, you can use filter to find items in an array that have a certain property. TS is great at inferring these constraints within the filter predicate, but should also carry the inference forward into filter results. See usage of filter and map in the example below:
Code
interface A { text?: string }
let array: A[] = [{}, {text: "hello"}, {}, {text: "world"}];
let lengths = array.filter(e => e.text).map(e => e.text.length);
                                                 ^^^^^^
// [ts] Object is possibly 'undefined'.
// (property) A.text: string | undefined

Expected behavior:
The output type of filter should be {text: string} because TS correctly understands the filter predicate: only elements with text property are returned.
Actual behavior:
The type output of filter is still {text?: string}.

If you use a user defined type guard in combination with explicit types, you can do this. I also find it useful to use discriminated unions. I feel like it ought to be possible to cut this example down a bit further, but this is what I could put together quickly
interface A1 { }
interface A2 { text: string }
type A = A1 | A2;
const array: A[] = [{}, { text: "hello" }, {}, { text: "world" }];
const a2s: A2[] = array
    .filter((e): e is A2 => e.hasOwnProperty('text'));
const lengths = a2s
    .map(e => e.text.length);

// no compile errors

Duplicate of  #5101 -- we won't infer that e => e.text is a type predicate without an annotation (e): e is { text: string } => e.text.
It may be easier to define a mapDefined helper like so:
function mapDefined<T, U>(array: ReadonlyArray<T>, mapFn: (x: T, i: number) => U | undefined): U[] {
    const result: U[] = [];
    for (let i = 0; i < array.length; i++) {
        const mapped = mapFn(array[i], i);
        if (mapped !== undefined) {
            result.push(mapped);
        }
    }
    return result;
}

interface A { text?: string }
let array: A[] = [{}, {text: "hello"}, {}, {text: "world"}];
let lengths = mapDefined(array, e => e.text === undefined ? undefined : e.text.length);

then there is only a single closure and type guards will work.

This doesn't seem to work with primitives. Am I missing something?
interface A { id?: number }
let array: A[] = [ {id: 1}, {}, {id: 2} ];
let ids: number[] = array.map(e => e.id).filter((id): id is number => id != null);

Shouldn't it be possible to leave off the explicit type on the result?
interface A1 { }
interface A2 { text: string }
type A = A1 | A2;
const array: A[] = [{}, { text: "hello" }, {}, { text: "world" }];
const a2s = array
    .filter((e): e is A2 => e.hasOwnProperty('text'));
const lengths = a2s
    .map(e => e.text.length);

// The type of a2s is {}[]

Where should I add that this explicit type guard is required in the docs? We really shouldn't have to turn to GitHub to figure something like this out ...

Duplicate of #5101 -- we won't infer that e => e.text is a type predicate without an annotation (e): e is { text: string } => e.text.

Hello friends (who've come here before me and discovered how to do this!). Like @seanpoulter, I feel this should be documented somewhere.
For anyone coming after me, here's a practical example of how you should use something like filter:
const getNumbers = (v: Record<string, number | string>): number[] =>
  Object.keys(v)
    .map<number | string>(k => v[k])
    .filter<number>((i: number | string): i is number => typeof i === "number");

Now I'm not clear on why this is the case. Perhaps someone could enlighten us?

I'd say we should add a note on the Type Inference section of the TypeScript Handbook. Let's ask the contributors of that section if they'd welcome a PR. Would you review a PR @DanielRosenwasser, @arthanzel, @RyanCavanaugh, @vomvoru, and @karptonite? Would you rather it go in Type Inference or Advanced Types?

@dfee No claim to enlightenment, but I think the core problem is summed up quite well in the original issue description and in #10734 - type narrowing doesn't flow through scopes.
The issue is unrelated to the implementation of filter which, as in your example, correctly narrows types when a type predicate is declared as the return type.
The problem is that functions never infer a type predicate as a return type. So the below isNumber function infers a return type of boolean rather than a is number and can't be used for type narrowing (consumers of isNumber correctly do not inspect the implementation, only the signature).
function isNumber(a: any) {
  return typeof a === 'number';
}

The situation is the same for inline arrow functions commonly used with filter.
What we're effectively asking for is that the type narrowing provided by an if statement (which can be quite complex) be flowed through as an inferred predicate return type when a function returns that same statement (which otherwise equates to a boolean). I can't imagine it's trivial to implement, but it would be very handy.
In such a world, the below isCardinalNumber function would also infer a return type of a is number and support type narrowing if used with filter.
function isCardinalNumber(a: any) {
  return isNumber(a) && a >= 0 && a%1 === 0;
}

For those not wanting to track through multiple closed duplicate issues, this issue/discussion appears to be alive at https://github.com/microsoft/TypeScript/issues/16069.

After es2019, you can use flatMap.
Here is my ts-playground.
const myArr = ['hello', null, 'world', undefined];
const filteredArr = myArr.flatMap((x) => x ? x : []);

Above filteredArr is inferred as string[].

in latest ts document there is the solution:
https://www.typescriptlang.org/docs/handbook/advanced-types.html

Here is a generic one that I came up with after needing TS to properly narrow the type returned from Array.filter.
function isObjectWithKey<T, K extends keyof T>(key: K) {
  return function (obj: T): obj is Required<T> {
    return typeof obj[key] !== 'undefined';
  };
}

// usage (files is an array of objects with an optional uuid key)
files.filter(isObjectWithKey('uuid'))?.map((f) => f.uuid)

// more usage
type File = {
  uuid?: string;
};
const obj1: File = {};
console.log(isObjectWithKey<File, 'uuid'>('uuid')(obj1));
// false
const obj2: File = {
  uuid: '1',
};
console.log(isObjectWithKey<File, 'uuid'>('uuid')(obj2));
// true

This can be shortened to this below to be more succint.
const isObjectWithKey = <T, K extends keyof T>(key: K) => {
  return (obj: T): obj is Required<T> => typeof obj[key] !== 'undefined';
};

Shared on stackoverflow - https://stackoverflow.com/a/76291666/1673842

After es2019, you can use flatMap.

Although flatMap fixes the issue, but it is using a wrong tool for a specific problem: We fix typecheck error, with using an unneeded call to flat.


[backplane-2.3] check ibm cloud exactly

issue: https://issues.redhat.com/browse/ACM-7422

/cc @zhiweiyin318 @elgnay

/lgtm

/approve


generate method in SoundStorm typo

Hi, I was trying to inference from the model and it seems like the method generate in the class SoundStorm is currently genenrate (with an extra n after the second e). Can you fix that? Tks

Thank you for the reminder, I've already corrected it!


Desktop10:SupportedProtocols "Key" is not well defined.

"Key" is not well defined on this page.  I would guess that it is an attribute to desktop10:SupportedProtocols.
Also, it would be helpful to know the purpose of this element.  Is it more like "approved" rather than supported or is this required to integrate protocol handlers into the OS to make them available from outside of the package.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 916b3a5f-c588-5a17-3e83-2b02ba9c0409
Version Independent ID: 916b3a5f-c588-5a17-3e83-2b02ba9c0409
Content: desktop10:SupportedProtocols - Windows UWP applications
Content Source: winrt-related-src/schemas/appxpackage/uapmanifestschema/element-desktop10-supportedprotocols.md
Product: uwp
Technology: winrt-reference
GitHub Login: @drewbatgit
Microsoft Alias: drewbat

It turns out that "key" was (both in the documentation and the spec the docs were based on) just copied directly from the equivalent registry setting for unpackaged apps in this page: https://learn.microsoft.com/en-us/windows/win32/shell/app-registration
I updated the description to change "key" to "extension" and linked to the app registration page to provide more context. Everything that I have seen indicates that these are indeed supported protocols rather than "approved".


New App Onboarding: simplenodeservice-team06-preprod

A new application is coming! simplenodeservice from team06 in preprod is ready for review.

a


Error in contribution guidelines

Hey @QAZIMAAZARSHAD
There is a error in contribution guidelines.
In step 6 of contribution guidelines, it should be main instead of master
I'm attaching a screen shot of the error.

@QAZIMAAZARSHAD
Please assign it to me.
I will make the necessary changes.

@Shaishav0507 it is different for a few, depends what is the name of your branch main or master, a few of my repo has master repo as default so upstream master works fine, and upstream main gives error.
And vice-versa for few other repos.


:bug: Try using new ubuntu release

Signed-off-by: Jason Montleon<EMAIL_ADDRESS>

The failure looks like a kernel / overlay fs driver issue that docker and podman have experienced. I'd like to try an updated ubuntu release to see if it gets us anything.


Ack addon must support inline policies for EKS

Description of changes:
The EKS ack controller doesn't have a recommended managed policy, only an inline one, and the currently provided managed policy in blueprints doesn't seem to give any eks permissions, nor does any other managed policy seem to be appropriate. The best option is to support inline policies. There may be other ack controllers with similar issues, but EKS is the one I'm aware of.
Also, this file appeared to have CRLF, so I've converted it to LF to match the rest of the project - I suggest viewing the diff without whitespace
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I don't observe tests for this, how did you validate it?

I validated by running the EKS ACK controller, which does not work without this change as it needs eks permissions which were not present before. You can simply add the following addon to a blueprint to test:
const addOn = new blueprints.addons.AckAddOn({
  serviceName: AckServiceName.EKS,
}),

And then you can try applying a resource such as:
apiVersion: eks.services.k8s.aws/v1alpha1
kind: PodIdentityAssociation
metadata:
  name: test
  namespace: default
spec:
  clusterName: your-cluster-name
  namespace: default
  roleARN: some-role-arn-in-this-account
  serviceAccount: default

and running kubectl describe to see that the ack controller had enough permissions to attempt to create it (most likely it will fail if you didnt set the trust policy on the role appropriately, but that still proves the permissions work)

@Pjv93 that is weird. If you put the following in examples/blueprint-construct/index.ts:
import * as cdk from 'aws-cdk-lib';
import {Construct} from "constructs";
import * as blueprints from '../../lib';

const blueprintID = 'blueprint-construct-dev';

export default class BlueprintConstruct {
  constructor(scope: Construct, props: cdk.StackProps) {
    const addOns: Array<blueprints.ClusterAddOn> = [
      new blueprints.addons.AckAddOn({
        serviceName: blueprints.AckServiceName.EKS
      }),
    ];

    blueprints.EksBlueprint.builder()
      .version("auto")
      .addOns(...addOns)
      .build(scope, blueprintID, props);
  }
}

And run npx cdk synth, you should see the inline policy as an attachment to the role:
  blueprintconstructdevekschartsaRoleB7051B6A:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Action: sts:AssumeRoleWithWebIdentity
            Condition:
              StringEquals:
                Fn::GetAtt:
                  - blueprintconstructdevekschartsaConditionJson6E37C7DB
                  - Value
            Effect: Allow
            Principal:
              Federated:
                Ref: blueprintconstructdevOpenIdConnectProvider3733B8DD
        Version: "2012-10-17"
      ManagedPolicyArns:
        - Fn::Join:
            - ""
            - - "arn:"
              - Ref: AWS::Partition
              - :iam::aws:policy/AmazonEKSClusterPolicy
...
  inlinepolicy168DC373:
    Type: AWS::IAM::Policy
    Properties:
      PolicyDocument:
        Statement:
          - Action:
              - eks:*
              - iam:GetRole
              - iam:PassRole
            Effect: Allow
            Resource: "*"
        Version: "2012-10-17"
      PolicyName: inlinepolicy168DC373
      Roles:
        - Ref: blueprintconstructdevekschartsaRoleB7051B6A
    Metadata:
      aws:cdk:path: blueprint-construct-dev/inline-policy/Resource

And when I run npx cdk deploy --require-approval=any-change, it does show the inline policy:

So I am not sure what could be the problem
As a sidenote, I think I should remove the EksClusterPolicy for EKS as it is unnecessary and confusing

@jackkleeman Thanks for that, the mistake was actually on my end. After running npx cdk synth && npx cdk deploy --require-approval=any-change, i see the inline policy and it looks good! I can also confirm the s3 inline policy pattern is also working. Great work.

@elamaran11 your review is marked as "requested changes". can't merge with that one, please review.

aa923ee

+1. Thankyou for the Contribution


On short answer questions, use comma separated options design

If we have filtered out science lessons by the time we do this ticket, there might not be an example of this in the live lessons...
This was highlighted when the new science lessons where shown!
(Ignore the {{}} in this image, that is another issue!)

https://owa.thenational.academy/beta/teachers/key-stages/ks3/subjects/science/units/atoms-and-the-periodic-table-9q9t0p6/lessons/chemical-reactions-p26zu7
Acceptance Criteria:

[x] Show the answer options comma separated as per screenshot shown in comments https://github.com/oaknational/Oak-Web-Application/issues/1447#issuecomment-1506638476

:tada: This issue has been resolved in version 1.185.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

feature branch


switchVideo() have no effect in 1.3.0

I have use the earlier 1.2.0 version before releases, it work ok.
But since 1.2.0 releases and 1.3.0, the switchVideo() have no effect even on your demo.
I hope it will be fix.
AND, last time my issues of the ios safari will close screen is not a issues, if  roop is true, iPhone will close screen.

Yeap, the event dp.on("error",function(){}) seems like doesn't work too.

Please provide demo code.

Official demo is the best demo http://dplayer.js.org
when I Click the Switch video video replay but url never change.
And the error event:
var dp = new Dplayer(){...}
dp.on("error",function(){
console.log("test")} )
when the url broken or other reason make the dplayer error, no log in console. I tried to changed "error" to "pause" it works ok.

And Quality Switch not work on Microsoft Edge.

Confirmed, I'll fix it.

after click "switch video" on official demo, console error _this.video.currentTime is not a function

Done. Thank @sinchang .


update utxo cache default size (#265)

Codecov Report

Merging #266 (54b416f) into release-v5.2 (80bf46b) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

@@               Coverage Diff                @@
##           release-v5.2     #266      +/-   ##
================================================
- Coverage         46.63%   46.59%   -0.05%
================================================
  Files               136      136
  Lines             12073    12073
================================================
- Hits               5630     5625       -5
- Misses             5282     5284       +2
- Partials           1161     1164       +3

Impacted Files
Coverage Δ

bcs/ledger/xledger/state/utxo/utxo.go
55.18% <ø> (ø)

bcs/ledger/xledger/config/config.go
65.21% <100.00%> (ø)

bcs/contract/xvm/code_manager.go
63.63% <0.00%> (-2.73%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
53.76% <0.00%> (-2.16%)
:arrow_down:

bcs/consensus/tdpos/tdpos.go
48.30% <0.00%> (-0.97%)
:arrow_down:

bcs/consensus/tdpos/schedule.go
47.70% <0.00%> (-0.92%)
:arrow_down:

bcs/network/p2pv1/conn.go
61.22% <0.00%> (+6.12%)
:arrow_up:

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 80bf46b...54b416f. Read the comment docs.


Support for media upload and download

Usinng async functions to download and upload media.
Whatsapp changed recently the protocol for uploading files. Thats the reason for the new mediaconn request and response types.
More info on: https://github.com/Rhymen/go-whatsapp/pull/317

Hello.
I've resolved de conversations that were already fixed and commit. On the other, I've made some comment. I am not sure if you do get notification for those comments, so I am writing this here.
I am waiting on your replies before moving on with the fixes.

Hello.
I've resolved de conversations that were already fixed and commit. On the
other, I've made some comment. I am not sure if you do get notification for
those comments, so I am writing this here.
I am waiting on your replies before moving on with the fixes.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub (https://github.com/eeeeeta/whatsappweb-rs/pull/15#issuecomment-615445765),
or unsubscribe (https://github.com/notifications/unsubscribe-auth/ACHXT5QBV3BB4VAB2KY3OH3RNC2U5ANCNFSM4MIEL3MQ).

Hey @Andrepuel -- for future reference, I do get notified about the comments, so don't worry! (Apologies for the spurious email; my mail system doesn't like github emails it seems...). Thanks for the changes you've made so far; I've replied to the few outstanding things...

Having issue upload responsed with %!d(float64=404)
Hope this PR solves it

@Andrepuel (https://github.com/Andrepuel) pushed 3 commits.

23ae91a (https://github.com/eeeeeta/whatsappweb-rs/commit/23ae91ac429cf5d30fcf40729af5ed153108b83d)
Improved User Agent string

df69558 (https://github.com/eeeeeta/whatsappweb-rs/commit/df69558c068fc99ba69b5b10424b3c9c973519f6)
MediaConn response hosts is type as url::Host

bc08fa2 (https://github.com/eeeeeta/whatsappweb-rs/commit/bc08fa20687d932d497c0d350fa8001cc49f83de)
Improved HTTP error reporting

—
You are receiving this because you are subscribed to this thread.
View it on GitHub (https://github.com/eeeeeta/whatsappweb-rs/pull/15/files/ef7876643738635d395be0708b44fc2dcfef8329..bc08fa20687d932d497c0d350fa8001cc49f83de)
or unsubscribe (https://github.com/notifications/unsubscribe-auth/ACHXT5S2FRVP2IEFAFFENQ3RQR4TLANCNFSM4MIEL3MQ).

Looks good, thanks! Merging...


 not able to change background color dynamically (using java script)

dear sir,
'select' component not able to change background color dynamically (using java script) data-role='select'
if i am not using data-role='select' its working fine but not able to use data-append or data-prepend in this case

https://codepen.io/olton/pen/jOqJaKv

sir i am facing problem in react js (not using react metro)

https://github.com/olton/Metro4-React


PowerToys(fancyzones) resets everytime Windows boots

Microsoft PowerToys version
v0.45.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Set custom zones in Fancy Zones on both monitors. Restart PC. Windows reopens. Desktop, fancyzones resets to default zones
✔ Expected Behavior
My zones to stay the same
❌ Actual Behavior
Zones reset to default
Other Software
No response

Duplicate of #13069

Thanks for reporting this. This issue is a duplicate. We'll track this in #13069 to centralize the discussion thread.

Being worked on as we speak: #13322


Concurrent sessions sound

[Windows 8.1] When a user is logged in locally and is playing game at the moment [for example], if I connect to that computer through rdp with "sound stay on local computer" setting - local user loses sound completely and needs to log in again. I basically want this to work like it did on Windows 7 [It played sound from two users at the same time from same speakers].

It isn't RDP Wrapper issue, it's terminal services bug. So I can't fix it.


Question: How does Azure Storage Explorer list top (or next-level) folders quickly?

I am trying to do the same using the Azure blob storage api but it seems that I have to get all items in the blob container to know what are the top folders.
Since we can have over 50K items in a blob container, this process is can be slow.
I would appreciate if you could give me some pointers for making the api faster for this need.
(PS: I tried to look at the source but it looks like that the source is not publicly available)

@MRayermannMSFT thanks for the tip. I did try the .Net SDK equivalent of this but looks that I have to specify the delimiter.


(Bug/Issue): Fix the bug/issue in hub.litmuschaos.io

What happened:
Fix the listed bug/issue related to hub.litmuschaos.io

Fix the logic of filtering the video URL, Issue reference here
Fix the logic of getting the display name from JSON data, Issue reference here
Add the support to sync the chaos-chart repo a/c to github webhook instead of define time frame, Issue reference here

How to reproduce it (as minimally and precisely as possible):
Run the hub locally, Check here

Hi @chandankumar4 ,
I am working on fixing the video URL filtering logic.

PR

Hi @chandankumar4,

Hi @chandankumar4 ,
I have sent a PR for the the display name logic bug, PR , review it and let me know.


Gdax Trade Class Error

Note: this is the technical bug tracker, please use other platforms for getting support and starting a (non technical) discussion. See the getting help page for details.
I'm submitting a Gekko CLI crash error...
[x ] bug report
[ ] question about the decisions made in the repository
Action taken (what you did)
Rn Gekko bot on GDax exchange after pulling latest update including the Trade class PR, when the bot attempts to trade on advice it crashes.
Expected result (what you hoped would happen)
It would trade
Actual result (unexpected outcome)
It crashes
Other information (e.g. Detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc)
CLI error code below...
/root/gekko/plugins/trader/trade.js:312
return minimum = this.minimalOrder.amount;
^
ReferenceError: minimum is not defined
at Trade.getMinimum (/root/gekko/plugins/trader/trade.js:312:22)
at Trade.sell (/root/gekko/plugins/trader/trade.js:185:22)
at act (/root/gekko/plugins/trader/trade.js:89:18)
at /root/gekko/node_modules/async/dist/async.js:3853:9
at /root/gekko/node_modules/async/dist/async.js:484:16
at replenish (/root/gekko/node_modules/async/dist/async.js:1025:25)
at iterateeCallback (/root/gekko/node_modules/async/dist/async.js:1015:17)
at /root/gekko/node_modules/async/dist/async.js:988:16
at /root/gekko/node_modules/async/dist/async.js:3850:13
at apply (/root/gekko/node_modules/async/dist/async.js:41:25)
at /root/gekko/node_modules/async/dist/async.js:76:12
at set (/root/gekko/plugins/trader/portfolio.js:89:9)
at Trader.getFee (/root/gekko/exchanges/gdax.js:140:3)
at Trader.bound [as getFee] (/root/gekko/node_modules/lodash/dist/lodash.js:729:21)
at Portfolio.setFee (/root/gekko/plugins/trader/portfolio.js:91:19)
at /root/gekko/node_modules/async/dist/async.js:3845:9
at replenish (/root/gekko/node_modules/async/dist/async.js:1030:17)
at iterateeCallback (/root/gekko/node_modules/async/dist/async.js:1015:17)
at /root/gekko/node_modules/async/dist/async.js:988:16
at /root/gekko/node_modules/async/dist/async.js:3850:13
at apply (/root/gekko/node_modules/async/dist/async.js:41:25)
at /root/gekko/node_modules/async/dist/async.js:76:12
at set (/root/gekko/plugins/trader/portfolio.js:74:9)
at Trader.result (/root/gekko/exchanges/gdax.js:115:5)
at bound (/root/gekko/node_modules/lodash/dist/lodash.js:729:21)
at /root/gekko/core/util.js:28:7
at /root/gekko/exchanges/gdax.js:101:12
at Request._callback (/root/gekko/node_modules/gdax/lib/clients/public.js:45:7)
Help as i cannot use the bot at this point in time,

Have a look here for a temporary fix: https://github.com/askmike/gekko/issues/2083

Perfect will make the adjustment


feat: [M3-8185] - Add Accessibility tab to Storybook Stories

Description 📝
We could utilize Storybook more. One way we could do that is by using it for Accessibility testing when developing a component
Changes  🔄

Add Accessibility tab to Stories

Preview 📷
https://github.com/user-attachments/assets/a61c8030-63f0-4a0c-8524-30bb841b8253
How to test 🧪
Verification steps
(How to verify changes)

Pull this PR and run storybook locally
Open a Story and you should see a new Accessibility tab

As an Author I have considered 🤔
Check all that apply

[ ] 👀 Doing a self review
[ ] ❔ Our contribution guidelines
[x] 🤏 Splitting feature into small PRs
[x] ➕ Adding a changeset
[ ] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[ ] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

@abailly-akamai Yeah, unfortunately there's no way to turn the autoplay off. I'll bring this up in Cafe to see if it's worth keeping!

Thanks for the feedback! I split the Interactions/Component testing to a separate PR https://github.com/linode/manager/pull/10974 and will just merge the accessibility addition in this PR


Fix handling of dev version when releasing

This temporary fixes the handling of dev version when releasing as suggested by @blink1073 in https://github.com/jupyter-server/jupyter_server/pull/913#issuecomment-1180491481

👍


Azure CLI stops working after an hour but runs fine before that

Hi,
I am facing this strange issue. I have this script that recursively runs az storage blob list because I want to search through entire container and filter out the blobs matching certain criterion (that I defined in my script). It runs fine and produces output until a certain point (I am doing it in chunk of 4000 results, so after every run, it generates nextMarker, which I use to run my next search). After a certain number of runs, it just stops working. I have stored all the nextMarkers and Azure somehow remembers which nextMarker it has to stop and it does that every single time. Can anyone help me to resolve the issue or a way to overcome the problem?
Here is the script that I use to run recursively my Azure CLI script:
`#/usr/bin/
./Azure_Search_Q.sh > out
tail -1 out
line=$(tail -1 out);
echo "Length is:${#line}"
expr=${line:4:${#line}}
echo $expr
head -n -1 out >Joint_Folder_Files
while [ ! -z "$expr" ]
do
sed "s/FLAG/${expr}/g" Azure_listBlob_wMarker_FLAG.sh > Azure_Search_newQ.sh
chmod +x Azure_Search_newQ.sh
./Azure_Search_newQ.sh > out
head -n -1 out >>Joint_Folder_Files
line=$(tail -1 out)
echo "Length is:${#line}"
expr=${line:4:${#line}}
echo $expr
done
here is the Azure CLI script (Azure_Search_Q.sh):#/usr/bin
key=""
account_name=
container_name=
numResults=400
az storage blob list
--account-name $account_name
--account-key $key
--show-next-marker
--container-name $container_name
--prefix "Analysis/joint_analysis/"
--num-results $numResults
--query "[[].name | [?((ends_with(@, 'vcf.gz')) && (contains(@, '962756'))&& (contains(@, 'hard-filtered.')))], [].nextMarker]" --output yamlc
and here is the other one: Azure_listBlob_wMarker_FLAG.sh:#/usr/bin
key="**"
account_name=****
container_name=
numResults=400
marker=FLAG
az storage blob list
--account-name $account_name
--account-key $key
--num-results $numResults
--show-next-marker
--container-name $container_name
--prefix "Analysis/joint_analysis/"
--marker $marker
--query "[[].name | [?((ends_with(@, 'vcf.gz')) && (contains(@, '962756'))&& (contains(@, 'hard-filtered.')))], [].nextMarker]" --output yamlc
`

@evelyn-ys for awareness

It could be related with this fix https://github.com/Azure/azure-cli/pull/25915
And the fix will be released on 4/6


Document qbd certificate update

Description
The certificate used to sign our QBD Connector is expiring next month. This PR includes documentation detailing the steps necessary for end users to permit the connector continued access to their QBD company file.
Type of change

[x] New document(s)/updating existing

Reviews and merging
You are responsible for getting your PR merged. Address review comments promptly and make sure to merge the PR when ready.
Feel free to 'Enable automerge' - your PR will automatically merge when accepted and passing the build.

@JustinWilkinson should this be posted as an update (like we do with deprecations) instead of creating a docs page? we can then include it in the deprecations newsletter also

@JustinWilkinson should this be posted as an update (like we do with deprecations) instead of creating a docs page? we can then include it in the deprecations newsletter also

Happy to move it to an update, but I don't know that we have landed on a day for the release yet. I think this is getting our ducks in a row.
I defer to @ahedwards for his opinion.

Given this will impact our clients customers we should help our clients communicate this change to their customers. I'd add a template email outlining the change, why it's being made and how they can do this. Might be useful to add a video showing end users how to do this.


Add "how to run dev version" in the readme

Description
Sorry for this, but I couldn't figure out how to run in development mode.
When I clone the repo, it throws whispering module not found, and when I install whispering it uses the files from the pip install, not the cloned repo.
My current fix is to manually edit the imports.
Could you please add some instructions on how to run it locally in dev mode?
Thanks in advance!

Thanks for pointing that out!
I have added that to the README.
https://github.com/shirayu/whispering#for-developers
If you still have questions, please feel free to reopen this!


The doc should say that Windows XP is unsupported

Describe the bug
I lost hours trying to make Windows XP accept the Virtio-fs drivers, and just learnt that it is unsupported (#807). As I could easily find tutorials that talk about Windows XP and Virtio (https://www.youtube.com/watch?v=7Px1CvY5Pow, https://wiki.archlinux.org/title/QEMU#Preparing_a_Windows_guest mentions Windows XP, https://pve.proxmox.com/wiki/Windows_XP_Guest_Notes, …), this possibility didn’t even occur to me.
Also, the README here indicates: “Cross-signed drivers can be used on all versions of Windows except for the latest Windows 10 with secure boot enabled.”
It would be great also if you could indicate whether “unsupported” means that it should work but you don’t provide support any more for this OS, or if it means that the drivers aren’t even supposed to work and it’s not even worth trying.
Also please consider not including an “xp” folder in the fedora ISO if it is not expected to work (I’m not sure this should be asked here or elsewhere).
Thanks for consideration.

Hello @oliviercailloux, We are not developing new features\drivers for Windows XP\7.
Actually current master branch cannot be compiled for XP or Win7 (there are tags marking latest compilable code for those Windows versions).
As virtio-fs support was developed recently, from the beginning it was not intended to support Windows XP. Meaning, there are no binaries for Windows XP of virtio-fs. "Older" drivers have Windows XP drivers, so for example NetKVM (virtio-net) or viostor (virtio-block) drivers from XP directory should work on Windows XP.
We can create better description in README file regarding different drivers (@vrozenfe ).
Best regards,
Yan.

Thank you for the additional explanation, that is helpful and appreciated.
Yes, some short explanation in the README would be helpful, I believe. I think that one similar to the one you just gave would be adequate.


Implement Sieve of Eratosthenes to check whether the number is prime or not

Asssign this to me. Thank you.

Hey, @ephremdeme I have created the PR #127 which solve this issue. Please review the PR

Hey @ephremdeme  I have implemented Sieve of Eratosthenes in Java and made a PR #157 in Java


fix: Make projection fields refresh when table heading row index selection is updated

Description
We weren't sending table heading row index information along with the sheet url and name parameters to fetch the columns in Google Sheets integration. This PR starts to send this information along. As a result, every time the table heading row index value changes, we can expect the projection field to get updated.
Fixes #16868
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manually tested on local, no possibility of unit tests or integration tests for GSheets.

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=60329a8

Added test plan approved label since QA has signed off on issue and automation is not possible.


MudBlazor website fails if Google Analytics cannot be loaded

Bug type
Docs (mudblazor.com)
Component name
No response
What happened?
When the Google Analytics library cannot be loaded (either because of network issues or a content blocker), an exception is thrown and the site stops working.
Expected behavior
The website should continue to work, even if tracking fails
Reproduction link
https://mudblazor.com/
Reproduction steps

Attempt to load the website

Relevant log output
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Could not find 'GoogleAnalyticsInterop.configure' ('GoogleAnalyticsInterop' was undefined).
      Error: Could not find 'GoogleAnalyticsInterop.configure' ('GoogleAnalyticsInterop' was undefined).
          at https://mudblazor.com/_framework/blazor.webassembly.js:1:328
          at Array.forEach (<anonymous>)
          at a.findFunction (https://mudblazor.com/_framework/blazor.webassembly.js:1:296)
          at _ (https://mudblazor.com/_framework/blazor.webassembly.js:1:2437)
          at https://mudblazor.com/_framework/blazor.webassembly.js:1:3325
          at new Promise (<anonymous>)
          at Object.beginInvokeJSFromDotNet (https://mudblazor.com/_framework/blazor.webassembly.js:1:3306)
          at Object.St [as invokeJSFromDotNet] (https://mudblazor.com/_framework/blazor.webassembly.js:1:59938)
          at _mono_wasm_invoke_js_blazor (https://mudblazor.com/_framework/dotnet.6.0.9.b0qz41vfdo.js:1:195300)
          at https://mudblazor.com/_framework/dotnet.wasm:wasm-function[219]:0x1a492
Microsoft.JSInterop.JSException: Could not find 'GoogleAnalyticsInterop.configure' ('GoogleAnalyticsInterop' was undefined).
Error: Could not find 'GoogleAnalyticsInterop.configure' ('GoogleAnalyticsInterop' was undefined).
    at https://mudblazor.com/_framework/blazor.webassembly.js:1:328
    at Array.forEach (<anonymous>)
    at a.findFunction (https://mudblazor.com/_framework/blazor.webassembly.js:1:296)
    at _ (https://mudblazor.com/_framework/blazor.webassembly.js:1:2437)
    at https://mudblazor.com/_framework/blazor.webassembly.js:1:3325
    at new Promise (<anonymous>)
    at Object.beginInvokeJSFromDotNet (https://mudblazor.com/_framework/blazor.webassembly.js:1:3306)
    at Object.St [as invokeJSFromDotNet] (https://mudblazor.com/_framework/blazor.webassembly.js:1:59938)
    at _mono_wasm_invoke_js_blazor (https://mudblazor.com/_framework/dotnet.6.0.9.b0qz41vfdo.js:1:195300)
    at https://mudblazor.com/_framework/dotnet.wasm:wasm-function[219]:0x1a492
   at Microsoft.JSInterop.JSRuntime.<InvokeAsync>d__16`1[[System.String, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
   at Blazor.Analytics.GoogleAnalytics.GoogleAnalyticsStrategy.Initialize()
   at Blazor.Analytics.GoogleAnalytics.GoogleAnalyticsStrategy.TrackNavigation(String uri)
   at Blazor.Analytics.Components.NavigationTracker.OnLocationChanged(String location)
   at Blazor.Analytics.Components.NavigationTracker.OnAfterRenderAsync(Boolean firstRender)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task , ComponentState )

Version (bug)
N/A
Version (working)
No response
What browsers are you seeing the problem on?
Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Personally, I'm using uBlock Origin. However, it's likely this would happen with AdGuard, PiHole, etc too

I can confirm I see exactly the same problem. Tested on current Firefox, Chrome, Edge with uBlock Origin installed. It is interesting that as far as I know I have exactly the same uBlock configuration in all 3 browsers, but script is blocked in Firefox and Chrome only. See screenshot below. On Edge script is not blocked and there is no unhandled exception in application.

In Edge, where script loads I see 4 messages like this in the console:

In Firefox I have 42 messages in console:

This can be translated as:
The page settings blocked the loading of an "inline" resource ("script-src").

That's odd, given I was getting that error in Edge

Please note this is only fixed in https://dev.mudblazor.com for now until next release.


Add Naver Map/Dictionary app icons

Description
Added Icons for the following apps.

Please let me know if there should be any changes regarding the icons.
Type of change
:x: Bug fix (non-breaking change which fixes an issue)
:white_check_mark: Icon addition (non-breaking change that adds/modifies Lawnicons's icons)
:x: General change (non-breaking change that doesn't fit the above categories like copyediting)
Icons addition information
Icons added

Naver Dictionary (com.nhn.android.naverdic)
Naver Map (com.nhn.android.nmap)

Icons linked

Naver Dictionary (linked com.nhn.android.naverdic to @drawable/naver_dictionary)
Naver Map (linked com.nhn.android.nmap to @drawable/naver_map)

Edit: Updated the Naver Dictionary icon with rounded corners with 6px corner radius

Thanks for the PR! To match the style of Lawnicons more, the edges of the letters should have a corner radius of at least 6px (no sharp corners; see also #539 (comment)).

The N in the "Naver Maps" icon is the logo of the company Naver, which always has sharp corners; IMO better to keep that (I see that the Google app with their G also does the same no rounding). If you don't think so, I can round it no problem.
For the "Naver Dictionary" icon, I can add a corner radius of at least 6px to the letters in the icon.

Sorry, my bad, updated the SVG file as well!

Thanks, @tastelessjolt!


PyCascades 2022

schedule: https://2022.pycascades.com/program/talks/
playlist: https://www.youtube.com/playlist?list=PLcNrB7gPa-NdPI2l70DwtUf8uO_pdXZ6H

Resolved by #1151


Trying to support the same DLang frontend that GDC 11

Codecov Report

Merging #1 (37f4c98) into develop (962a83e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop       #1   +/-   ##
========================================
  Coverage    80.68%   80.68%
========================================
  Files            3        3
  Lines          145      145
========================================
  Hits           117      117
  Misses          28       28

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 962a83e...37f4c98. Read the comment docs.


Can i jump page without animation?

when selectTabAt index, contentScrollView.jump(to: index, animated: false) ?

Not support now.


search result aria label should prioritze content over location

reported by @jooyoungseo, the aria label for search results should read content first then location IE line/column info

cc @isidorn for historical context

Makes good sense, and should be an easy fix.

When replace is disabled, we have a label that looks like
Found '{match}' at column {columnNum} in line '{wholeLineSurroundingMatch}'

Otherwise, if replace is enabled, we have:
Replace '{match}' with '{replaceText}' at column {columnNum} in line {wholeLineSurroundingMatch}

https://github.com/microsoft/vscode/blob/a47c78516c0b314d3766c2a2cc597dd582e080a2/src/vs/workbench/contrib/search/browser/searchResultsView.ts#L403-L407
Would you rather see something like
Found '{match}' in line '{wholeLineSurroundingMatch}' at column {columnNum}

for non-replace and
Replace '{match}' with '{replaceText}' in line {wholeLineSurroundingMatch} at column {columnNum}

for replace?

Interesting - this works as expected on macOS

Not too sure why this would be different on mac. What does the aria say on your machine?

@andreamah I have not tried on Windows, but when @jooyoungseo shared his screen, the announcement read the line/column info before the actual content. Do you know where that would be coming from?

should be fixed in #179795

@andreamah have you tested this on  windows? Your fix changes the position of line vs column, which is good, but what JooYoung reported was that those preceded the actual content on windows.

I just tried on Windows and cannot reproduce the behavior that @jooyoungseo demoed - in which the line/col info was presented before the actual content. We will need to hear from him if it still happens and if so, how to reproduce.

I just tried on Windows and cannot reproduce the behavior that @jooyoungseo demoed - in which the line/col info was presented before the actual content. We will need to hear from him if it still happens and if so, how to reproduce.

Did you just try on insiders? I just changed the functionality

@meganrogge and @andreamah
Current Behavior

3 matches in file bar.txt of folder foo

Suggested Behavior

foo/bar.txt 3 matches

Current Behavior

Found 'VSCode' in line 'VSCode is cool' at column 15

Suggested Behavior

'VSCode is cool' in line  at column 15

Note: Found ’VSCode’ in is redundant b/c that's the user input search term and users already know what they are looking for, and it takes longer time for screen reader users to hear the actual content.

Note: Found ’VSCode’ in is redundant b/c that's the user input search term and users already know what they are looking for, and it takes longer time for screen reader users to hear the actual content.

The reason that we state the match again is for regex users. If they have a fairly general regex, they might want to know what actually caused it to match. Although we could also argue that the line context is more commonly valued by search users, since many people don't use regex.

Thanks for that context @andreamah.  I agree that we should optimize for the most common case here.

@meganrogge -- I recommend taking out redundant prefix, including 'Replace'. This is similar to one of the recommended best practices creating alt text. We recommend avoiding any redundant words, such as "Image of " or "Graphics of  " b/c users know what they are interacting with.

Using the example from before, we could probably do something like
'VSCode is cool' found in match 'VSCode' in line at column 15
when replace is not active. What do you think the replace case should look like?

Although I'm thinking we might not even need 'VSCode' in  as a prefix here since as @jooyoungseo pointed out, the user entered the search term and thus knows what it is already

Since the replace hasn't occurred at this point yet, replaced wouldn't be past tense in the results. We can say, will be replaced instead, but is that too wordy?
Also, I feel that the match string VSCode is still useful here for those who search for regex, so perhaps that could go at the end? Or we could just read it if they have regex search enabled.

fyi, 'm going to move this to that may iteration because I will be offline for the rest of the April iteration.

I might fix it for you 😄

It sounds like line context is still expected from the comments here, but only the column number is stated.
e.g.
'matched context' at column 34 found (1) 1 of 1
Also, finding a match in the first column will state that it was found at column 2

@amunger  I see why you were confused but line is text not a line number there. So this is working as designed.

not sure what you mean by this

Also, finding a match in the first column will state that it was found at column 2

created https://github.com/microsoft/vscode/issues/180982 since it seems like a different issue


Get rid of MultiQubitGate

Now that Gate implements a validate_args that checks the qubit count, MultiQubitGate does nothing but replace def num_qubits(self): return X with super().__init__(X), which is not enough to justify its existence.
Find all cases where MultiQubitGate is used and replace them with inheritance from just Gate with a defined qubit count.

I'm happy to pick this up

Hi @balopat - if there is any grunt work associated with this one that you might be looking to offload, I would be more than happy to help out. Please do not hesitate to reach out!

Thank you @davemc84 - it wasn't that bad!


Fixed server serialization bug

Custom ingredients need a custom serializer in forge, It looks like the Ingredient we have is just an ease of access class, but to get over this we can just make a mixin accessor to make it easier and just fix this dumb bug
fixes #238 , or at least i cant reproduce it with this fix

i literally just merged this in 46f1b99d5bf6ac55062134914db70367e360cd73 why didn't it close


Convert this blog to typescript

This issue will allow to study and practice more about typescript, I've some knowledge, but I've managed to implement some code on previous experiences and not implemented that much!

I'll base parts of this conversion/migration on this link https://www.gatsbyjs.com/docs/how-to/custom-configuration/typescript/#migrating-to-typescript

Since gatsby is getting tougher to update, I'll close this issue and works towards migrating this site/blog to astro and then convert to typescript in the process.


Add new attributes to cards

Please add the following attributes for cards:

An actual ID field
Card name
Card description

I will leave the naming of those fields to developers' discretion.

Names has been added and showing properly, descriptions are not showing correctly yet though. (Neither flavortext, nor actual descriptions about what the effects are)

Effect descriptions has now been added to LibGDX. Only JavaFX remaining, but that I won't take care of now.

It's not implemented in a very clean way in JavaFX, I am giving priority to LibGDX implementation instead. JavaFX can/should be refactored later,  see #57


Remove initialized=false if a configuration fails to load

In some cases the key value fetch fails, due to consul being down for a few seconds, or the connection failing, in which case this flag is set to false. If it is set to false, the getConfiguration() method keeps on throwing IllegalStateExceptions, bringing our entire application down.
I think the purpose of the initialized flag was to to prevent getConfiguration() being called before init() completed, and hence setting the flag here is not needed.

@norbertpotocki

👍  this fixes an issue for me as well

Thanks for contributing this @akonsand!

Hi, great framework. :)
But we have the same problem with GitConfigurationSource.

Hi @LostOblivion. This issue has been fixed in release 4.4.1

Is it fixed for GitConfigurationSource, or just for ConsulConfigurationSource? We still get the error with 4.4.1 when using GitConfigurationSource.
Perhaps this line is the problem?
https://github.com/cfg4j/cfg4j/blob/master/cfg4j-git/src/main/java/org/cfg4j/source/git/GitConfigurationSource.java#L164


Custom speed input

Custom speed input to control the scroll speed by user - status of this enhancement will be tracked in this issue (Requested in #6 )

This feature added with this commit c11d6118770fea59979b196020c847c1a60f7762


fix(gallery-native): pull down only when selected

About the native Gallery widget '' It has an event "Pull down" property, which helps add a refresh and reload function; however, when not using this function, the pull-to-refresh loading indicator is still visible to the users.
This behaviour is unexpected, resulting in an inconsistent user experience. We expect that if "Pull down"  is set to "Do nothing", we do not expect it to be possible to pull down the content and show the load indicator.
Technically, this causes useCallback function, which is always available, even if the users do not select the property pullDown. To fix this, please consider my suggestion via the GitHub pull request.

Thanks for your pull request. We've addressed the issue in a separate pull request (#114) and have incorporated the fix.


Support GetFlushState and GetFlushAllState for rbac dialog

Describe the feature:
Support GetFlushState and GetFlushAllState for rbac dialog
Describe a specific use case for the feature:

Need to support two more apis.

fixed.


[MRG]: check estimator / transformer

Init was throwing an error at search light init because Ridge doesn't have a transform method, although SearchLight should accept both estimators and transformers
from sklearn.linear_model import Ridge
from mne.decoding import SearchLight
SearchLight(Ridge())

Current coverage is 86.82% (diff: 90.90%)

Merging #3477 into master will increase coverage by 0.01%

@@             master      #3477   diff @@
==========================================
  Files           339        339
  Lines         59051      59057     +6
  Methods           0          0
  Messages          0          0
  Branches       9009       9011     +2
==========================================
+ Hits          51263      51275    +12
+ Misses         5070       5066     -4
+ Partials       2718       2716     -2

Powered by Codecov. Last update e71529b...d48987f

ready for review

thx @kingjr


klient/decoder: add filename context to decode error

What type of PR is this?
/kind bug

What this PR does / why we need it:
When decoding fails, the decoder has no knowledge about the filename, but DecodeEachFile has. The later should add it to the error context.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

Additional documentation e.g., Usage docs, etc.:

/lgtm

/approve


Fix all warnings

Fix all the warnings that appear when running tests.
That fixes the deprecation on collections.abc as well, in order to work with the new Python 3.8 release.

@neozenith can you review these changes ? This include the discussion in this issue on Python 3.8 compatiblity : https://github.com/kevin1024/vcrpy/issues/447

Good use of trying to use libYAML too.


Zero-configuration mode

Currently, it is impossible to start LSS without having a configuration file, or a very minimalistic one. I came up with the idea after looking at the proposed Ledger Live UX, realizing that LSS requires to know about the descriptors only once and storing it permanently in the config file is unnecessary, especially when initialized via Ledger Live.
New UX  (attn: Ledger Live PM)
Settings flow:

User toggles on the "Connect Bitcoin full node" button.

User sees an informational checklist:

Setup Bitcoin full node.
Launch Ledger SatStack
Add accounts.

User clicks on Continue.

User sees links to download Bitcoin Core and recommended settings that can be copied.
# Network-related settings:
server=1            # accept JSON-RPC commands
bind=<IP_ADDRESS>        # enable external discovery

# Node settings
blockfilterindex=1  # enable all compact filters

# Authentication
rpcuser=user
rpcpassword=pass

User goes ahead and sets up the full node. She then goes back to Ledger Live and clicks on Continue.

User enters RPC server credentials of the full node and clicks on Continue.

User sees links to download SatStack. She launches LSS in zero-configuration mode, then goes back to Ledger Live and clicks on Continue.

LL checks if SatStack is running, then displays a progress bar for Bitcoin node synchronization.

END.

Add accounts flow:

User is asked to plug-in the device, and open the Bitcoin app.
Extract a lot of xpubs (10? 20? 50?), for each derivation scheme, from the device.
Grab the first 5 accounts and import them dynamically using the /control/import endpoint exposed by SatStack.
Perform libcore synchronization. The transaction history of the 5 accounts will be detected.
If 5th account has funds, repeat steps 3-5 for the next 5 xpubs.
Gap encountered. User can now select the accounts to be added.
END.

Pros and Cons
Pros:

Fewer number of steps.
Faster for the majority of the users (less than 5 x 3 funded accounts).

Cons:

Slower for a small minority of users (more than 5 x 3 funded accounts), due to repeated rescans.

Other notes

When user launches lss binary, Bitcoin Core MUST be running.
SatsStack should still auto-detect config file in standard paths. If found, the descriptors listed in the accounts key of the config JSON are imported asynchronously. If no accounts are found, nothing is done (no validation!).
Dynamic imports via the /control/import endpoint should be asynchronous.
Wasteful rescans of the same descriptor should be avoided.

Available as of v0.7.0-alpha.


compiling error

source/states/PlayState.hx: 2636: characters 7-11 : base.ScriptHandler has no field call
source/base/ScriptHandler.hx:36: characters 3-9: Unknown identifier : traces
source/funkin/Character.hx: 526: characters 7-11 : base. ScriptHandler has no field call
source/funkin/Stage.hx:294: characters 23-27: base. ScriptHandler has no field call
source/funkin/Character.hx:196: characters 7-11 : base.ScriptHandler has no field call
source/funkin/Character.hx: 288: characters 7-11 : base.ScriptHandler has no field call
source/funkin/Character.hx:560: characters 7-11 : base.ScriptHandler has no field call

I managed to solve it lol


invalid tests

Each of these tests was flagged as invalid during a run of the Shift parser over esprima's tests. I've hand verified them.

Early error: Functions with non-simple parameter lists may not contain a "use strict" directive

{
  "key": "declaration/function/empty-param",
  "case": "function a([], []) {'use strict';}\n"
}

Early error: Exported binding "foo" is not declared

{
  "key": "ES6/export-declaration/export-named-as-default",
  "case": "export {foo as default};\n"
}

Early error: Exported binding "foo" is not declared

{
  "key": "ES6/export-declaration/export-named-as-specifier",
  "case": "export {foo as bar};\n"
}

Early error: Exported binding "foo" is not declared

{
  "key": "ES6/export-declaration/export-named-as-specifiers",
  "case": "export {foo as default, bar};\n"
}

Early error: Exported binding "foo" is not declared

{
  "key": "ES6/export-declaration/export-named-specifier",
  "case": "export {foo};\n"
}

Early error: Exported binding "foo" is not declared

{
  "key": "ES6/export-declaration/export-named-specifiers-comma",
  "case": "export {foo, bar,};\n"
}

Early error: Exported binding "foo" is not declared

{
  "key": "ES6/export-declaration/export-named-specifiers",
  "case": "export {foo, bar};\n"
}

esprima expects this valid program to fail

{
  "key": "ES6/object-initialiser/invalid-proto-identifier-shorthand",
  "case": "({ __proto__: null, __proto__ })\n",
  "failure": {
    "index": 29,
    "lineNumber": 1,
    "column": 30,
    "message": "Error: Line 1: Duplicate __proto__ fields are not allowed in object literals",
    "description": "Duplicate __proto__ fields are not allowed in object literals"
  }
}

esprima expects this valid program to fail

{
  "key": "ES6/object-initialiser/invalid-proto-literal-shorthand",
  "case": "({ \"__proto__\": null, __proto__ })\n",
  "failure": {
    "index": 31,
    "lineNumber": 1,
    "column": 32,
    "message": "Error: Line 1: Duplicate __proto__ fields are not allowed in object literals",
    "description": "Duplicate __proto__ fields are not allowed in object literals"
  }
}

esprima expects this valid program to fail

{
  "key": "ES6/object-initialiser/invalid-proto-shorthand-identifier",
  "case": "({ __proto__, __proto__: null })\n",
  "failure": {
    "index": 23,
    "lineNumber": 1,
    "column": 24,
    "message": "Error: Line 1: Duplicate __proto__ fields are not allowed in object literals",
    "description": "Duplicate __proto__ fields are not allowed in object literals"
  }
}

esprima expects this valid program to fail

{
  "key": "ES6/object-initialiser/invalid-proto-shorthand-literal",
  "case": "({ __proto__, \"__proto__\": null })\n",
  "failure": {
    "index": 25,
    "lineNumber": 1,
    "column": 26,
    "message": "Error: Line 1: Duplicate __proto__ fields are not allowed in object literals",
    "description": "Duplicate __proto__ fields are not allowed in object literals"
  }
}

esprima expects this valid program to fail

{
  "key": "ES6/object-initialiser/invalid-proto-shorthands",
  "case": "({ __proto__, __proto__ })\n",
  "failure": {
    "index": 23,
    "lineNumber": 1,
    "column": 24,
    "message": "Error: Line 1: Duplicate __proto__ fields are not allowed in object literals",
    "description": "Duplicate __proto__ fields are not allowed in object literals"
  }
}

{
  "key": "ES6/template-literals/literal-escape-sequences",
  "source": "`\\u{000042}\\u0042\\x42\\u0\\A\\0`"
}

esprima expects this valid program to fail

{
  "key": "ES6/yield/invalid-yield-strict-function-declaration",
  "case": "function yield(){ \"use strict\"; }\n",
  "failure": {
    "index": 9,
    "lineNumber": 1,
    "column": 10,
    "message": "Error: Line 1: Use of future reserved word in strict mode",
    "description": "Use of future reserved word in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "ES6/yield/invalid-yield-strict-function-expression",
  "case": "(function yield(){ \"use strict\"; })\n",
  "failure": {
    "index": 10,
    "lineNumber": 1,
    "column": 11,
    "message": "Error: Line 1: Use of future reserved word in strict mode",
    "description": "Use of future reserved word in strict mode"
  }
}

Early error: Arrow parameters must not contain yield expressions

{
  "key": "ES6/yield/yield-generator-arrow-default",
  "case": "function *g() { (x = yield) => {} }\n"
}

Early error: Generator parameters must not contain yield expressions

{
  "key": "ES6/yield/yield-generator-default-parameter",
  "case": "function *g(x = yield){}\n"
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0201",
  "case": "function eval() {'use strict'; }",
  "failure": {
    "index": 9,
    "lineNumber": 1,
    "column": 10,
    "message": "Error: Line 1: Function name may not be eval or arguments in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0202",
  "case": "function arguments() {'use strict'; }",
  "failure": {
    "index": 9,
    "lineNumber": 1,
    "column": 10,
    "message": "Error: Line 1: Function name may not be eval or arguments in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0205",
  "case": "(function eval() {'use strict'; })()",
  "failure": {
    "index": 10,
    "lineNumber": 1,
    "column": 11,
    "message": "Error: Line 1: Function name may not be eval or arguments in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0206",
  "case": "(function arguments() {'use strict'; })()",
  "failure": {
    "index": 10,
    "lineNumber": 1,
    "column": 11,
    "message": "Error: Line 1: Function name may not be eval or arguments in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0208",
  "case": "(function package() {'use strict'; })()",
  "failure": {
    "index": 10,
    "lineNumber": 1,
    "column": 11,
    "message": "Error: Line 1: Use of future reserved word in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0234",
  "case": "function static() { \"use strict\"; }",
  "failure": {
    "index": 9,
    "lineNumber": 1,
    "column": 10,
    "message": "Error: Line 1: Use of future reserved word in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0235",
  "case": "function eval(a) { \"use strict\"; }",
  "failure": {
    "index": 9,
    "lineNumber": 1,
    "column": 10,
    "message": "Error: Line 1: Function name may not be eval or arguments in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0236",
  "case": "function arguments(a) { \"use strict\"; }",
  "failure": {
    "index": 9,
    "lineNumber": 1,
    "column": 10,
    "message": "Error: Line 1: Function name may not be eval or arguments in strict mode"
  }
}

esprima expects this valid program to fail

{
  "key": "invalid-syntax/migrated_0259",
  "case": "function x(...{ a }){}",
  "failure": {
    "index": 14,
    "lineNumber": 1,
    "column": 15,
    "message": "Error: Line 1: Unexpected token {"
  }
}

[1:17]: Invalid variable declaration in for-in statement

{
  "key": "statement/iteration/migrated_0019",
  "case": "for (var x = 42 in list) process(x);"
}

[1:20]: Invalid variable declaration in for-in statement

{
  "key": "statement/iteration/migrated_0021",
  "case": "for (var x = y = z in q);"
}

[1:31]: Invalid variable declaration in for-in statement

{
  "key": "statement/iteration/migrated_0022",
  "case": "for (var a = b = c = (d in e) in z);"
}

[1:45]: Invalid variable declaration in for-in statement

{
  "key": "statement/iteration/migrated_0023",
  "case": "for (var i = function() { return 10 in [] } in list) process(x);"
}

(edited by @ariya: turning the list into a numbered one, for ease of reference)

Note that the tests which are invalid due to initializers in for-in statements will probably be correct in the next version of ECMAScript (unfortunately).

@bakkot I hope not 😞. Until the next meeting, we should assume things will stay as they are.

@michaelficarra  function eval() {'use strict'; } is not valid indeed

[1:1]: Unexpected "ૹ"
{
  "key": "ES2016/identifier/gujarati_zha",
  "case": "ૹ\n\n"
}

This test case is fine. ૹ is a valid identifier. It’s an ID_Start symbol that was added in Unicode 8.

@mathiasbynens you are completely right; but i guess @michaelficarra meant that is should actually parse in esprima, but it won't. (I am on esprima2.7.2 and can confirm it won't parse '\u0AF9' there.)

function static() { 'use strict'; } is most probably invalid; static is a reserved word in strict mode
my 50 cents

@nenionoda I had misunderstood. Thanks for clarifying!

@mathiasbynens apologies for my wrong remark; I just found out '\u0AF9' can not be parsed with shift either :\

@nenionoda, per spec, strict mode code does not include the BindingIdentifier of a FunctionDeclaration:

Code is interpreted as strict mode code in the following situations: [...]

Function code is strict mode code if the associated FunctionDeclaration [...] is contained in strict mode code or if the code that produces the value of the function's [[ECMAScriptCode]] internal slot begins with a Directive Prologue that contains a Use Strict Directive.

Function code is source text that is parsed to supply the value of the [[ECMAScriptCode]] and [[FormalParameters]] internal slots (see 9.2) of an ECMAScript function object.

Note that this last does not include the declaration's name.
So all of the tests having to do with using future reserved words as function names are indeed invalid. Likewise for eval and arguments.
--
shift-parser-js's Unicode support is a bit behind (sorry!), but IIRC the Java version's Unicode support is better.

@mathiasbynens Sorry, I was going by the info at http://www.fileformat.info/info/unicode/char/0af9/index.htm. I'll remove that issue from the list. Is there a more reliable and equally convenient Unicode ID_Start/ID_Continue reference I should use?
PS. Your link lists that as an ES6 / Unicode 8.0.0 identifier, but Unicode 8.0.0 was not required until ES2016. If it's just supposed to mean that an implementation is allowed to allow it as an identifier, then ES5 allows it as well.

Is there a more reliable and equally convenient Unicode ID_Start/ID_Continue reference I should use?

I tend to use CodePoints.net by @Boldewyn, e.g. https://codepoints.net/U+0AF9. (Search for IDC or IDS on that page.)

Your link lists that as an ES6 / Unicode 8.0.0 identifier, but Unicode 8.0.0 was not required until ES2016.

That’s correct. But note that even ES5 allowed implementations to support more recent Unicode versions, and IMHO it makes sense for parsers used for tooling to apply Postel’s law.

If it's just supposed to mean that an implementation is allowed to allow it as an identifier, then ES5 allows it as well.

True, since it’s a symbol in the Other_Letter category.

@bakkot I rather highly suspect you might be mistaken (I also highly suspect I'm wrong). https://tc39.github.io/ecma262/#sec-function-definitions-static-semantics-early-errors says:

FunctionDeclaration:functionBindingIdentifier(FormalParameters){FunctionBody}
FunctionDeclaration:function(FormalParameters){FunctionBody}
FunctionExpression:functionBindingIdentifier(FormalParameters){FunctionBody}
...
If the source code matching this production is strict mode code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval or the IdentifierName arguments.

@nenionoda I believe @bakkot is right. The section he was quoting defines what is strict mode code. In your quoted early error, the "source code matching that production" is strict mode code only if it is contained within strict mode code because the BindingIdentifier is not part of the function code; only "source text that is parsed to supply the value of the [[ECMAScriptCode]] and [[FormalParameters]] internal slots" is part of the function code.

This part of the spec has misled implementors and even other spec authors before. I've just opened the closely related tc39/ecma262#632.

@michaelficarra I guess I've not been wrong, judging from this:

Function code is strict mode code if ... the code that produces the value of the function's [[ECMAScriptCode]] internal slot begins with a Directive Prologue that contains a Use Strict Directive.

Found it mentioned in @bakkot's https://github.com/tc39/ecma262/issues/632 and leaves me little doubt as to what "the source text matching [the production]" is. Please impeach the spec authors if you find me wrong. The spec's writing style in this particular part in particular, is neither exact nor understandable to me. The other is the meaning of '\8' and '\9', which I found nowhere in the spec :frowning:

@nenionoda, to understand that paragraph you also need the definition of "function code", which I quote in that issue and above; it includes the body and parameters of the function but does not include the BindingIdentifier (nor the full FunctionDeclaration production, in my reading).
\8 and \9 are not given meaning anywhere in the spec because they do not match the grammar at all. This can be inferred by inspecting the EscapeSequence section and the LegacyOctalEscapeSequence extension to which it refers.

Relevant: https://bugs.ecmascript.org/show_bug.cgi?id=3477

@bakkot thanks for the \9 and \8 thing; DecimalDigit there was what actually made me ransack the spec for any mention of \8 and \9, which i could not come up with. Now I can be sure I've not missed anything( but it would have been more convenient had it been expressly mentioned in the spec.) Thanks again.
As for the issue of FunctionDeclaration, even though I agree with you that BindingIdentifier is not under the exact same scrutiny when in strict mode as the rest of the FunctionDeclaration's components, I can not agree with you that the early error caused by theFunctionDeclaration's BindingIdentifier being 'eval' or 'arguments' has nothing to do with the function's body having a strict mode directive. I wish a spec author could be contacted on that matter, as all our debate looks to arise from our different interpretations of what the "source text matching the production" is. :\

I will be highly surprised if

FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody }
If the source code matching this production is strict mode code, the Early Error rules for StrictFormalParameters : FormalParameters are applied.
means this is an error:

function Strict() {
   'use strict';
   // should it be an error? the source it is contained in is strict
  function containsDupeAndIsNonStrictButWillCauseErrorNevertheless(a,a) {}
}

rather than this:
function Strict(a,a) {
  'use strict';

}
```ecmascript

However my first example is most probably wrong, because
>   The function code of
a particular ECMAScript function does not include any source text that is parsed as the function code
of a nested FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression,
MethodDefinition, ArrowFunction, ClassDeclaration, or ClassExpression.

But again, this means the rule below
> FunctionDeclaration : function BindingIdentifier ( FormalParameters ) { FunctionBody }
If the source code matching this production is strict mode code, the Early Error rules for StrictFormalParameters : FormalParameters are applied.

could only be meaningful in an other strict mode code than a strict FunctionBody, like, for example, a module. That is what has made me question the obvious so much. Apologies, and thanks in advance.

@nenionoda, your first example is certainly an error because the nested function is strict code, even though it is not part of the function code of the outer function. This is because

Function code is strict mode code if the associated FunctionDeclaration [...] is contained in strict mode code [...]

The second example is intended to be an error, I'm pretty sure, but the spec as written implies it is not, which is the issue I opened at tc39/ecma262#632.

@bakkot thanks
for the record though, the first example is most probably not an error; not at least as far as I understand from the spec, especially considering that

The function code of a particular ECMAScript function does not include any source text that is parsed as the function code (nenionoda: that is, the params and the body) of a nested FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression, MethodDefinition, ArrowFunction, ClassDeclaration, or ClassExpression.

The latter is certainly an error, according to the spec.

@nenionoda, the first (function outer(){'use strict'; function inner(a, a){} }) is an error for the reason I gave in my previous comment. Functions whose declarations are within strict code are themselves strict. The body of the nested function is not function code of the outer function, but its "associated FunctionDeclaration ... is contained in strict mode code" (i.e. the body of the outer function). This property is unrelated to whether it is function code of the outer function.
The other case is, per Allen, intended to be an error. It's not as the spec is written, and I expect we'll amend the spec to correct this.

@bakkot thanks
could I ask why the spec has said the saying below?

The function code of a particular ECMAScript function does not include any source text that is parsed as the function code of a nested FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression, MethodDefinition, ArrowFunction, ClassDeclaration, or ClassExpression.

To me it means a function declaration in the body of another, strict, function does not get affected by the strict context.
I  do appreciate that our debate is mostly due to below, which is almost contradicted by the above:

Function code is strict mode code if the associated FunctionDeclaration [...] is contained in strict mode code [...]

This makes me almost certain the spec is faulty in this regard.

@nenionoda, I expect your difficulty arises from conflating two unrelated questions, namely, whether a nested FunctionDeclaration (or rather its parameters and body) is included in the function code of the outer function (it is not) and whether said FunctionDeclaration is contained in the body of the outer function (it is).
These are not in conflict because they have nothing to do with each other. "Function code" is a specific term being defined, not a limitation on which source text is contained within the body of a function.

Thanks!
This totally resolved my confusion!

Thanks for the detailed analysis @michaelficarra! I guess this'll keep us busy for a while 😼

The various "Invalid variable declaration in for-in statement" tests are now legal in sloppy mode only.

@michaelficarra Do you mind numbering each of those items for ease of reference? I can also do it/edit it if you are fine with it.

@ariya Feel free. Note that for-in initialisers are now valid again :anguished:.

Case 1: solved with #1677
Case 2-7: tracked as #1579
Case 8-12: solved with #1485
Case 13: tracked as #1499
Case 14,15,18-25: tracked as #1707
Case 16: tracked as #1645
Case 17: tracked as #1706
Case 26: solved with #1681
Case 27-30: only error in sloppy mode, see #1309 for details

This issue will be closed since some of the cases have been fixed and the rest have the corresponding individual defect report.


[1.10] Document new metadata option readBody for middleware.http.opa

New metadata option readBody is being added to middleware.http.opa in 1.10: dapr/components-contrib#2143

/assign

Resolved


V8 can't run tests due to binary version mismatch

We recently updated binaryen to a version that generates Wasm 0xC binaries. The version of V8 downloaded from http://wasm-stat.us unfortunately is still 0xB. We need to update V8.
I tried updating to a more recent snapshot, but that doesn't appear to be updated yet either.
It might be better to fetch and build V8 on our own. This would let us make sure we're running on a version we support, and also let us run V8 on other platforms as well.
Alternatively, maybe we should add an environment variable or something that points to a suitable d8, and leave finding an appropriate one up to person running the tests.

Oh, it looks like the build paths changed sometime. Once I got those fixed, I got a d8 that supports 0xC.
Now I'm getting validation errors, which are similar to the errors in #47.

What kind of validation errors, could you post them somewhere maybe ?
This is where having CI running the v8 tests would be very valuable on this project!

Here's the output from one of the tests that's failing: https://gist.github.com/eholk/f2748e1b0c98b4e39a56356b25e9aaea
That was from my work-in-progress V8 update branch. I've pushed the code to https://github.com/eholk/mir2wasm/tree/0xc if you want to see what's changed.
The issue seems to be that we don't have the right number of values on the stack at certain times. This in turn seems to be related to our handling of the existence or not of return values from functions.
When I read over the .wast code in question, everything looks okay to me. I wonder if binaryen or wabt are missing some of the control flow? If so, we might be able to work around this with clever placements of unreachable opcodes.

Also, CI is a great idea! I thought it wasn't really possible on this project for some reason, but it occurs to me I had no reason to think that and that this should be straightforward to do with Travis CI.
@brson - Do you think you could set us up with Travis (or something similar)? Alternatively, if you give me admin access on this repo then I could do it too.

hum.
$main:
(local $0 i32)
...
(local $12 i32)
(local $13 i32)
[wasm-validator error in function $main] 1 != 0: set_local type must match function, on
[none] (set_local $12
[none] (get_local $0)
)
[wasm-validator error in function $main] 1 != 0: set_local type must match function, on
[none] (set_local $13
[none] (get_local $12)
)
they're all i32s, does this type error look weird to you as well ?

I must be misinterpreting the error message, because my interpretation is blatantly contradicted by reality.
To me this means the validator is expecting $main to return a single value, but that the set_local does not have a return value, so it doesn't match the expectation.
There are a couple of problems. First, the type for $main does not have a return value. Second, it seems like for set_local to be the return value it should be in tail position, which it is not.
@kripken - Am I misunderstanding the error message?

@eholk I've tried running the wast in the gist with the wasm-shell from master and there are no validation errors. Are those are in the gist from v8 or binaryen ?

About
 [wasm-validator error in function $main] 1 != 0: set_local type must match function, on
[none] (set_local $12
  [none] (get_local $0)
)

The first question is why the get_local has type none. BinaryenGetLocal receives the type as the last parameter - perhaps we are giving it none or something else invalid?

@kripken ooooh, so that's why in-memory validation can be different from "text" validation ? (I was wondering what those new [type] were as well)
I guess most/all node creation related to locals, with a none type, are invalid in-memory but valid textually.
Another thing to add on the list to fix :)

It could be invalid in memory but valid textually, if we don't validate those, which is indeed a bug in binaryen, I now see. I'll add validation.


Enable decrypting sealedsecrets in drift detector

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

/cc @nakabonne


:bug: To remove el use remove() instead of removeChild() from parent,…

… fixing issues where parent gets removed earlier
This is in relation to Issue: #49
For my project this is fixing the issues, I do not really know why this library uses the parent to remove the element already in the variable "el". If there is no specific reason I think remove() is a safer implementation, solving issues where the parent is not accessible.

#49

any update?


⚠ gorzdrav.org has degraded performance

In 08b61fc, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 6755 ms

Resolved: gorzdrav.org performance has improved in 2c0b0da.