Same targets being removed and added for no reason

We're using this ingress controller for our production deployments at the moment and we noticed two strange things.

ALB sends traffic to deregistered pods. (I'm guessing this is related to #955 and I've added 30sec preStop hook)

Controller keeps removing and registering the exact same target immediately after which seems to cause a few 504 errors.  Here's an example log from the controller

The 4 lines of log above happened over 2 minutes and during this period elb recorded hundreds of 504 errors. I checked events within the deployment's namespace and there was nothing. No pod restarts or failures of any kind. Is this a known behaviour?

@yhware

Are you using instance mode? You need to disable HTTP-keep-alive in your backend or add 'connection: close' header to your response when SIGTerm have been received. (since the targets been registered is the node instead of pod)
We have checked a similar case, it's due to the nodes cannot report heartbeat and marked as unhealthy and thus all pods are marked as unhealthy and been removed by the controller. Would you confirm that in your audit logs?

Hi, thanks for the quick response :)

I was using IP mode and as far as I'm aware the Keep-Alive option was not explicitly enabled by the devs. I will obviously need to check on this but just as a general question, what would you consider to be the most stable setup? For apps that I wrote, I switched to instance mode upon hearing that's bit more reliable.

 So I'm afraid I cannot confirm this but since I now know better, I will check the audit logs in the future.

As a addon to the question to 1, I'm generally curious whether I should be expecting some level of 5xx responses due to pod scaling, rescheduling etc when using this controller. This may sound ignorant but I thought the controller was pretty easy to configure and get started. So I guess the question is, is there anything I should be aware / do to make my ingress reliable?


Azure CLI 2.17.0_1 fails to launch on M1 Mac

Describe the bug
Running az generates this error message:
$ az
/opt/homebrew/Cellar/azure-cli/2.17.0_1/libexec/bin/python: No module named azure.cli.__main__; 'azure.cli' is a package and cannot be directly executed

To Reproduce
After upgrading to 2.17.0_1, type az, with or without additional options.
Expected behavior
I expected it to give me the help screen, or run the commands I specified.
Environment summary
Mac OS Big Sur (11.1), Apple M1 MacBook Pro, installed via HomeBrew.

hi @fengzhou-msft could you pls help to look at this issue? thanks

hi @fengzhou-msft could you pls help to look at this issue? thanks

I just upgraded to 2.17.1 via homebrew and this still happens.

I just upgraded to 2.17.1 via homebrew and this still happens.

Not sure if it's caused by the arm bottle package. I tested on my Intel chip Mac and it works fines. If anyone else meets the same issue on Apple M1 MacBook Pro, please comment.

Not sure if it's caused by the arm bottle package. I tested on my Intel chip Mac and it works fines. If anyone else meets the same issue on Apple M1 MacBook Pro, please comment.

Ahh, yeah, I think I see the issue. It seems to be an interaction with a virtualenv I've got setup which re-sets the python path. Closing.

Ahh, yeah, I think I see the issue. It seems to be an interaction with a virtualenv I've got setup which re-sets the python path. Closing.

Pls find log of 2.20 failing on M1
https://github.com/Azure/azure-cli/issues/16697#issuecomment-804919401
Can reproduce easily.


python312Packages.certbot-dns-google: fix build

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[x] sandbox = relaxed
[ ] sandbox = true

[x] 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/)
24.11 Release Notes (or backporting 23.11 and 24.05 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.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 352664 at f85db403 run on x86_64-linux 1

:x: 1 package failed to build:

certbot-full

:white_check_mark: 2 packages built:

python311Packages.certbot-dns-google
python312Packages.certbot-dns-google


[BUG] CLI values ignored by Helm

What kind of request is this:
BUG
After upgrading from Rancher CLI v2.2.0 to Rancher CLI v2.4.3, our apps that use a values.yaml file no longer deploy properly
It seems that the Rancher API is being updated properly (the values show up in the UI and API) but when Helm deploys the templated resources, they appear as if the values were not actually applied
Steps to reproduce (least amount of steps as possible):
Deploy an app using --values and Rancher CLI v2.4.3
Result:
Note that the default values are used. If answers were previously provided via the UI or from an older CLI version, they are not updated to the values specified.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.3.7
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): RKE
Machine type (cloud/VM/metal) and specifications (CPU/memory): AWS EC2
Kubernetes version (use kubectl version): 1.16.9
Docker version (use docker version): 19.3.4

I just found this bug myself, seems that using --answers flag instead works, but it's really counter-intuitive

We have the same problem, updated from rancher 2.3 (cli 2.3.2) to rancher 2.4.4 (cli 2.4.3) and our deployment via rancher cli is not working anymore. The cli asks for an answer although the value is set in the provided valuse.yaml (with --values)

the --values option works in Rancher CLI v2.3.2
➜   ./rancher -v
rancher version v2.3.2

➜  ./rancher apps install --values ./wp-values.yaml wordpress --version 9.0.3 --no-prompt
run "app show-notes a-4d6wd" to view app notes once app is ready

but it is broken in Rancher CLI v2.4.5, you can see it still asks for values.
➜   ./rancher-245 -v
rancher version v2.4.5

➜   ./rancher-245 apps install --values ./wp-values.yaml wordpress --version 9.0.3 --no-prompt

Description: Use default Docker image
Name: Use Default Image
Variable Name: defaultImage
Default:[true]
Enter answer or 'return' for default:^C

This works in cli v2.4.5 when we pass ALL the options either before or after the template. i.e:
# After:
./rancher apps install wordpress --version 9.0.3 --no-prompt --values ./wp-values.yaml

# Before:
./rancher apps install --version 9.0.3 --no-prompt --values ./wp-values.yaml wordpress

The bugfix is validated in CLI v2.4.6-rc1
>  ./rancher -v
rancher version v2.4.6-rc1

> ./rancher apps install --values ./values.yaml wordpress --version 9.0.3 --no-prompt
run "app show-notes a-ddrbq" to view app notes once app is ready

And then we can see the deployed app in Rancher UI.
A new bug is found during validating this issue: https://github.com/rancher/rancher/issues/27841


Frame duration limits

@naushir
Hi Naush - can you double-check and merge for me, please?

This is correct now!


Does not work in Vite

Reporting a bug?
hi @kazupon, When attempting to run pnpm dev, I encountered an error message: No known conditions for "./messages" specifier in "@intlify/unplugin-vue-i18n" package.
Expected behavior
I hope everything runs fine.
Reproduction
https://github.com/easy-temps/vue3-vant-mobile/tree/main
Issue Package
unplugin-vue-i18n
System Info
System:
    OS: macOS 14.5
    CPU: (8) arm64 Apple M1 Pro
    Memory: 183.61 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
    npm: 10.5.0 - ~/.nvm/versions/node/v20.12.2/bin/npm
    pnpm: 9.5.0 - ~/Library/pnpm/pnpm
  Browsers:
    Chrome: 126.0.6478.183
    Safari: 17.5
  npmPackages:
    rollup: ^4.18.1 => 4.19.0
    vite: ^5.3.4 => 5.3.4
    vue: ^3.4.33 => 3.4.33
    vue-i18n: ^9.13.1 => 9.13.1

Screenshot
1、

2、

Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the README
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.

New developments on this issue: it seems related to my upgrade of the unplugin-auto-import plugin to version 0.18.0. Upon reviewing the source code, the plugin's author set the default value of viteOptimizeDeps to true, which might be the cause of the problem. I'm not sure if this should be fixed. For now, I'll set viteOptimizeDeps to false to resolve the issue.
https://github.com/unplugin/unplugin-auto-import/commit/3a27e14

This is resolved by upgrading unplugin-auto-import to 0.18.1


Move to 1.13 base image to get auto updates

Less maintenance and more security
Resolves #880

Thanks @matt-hh


Fix isort in our code and automated linter

Describe your changes and why you are making these changes
We weren't checking this before, meaning someone with the wrong version of isort must have updated it recently?
Related issue number (if any)
Loom demo (if any)
Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

What version of isort should we be using? I don't see any code in this PR which sets that version number.

Pinned exact isort-version.


Exposing abacus-rated-usage-log as events

If the records in the abacus-rated-usage-log database is exposed similar to cloud foundry events, it would help in scenarios where the usage of resources needs to be monitored

+1 to that.
We don't have that kind of API yet but we have a user story in our tracker for it [1].
The idea would be to have an API maybe similar to the future CF notification API that's been recently discussed on the cf-dev mailing list [2] (although we'll first need to see what that new CF notification API will look like to understand if a similar pattern will apply here).
This work is not high priority for now but as you can see in [1] it is on the roadmap in our tracker.
[1] https://www.pivotaltracker.com/story/show/101098050
[2]<EMAIL_ADDRESS>

Superseded by issue #161. Will continue to discuss and track the related work in #161 instead.


NETBEANS-192 support jira issue in apichanges

This PR add a possibility to link apichanges issue to Apache JIRA instance.
Assuming that jira instance for NetBeans will contains NETBEANS to check for difference with bugzilla issues.
if former issues are migrated to Apache JIRA the triage must be removed.

Looks good. 👍
To document what is going on:
When you refer to an issue in apichanges.xml document, as in:
<issue number="....."/>

the number attribute can now be either a plain number (as before), e.g.
<issue number="23455"/>
in which case it will link to a Bugzilla issue, or if it looks like this:
<issue number="NETBEANS-243"/>
it will link to an Apache JIRA issue.

I agree with @lbruun assessment. With my nitpicking head on I'd have choosen "starts-with" instead of "contains", but for the current usecase (differ between bugzilla and jira) this should work fine.
Thanks!


feat(clerk-js): Improve Popover behaviour

Type of change

[x] 🐛 Bug fix
[x] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[x] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/clerk-expo
[ ] @clerk/backend-core
[ ] @clerk/clerk-sdk-node
[ ] @clerk/edge
[ ] build/tooling/chore

Description

[x] npm test runs as expected.
[x] npm run build runs as expected.

Issue
When having nested popovers, clicking the second popover will result in all popovers being closed.
Solution
This PR attempts to fix this issue by utilizing more of the floating-ui library and take advantage of its focus-trap, focus-return mechanisms and its ability to allow or block dismissal bubbling in each popover.
I have introduced a new <Popover> component which wraps the children with the appropriate components needed by the floating-ui library. The new component also receives an isOpen props and hides children accordingly. It also traps the focus into the Popover and returns the focus once it is closed.
The usePopover hook now receives the bubbles?: boolean prop which determined if the Popover dismissal should stop or continue in the popover. This makes more in sense in modals than other Popovers.
The usePopover hook now subscribes the Popover to the FloatingTree context and returns a nodeId which has to be passed to the Popover component. This is necessary for the correct nested Popover behaviour.
In this PR, I have integrated these changes with the Menu and Modal elements. Should we like them, we can integrate them with the rest of our elements that currently use the usePopover hook and need to be portalled.

Temporarily closing this one, will be re-opened when we handle https://www.notion.so/clerkdev/Modals-and-popovers-should-trap-focus-for-improved-accessibility-df47f40c1c8e4c569ccf461b3526ef07


YT-203B Temperature

I flashed 2.0beta11 onto two YT-203B with GD32F150 MCUs.  The device temperature shown on the statistics screen for both units fluctuates between 320 to 323 °C at room temperate (about 19°C).

That seems like a hot issue! Will be fixed in the following beta. Please watch the project so you get notified when there are news.

I have just released 2.0beta14. Could you check if it works now?

I just tried beta16 on one of these.  Better but still running a bit high.  Reading is around 30.0°C or so and pretty noisy.  Ambient was about 19°C again.

Thanks for the report. I'm glad it works now. Remember, the temperature is device temperature (measured at the MCU), not ambient temperature, so 30.0°C seems allright!
I'll keep this issue open as I'm still planning some changes in the coming days.

I forgot to mention. There are new Contrast and Brightness settings. Do they work? Did contrast improve the display?

Contrast and brightness both worked well.  Setting 3 on the contrast was perfect for test unit.  Level 8 was solid black which would make it difficult to adjust if it was errantly set that high and menu was exited.
There might be a regression with the battery indicator.  It was showing empty on beta16, cells measured 2.85 volts on DMM while installed.

I have just released 2.0beta17. Can you see if the battery indicator works now?

Repeat of https://github.com/Gissio/radpro/issues/21.
Should be fixed in beta19.

2.0beta19 tested and working great

I'm glad it works now!


Laravel 11.x Compatibility

This is an automated pull request from Shift to update your package code and dependencies to be compatible with Laravel 11.x.
Before merging, you need to:

Checkout the l11-compatibility branch
Review all comments for additional changes
Thoroughly test your package

If you do find an issue, please report it by commenting on this PR to help improve future automation.

:warning: The latest version of Laravel has a dependency for phpunit/phpunit of ^10.5. If you would like to also upgrade your tests, you may run the PHPUnit 10 Shift for free.

:warning: Shift detected GitHub Actions which run jobs using a version matrix. Shift attempted to update your configuration for Laravel 11. However, you should review these changes to ensure the desired combination of versions are built for your package.

:x: Laravel 11 has removed its dependency on doctrine/dbal. As such, all of Laravel's classes, methods, and configuration related Doctrine DBAL have been removed.
Shift detected potential uses of these within the following files. You should review these instances and, if they are still needed, reference the Upgrade Guide for native alternatives.

[ ] src/Attributes/AttributeFinder.php
[ ] src/ModelInfo.php

:alembic: Using this package? If you would like to help test these changes or believe them to be compatible, you may update your project to reference this branch.
To do so, temporarily add Shift's fork to the repositories property of your composer.json:
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/laravel-shift/laravel-model-info.git"
        }
    ]
}

Then update your dependency constraint to reference this branch:
{
    "require": {
        "spatie/laravel-model-info": "dev-l11-compatibility",
    }
}

Finally, run: composer update

Thanks!


move fixtures to app package, get cosmos working for web

fixes TLON-3223

Moves most of our fixtures to /packages/app/fixtures. (some mobile specific fixtures still exist in the tlon-mobile app package, and can still be selected in cosmos).
Adds cosmos:web, cosmos:native, and cosmos scripts to the root. cosmos runs the two other scripts concurrently.
Required forking cosmos to allow passing a new parameter to config, fixturesLocation.
Removes old tlon-web fixtures and the cosmos dep there.

If you pull this down, run pnpm i, you should be able to run pnpm cosmos from the root and then see cosmos running at both http://localhost:5000/ and http://localhost:5001/, one for the web and one for mobile.
Note: I couldn't get separate web fixtures working with this setup (yet). For now, any fixture in the app package should work on both platforms.
Also: I used gitpkg because react-cosmos is a monorepo, more about gitpkg here: https://gitpkg.vercel.app/about
Copilot description:
This pull request includes significant changes to the tlon-mobile and tlon-web-new applications to improve the configuration and module imports for React Cosmos. The most important changes include the removal of automatically generated files, updates to package dependencies, and adjustments to import paths and fixture configurations.
Configuration and Dependency Updates:

apps/tlon-mobile/package.json: Updated the react-cosmos dependency to use a specific GitHub repository version.
apps/tlon-web-new/package.json: Updated the react-cosmos and react-cosmos-plugin-vite dependencies to use specific GitHub repository versions.
apps/tlon-web-new/cosmos.config.json: Added a new Cosmos configuration file for the tlon-web-new application.

Import Path Adjustments:

apps/tlon-mobile/src/App.cosmos.tsx: Updated the import path for cosmos.imports to reflect the correct directory structure.
apps/tlon-mobile/src/fixtures/InputToolbar.fixture.tsx: Corrected the import path for FixtureWrapper.

Removal of Unnecessary Files and Code:

apps/tlon-mobile/cosmos.imports.ts: Removed the automatically generated file and its content.
apps/tlon-mobile/src/fixtures/FixtureWrapper.tsx: Removed the FixtureWrapper component and its related code.

Fixture Configuration Changes:

apps/tlon-web-new/cosmos.imports.ts: Added a new Cosmos imports file for the tlon-web-new application.
apps/tlon-web/src/components/About/__fixtures__: Removed outdated fixture files for the About component. [1] [2] [3]

Haha, love a good patch. Gitpkg seems fine. Do you think your changes would make an improvement / apply to Cosmos upstream?

Overall looks good!
A few small things:

Is the root cosmos.web.config.ts used?

yep, will remove.

Are any of the cosmos.imports.ts extraneous now?
the mobile one was, but I removed it. we now need the one in the root and the one in tlon-web-new.
Can we use patch-package to make the cosmos change(s)? They are pretty small, and it would be nice to not have to update a separate repo to eg update cosmos version
yep, I can do that, did it this way originally so I could easily test against their vite example package.

Probably would make sense to move react-cosmos (and possibly react-cosmos-native) deps to the root package.
good idea.


double click in table cell to update a variable

Guidelines
Please note that GitHub issues are only meant for bug reports/feature requests.
Feature request template
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Currently when double clicking on a table cell the content of the cell is copied to Clipboard.  It would be nice upon double click to also update a configurable variable.
Describe alternatives you've considered
One could paste it into an additional tile field .... but it is an extra step
Additional context
This is needed when initial search is done by last name and the same last name can be associated with several IDs.  Name and ID rows are discplayed in table and user can select (or dobble click) the desired row and then the configurable variable is updated with correct ID value.

Hi @ssfd7, thank you for your request. Couldn't you use a Report Action to set a parameter?


Testcafe doesn't see SVGs from a shadowDom

What is your Scenario?
The application I'm testing with testcafe has a bunch of shadowDoms, within those there are SVGs. Whenever I try to click on any or expect any svg, I get the following:
Click -> TypeError: Failed to execute 'getComputedStyle' on 'Window':      parameter 1 is not of type 'Element'
expect to be visible ->  1) Uncaught object "[object Object]" was thrown. Throw Error instead.
This happens for all SVGs that are in a shadowDom. Regular SVGs work fine.
NOTE: This issue doesn't happen in Testcafe v17, but opening links don't work in that version.
What is the Current behavior?
Explained in the scenario. SVGs are not seen. As if they don't exist.
What is the Expected behavior?
I can use SVGs from a shadowDom.
What is your public website URL? (or attach your complete example)
shadowDom-svg.zip
I got a shadowDom example off of google and just added the SVG to it, same behavior as if I'm using the actual application. If the actual application is required, I can provide limited access to our test environment.
What is your TestCafe test code?
import { Selector, t, test } from 'testcafe'
fixture Shadow dom svg test
.page(../test/random svg.html)
test('Shadow dom svg test', async(t) => {
var demoShadowDom = Selector('show-hello').shadowRoot()
var svg = demoShadowDom.child('svg')
//await t.click(svg)
await t.expect((svg).visible).ok('not visible :(')
})
Your complete configuration file

Your complete test report

Screenshots

Steps to Reproduce

Download the zip attached.
run npm install
run npm run Debug
Notice the problem.
Uncomment await t.click(svg)
run npm run Debug
Notice the other problem.

This can be reproduced with any svg that is part of shadowDom at least for us.
I also tried this approach to get stuff from shadowDom, doesn't work: private apdSelector = Selector(() => document.querySelector('agent-performance-dashboard-fragment').shadowRoot)
TestCafe version
1.20.1
Node.js version
16.6.0
Command-line arguments
npm run Debug
Browser name(s) and version(s)
Edge latest, Chrome latest
Platform(s) and version(s)
Windows 10
Other
No response

Thank you for the example. I have reproduced the behavior you described. We will update this thread once we have any news.

I need this issue to be fixed soon, cannot move forward with testing without this fix. Why is taking so long to fix this issue?

Hi @CiprianBota,
We fix issues according to the issue frequency. At present, there are a few issues (https://github.com/DevExpress/testcafe/issues?q=is%3Aissue+is%3Aopen+label%3A%22TYPE%3A+bug%22+label%3A%22FREQUENCY%3A+level+2%22) with a higher priority than this one. You can try to investigate the issue yourself and create a PR with the fix.


Docket configuration not considered in Spring Boot project

I'm working on a Spring Boot project using Swagger (springfox). I added the swagger-maven-plugin to generate a spec json to then be used by swagger-codegen-maven-plugin to generate a client SDK, and for the most part it works really great!
However, in my project, I have a config class for my Swagger configuration. It is annotated with @EnableSwagger2. In this config class, I am defining a Docket which has 2 globalOperationParameters. These fields are header fields for authentication/authorization purposes and are required for every ReST endpoint. They are only used in the security layer, so they should not be input parameters for the actual controller methods.
When the api docs are generated for the Swagger UI, this configuration class is used, and the Docket is used, and therefore the 2 fields show up in the Swagger UI.
But when the swagger.json spec file is generated using swagger-maven-plugin, these 2 fields are omitted. And therefore are not included in the generated client code. Rendering the client code useless.
So far the only workaround I have found, is to explicitly add them as @ApiImplicitParams on every single method. It works, and it's acceptable, but it adds a lot of noise to my controller methods, which are already heavily annotated for Spring ReST and Swagger.

I have the same problem as the original poster.
Is there an update to the topic?
Cheers
Dominik

Even I have the same issue. I am unable to leverage both the docket configuration and swagger-maven-plugin together.
Any update to this?


bug: @vtmn/css missing css properties

Describe the bug
I'm currently using the vitamin tabs inside my Svelte project
And it's seems that the vitamin tabs components has some css properties missing :

The button inside each tab has the default native background-color, instead of inheriting the vtmn-tabs background-color
The native  black borders are also remaining, instead of being overriden.

Steps to reproduce

Expected behavior

Version affected

Hi @DKT-cdrag,
Could you please detail the steps to reproduce your bug as well as detailing your browser (name, version)?
Thanks for your issue overall 💪

It happened on the bundled version of my package (which is using @vtmn/svelte components)
As you can see, all of the vtmn components are displayed as expected (VtmnButton, VtmnTextInputn VtmnProgress) except for the VtmnTabs

Chrome 106.0.5249.103
@vtmn/svelte 0.52.7
When I looked further into<EMAIL_ADDRESS>: I found out that some properties were missing in vtmn-tabs > li > button :

background-color: inherit (to override the native button background)
border-width: 0px 0px 2px 0px (to disable the native button borders)
cursor: pointer

Hi @DKT-cdrag,
After investigating with @thibault-mahe, we just made a hotfix published in<EMAIL_ADDRESS>Thanks again for reporting this and sorry for the inconvenience.
This issue will be resolved more properly/globally in all the components of our community libraries (@vtmn/svelte, @vtmn/react, @vtmn/vue) very soon. For your information, the follow-up of this resolution will be tracked in this issue: https://github.com/Decathlon/vitamin-web/issues/1278
Have a great weekend,
Laurent


fix: Modified to manage scripts injected per browser ID

Modify to manage scripts injected per browser ID.
If you use multiple browsers, all of them will use the same script, which can cause unintended issues.
Modify to prevent this.

@hlwhl Is the PR available for review?

LGTM


Amplify console frontend build fails when cli does not

Describe the bug
Using create react app, I can build via CLI locally but build is not working in the amplify console. Backend changes build successfully and initially the frontend build reported failure but still updated the app. Now the frontend build fails every time and the app won't update with the latest version.
To Reproduce
Steps to reproduce the behavior:
I have no idea, maybe because I'm getting a few warnings now from the npm install?
Expected behavior
Build my app
Log
note: i removed some information from the logs.
2019-05-07T19:15:56.846Z [INFO]: Git SSH Key acquired
2019-05-07T19:15:56.935Z [INFO]: Cloning repository: git@bitbucket.org:[team-name]/[app-name].git
2019-05-07T19:15:57.117Z [INFO]: Agent pid 68
2019-05-07T19:15:57.149Z [WARNING]: Identity added: /root/.ssh/git_rsa (/root/.ssh/git_rsa)
2019-05-07T19:15:57.301Z [WARNING]: Cloning into '[app-name]'...
2019-05-07T19:15:57.602Z [WARNING]: Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
2019-05-07T19:16:02.904Z [INFO]: Switching to commit: 57885e3df66e6964b876cfe0e93c397ab8a25650
2019-05-07T19:16:03.076Z [WARNING]: Note: checking out '57885e3df66e6964b876cfe0e93c397ab8a25650'.
                                    You are in 'detached HEAD' state. You can look around, make experimental
                                    changes and commit them, and you can discard any commits you make in this
                                    state without impacting any branches by performing another checkout.
                                    If you want to create a new branch to retain commits you create, you may
                                    do so (now or later) by using -b with the checkout command again. Example:
                                    git checkout -b <new-branch-name>
                                    HEAD is now at 57885e3... search screen
2019-05-07T19:16:03.077Z [INFO]: Checking for Git submodules at: /codebuild/output/src495318310/src/[app-name]/.gitmodules
2019-05-07T19:16:03.107Z [INFO]: Retrieving cache...
2019-05-07T19:16:17.586Z [INFO]: Extracting cache...
2019-05-07T19:17:33.422Z [INFO]: Extraction done...
2019-05-07T19:17:33.647Z [INFO]: Retrieving environment cache...
2019-05-07T19:17:41.553Z [INFO]: ## Starting Backend Build
                                 # Starting phase: build
                                 # Executing command: amplifyPush --simple
2019-05-07T19:17:41.556Z [INFO]: # Getting Amplify CLI Cloud-Formation stack info from environment cache
2019-05-07T19:17:41.607Z [INFO]: # Start initializing Amplify environment: dev
2019-05-07T19:17:41.608Z [INFO]: STACKINFO={
                                 "awscloudformation": {
                                 "AuthRoleName": "[xxx-authRole]-authRole",
                                 "UnauthRoleArn": "arn:aws:iam::[1234]:role/[xxx-authRole]-unauthRole",
                                 "AuthRoleArn": "arn:aws:iam::[1234]:role/[xxx-authRole]-authRole",
                                 "Region": "us-east-1",
                                 "DeploymentBucketName": "[xxx-authRole]-deployment",
                                 "UnauthRoleName": "[xxx-authRole]-unauthRole",
                                 "StackName": "[xxx-authRole]",
                                 "StackId": "arn:aws:cloudformation:us-east-1:[1234]:stack/[xxx-authRole]/[34523452345]"
                                 },
                                 "categories": {
                                 "auth": {
                                 "cognito5cc85e6d": {}
                                 }
                                 }
                                 }
                                 # Importing Amplify environment: dev (amplify env import)
2019-05-07T19:17:53.429Z [INFO]: Successfully added environment from your project
2019-05-07T19:17:53.480Z [INFO]: # Initializing existing Amplify environment: dev (amplify init)
2019-05-07T19:17:54.936Z [INFO]: Note: It is recommended to run this command from the root of your app directory
2019-05-07T19:17:58.186Z [WARNING]: - Initializing your environment: dev
2019-05-07T19:17:58.730Z [WARNING]: ✔ Initialized provider successfully.
2019-05-07T19:17:58.947Z [WARNING]: - Updating resources in the cloud. This may take a few minutes...
2019-05-07T19:17:59.195Z [WARNING]: ✔ All resources are updated in the cloud
2019-05-07T19:17:59.196Z [INFO]:
2019-05-07T19:17:59.196Z [INFO]:
2019-05-07T19:17:59.205Z [INFO]: Initialized your environment successfully.
2019-05-07T19:17:59.205Z [INFO]: Your project has been successfully initialized and connected to the cloud!
                                 Some next steps:
                                 "amplify status" will show you what you've added already and if it's locally configured or deployed
                                 "amplify <category> add" will allow you to add features like user login or a backend API
                                 "amplify push" will build all your local backend resources and provision it in the cloud
                                 "amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud
                                 Pro tip:
                                 Try "amplify add api" to create a backend API and then "amplify publish" to deploy everything
2019-05-07T19:17:59.212Z [INFO]: # Environment dev details:
2019-05-07T19:18:00.650Z [INFO]:
2019-05-07T19:18:00.653Z [INFO]: dev
                                 --------------
                                 Provider: awscloudformation
                                 AuthRoleName: [xxx-authRole]-authRole
                                 UnauthRoleArn: arn:aws:iam::[1234]:role/[xxx-authRole]-unauthRole
                                 AuthRoleArn: arn:aws:iam::[1234]:role/[xxx-authRole]-authRole
                                 Region: us-east-1
                                 DeploymentBucketName: [xxx-authRole]-deployment
                                 UnauthRoleName: [xxx-authRole]-unauthRole
                                 StackName: [xxx-authRole]
                                 StackId: arn:aws:cloudformation:us-east-1:[1234]:stack/[xxx-authRole]/[34523452345]
                                 --------------
                                 Provider: categories
                                 auth: [object Object]
                                 --------------
2019-05-07T19:18:00.660Z [INFO]: # Done initializing Amplify environment: dev
                                 # Store Amplify CLI Cloud-Formation stack info in environment cache
2019-05-07T19:18:02.116Z [INFO]: STACKINFO={
                                 "awscloudformation": {
                                 "AuthRoleName": "[xxx-authRole]-authRole",
                                 "UnauthRoleArn": "arn:aws:iam::[1234]:role/[xxx-authRole]-unauthRole",
                                 "AuthRoleArn": "arn:aws:iam::[1234]:role/[xxx-authRole]-authRole",
                                 "Region": "us-east-1",
                                 "DeploymentBucketName": "[xxx-authRole]-deployment",
                                 "UnauthRoleName": "[xxx-authRole]-unauthRole",
                                 "StackName": "[xxx-authRole]",
                                 "StackId": "arn:aws:cloudformation:us-east-1:[1234]:stack/[xxx-authRole]/[34523452345]"
                                 },
                                 "categories": {
                                 "auth": {
                                 "cognito5cc85e6d": {}
                                 }
                                 }
                                 }
2019-05-07T19:18:02.117Z [INFO]: # Completed phase: build
                                 ## Completed Backend Build
                                 ## Starting Frontend Build
                                 # Starting phase: preBuild
                                 # Executing command: npm install
2019-05-07T19:18:18.750Z [WARNING]: npm
2019-05-07T19:18:18.752Z [WARNING]: WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
                                    npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
                                    npm WARN<EMAIL_ADDRESS>requires a peer of keyboardjs@* but none is installed. You must install peer dependencies yourself.
                                    npm WARN<EMAIL_ADDRESS>requires a peer of rebound@* but none is installed. You must install peer dependencies yourself.
                                    npm WARN<EMAIL_ADDRESS>requires a peer of typescript@* but none is installed. You must install peer dependencies yourself.
                                    npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
                                    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
                                    npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/chokidar/node_modules/fsevents):
                                    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2019-05-07T19:18:18.753Z [INFO]: audited 37063 packages in 15.712s
2019-05-07T19:18:18.755Z [INFO]: found 69 vulnerabilities (63 low, 6 high)
                                 run `npm audit fix` to fix them, or `npm audit` for details
2019-05-07T19:18:18.767Z [INFO]: # Completed phase: preBuild
                                 # Starting phase: build
2019-05-07T19:18:18.768Z [INFO]: # Executing command: npm run build
2019-05-07T19:18:18.951Z [INFO]: ><EMAIL_ADDRESS>build /codebuild/output/src495318310/src/[app-name]
                                 > react-scripts build
2019-05-07T19:18:20.284Z [INFO]: Creating an optimized production build...
2019-05-07T19:20:11.161Z [INFO]: Compiled successfully.
2019-05-07T19:20:11.162Z [INFO]: File sizes after gzip:
2019-05-07T19:20:11.271Z [INFO]: 572.09 KB  build/static/js/2.39a7c3df.chunk.js

Also, failed builds are taking 30 mins while previous successful builds were only in the 20 minute range.

Could you send an email to<EMAIL_ADDRESS>with you appArn?

@aireater

@garyleefight sent.

Solution from Gary:

It seems that the cache size is too large. You can simply delete the cache settings in buildSpec.yaml.

Solution from Gary:

It seems that the cache size is too large. You can simply delete the cache settings in buildSpec.yaml.

It helped me also, @garyleefight any idea why we don't see an error about caching issue?


Installation problems - ubuntu 20.04

Installing via pip into a clean conda environment as follows:
conda create -y --name napariB python=3.8 ipython
conda activate napariB
pip install  'napari[all]'

> ipython --gui=qt
Python 3.8.5 (default, Sep  4 2020, 07:30:14)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.20.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: /home/richard.beare/miniconda3/envs/napariB/bin/python: symbol lookup error: /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: undefined symbol: _ZN22QWindowSystemInterface24setPlatformFiltersEventsEb, version Qt_5_PRIVATE_API

grepping for the missing symbol on the output of nm -D shows that it exists in libQt5Gui.so
Same host, with a purely conda install works:
conda create -y --name napari python=3.8 ipython
conda activate napari
conda install -c conda-forge napari

ipython --gui=qt
Python 3.8.5 (default, Sep  4 2020, 07:30:14)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.20.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

Differences in packages:
working version
conda list | grep -i qt
pyqt                      5.9.2            py38h05f1152_4
qt                        5.9.7                h5867ecd_1
qtconsole                 5.0.2              pyhd8ed1ab_0    conda-forge
qtpy                      1.9.0                      py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge

problem version
pip list | grep -i qt
PyQt5                         5.15.3
PyQt5-Qt                      5.15.2
PyQt5-sip                     12.8.1
qtconsole                     5.0.2
QtPy                          1.9.0
sphinxcontrib-qthelp          1.0.3

so different qt packages.

Hi @richardbeare - nice to see you here!
I'm also running Ubuntu 20.04, but I'm not able to reproduce the same behaviour. I can import napari without error.
My list of qt package versions looks the same as yours:
pip list | grep -i qt
PyQt5                         5.15.3
PyQt5-Qt                      5.15.2
PyQt5-sip                     12.8.1
qtconsole                     5.0.2
QtPy                          1.9.0
sphinxcontrib-qthelp          1.0.3

I guess it's possible that somewhere on my system libQt5Gui.so exists, even if it might be missing from the conda environment I've just created. If that's the case, it might be masking the problem.
Can someone else running Ubuntu try this too?

I've had success using the same commands on a 20.04 VM. That VM is a more minimalistic than the workstations, and I haven't figured out the differences yet. As far as I know, all the Qt components on the workstation were installed with apt from normal sources.

@GenevieveBuckley Can you try installing qtbase5-dev with apt to see if it breaks? Strangely the libQt5XcbQpa.so.?? files are owned by different packages - some libqt5gui5, others by qtbase5-dev.

Can you try installing qtbase5-dev with apt to see if it breaks?

:rofl: "Try this, and let's hope it breaks your system"
Sadly? installing qtbase5-dev does not seem to have broken anything. Again, I do seem to have a bunch of qt stuff installed in my base conda environment (not sure when that happened), so it is possible that my laptop is not a great testing environment for nailing this down.

I'll keep poking around. It has my mystified.

I currently cannot figure out why the system libraries are involved at all. The relevant Qt libraries are all available in the miniconda hierarchy. There's a chance that we have something broken in our system startup on the workstations.

This problems may comes from wrong order of installation of libraries. Force reinstall PyQt5-Qt or use PyQt5 in version 5.15.2
Which version of pip did you use.

I'll check out versions later on. The error implies that the system qt libraries are being used - do you know if this is meant to happen? There appear to be a set of qt libraries installed in the conda environment - why would it look at the system libraries at all?

Hi @richardbeare,
I couldn't repeat your observation in a clean environment... but I was able to reproduce it by updating pyqt in an existing environment (qt bindings couldn't be found after installing PyQt5==5.15.3
In that case, doing what @Czaki suggested works... but I needed to make sure to get everything:
pip uninstall -y pyqt5 pyqt5-qt pyqt5-sip
pip install pyqt5

Same host, with a purely conda install works:

PyQt5==5.15.3 doesn't yet exist on anaconda cloud... so that's probably why the pure conda install works.

The error implies that the system qt libraries are being used - do you know if this is meant to happen?

This isn't meant to happen, but it can certainly happen as a fallback if qtpy fails to find Qt bindings in your immediate environment, but your system libraries are also on your path.  So it's not that surprising...

I can import napari without error.

quick side note @GenevieveBuckley: you should now be able to import napari even without qt installed... so just wanted to make sure you also were able to show a viewer?

I tried uninstalling and reinstalling, but ended up in the same place.
My best guess at the moment is that I have problems with miniconda due to a possibly broken environment modules setup on this workstation, where some of the default modules that get loaded have Qt components. Perhaps these fool conda somehow.

I forgot to say:
 pip --version
pip 21.0.1 from /home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/pip (python 3.8)

PyQt5                         5.15.1
PyQt5-Qt                      5.15.2
PyQt5-sip                     12.8.1
python-dateutil               2.8.1
pytz                          2021.1
PyYAML                        5.4.1
pyzmq                         22.0.3
qtconsole                     5.0.2
QtPy                          1.9.0
requests                      2.25.1
scipy                         1.6.1

same error.
it is definitely pulling in the system libraries when it shouldn't. The symbols it is complaining about aren't in the libraries that get installed by pip:
nm -D envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5XcbQpa.so.5 | grep PlatformFiltersEvents
nm -D envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Gui.so.5 | grep PlatformFiltersEvents

Any suggestions about why this could be happening?

Did you try if PyQt5==5.15.2 from pip works?
Could you try to show the output of LD_DEBUG=symbols ipython --gui=qt

quick side note @GenevieveBuckley: you should now be able to import napari even without qt installed... so just wanted to make sure you also were able to show a viewer?

Yeah, I think I was displaying the viewer with either the astronaut or the camera image (it's just that Richard was noticing errors even before that point). I'm going to step out of this conversation now, since I wasn't able to reproduce this earlier and now other people have.

PyQt5                         5.15.2
PyQt5-Qt                      5.15.2
PyQt5-sip                     12.8.1

all from pip - same missing simple error.
I've run the LD_DEBUG version, and there doesn't appear to be any reference to system Qt libraries until the error occurs. I can attach the log, but it s 25M +
I've also found something else. The setup above works if I ssh -X to the host - so I guess that means an interactive login shell, and I purge the environment modules. The original setup was on a remote desktop, so an interactive nonlogin shell, where the environment module commands are broken so I can't purge.
Before purging the modules:
env | grep QT
QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms

this variable is gone after purging. Haven't yet tracked down the issues with our module setup, but it seems to be the source of the problems.

Yes. Most probably the source of problems is this environment variable.
I do not know why it is set.
the most interesting part is the end of LD_DEBUG log which will inform which modules are loaded before this fail.  Because this may allow understanding which module makes a problem.

Here's a copy paste from the terminal
2679940:	symbol=_ZN16QCoreApplication12setAttributeEN2Qt20ApplicationAttributeEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Gui.so.5 [0]
   2679940:	symbol=_ZN16QCoreApplication12setAttributeEN2Qt20ApplicationAttributeEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Core.so.5 [0]
   2679940:	binding file /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 [0] to /home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Core.so.5 [0]: normal symbol `_ZN16QCoreApplication12setAttributeEN2Qt20ApplicationAttributeEb' [Qt_5]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/bin/python [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libpthread.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libc.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libdl.so.2 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libutil.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/librt.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libm.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib64/ld-linux-x86-64.so.2 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Gui.so.5 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Core.so.5 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libc.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libfontconfig.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libfreetype.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libpthread.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-xinput.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-icccm.so.4 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-image.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-keysyms.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-randr.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-render-util.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-render.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-shape.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-xinerama.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-xkb.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libXrender.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libX11.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libm.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libSM.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libICE.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libgcc_s.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libGL.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/lib-dynload/../../libz.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libicui18n.so.56 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libicuuc.so.56 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/site-packages/PyQt5/Qt/lib/libicudata.so.56 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libdl.so.2 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib64/ld-linux-x86-64.so.2 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libexpat.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libuuid.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libpng16.so.16 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libdbus-1.so.3 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libxcb-util.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libXau.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libXdmcp.so.6 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libbsd.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libpcre.so.3 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libGLX.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libsystemd.so.0 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/librt.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/home/richard.beare/miniconda3/envs/napari/lib/python3.8/lib-dynload/../../liblzma.so.5 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/liblz4.so.1 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/usr/lib/x86_64-linux-gnu/libgcrypt.so.20 [0]
   2679940:	symbol=_ZN22QWindowSystemInterface24setPlatformFiltersEventsEb;  lookup in file=/lib/x86_64-linux-gnu/libgpg-error.so.0 [0]
   2679940:	/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: error: symbol lookup error: undefined symbol: _ZN22QWindowSystemInterface24setPlatformFiltersEventsEb, version Qt_5_PRIVATE_API (fatal)
/home/richard.beare/miniconda3/envs/napari/bin/python: symbol lookup error: /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: undefined symbol: _ZN22QWindowSystemInterface24setPlatformFiltersEventsEb, version Qt_5_PRIVATE_API

I do not understand. You cannot start qt loop, or this happens on the end of the loop.
Did you have QT_QPA_PLATFORM_PLUGIN_PATH defined in your environment?

Sorry - I pasted this in for completeness. We tracked the problem to presence of QT_QPA_PLATFORM_PLUGIN_PATH and everything is fine if I remove that. In my case the PLUGIN variable is present due to some default environment modules. Purging the modules removes the problem.


npe1 deprecation and removal

It's a significant source of code complexity and confusion to support both npe1 and npe2 plugins. We need to drop support for npe1, but before we do that we need to support:

[ ] https://github.com/napari/napari/issues/4148
[ ] https://github.com/napari/napari/issues/1272
[ ] https://github.com/napari/napari/issues/5584 (NAP-6)

More refs:

#5874
#4692

Another ref:  #5196

@jni I'm surprised to see #4148 and #1272 linked here...? Can you expand a little on why these are required before npe1 removal?

Hmm ok I'm thinking possibly we can pick up the on_activate discussion again, which might allow folks to achieve some similar effects. Generally speaking though, I would not make "achieve any functionality by patching the viewer at launch time" a blocker for npe1 deprecation...
In many ways this launch time behavior is one of the things we didn't want to encourage, as it slows things down. But perhaps we can consider explicit on_launch contributions that users can disable

But perhaps we can consider explicit on_launch contributions that users can disable

👆 that's the thing. Just like the OS. It's very useful to have these things, but they should be user-controlled.

I would not make "achieve any functionality by patching the viewer at launch time" a blocker for npe1 deprecation...

😂 fair. These are just two that (a) I thought were reasonable to have and (b) I have actually encountered in the wild/needed myself.

Just a quick look:

https://github.com/napari/napari/issues/1272 - I think there are some interesting thoughts here, but it is tailored towards npe1. I think a lot of items have/will be addressed - .e.g, https://github.com/napari/napari/issues/1272#issuecomment-633697572 the insulated interface is covered by the PublicOnlyProxy that we now have. That issue should probably be closed and any relevant items should be moved to a new issue
#4148 - I think this could be solved via #3781 (this PR seems stalled/forgotten though)?

With regard to on_launch - if you want this, we should open an issue regarding this specifically.


Resolve Router Error occuring in Dev and Main

This issue has been properly resolved... did not need to remove BrowserRouter


RetainedEntry should not be exposed as an interface

There are no cases where someone would like to implement a RetainedEntry interface. Therefore, we should consider making it a class with internal constructor.
Open questions:

Should we provide a default constructor to RetainedEntry for tests purposes?

We will redesign RetainedEntry so it becomes more friendly for the upcoming Kotlin's feature Context-receicers. That will be done in a different issue, dedicated for the changes we envision.


Correct issue with extracting wire on windows.

These changes will allow extraction of the wire executable when run on windows. The old code was trying to use a regular expression with String.endsWith() which doesn't support regular expressions. Instead we should be using String.matches() and use a more robust regular expression to match on. Since only the MARIONETTE driver requires the use of a regular expression we check for the driver type and if it is MARIONETTE we use matches, otherwise we still use endsWith. Note that wire archive is only in zip format on windows thus only the unzipFile was modified. I Added some test cases to check the regular expression. I tested this on windows and osx and seems to be working.

When merged will you do a release with this update immediately? I'd like to use this tool in our CI process but this issue is preventing me from doing so as we have several developers using windows.

I'll look at this tonight, however my first impressions are:

Overcomplicated regex which will bite you in the arse when they change the naming strategy.
A couple of changes in the PR are not needed and don't add any value (they are stylistic).

This would be great... as of now im using the static file repo file but without marionette

I'm going to need to tweak this a bit, we can't use zipFileEntry.getName() because that will include a relative path (That's why BinaryType is a list of filenames, rather than a regex.  There isn't a great way to get the correct filename without adding in some clever code to extract it from a relative path and hope you got the right part).
I'm going to base the change on what you have here but it's going to need some tweaking.

Looking at this in detail it would seem that they have changed the filenames for marionette since the initial implementation.  The fix is actually relatively simple, just add the correct filenames into BinaryType.
I'm not going to merge this as it's got some issues that will come back and bit us in the arse in the future.


zureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook

I am getting the below error for Command "Connect-AzAccount" or " Import-Module -Name Az -RequiredVersion 3.6.1"
Please let us know how to resolve this issue.
Thanks in advance
WARNING: AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are running Po
werShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. If you are running in Azure Auto
mation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka.ms/azps-migration-guide.
Import-Module : AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook. If you are
running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. If you are running
in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here:
https://aka.ms/azps-migration-guide.
At line:1 char:1

Import-Module -Name Az -RequiredVersion 3.6.1

  + CategoryInfo          : OperationStopped: (AzureRM.Profile...igration-guide.:String) [Import-Module], RuntimeException
  + FullyQualifiedErrorId : AzureRM.Profile already loaded. Az and AzureRM modules cannot be imported in the same session or used in the same script or runbook
 . If you are running PowerShell in an environment you control you can use the 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules from your machine. If
you are running in Azure Automation, take care that none of your runbooks import both Az and AzureRM modules. More information can be found here: https://aka

.ms/azps-migration-guide.,Microsoft.PowerShell.Commands.ImportModuleCommand

Hi @Praveen6867 : according to the output u shared, the error seems to be due to a PS Module conflict. This usually happens when you try to load both the older AzureRM and newer Az modules onto the same PS session - these 2 modules are incompatible. Check the refrences below for more information.

Introducing the Azure PowerShell Az Module.
Installing Azure PowerShell AzureRM module

You have 2 options to resolve this depending on which module your scripts were built on. If your scripts were authored using Az cmdlets then use option 1. If Azure RM, then use option 2.
1.)  Use 'Uninstall-AzureRm' cmdlet to remove all AzureRm modules, Import Az module only, use the Az cmdlets e.g.

"Connect-AzAccount"  ,
Import-Module -Name Az -RequiredVersion 3.6.1"

2.) Use 'Uninstall-Az' cmdlet to remove all Az modules, Import AzureRM Module only, use the AzureRM cmdlets e.g.

"Connect-AzureRmAccount"  ,
"Import-Module -Name AzureRM -RequiredVersion 2.3.0"

Hope that helps.
Cheers.

Hi @Praveen6867 . Hope my comments above helped your case. We will now close this issue. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.

Thanks this helped me.

Hi, How to takecare of this issue in Azure Automation runbook?


⚠ ClamAV has degraded performance

In 36e67aa, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 67 ms

Resolved: ClamAV performance has improved in bbd2c41.


Merge fixes for PR96

@camiloborges - just finishing my testing on this now, once you merge this in it will automatically hit your main PR and then we can merge that and close it. Have a look over what i've done and let me know what you think.


Update xlsx 0.16.9 to 0.17.0

SheetJS (xlsx) 0.16.9 allows attackers to cause a denial of service (CPU_ consumption via a crafted .xlsx document that is mishandled when read by xlsx.js.
SheetJS has fixed this in 0.17.0 however I would like to be sure that the fix doesn't break anything within the cdk-table-exporter
It looks like the bot has already submitted the update in Pull Requests it just needs to be approved

I would really like to see this update happening because it's causing moderate severity vulnerabilities alerts from npm audit and Dependabot. Too bad this whole project is on one person shoulders.

Released the fixed version. Sorry for being able to release every 6 months or so.


Using late in a library without null safety gives surprising error

The late keyword is only available when using language version 2.12 or later. However, when moving code around, you might end up with a late keyword in a library that is using 2.11 or lower. When that happens, the error is surprising and doesn't little to help you realise the late keyword is the issue:
lib/foo.dart:
class foo {
  int i;
  late int j;

  foo({this.i = 1, this.j = 2});
}

=>
$ dart analyze lib
Analyzing lib...                       1.0s

  error • The instance member 'int' can't be accessed in an initializer at foo.dart:2:3 • (implicit_this_reference_in_initializer)
  error • int isn't a type at foo.dart:2:3 • (not_a_type)
  error • Undefined class 'late' at foo.dart:3:3 • (undefined_class)
  error • Expected to find ';' at foo.dart:3:8 • (expected_token)
  error • Variables must be declared using the keywords 'const', 'final', 'var' or a type name at foo.dart:3:12 •

Is this in the CFE @johnniwinther or analyzer @bwilkerson ?

It is likely both. The scanner and parser (which are shared) special case the late modifier.

@jensjoha We should probably do better recovery here; special-casing late in these situations.

I'm going to move this to P1; seems a bit egregious. Let me know if you disagree.

Let me know if this is not fixed to your satisfaction @mit-mit (and note that a similar thing for required is fixed with https://dart-review.googlesource.com/c/sdk/+/175307).

Looks much better now, thanks!


StockpileManageUISide.StashHistory is not thread safe

https://github.com/redscientistlabs/RTCV/blob/506/Source/Libraries/CorruptCore/Stockpile/StockpileManagerUISide.cs#L34
public static volatile List<StashKey> StashHistory = new List<StashKey>();

The field is currently marked as volatile to indicate that the value may change on multiple threads. However, StashHistory is never re-assigned. My guess is that the intention was to have the List itself be thread-safe. However, in order to do that, we would have to use a thread-safe collection

There's a chunk of these in there. Netcore thread safety is something on my very long list of things to evaluate because it uses the thread pool to handle messages. A lot of the code just invokes back onto the main thread before touching certain things which eliminates this from being an issue, but it's not a good way to do it. Once the doevents-hack-fix branch is merged,  I think some of the thread safety issues that exist but haven't caused issues may surface.

This is a leftover of old bad design. Volatile only ensures the list itself is threadsafe and not its contents. We never had a thread collision occuring with the stash history, the volatile keyword is completely useless and will be removed.

note: i'm the one who originally put the volatile keyword


Determine BCeID account type for each realm

Once the shared realms are up and running, we would like to start consolidating clients into the shared realms if they really don't need a dedicated realm.
As part of this work we will need to figure out what "flavors" of BCeID are being used by the realms. In order to do THAT, we need to do a query for each user to the BCeID web service, passing the BCeID_userid to find out what kind of user each one of them is.
See conversation below:
Good Afternoon Marco,
A quick note – I know you were hoping for a response before your 3:00 PM meeting today.
In the future, you can ensure a more timely response by using our group monitored mailbox<EMAIL_ADDRESS>•	BCeID Web Services could certainly be used for what you have described below – You would need to document the new BCeID Web Service use cases, and we would need to add them to the Client signed Service Agreement we have with the DevExchange.
•	The only approval you need is to a) document the new BCeID web service call use cases + have them added to an updated Service Agreement and b) have Rob Lowe or I configure them in the BCeID application.
o	Emphasis needs to be given to enumerating the ‘Access Constraints’
o	We will send you a link to the data elements shared guide and our BCeID use cases template (separate email – likely from Rob Lowe)
•	The BCeID Client Manager for the existing KeyCloak (DIAMS) OSD entry under the Citizens’ Services Client profile is Garry Mierzuak.
o	Garry Mierzuak should be able to provide you with the OSID # (if unavailable, contact Rob Lowe or I)
•	The Service Agreement Administrator (signatory) for the existing KeyCloak (DIAMS) agreement was Todd Wilson.
Can you share the number of unique [User GUID] BCeID accounts there are in the KeyCloak identity store?
o	Based on that number of existing BCeID accounts using the DevExchange KeyCloak will help use refine the possibility of additional / supplementary / different account lookup alternatives.
Best Regards,
Tim McGuire
Client Onboarding Manager - BCeID
Provincial Identity Information Management – Service BC Division
Ministry of Citizens’ Services
PO Box 9412, Stn B Prov Gov, Victoria BC V8W 9V1
<EMAIL_ADDRESS>250 507-7685
“Access to government services made easy”
From: Villeneuve, Marco EDUC:EX<EMAIL_ADDRESS>Sent: March 16, 2021 1:37 PM
To: McGuire, Tim CITZ:EX<EMAIL_ADDRESS>Cc: Han, Shelly CITZ:EX<EMAIL_ADDRESS>Reid, Bryce<EMAIL_ADDRESS>Vunnam, Niranchandra CITZ:IN<EMAIL_ADDRESS>Gustafson, Conrad CITZ:IN<EMAIL_ADDRESS>Simonian, Patrick CITZ:EX<EMAIL_ADDRESS>Bommi Reddy, Sandeep Reddy<EMAIL_ADDRESS>Shankar, Vardhman CITZ:EX<EMAIL_ADDRESS>Subject: Web Service & OSID
Hi Tim,
The team is moving forward with our migration to segregated realms. As part of this work, we’re hoping to create a small script which will:
•	Pull the BCeID users from a specific realm
•	Make one web service call per user to the BCeID web service to determine the user type
•	We’ll compile these for each realm to give us an indication of which applications are using which type of BCeID
•	This will help us migrate teams to the new segregated realms
We have the BCeID web services guide (V2.10.0) and would like to ask the following:
•	Do we need further approval to use the web service in this way?
•	We’re currently unsure who our BCeID admin is for the SSO integration – can you please advise?
•	When we determine the admin, they should be ok to login to BCeID.ca to determine our OSID?
On another note, if there’s a more efficient way to accomplish what we’re looking to do here, please let us know. 😊
Thanks Tim – we’re happy to have a quick session if we need to discuss further.
Marco Villeneuve
Application Architect & DevOps Lead | Ministry of Education PEN Project
778-676-1622

to revisit as part of shared client journey map


Evaluation of pretrained model on HICO-Det is lower than reported.

Hi, I downloaded your CDN-S/B/L pretrained model, and evaluate them locally with your script.
The results are all lower than the reported results. Specifically,
Model S  mAP: 0.3150153102455715 mAP rare: 0.27220402283111156  mAP non-rare: 0.32780309739534524  mean max recall:
0.6390865334740454
Model B mAP: 0.31671305044814135 mAP rare: 0.27124143008976015  mAP non-rare: 0.3302954825032422  mean max recall:
0.6436087461863998
Model L mAP: 0.3196075598370539 mAP rare: 0.2724063291553318  mAP non-rare: 0.3337066287419839  mean max recall:
0.6492344626931886
I'm wondering what caused the inconsistency. what's the version of opencv-python in your environment? I'm using opencv 4.5.1.

The reported results are evaluated with batch size 16 (2x8 or 4x4) by the official Matlab script. The inconsistency may be caused by such two aspects.

OK, I'll check it.


Create stale.yaml

What problem is the PR solving
see #120
What did change
Added a stale.yaml
Does this need additional test(s)?
No, since this is completely on github side

whatever floats your goat


Output file with non-plastome reads?

Dear chloroExtractor Team,
I wanted to ask if chloroExtractor outputs a FASTA/Q file with the leftover reads that were not assembled in the fcg.fa file and, if so, what its called/how to access it. Thank you in advance.

Dear @jdarias93,
thanks for your interest in using chloroExtractor. Currently, we do not offer a special option to extract non-chloroplast reads from a sample set. But if more users require that feature, we would like to implemented in a future release. Nevertheless, you can use the output of chloroExtracter in combination with a mapper like bowtie2 to generate fastq files containing all not mapped reads. For example you can use the following commands to generate such a file set (I used Linux command line for that, hope that is okay for you):
# generate a mapping reference from the fcg.fa file
bowtie2-build fcg.fa chloroplast

# Map to chloroplast and ignore SAM output
# Reads which could not be mapped onto chloroplast should be written to
# unmapped_concordantly.fq.1.gz and unmapped_concordantly.fq.2.gz
bowtie2 \
   --un-conc unmapped_concordantly.fq.gz \
   --threads 16 \
   -x chloroplast \
   -1 first_pair.fq \
   -2 second_pair.fq >/dev/null

Hope, that will solve your issue. In case you need it more than once, just let us know and will add it as new feature into one of our next releases.
Best,
Frank


Laying waste to CMC 🤪

Changes:

Apache commons, collections, and Google collections are now dependencies.

The api package has been fully deprecated and migrated and updated elsewhere.

Optimised imports and switching away from the deprecated stuff.

The chatDialog package has been deprecated and replaced with chat.dialog

The custom.items package has been fully deprecated.

Various things in the util package have been deprecated, such as Iteration being replaced with MoreCollectionUtils to be more obvious in what the utilities are doing. Maths has been renamed to MoreMath in an attempt to standardise a naming scheme for when a utility class is merely extending a class that already exists.

NullCoalescing.chain() has been replaced with Chainer a "builder" of sorts that mimics Optional.

ClassUtility has been deprecated since it's not used anywhere and the technology used is highly experimental.

MoreTags replaces a large portion of MaterialAPI in an attempt to get closer to Bukkit's Tag class.

Materials, potions, enchantments, entity types, and tree types are now tracked and will display warnings is anything is missing (useful for updates that introduce new things)

Oof

Oh also the increased version means that anything still on 1.8.0 wont suddenly have a bunch of deprecation warnings and everything will still work since this is all backwards compatible.

It might be work genuinely considering making Paper a hard dependency. While helping out someone on the PaperMC Discord, I was directed towards MaterialTags, which looking at it would remove the need to have and maintain MoreTags which itself is an update to MaterialAPI. Paper is just becoming too useful to ignore and I think we ought to succumb.

Going to be retiring this PR soon, it's clear it's too big an ask.

Closing this PR since I accidentally orphaned it and I can't find a way to fix it. Plus I doubt this would've been merged anytime soon anyway.


Add a way to transform a relative URL in a document

Documents may be from different paths, and may have relative URLs to files in their directory, but need a way to request those URLs via http. @minrk and I discussed how we might handle this.

[ ] Implement a javascript function available to a document (perhaps in the context?) to resolve relative URLs. It would take in a relative URL, and return corresponding a full URL to fetch the file from the server (so probably would use something like http.../baseurl/files/pathtodoc/relativeurl. This mapping should normalize any /./ and /../ and should make sure the path still lies below the baseurl/files/.
[ ] Make a function that takes in a DOM fragment and traverses the DOM fragment looking for things like <img src=...>, etc., replacing the relative URLs with appropriate. We'd have to get a good list of places where relative URLs could exist.
[ ] Automatic translation of urls for markdown: this involves hooking into the renderer and translating references. On the other hand, we may just call the above HTML transforming function on the markdown rendered HTML.
[ ] Expose to any user javascript context this relative URL transforming function, probably with the current document path already set in a closure. This probably happens by making the Javascript rendermime a document-specific renderer with this function exposed.

CC @blink1073

I see the path translation as part of the contentsmanager in js-services, which will already have the base url.  J-lab users would typically access it through the ServiceManager.

/**
 * Get a fully qualified url to a file based on its path and an optional base directory.
 */
getUrl(relativePath: string, baseDir = '')

The "current" directory comes from the service provider in src/filebrowser/plugin.ts.

(If the full path is not known already from a context).

The URL jupyter-js-services stuff is merged in #504.

Looking at this from the perspective of an OutputAreaWidget, it should be able to call rendermime.render(data, trusted=false), and the sanitization and url mangling should happen on the RenderMime instance, since the Rendermime instance is at the same level as the DocumentContext.

The RenderMime instance would have settable sanitizer and and cwd properties.
An IRenderer would have a sanitizable and safe attributes, and the bundle would be sanitized before being passed to the renderer if applicable.  A safe output could be chosen over an untrusted mime type of higher preference.
The RenderMime would render the output, then call a function with the cwd and the output widget node, which traverses the returned node, looking for href and src attributes, and mangling as appropriate.

cc @afshin

Note that I have been updating my comment above in-place.

This was fixed in #560.  It turned out that rendering <img> tags in the markdown forced us to use the brute-force approach.  A more invasive approach could be considered as a follow-on.


Support Different Domain providers in RDNS

The build in RDNS functionality is great to get started immediately, however it is not always possible to use .on-rio.iodomains especially in sensitive environments where you need to control domain.
Instead of deactivating RDNS for supporting custom domains it would be better for the user experience to extend RDNS to support other DNS provider.
Mature  golang libraries already exist to make integration easier.
One of such library could be: https://github.com/StackExchange/dnscontrol or https://github.com/kubernetes-incubator/external-dns

Supporting other DNS providers could really be  a question that should we manage user's credential in Rio cluster to be able to manage DNS records? Then this really give Rio the ability to manage external DNS, which I don't know if Rio should be able to manage that or that.
@vincent99 @cjellick

For me as a product creator in such cases the question would be:  Can we provide the developer with a consistent user experience, no matter if .on-rio.io or any other DNS provider.
I personally think that a consistent user experience is more valuable in the long run than delimitation of responsibility.
Saying that: What really would matter for me as a RIO user is an easy way to use other DNS provider like it is now with RDNS regardless of the way.

We provide the on-rio.io service because it makes that free and automatic.  You can certainly run your own copy of the DNS service on your own domain and tell Rio to use that.
But I don't think there's significant demand for or benefit to adding an entirely different mode where you must configure Rio to use a particular provider/domain/credential* stored in the cluster and have it push changes up.
The primary things the the generated names are for is CNAMEing to your actual domain, or experimenting.  If you're CNAMEing, most people do not really care what intermediate domain their site resolves through (e.g. half the world is yoursite.com -> your-site-12345.us-west-2.elb.amazonaws.com -> IPs).
*: Which has its own set of risks.. Many of the providers those DNS updater packages support have no way to create an API key that's good only for one particular zone, let alone a subset of a zone.  So now you have keys that can edit any arbitrary DNS entry for your company sitting on the cluster where potentially lots of people can see it.

@StrongMonkey regarding this bit: "You can certainly run your own copy of the DNS service on your own domain and tell Rio to use that."
Is it currently possible to "tell Rio to use that"? If so, how do you configure that?

@cjellick it is not possible in the current release, need small tweak to make it configurable.

So if I don't mind swapping out the build in RDNS service as a Domain name provider, for a self hosted version we can swap out the *.on.rio.io domain for a personal wildcard domain?
Cause that would be a very desirable feature. Not that we want to hide rio, but from a branding and product ownership point of view we rather have to full ownership on the domain name. :)

Yes apparently we're missing the setting to tweak the endpoint Rio uses to get the name, but you would run your own copy of the rdns-server, point the domain at it, and then that would give back names for your own domain.


Import generates broken tangents on a specific mesh

Godot 3.0.6
Godot 3.1 beta 8
I imported a mesh in Godot, which appears correct, until I tried adding normal maps to it. Then I realized the tangents were completely invalid. The mesh is a .obj for which the import options are supposed to generate tangents, but if I write a shader testing what the length of those tangents are, I get NaN. I tried importing a sphere .obj but tangents were fine, so there is something fishy going on with this particular .obj.

Test project outputting red albedo if the tangent length is NaN, green otherwise:
MeshTangents.zip
Note: the mesh has no UVs, which is intented. I use another source for texture mapping.

CC @BastiaanOlij

Having a quick look at the obj importer it doesn't import tangents. I'm not aware that wavefront even supports storing tangents so if some application saves tangent information looks like that is an extra.
The logic for generating tangents from a mesh needs UVs to determine orientation, knowing the UV mapping is important as the tangent and bitangents needs to be aligned with the Y and X direction of the texture map or else things start looking really screwy.

That's unfortunate because I don't know how to realistically add UVs to this mesh, as you can see it's text, so I use other methods to do it :/

If you are calculating uvs in your shader you can also calculate the
tangent and binormal
I always mix them up but if you know the direction in which you are texture
mapping you know which way the tangent needs to point ( if i recall
correctly its aligned with the direction U increases), then just do a cross
between normal and tangent to get the bitangent
Alternatively if you have your mesh with tangents in your 3d modeler use
dae or gltf as the format instead but keep in mind that if you generate uvs
and the don’t match your tangent and bitangent directions shading won’t
look right
On Thu, 28 Feb 2019 at 9:46 pm, Marc<EMAIL_ADDRESS>wrote:

That's unfortunate because I don't know how to realistically add UVs to
this mesh, as you can see it's text, so I use other methods to do it :/
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/26388#issuecomment-468226326,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB2vaatSxiNMwxMfSIUEpDsCL4Uglf6eks5vR7N6gaJpZM4bVz7B
.

--
Kindest regards,
Bastiaan Olij
https://www.facebook.com/bastiaan.olij
https://twitter.com/mux213
https://www.youtube.com/BastiaanOlij
https://www.youtube.com/channel/UCrbLJYzJjDf2p-vJC011lYw
https://github.com/BastiaanOlij

@Zylann any update on experimentation on your part? I don't think there is much more we can do here.

I haven't progressed on this.

Can anyone still reproduce this bug in Godot 3.2.3 or any later release?

Still happens in Godot 3.2.4 beta3
MeshTangents.zip

As per @BastiaanOlij 's analysis.
If an import doesn't have UVs and one wants tangents it's not possible.
UVs to determine orientation, knowing the UV mapping is important as the tangent and bitangents needs to be aligned with the Y and X direction of the texture map
I have code to force generate a uv for any mesh, but that's a feature enhancement.

As per @BastiaanOlij 's analysis.
If an import doesn't have UVs and one wants tangents it's not possible.
UVs to determine orientation, knowing the UV mapping is important as the tangent and bitangents needs to be aligned with the Y and X direction of the texture map
I have code to force generate a uv for any mesh, but that's a feature enhancement.


Manage Typography project implementation

This ticket is to document the work in managing the typography project for the expressive theme sunset.
Includes:

[ ] working with Carbon team on strategy for type token rollout
[ ] review of touchpoints, for example Sketch
[ ] other tasks associated with guiding the project to completion

@shixiedesign @oliviaflory Just met with Carbon team about the implementation of the type token changes. @tw15egan is our dev! :tada:
To confirm, the approach is to add the new token names (while keeping the existing ones in place). This work will be done in Carbon's next sprint (sprint 16, starting August 9). The old names would be deprecated "in the future" at a time to be determined.
TJ created a ticket in the Carbon repo for his work.
We have some tickets already for the work on our side but it would be good to get together to pick up the discussion about the changes needed and plan for any comms.


Download mutliple files as zip

Adds the possibility to download folders
and multiple files as zip.

I ignored multiple nested sub folders for now. Essentially we (just) need to resolve the content of an additional path and try to create a folder in the archive. But I suppose it's entirely optional


?vote function

I'd like a ?vote function to emulate the behavior of the vote function in CS:GO.

There can be at most one vote in progress.
Voting will last for a set period of time or until a simple majority is achieved.
Each user can only vote once. No waffling!
If there is no vote in progress:

Calling ?vote with arguments will call a vote on the arguments (ie ?vote kick @Trillian). It will also cast a "yes" vote for the calling user on that vote.
Calling ?vote with no arguments will display helptext on how to use ?vote.

If there is a vote in progress:

?vote will accept inputs of f1|yes and f2|no.
If the user hasn't already voted, the command will increment the yes/no counters.
The bot will respond to these commands with the current vote count.
Any other arguments to a ?vote while a ?vote is active (including duplicate votes) will display helptext that includes the current vote topic, the vote count and the time remaining.

At the end of the time period or when a majority is reached, the bot will print the results of the vote to the channel.
The bot will then time out the ?vote function for a set period of time to prevent last-minute too-late votes from starting a new vote.

To refine the spec:
Parsing

?vote $1 will start a vote
If $1 is empty, the program will respond with the result of ?help vote
?f1, ?yes will record the user as for the measure, and ?f2 and ?no will record the user's vote as against
If a vote is not in progress, ?f1, ?yes, ?f2, and ?no will print a help message. This will stomp any existing commands for these

Vote behavior

One vote in progress at a time, per channel. Calling a vote while a vote is in progress will print the current status of the vote
When a vote is recorded, it will print the current status of the vote
Votes cannot be called in private channels
Voting period is 30 minutes
When the vote has terminated, it will at-include everyone that voted and tell them the outcome.
The initial message will use @here to alert present people of a vote. Followup messages will not at-include people.
5 votes for, or 5 against, will be considered a successful vote. This will allow smaller channels (GOT chat) to have a chance to pass a vote. V1 won't take server population size into account.
Once a vote becomes successful, it will not terminate, to give popular votes a chance. It will go the full 30 minutes.
A new vote can be called immediately after the conclusion of the previous one

Planned for the future

?votelist will list all called votes in a gist. In the first version, all votes will be stored, but there will be no commands for accessing them.
?votelist @user will show the votes called by the given user server-wide
?votelist recent will print the results of the 5 most-recent votes server-wide

The above has a beta version of vote to collect feedback. This doesn't have the timer that prints the result of the vote.
Feedback, based on my friends' experimentation with it:

The vote should pass when it gets 5 total votes, not when Pass or Fail reach 5 votes.
Notify when the vote closes
Change "You voted yes/no" to "@person voted yes/no", since it's confusing when a lot of people vote
Put the time remaining somewhere. Likely on all the count status lines (so ?f1/f2/yes/no would print "n minutes remaining", as well as votestatus)
The vote should re-ping at some point.

I want to do all of these but re-ping (since it overlaps with ?votestatus)

Also, experiment with switching the @here to @everyone and see how spammy that feels. I feel like that's something I'd need to make configurable per-server

^ all of the above feedback (except notifying when the vote ends) have been addressed by the following commits: a0eb6e94161c59b255ddd245e4dc8495cabaee3c, 4b1f01d8bc2171ba6c640b58c7cbbfbc70edfd73, fb7364678c2d4eb6b7a8218225e4f8f0a47beecc, 8e19ff763c38fbae7115cf8ecb1f859d8cfe4743,  ecba345eb0bf7c80e30271fe1e9892bc155b74ae

add tagback to "You already voted" message

Wrote 192597baa47652f791c7455d17014f84bbc1b8d1 to make all votes happen per-channel.
Remaining work:

tagback to "you already voted"
add a timer to ping the appropriate channel when a vote has ended
populate the timer on startup

860f6df1061b1ee35cc8bed620accd5203b68f4c addresses tagbacks

d1a79fa65d03aaf86399916f9968dc721c68586c expires votes. I'm going to close this out and file a bug to have timers for all non-concluded votes restarted on startup.


Make failure to retrieve individual ctrs/pods nonfatal

This ensures that we can still use Podman even if a container or pod with bad config JSON makes it into the state. We still can't remove these containers, but at least we can do our best to make
things usable.
This is an initial step towards fixing #1283 - I think a more complete step would be an API to go through the state, detect inconsistencies like this, and purge them to restore a consistent state.

@rh-atomic-bot r+


remove in-cluster example and update documentation

Flags and variables that were intended to aid development have leaked out to the user level. Octant is an application and is intended as a single client tool and at this time we have no plans to support hosted versions of Octant.
Currently we use the default web browser on the system as our UI client. Octant will eventually be packaged with a client, probably using Electron or similar. This will further abstract away the details of the internals and hopefully remove the confusing messaging around how to run Octant.
There is possibly that in the future, we would add some ability to remotely share/view another Octant, but that would look more like what you see with vscode live share or tmate sharing.
Signed-off-by: Wayne Witzel III<EMAIL_ADDRESS>

For what it's worth, I've made a ready-to-use published Docker image and Helm chart to deploy to Kubernetes: https://github.com/aleveille/octant-dashboard-turnkey
For anyone looking to deploy to Kubernetes, you can hop over there as I will likely maintain that repo for a couple months/years.


Allow searching for drawables by text in visualiser

In cases where there's some drawable with low depth taking up the entire screen, you can't really use choose target to get to the drawable you want. But it would be easy if you could search for the desired drawable by its name, especially in cases where there's only few of that drawable type in the scene.

Addressed by #5254


Rename field rust to rust-version

https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field

Wow, how did I screw that up?! Thanks for catching!


ACME v1 deprecated in june

Hi !
I received an email informing me that one or more of my domains were issued or renewed using acme v1 :

According to our records, the software client you're using to get Let's
Encrypt TLS/SSL certificates issued or renewed at least one HTTPS certificate
in the past two weeks using the ACMEv1 protocol. Here are the details of one
recent ACMEv1 request from each of your account(s)
...
Beginning June 1, 2020, we will stop allowing new domains to validate using
the ACMEv1 protocol. You should upgrade to an ACMEv2 compatible client before
then, or certificate issuance will fail.

By the time I received this email I was not running the latest version of NPM so I upgraded but can't find if anything changed about the acme version used.
Do you have any info about that ?
Thanks !

I also have interest in this, I would love to continue using this product but if letsencrypt won't work once acmev1 is phased out I'll have to find something new
Please update!
:D
Thanks!
~Rick

I don't seem to have this issue.  Can you look the messages at log/letsencrypt/letsencrypt.log, under the directory you mapped to /config, and see where the requests are sent?  You should see something like :
2020-03-11 05:06:14,439:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/chall-v3/3293961697/wUalfw:

The URL in this message shows that acme-v02 is used.

I looked in the log and found that for a cert I issued last week :
2020-03-05 10:42:39,019:DEBUG:acme.client:Sending POST request to https://acme-v01.api.letsencrypt.org/acme/new-cert:
It's joining acme-v01...strange.
I'll try to re-install the latest version without the saved config to see if it's joining acme-v02 instead of acme-v01.

I looked in the log and found that for a cert I issued last week :
2020-03-05 10:42:39,019:DEBUG:acme.client:Sending POST request to https://acme-v01.api.letsencrypt.org/acme/new-cert:
It's joining acme-v01...strange.
I'll try to re-install the latest version without the saved config to see if it's joining acme-v02 instead of acme-v01.

Ok so, I looked the logs on a other proxy I re-installed last month (with the same problem).
I found on the logs :
2020-02-02 18:11:44,325:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/authz-v3/2607937810:
This installation use acme v2 now (was using acmev1 before).
I'll reinstall the other proxy. It has to be the fact that I use an older version. Don't know why but it's working now.
Thx !

Great!  Please re-open the issue if needed.


Fix split character in TCP Request node

In the TCP request node (TCPGet) if one uses a normal character (say A) as the the split character, it will currently fail because the chatacter is compared to the ascii value. This pull requests fixes this.

Coverage decreased (-0.1%) to 88.186% when pulling 6cbc1afb9b5c1f8c3f33da5bc41f317b0934d719 on natcl:master into 3f86b660ed1cb5a14b2977d592b696b42dfec5f0 on node-red:master.


Data Repository Services and Tools Link on FAQ

Under "Can I use ScholarSphere for managing my data, to comply with data management plan (DMP) requirements?" the link for "Data Repository Services and Tools" is broken.

Copy content from production solved this issue