little question

i use new model and it requires this even though camenduru's colab model is great but when i try with what i am doing and think it works the result is a bit different from what i expected
this is the original photo taken from another colab model
here i try with your colab model and the result

and when i manually load it into the folder i think that works and as a result it doesn't work at all

Hi @tranthai2k2 👋 please add images with PNG Info then we can regenerate the problem

could you also give us the link of the 'other colab' in question? By 'colab model' do you mean 'colab notebook'?

https://colab.research.google.com/drive/1wEa-tS10h4LlDykd87TF5zzpXIIQoCmq#scrollTo=8Uvqba0yKW7U
here i use it and the result is very different i am trying them again

https://colab.research.google.com/drive/1wEa-tS10h4LlDykd87TF5zzpXIIQoCmq#scrollTo=8Uvqba0yKW7U here i use it and the result is very different i am trying them again

That colab notebook uses so many different optimization tool that might change the result of the image generated a little bit. This repo's colab use the standard auto1111 version with little to none customization, except some useful extension.

and when i manually load it into the folder i think that works and as a result it doesn't work at all

Could you explain more about this?

i go to the folder like the picture and download the file i got from that colab manual see if it works sadly it doesnt work
https://huggingface.co/guon/tn/resolve/main/4x-AnimeSharp.pth

So you mean you tried to use an upscaler, and the result of the same upscaler between that colab and this colab is different?

your manual doesn't have that upscaler and I don't know how to get it to your model so I'm trying to ask here it seems my question is off-topic sorry for that

By default most of camenduru's colabs d9n't download any vae, and it looks like a vae issue to me.

I agree, eyes looks different here

your manual doesn't have that upscaler and I don't know how to get it to your model so I'm trying to ask here it seems my question is off-topic sorry for that

I would recommend you to try version 2.0 branch colabs. The default main collabs run old version of the automatic 111 app.
It's possible that some settings for high res fix could be different.

@Siddhanta19 i think he is using the v2.0, since there is a width/height swap button on his photo.

@etherealxx  @camenduru
I tried using command like this to insert the model but it doesn't seem to work so how do I edit the command to make that file appear in this section
!wget https://huggingface.co/guon/tn/resolve/main/4x-AnimeSharp.pth -O /content/stable-diffusion-webui/models/RealESRGAN/4x-AnimeSharp.pth

@tranthai2k2 test this !wget https://huggingface.co/guon/tn/resolve/main/4x-AnimeSharp.pth -O /content/stable-diffusion-webui/models/ESRGAN/4x-AnimeSharp.pth

You might just need to refresh the ui. There's buttons to refresh models and LoRAs, but there's none for upscalers iirc.


Change Audio/Video Device

In the "Stats and settings", Audio Device and Video Device can not be changed. Clicking FIND DEVICES makes both dropdown device list to remain empty.
Windows 11 system. Tested with latest Chrome, Edge and Firefox.

Please place the app in a simple path like C:\radio\datv-simple without spaces.
Secondly since the project uses binaries build by my system, your anti virus might flag the ffmpeg.exe
Therefor please exclude Datv-Simple directory in anti-virus or firewall
Audio and Video is only ever is empty if we cannot execute the ffmpeg.exe in the project directory
Regards

Changing the path fixed the issue. Thank you so much!


feat:[CDS-99398]: Add service and envstep level failure strategy info in doc

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66d9c7d12220ed1dd2de089f--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66debd5a360369031bb83a6b--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66dee692c492f2d717853c1f--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66e12cdb65f15590bf80f269--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66e12e3bb78ea493ae85c573--harness-developer.netlify.app


admin filter options are not working in Safari

Bug report
Issue Description
admin filter options are not working in Safari
Preconditions
Safari 12
Mac 10.14

Bagisto version

[x] master branch
[X] 1.3.1
[ ] 1.3.0
[ ] 1.2.0

Steps to reproduce

login to admin
filter grid based on available option in dropdown

Expected result
filter option should be working
Actual result
https://www.loom.com/share/614f1971ff924f468a0866fc426cf3ac

Hi, @ghermans and @vaishaliwebkul,
This is probably a bug with Safari not with the project. Sometimes click event won't work in the safari browser and a bunch of issues has been opened related to this.

@devansh-webkul can you share the reference here related to this issue with Safari?

@vaishaliwebkul,
https://github.com/vuejs/vue/issues/11014
https://github.com/vuejs/vue/issues/11272
https://stackoverflow.com/questions/68132512/vue-2-6-not-working-correctly-on-safari-ios
I am updating the vue js for admin package also. As they have fixes more in their patch numbers.


Dashboard: requests tab improvements

[x] #1214
[ ] #1215
[x] #1216
[x] #1217
[ ] #1218
[x] #1229

Yes, makes sense. I am closing it


feat: Select with options that can be refreshed

Prerequisites | Prérequis

[X] I've read the Contributing Guidelines. | J’ai lu les Lignes directrices sur les contributions.
[X] I agree to follow the Code of Conduct. | J’accepte de me conformer au Code de conduite.
[X] I've searched for existing issues that already report this problem, without success. | J’ai vérifié parmi les tickets (issues) existants que ce sujet n’avait pas déjà été soumis.

Describe the feature request. | Décrivez la fonctionnalité demandée
Currently, select options are difficult to work with when they are populated by values received from API calls.
For example:

Since "options" are empty when page is loaded, the select component will be empty.
The "for" loop is removed once the component is generated once, so it doesn't get updated when the options are received from the server.
It makes it difficult to refresh the value dynamically.
Describe the use case. | Décrivez les cas d’utilisation
Useful when the options are being loaded or changed.
Describe the preferred solution. | Décrivez la solution souhaitée
No response
Describe all alternatives. | Décrivez toutes les solutions possibles
No response
Provide related code or examples. | Fournissez du code ou des exemples pertinents
No response
Add other relevant resources. | Ajoutez toute autre ressource utile
No response

Hi! See https://github.com/cds-snc/gcds-components/issues/684

Hi,
I was able to repro the bug on 0.26.3 using the stackblitz linked from #684
Thanks!

Vue uses the key property internally to manage what it re-renders. By changing the key property, it forces a re-render of the select with the new options. Can be seen in the same stackblitz linked above.
Basically:

and updating the key value to force new options


Slack Bridge: Discontinuation of classic Slack App

:page_facing_up: Overview
Slack is discontinuing its classic Slack app. On June 4 2024, user won't be able to create the classic Slack app anymore.
This issue will highlight how this change will impact our "real-time slack mirror" feature, specifically bridge_with_slack.py and any relevant files.
Relevant links:
Discontinuing new creation of Classic Slack apps and legacy custom integration bot users
Slack Migration Guide
CZO discussion: here.
:warning:  Impacted Area
In summary, any ongoing mirrors using bridge_with_slack on a classic Slack app should continue to work. However, users won't be able to create new mirrors once the class Slack app has been discontinued because it uses RTM API. It is highly recommended by Slack to migrate to Socket Mode API.
see list of available API: slack_sdk

bridge_with_slack.py

If you're still using the RTM API, it means you haven't migrated to modern Slack apps yet, which don't support the RTM API.
https://api.slack.com/changelog/2021-10-rtm-start-to-stop#events-sockets

One recommended fix that seems to be the easiest is to just migrate to rtm.connect. However, RTM API itself must be configured using a classic Slack app. This means after June 4 2024, new Slack users won't be able to use our bridge_with_slack even when we've migrated to rtm.connect from rtm.start.

On the other hand, migrating to the recommended Socket Mode would likely require overhauling most of bridge_with_slack.py. However, this approach is more future-proof and allows the possibility to expand bridge_with_slack with more features provided by the Socket Mode API and other features down the line.

Documentation

Right now it's still pointing the user to create the classic Slack app.

@zulipbot claim

@zulipbot add "help wanted"

@zulipbot claim


Use of percentiles

As the product owner I want IMPROVER to be able to deal with percentiles as well as probabilities for neighbourhood processing and blending.
Related issues: #69 - import percentile conversion (I think is the most relevant)
This user story assumes it is possible to generate percentiles from ensemble members at each grid square.
Three options:

Compute percentiles across ensemble members and neighbourhoods simultaneously
Compute percentiles across members and then apply neighbourhood processing in an appropriate way
Compute percentiles across neighbourhoods and then across ensemble members in an appropriate way

[ ] Write a strategy for the use of percentiles with neighbourhood processing and blending
[ ] #166 Build the capability to blend percentiles from two distributions using Caroline's method
[ ] Build the capability to extract percentiles from a square neighbourhood

Acceptance criteria:

Have a written strategy for percentiles going forward that includes percentile calculations with neighbourhoods and blending percentiles from two distributions (<= 5 days)
Have the capability to find percentiles from neighbourhoods
Have the capability to blend percentiles using Caroline's method (From StaGE Plugin.) (5 days)
Unit tests
Plugins for the code blocks

Replaced with #166 and #175


quick fix: remove data/ path from docx filename

https://dxw.slack.com/archives/C02VDE9US4R/p1692099675857789
This is a filename field, so should never contain slashes, so a quick fix should hopefully get us moving forward again.

Fixed upstream in TRE. :)


fix overflow bug with cosmo8

When checking for the number of particles for star, dark and gas in the tipsy binary files, cosmo50 simulations would work just fine. Newer simulations (cosmo8) caused overflow issues during this check. Minor change was to cast the int multiplication/addition check to a long instead.

Coverage increased (+0.19%) to 59.56% when pulling 8bb6bf04c06721f2b6461eb91b47e11175360644 on cosmo8Fix into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.

Thanks @jingjingwang ! I changed the n* variables to longs instead.
@domoritz I'm not familiar with that, but I think we talked about Guava during a previous Myria meeting? I don't remember what was said though

Coverage increased (+0.22%) to 59.6% when pulling bc5c2ce3c22183754feda5ad2700f3bfcb4c4f1c on cosmo8Fix into 69b25a0c210390d6a80f429159905b0d9ceb19c3 on master.


Improve error on playground timeouts

Nowadays the playground timeouts fairly often, returning this message:
/playground/tools/entrypoint.sh: line 11:     8 Killed                  timeout --signal=KILL ${timeout} "$@"

It would be nice if the bot could intercept this and display a more friendly error message like "Playground timed out". Ideally it would also provide a way to retry the request.

Good idea


add digital ocean regions parameter, some indenting

Fix https://github.com/uProxy/uproxy/issues/2049

One thought I'm considering - it may be worth making the region parameter an object to ensure that it is useful across cloud providers. A string parameter may be good enough most of the time, but more complex providers may need multiple parameters specified.

Thanks. :+1:
I think we almost certainly will want to specify the config with an object - that parameter list is bound to grow quite a bit - but I think sticking with parameters is fine for now, we can draft a more general interface for these deployment modules once we have >1.

Addressed comments I think, let me know if you want any other tweaks. And agreed re: the region parameterization, a string should be "good enough" for awhile at least.

I think you forgot two comments?:

add a default value for the region param
link to the list of region names

I set the DEFAULT_REGION as a constant towards the top, and put the comment there - I can move it to the function comment block if you think that's clearer.

Sorry, missed the comment at the top! Great. But you don't need the check now at line 65 -- the variable will always be initialised.

Missed that, good catch.

:+1:


New Website Logo: Exago, Inc.

Please fill the following out:

Name: Exago, Inc.
Homepage url: http://www.exagoinc.com
Brand Guidelines/Licensing: N/A
Logo: exago_logo.zip

You sure this is the right repo?

Hi Filipe, we use TypeScript in the web app component of our core product (demoed in a bunch of videos here: http://www.exagoinc.com/learn/end-user-video).  We recently converted all of our Javascript (200+ source files) to TypeScript with the idea that it will streamline the development process as our amount of client-side code increases.

Ah this is for a list of websites that use Typescript? I wasn't getting what the issue meant, my bad!

Logo uploaded, should be out in the next site refresh.


Kafka-produce and consume JSON message, Assert fails for 'consume' operation

I am trying to produce as well consume the Kafka message but application is failing for 'consume' operation. Please see below details:

Git cloned "https://github.com/authorjapps/hello-kafka-stream-testing".
Trying to execute the test 'KafkaProduceJsonTest'
For above execution updated the "test_kafka_produce_json_record.json" file with my topic name.
Updated the "kafka_test_server_int_key.properties" file with my Kafka host details. Also updated remaining files with my Kafka host details
With above details when executing the test "KafkaProduceJsonTest" its produces the message successfully however failing with assertion error as below:
----------------------------------- Error-----------------------------------------------------------------
value.deserializer = class org.apache.kafka.common.serialization.StringDeserializer

2019-05-03 17:52:42,914 [main] INFO  org.apache.kafka.common.utils.AppInfoParser - Kafka version : 2.1.0
2019-05-03 17:52:42,914 [main] INFO  org.apache.kafka.common.utils.AppInfoParser - Kafka commitId : eec43959745f444f
2019-05-03 17:52:42,915 [main] INFO  org.jsmart.zerocode.core.kafka.receive.KafkaReceiver - polling records  - noOfTimeOuts reached : 0
2019-05-03 17:52:43,916 [main] INFO  org.jsmart.zerocode.core.kafka.receive.KafkaReceiver - polling records  - noOfTimeOuts reached : 1
2019-05-03 17:52:44,155 [main] INFO  org.apache.kafka.clients.Metadata - Cluster ID: 5UsXaZN0Smi4cuXoEL1zaw
2019-05-03 17:52:44,348 [main] INFO  org.apache.kafka.clients.consumer.internals.AbstractCoordinator - [Consumer clientId=consumer-1, groupId=consumerGroup14] Discovered group coordinator xx-kafka-host-xx:9092 (id:<PHONE_NUMBER> rack: null)
2019-05-03 17:52:44,355 [main] INFO  org.apache.kafka.clients.consumer.internals.ConsumerCoordinator - [Consumer clientId=consumer-1, groupId=consumerGroup14] Revoking previously assigned partitions []
2019-05-03 17:52:44,356 [main] INFO  org.apache.kafka.clients.consumer.internals.AbstractCoordinator - [Consumer clientId=consumer-1, groupId=consumerGroup14] (Re-)joining group
2019-05-03 17:52:44,918 [main] INFO  org.jsmart.zerocode.core.kafka.receive.KafkaReceiver - polling records  - noOfTimeOuts reached : 2
2019-05-03 17:52:45,910 [main] INFO  org.apache.kafka.clients.consumer.internals.AbstractCoordinator - [Consumer clientId=consumer-1, groupId=consumerGroup14] Successfully joined group with generation 3
2019-05-03 17:52:45,912 [main] INFO  org.apache.kafka.clients.consumer.internals.ConsumerCoordinator - [Consumer clientId=consumer-1, groupId=consumerGroup14] Setting newly assigned partitions [mytopic-2, mytopic-0, mytopic-1]
2019-05-03 17:52:45,919 [main] INFO  org.jsmart.zerocode.core.kafka.receive.KafkaReceiver - polling records  - noOfTimeOuts reached : 3
2019-05-03 17:52:46,921 [main] INFO  org.apache.kafka.clients.consumer.internals.AbstractCoordinator - [Consumer clientId=consumer-1, groupId=consumerGroup14] Sending LeaveGroup request to coordinator xx-kafka-host-xx:9092 (id:<PHONE_NUMBER> rack: null)
2019-05-03 17:52:47,356 [main] WARN  org.jsmart.zerocode.core.engine.assertion.JsonAsserter - Path: $.records[0].key was not found in the response. Hence this value was treated as null.
2019-05-03 17:52:47,358 [main] WARN  org.jsmart.zerocode.core.engine.assertion.JsonAsserter - Path: $.records[0].value.name was not found in the response. Hence this value was treated as null.
2019-05-03 17:52:47,374 [main] ERROR org.jsmart.zerocode.core.runner.StepNotificationHandler - Failed assertion during Scenario:Produce a JSON message to a kafka topic, --> Step:consume_step, Details: Assertion path '$.records[0].key' with actual value 'null' did not match the expected value '101'
Assertion path '$.records[0].value.name' with actual value 'null' did not match the expected value 'Jey'
2019-05-03 17:52:47,379 [main] ERROR org.jsmart.zerocode.core.runner.StepNotificationHandler - Assertion failed for :-
[Produce a JSON message to a kafka topic]
|
|
+---Step --> [consume_step]
Failures:
Assertion path '$.records[0].key' with actual value 'null' did not match the expected value '101'
Assertion path '$.records[0].value.name' with actual value 'null' did not match the expected value 'Jey'
(See below 'Actual Vs Expected' to learn why this step failed)
java.lang.RuntimeException: Assertion failed for :-
[Produce a JSON message to a kafka topic]
|
|
+---Step --> [consume_step]
Failures:
Assertion path '$.records[0].key' with actual value 'null' did not match the expected value '101'
Assertion path '$.records[0].value.name' with actual value 'null' did not match the expected value 'Jey'
at org.jsmart.zerocode.core.runner.StepNotificationHandler.handleAssertionFailed(StepNotificationHandler.java:37)
at org.jsmart.zerocode.core.runner.StepNotificationHandler.handleAssertion(StepNotificationHandler.java:71)
at org.jsmart.zerocode.core.runner.ZeroCodeMultiStepsScenarioRunnerImpl.runScenario(ZeroCodeMultiStepsScenarioRunnerImpl.java:274)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.runLeafJsonTest(ZeroCodeUnitRunner.java:198)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.runChild(ZeroCodeUnitRunner.java:118)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.runChild(ZeroCodeUnitRunner.java:45)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.jsmart.zerocode.core.runner.ZeroCodeUnitRunner.run(ZeroCodeUnitRunner.java:101)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

2019-05-03 17:52:47,414 [main] INFO  org.jsmart.zerocode.core.runner.ZeroCodeMultiStepsScenarioRunnerImpl -
--------- TEST-STEP-CORRELATION-ID: ef57c1a2-e920-450c-bbcd-7160a7eff6ca ---------
*requestTimeStamp:2019-05-03T17:52:42.654
step:consume_step
url:kafka-topic:mytopic
method:consume
request:
{
"consumerLocalConfigs" : {
"recordType" : "JSON",
"commitSync" : true,
"maxNoOfRetryPollsOrTimeouts" : 3,
"showRecordsConsumed" : true,
"pollingTime" : 1000
}
}
--------- TEST-STEP-CORRELATION-ID: ef57c1a2-e920-450c-bbcd-7160a7eff6ca ---------
Response:
{
"records" : [ ],
"size" : 0
}
*responseTimeStamp:2019-05-03T17:52:47.342
*Response delay:4688.0 milli-secs
---------> Assertion: <----------
Assertion path '$.records[0].key' with actual value 'null' did not match the expected value '101'
Assertion path '$.records[0].value.name' with actual value 'null' did not match the expected value 'Jey'
-done-
2019-05-03 17:52:47,628 [main] INFO  org.jsmart.zerocode.core.engine.listener.ZeroCodeTestReportListener - ### ZeroCode: Test run completed for this runner. Generating test reports and charts. More help and examples are available at the README in GitHub
2019-05-03 17:52:47,983 [main] INFO  org.jsmart.zerocode.core.domain.builders.ExtentReportsFactory - Where were the tests fired? Ans: OS:Linux, Architecture:amd64, Java:1.8.0_181
Please ignore topic name and host name as I have changed them for security reasons.
Tried below solutions but no luck:

Commented out the 'produce' operation and execute test for 'consume' operation only. But it is not working.
Tried with running producer and consumer in one go but still its failing.

Please suggest a solution for this.
Also please let me know if more details are required.

Hello @rahul-mali-mpf, We will have a look soon n get back here.
Looks like you have shared the important bits(great stuff 👍), we might ask for more details if needed.

It was kafka configuration issue. Resolved now.

It was kafka configuration issue. Resolved now.

Hi Rahul, could tell me what was configuration issue here and how to resolve it... I am also facing same.

Kafka was running in Docker container. And Dev team writes the Docker file for kafka docker Image.
They updated the Docker file and created new Kafka Docker image. The updated Kafka docker image is able to receive and consume the messages. Not remember exactly as its too old issue but i believe they updated the Kafka configuration to accept the messages globally.
For now this is the only info I have. Sorry if it does not help you.

Hi @rahul-mali-mpf ,
I am having the exact same problem. I have a topic with several thousands of messages in it. I just want to produce a message, consume that exact message and validate the data returned. Producing works fine. On consumption, I am getting the same error you were getting.
My Kafka is not running in Docker, it is on Amazon's managed portal MSK.
Any help in this regard will be much appreciated. If you can attach your .properties file then it may help unblock me.
Regards,
Kushagra

It all works fine now as expected @kt0984 . This has been sorted over the Slack n web-meeting Y'day evening. Thanks for your patience Y'day over the discussion 🤗
Happy testing once again 🐼

Hi @kt0984 @authorjapps,
We are facing the same issue on AWS MSK and are not able to consume messages from zerocode, but other consumers work fine. Setup is with SSL if that matters. Local with kafka in a docker container it just works. Can you share your solution to this.
Thanks,
Dominik

Answering myself: so we managed to fix this by increasing the pollingTime to 2000 for that consume step.
I am not sure why this solves the problem, my wild guess would be something like the consumer looking up the broker for that partition, registering and such exceeds the 500ms so that we end before we actually receive anything.


[Slider] added sliderStyle prop

[ ] PR has tests / docs demo, and is linted.
[x] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[x] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Added sliderStyle prop to override the inner slider style. (e.g. margin)

Any chance we could push this in? It's disappointing that the slider is so huge and cannot be [customized]
(https://github.com/callemall/material-ui/blob/a1205cb9e9c4edb9daf253edbdeb26290945fe8d/src/Slider/Slider.js#L46-L54).

I have rebase this PR. Thanks @krebbl.


Website is not updated till server restart

I have configured reverse proxy to kestrel with nginx. When I redeploy the new DLLs using a script the site is not getting updated. I can see only the old site. When I try to kill dotnet process also it doesn't work. Even I tried restarting nginx, still no luck. I have to restart the server to see the changes. Why is it happening?
I want kestrel to detect changes when I update the files and automatically restart itself (or do something to publish the new site).

Could this be done with a drop file like IIS app_offline.htm
Also I run kerstrel under systemctl as recommened by docs so killing the process should recycle it.

Kestrel is a web server, it doesn't detect files on disk (it's just s library), doesn't and won't ever handle any deployment of your application itself.
Unfortunately there's no easy cross platform way to do what you want currently. app_offline only works for IIS scenarios. This should be handled at higher layers with a deployment technology that understands swapping out and restarting the running site.

@davidfowl Makes sense.  Is acceptable to run dotnet watch for this senario

dotnet-watch is a development tool and relies on having your csproj file available. I would not recommend it for production scenarios.


RequestError: connect ECONNREFUSED <IP_ADDRESS>

Current Behavior
I am trying to send the HTTP request to my local server (written using SpringBoot). Everything works well when I'm trying to send the HTTP request on any non-local URL.
I've added a curl request output as an example that the endpoint is correct and is available

Expected Behavior
Response OK and value hello printed as a result.
Steps To Reproduce

Run Node-RED using docker: docker run -it -p 1880:1880 - --name mynodered nodered/node-red
Import example flow
Start any separate local server. In my case, I've started the SpringBoot server on port 8088.
Replace the endpoint in the http-request node with your local server endpoint (if required)
Trigger flow with inject node

Example flow
[
    {
        "id": "f6f2187d.f17ca8",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": ""
    },
    {
        "id": "3cc11d24.ff01a2",
        "type": "comment",
        "z": "f6f2187d.f17ca8",
        "name": "WARNING: please check you have started this container with a volume that is mounted to /data\\n otherwise any flow changes are lost when you redeploy or upgrade the container\\n (e.g. upgrade to a more recent node-red docker image).\\n  If you are using named volumes you can ignore this warning.\\n Double click or see info side panel to learn how to start Node-RED in Docker to save your work",
        "info": "\nTo start docker with a bind mount volume (-v option), for example:\n\n```\ndocker run -it -p 1880:1880 -v /home/user/node_red_data:/data --name mynodered nodered/node-red\n```\n\nwhere `/home/user/node_red_data` is a directory on your host machine where you want to store your flows.\n\nIf you do not do this then you can experiment and redploy flows, but if you restart or upgrade the container the flows will be disconnected and lost. \n\nThey will still exist in a hidden data volume, which can be recovered using standard docker techniques, but that is much more complex than just starting with a named volume as described above.",
        "x": 350,
        "y": 80,
        "wires": []
    },
    {
        "id": "9316dbc05f2db9ec",
        "type": "http request",
        "z": "f6f2187d.f17ca8",
        "name": "",
        "method": "GET",
        "ret": "txt",
        "paytoqs": "ignore",
        "url": "http://localhost:8088/hello",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "",
        "senderr": false,
        "x": 390,
        "y": 260,
        "wires": [
            [
                "573f5c29c13f60b1"
            ]
        ]
    },
    {
        "id": "a80f9fae6605c117",
        "type": "inject",
        "z": "f6f2187d.f17ca8",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 180,
        "y": 260,
        "wires": [
            [
                "9316dbc05f2db9ec"
            ]
        ]
    },
    {
        "id": "573f5c29c13f60b1",
        "type": "debug",
        "z": "f6f2187d.f17ca8",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 610,
        "y": 260,
        "wires": []
    },
    {
        "id": "72ea016f43224f58",
        "type": "catch",
        "z": "f6f2187d.f17ca8",
        "name": "",
        "scope": null,
        "uncaught": false,
        "x": 160,
        "y": 380,
        "wires": [
            [
                "7efa12bc6fc501d6"
            ]
        ]
    },
    {
        "id": "7efa12bc6fc501d6",
        "type": "debug",
        "z": "f6f2187d.f17ca8",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 330,
        "y": 380,
        "wires": []
    }
]

Environment

Node-RED version: v2.2.2
Node.js version: v14.18.2
npm version: 6.14.15
Platform/OS: Alpine Linux v3.12
Browser: Chrome

This is because you are running in a Docker container.
Each Docker container has it's own TCP/IP stack, that means that each container has it's own loop back interface (lo) which has the IP address <IP_ADDRESS> so when you give Node-RED the address localhost or <IP_ADDRESS> it will try and connect to the lo interface in the container not the host where your sever is running.
Since you appear to be running on a mac, you can try replacing <IP_ADDRESS> with host.docker.internal

@hardillb Thank you for your quick reply!
As you described I've replaced <IP_ADDRESS> with host.docker.internal and it works: http://host.docker.internal:8088/hello;
Thank you!


feat(docker): add basic healthcheck support

Summary

This can help run Gatus with Docker behind proxy like Nginx:
  gatus:
    image: twinproduction/gatus:v4.0.0
    restart: always
    volumes:
      - ./config/gatus:/config
      - ./data/gatus:/data/
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:8080 || exit 1"]
      interval: 30s
      retries: 5
      timeout: 3s

Checklist

[ ] Tested and/or added tests to validate that the changes work as intended, if applicable.
[ ] Added the documentation in README.md, if applicable.

I'm not against updating the docker-compose example with Postgres, but as for adding one for Gatus, I don't think it's really useful.
Gatus ensures that all configuration is validated on start, and technically, nothing else should be able to cause Gatus to exit.
https://github.com/TwiN/gatus/blob/04a682eddc50b9eb5c456ab3eb6563e83c116f4e/main.go#L17-L20
I'd also like to keep the Docker image as small as possible, and that may be hard if we want to have a working shell (since Gatus' image uses an empty/scratch image as base).

Gatus ensures that all configuration is validated on start, and technically, nothing else should be able to cause Gatus to exit.

Yep, that make sense. Closing for now.


Add support to also ingest a unit for a metric

I am trying to use this action in the Keptn project and was wondering if it's possible to also send a unit alongside my metric?

hey, at the moment not, but I will check if I can introduce that.


fix: syntax problems

Describe what this PR does / why we need it
fix syntax problems
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please create a same PR to branch of 2021.x.

@steverao please review again

@steverao please review again

we maintain branch of 2.2.x and 2021.x, you should create a same PR to another.

#2768 like this?


Child scenes cause parent to lose state

Hello,
On a previous navigation lib I was using, navigating to a child scene and back again kept the initial scene/route in memory, and navigating back again kept the view in the same state.
For example, using StackNavigator my initial route is a ViewPager, each with a ScrollView. If I go to a ViewPager page which isn't the initial, and scroll down, navigating to a child route and back again (using goBack()) causes the ViewPager to reset and also the scroll position to be lost.
I get this is possible to fix with Redux and it also lowers memory consumption, but is there anything internally which would allow this to be possible?

AFAIK cardstack keeps scenes mounted, at least the immediate previous screen, so this shouldn't happen.
cc @ericvicenti any idea why this could happen?

Cheers.
My stack path is as follows... Matches is the ViewPager, Match is the child - assuming this is still correct?
 Matches: {
    screen: Matches,
  },
  Match: {
    screen: Match,
    path: 'match/:id',
  },

Looks correct to me.
BTW you can use the TabNavigator instead of a viewpager. The state is stored in navigation state and you also get automatic back button handling (optional). Though this doesn't solve the original issue.

@satya164 Ideally yes we would use that... however we can have lots of tabs which will span more than the full width of the screen. Therefore when the user swipes along to a view off screen the tab bar would need to move with it and re-align itself... https://github.com/react-community/react-navigation/issues/86 shows an example :)

I am using Redux, if that is causing the issue.

Have you managed to solve it by any chance?

Pinging OP on this issue. cc @Ehesp

Since @skevy pinged the OP in May and we haven't heard back, I'm closing this issue.


Make the metrics registry configurable

A number of people have asked me about this so I wanted to follow up with more details on it.
First, to clarify how this works currently with each of the underlying metrics libraries:

For opentelemetry, we call opentelemetry_api::global::meter(""). Applications need to call set_meter_provider for this to have an effect. We call another method that calls this one in the autometrics::global_metrics_exporter function.

Also note that opentelemetry uses the prometheus crate under the hood, so we set up the opentelemetry exporter to use the default registry provided by the prometheus crate

For prometheus, we encode metrics to the provided default registry. This is included by default and doesn't need any special initialization.
For metrics, they have a Recorder trait and a set_boxed_recorder function to install that globally. We use the metrics_exporter_prometheus::PrometheusBuilder::install method to set this globally in the autometrics::global_metrics_exporter initialization function.

I had initially imagined allowing the registry to be configured for each function (#[autometrics(registry = REGISTRY)]). However, someone recently pointed out that this would not only be a bit tedious but actually error-prone because you might forget to pass that argument to some invocations.
A better alternative is to allow the registry to be configured globally for all calls to autometrics. However, what we actually need this to do will be slightly different for each metrics library we're using.

opentelemetry - you can already set your own registry if you don't use our prometheus_exporter helper functions
metrics - you can also already set your own registry if you don't use our prometheus_exporter helper functions
prometheus - we would need to change all of our calls to the macros like register_int_counter_vec! to the _with_registry! variants. We would have our own static that is the registry and as long as the method to set the global registry is called before the Lazy metrics are initialized, it would use the correct registry. This crate exposes a Registry struct
prometheus_client - this crate exposes a Registry struct. Similar to the prometheus crate, we would have a global static for the registry and it would work as long as the set_global_registry function is called before our metrics are lazily initialized

Something I'm not sure about is what the type signature for a set_global_registry function would be. autometrics determines which metrics library to use based on the feature flags you have set. It seems a bit odd for the signature to depend on feature flags.
We could create our own Registry trait that's implemented for T: metrics::Recorder, prometheus::Registry, and prometheus_client::registry::Registry. But it also seems a bit odd that the version it would actually expect would be based on the feature flags. We'd need to ensure that you don't accidentally set the wrong type if you have multiple of the metric library feature flags enabled.
... 🤔
In short, I think this is a reasonable feature request but I'm a bit puzzled about how to implement it.

If we allow you to pass in the registry, maybe we can also get rid of the backends module where we expose the prometheus-client's registry. Instead of exposing it, we could just tell users to pass it in if they want to include custom metrics alongside the autometrics metrics.


Introduce @me.id and @me.userName to simplify working with the current user

Discussed in https://github.com/pnp/cli-microsoft365/discussions/3055

Originally posted by waldekmastykarz February 14, 2022
We have commands that require you to specify the user's ID or name. Currently, there's no way to easily specify information about the current user. There are some workarounds like retrieve the user name from the status command. If you need user's ID you'd pass the name to the aad user get command. We could also consider custom implementations in the different commands to introduce specific options like --me. But this is all too cumbersome.
Since we have information about the current user already available in the access token, we could introduce tokens like @me.id and @me.userName that we'd replace with the corresponding information, similarly like we pass content from files. This would free us from having to have command-specific implementations and would make it easier to work with data specific to the current user.
What do you think @pnp/cli-for-microsoft-365-maintainers?
This should be implemented just before we replace @ tokens with file contents: https://github.com/pnp/cli-microsoft365/blob/21e7f85ee4f6e0e77e3872bca56f11e70bcbb423/src/cli/Cli.ts#L165. In the implementation we need to consider both delegated and app-only auth. @me tokens should work only in delegated mode. In app-only auth they should be replaced with empty values to avoid considering appId a user ID.
Together with this change we should update docs and add a new section after https://pnp.github.io/cli-microsoft365/user-guide/using-cli/#passing-complex-content-into-cli-options that explains which tokens are available and how they can be used.
Checklist:

[ ] code
[ ] test
[ ] docs

Hi @pnp/cli-for-microsoft-365-maintainers,
I worked today on the solution and noticed the following challenges.
I would rename @me.id and @me.userName to @meId and @meUserName. The main reason is when working with the command line. If we use the dot in the name, we must use quotes around the string. By keeping @meId or @meUserName, this is not required.
I would love to replace the values before we validate the command arguments. By doing so, we are not breaking any command with this new addition. Unfortunately, we do not have the access tokens required to perform the desired activity at that stage. Do you think it might be possible to make changes to ensure we have the values before validation? If we cannot do this, we might have to rewrite most of the command validations to support the newly introduced tokens.
Thank you for your feedback,
Patrick

I like the idea to remove the '.' and use @meid or @meusername 👍
Not sure if I full understand the second part but I think it's always good to validate first before executing more complex logic 🤔
BTW I was not aware of this @me concept 😅 We should have a sample with this and advertise it 😉 or added in the user guide in some 'tips and tricks' page 😉

We don't have @me just yet. We're going to introduce it here and when we do, we'll absolutely extend our docs to show its usage.

Not sure if I full understand the second part but I think it's always good to validate first before executing more complex logic

Which part could I explain better?

@waldekmastykarz, do you have a suggestion where I can extend the validation for guide?

We've got it here: https://github.com/pnp/cli-microsoft365/blob/de62fbe209ee4438efc4072ef5887bbc51ec0d0a/src/utils/validation.ts#L8-L12


Natus Order Encryption

Story
As a lab using Natus, so that orders can be delivered into my LIMS, I need the order payload to be encrypted in the form that Natus requires.
Pre-conditions

[ ] Assumptions of prior or future work that's out of scope for this story

Acceptance Criteria

[ ] Required outcomes of the story

Tasks
Research

[ ] Research work needed to complete the story
[ ] Foundational: High-level research that will support this and future efforts

Engineering

[ ] Engineering work needed to complete the story
[ ] Foundational: Technical runway work to support this and future efforts

Definition of Done

[ ] Documentation tasks completed

[ ] Documentation and diagrams created or updated

[ ] Implementation guide (/ig folder)
[ ] ADRs (/adr folder)
[ ] Main README.md
[ ] Other READMEs in the repo
[ ] If applicable, update the ReportStream Setup section in README.md

[ ] Threat model updated
[ ] API documentation updated

[ ] Code quality tasks completed

[ ] Code refactored for clarity and no design/technical debt
[ ] Adhere to separation of concerns; code is not tightly coupled, especially to 3rd party dependencies
[ ] Code is reviewed or developed by pair; 1 approval is needed but consider requiring an outside-the-pair reviewer
[ ] Code quality checks passed

[ ] Security & Privacy tasks completed

[ ] Security & privacy gates passed

[ ] Testing tasks completed

[ ] Load tests passed
[ ] Unit test coverage of our code >= 90%

[ ] Build & Deploy tasks completed

[ ] Build process updated
[ ] API(s) are versioned
[ ] Feature toggles created and/or deleted.  Document the feature toggle
[ ] Source code is merged to the main branch

Research Questions

Optional: Any initial questions for research

Decisions

Optional: Any decisions we've made while working on this story

Notes

Optional: Any reference material or thoughts we may need for later reference

Closed as RS (Ott) has done this work.

See https://github.com/CDCgov/prime-reportstream/issues/12925


Errors when detecting device - Diffuser

Describe the bug
When I add the integration I see the device correctly and it show 2 entities, but neither works the on/off or the light
Expected behavior
The on/off should switch the diffuser on/off and the light control has a rbg configuration in the Tuya App, there is also a Weak/Strong feature on the app, which doesn't appear in the integration, but that could be an enhacement
Screenshots
If applicable, add screenshots to help explain your problem.
Device info
{
"result": {
"active_time":<PHONE_NUMBER>,
"biz_type": 0,
"category": "jsq",
"create_time":<PHONE_NUMBER>,
"icon": "smart/icon/1525845952fdp74cirr3t6okop58w0wl8fr_0.png",
"id": "51082010e8db84cae16a",
"ip": "<IP_ADDRESS>",
"lat": "-33.7066982",
"local_key": "34494dca012af695",
"lon": "150.9078416",
"model": "",
"name": "Diffuser",
"online": true,
"owner_id": "31807239",
"product_id": "6ASdNwe9IdaewQEl",
"product_name": "Aromatherapy machine",
"status": [
{
"code": "switch_spray",
"value": true
},
{
"code": "switch_led",
"value": true
},
{
"code": "mode",
"value": "small"
},
{
"code": "colour_data_hsv",
"value": "{"h":214.0,"s":255.0,"v":255.0}"
},
{
"code": "work_mode",
"value": "white"
},
{
"code": "moodlighting",
"value": "1"
},
{
"code": "bright_value",
"value": 255
}
],
"sub": false,
"time_zone": "+10:00",
"uid": "eu16227858687542g6fx",
"update_time":<PHONE_NUMBER>,
"uuid": "51082010e8db84cae16a"
},
"success": true,
"t":<PHONE_NUMBER>390
}
2021-07-04 23:14:34 ERROR (MainThread) [homeassistant.components.light] Error adding entities for domain light with platform tuya_v2
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 383, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 588, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 615, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 368, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 404, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 796, in state_attributes
color_mode = self._light_internal_color_mode
File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 644, in _light_internal_color_mode
if COLOR_MODE_HS in supported and self.hs_color is not None:
File "/config/custom_components/tuya_v2/light.py", line 262, in hs_color
s_range = self._tuya_hsv_s_range()
File "/config/custom_components/tuya_v2/light.py", line 308, in _tuya_hsv_s_range
return hsv_s.get("min", 0), hsv_s.get("max", 255)
AttributeError: 'NoneType' object has no attribute 'get'

@hiraniha  Can you provide the device's specification?

@hiraniha Can you provide the device's specification?

IS this what you are refferring to?
{
"result": {
"category": "jsq",
"functions": [
{
"code": "switch_led",
"type": "Boolean",
"values": "{}"
},
{
"code": "switch_spray",
"type": "Boolean",
"values": "{}"
},
{
"code": "mode",
"type": "Enum",
"values": "{"range":["small","large"]}"
},
{
"code": "colour_data_hsv",
"type": "Json",
"values": "{"min":0,"unit":"","scale":0,"max":255,"step":1}"
},
{
"code": "work_mode",
"type": "Enum",
"values": "{"range":["white","colour","colourful1"]}"
},
{
"code": "moodlighting",
"type": "Enum",
"values": "{"range":["1","2","3"]}"
},
{
"code": "bright_value",
"type": "Integer",
"values": "{"min":0,"scale":0,"unit":"","max":255,"step":1}"
}
],
"status": [
{
"code": "switch_led",
"type": "Boolean",
"values": "{}"
},
{
"code": "switch_spray",
"type": "Boolean",
"values": "{}"
},
{
"code": "mode",
"type": "Enum",
"values": "{"range":["small","large"]}"
},
{
"code": "colour_data_hsv",
"type": "Json",
"values": "{"min":0,"unit":"","scale":0,"max":255,"step":1}"
},
{
"code": "work_mode",
"type": "Enum",
"values": "{"range":["white","colour","colourful1"]}"
},
{
"code": "moodlighting",
"type": "Enum",
"values": "{"range":["1","2","3"]}"
},
{
"code": "bright_value",
"type": "Integer",
"values": "{"min":0,"scale":0,"unit":"","max":255,"step":1}"
}
]
},
"success": true,
"t":<PHONE_NUMBER>907
}

@hiraniha on/off is supported in v1.3.1.
And the light, there is some wrong with the product DP code. We will fix it soon.

I saw v1.3.1 pop up today, I'll upgrade and confirm if the on/off is resolved.
Look forward to the solution for the light

I can confirm on/off now works.
When I add to Lovelace, it looks like this.  The Humidity is redundant for a Diffuser really.

The Tuya app actually has Modes : Strong, Weak and Off
When I select Weak, it shows On- small

When I select Strong it show On - large

But when I select off which comes after Strong, it continues to show On - large


Crash when using SPI bluetooth controller with IRQ pin attached to port expander

Describe the bug
When using an SPI-attached bluetooth controller (e.g. BlueNRG-MS) whose IRQ pin is attached to a port expander, deadlocks and subsequent crashes occur. This is because both the blutetooth stack and the port expander driver rely on the system work queue.
The sequence of events is as follows:

Bluetooth stack submits a work item to the system work queue (grep -Rw k_work_submit subsys/bluetooth/)
This work item calls bt_hci_cmd_send_sync, which blocks on sync_sem: https://github.com/zephyrproject-rtos/zephyr/blob/9f46db90c832e56363c5d7bb42892651b39b271d/subsys/bluetooth/host/hci_core.c#L329-L330
sync_sem is given through bt_spi_rx_thread -> bt_recv -> ... -> hci_cmd_complete -> hci_cmd_done when an interrupt is received on the SPI interface
In order to dispatch pin interrupt callbacks, the port expander driver schedules a work item in the system work queue (grep k_work_submit drivers/gpio/*.c).
Now, the system work queue is blocked (in bt_hci_cmd_send_sync), waiting for the next item in the system work queue (the interrupt callback) to be run.

Example backtrace of the blocking work item (which eventually errors):
...
#5  0x0803031e in _oops () at $ZEPHYR/arch/arm/core/aarch32/swap_helper.S:570
#6  <signal handler called>
#7  0x08034c60 in bt_hci_cmd_send_sync (opcode=opcode@entry=8202, buf=buf@entry=0x2004ec08 <_net_buf_hci_cmd_pool+32>, rsp=rsp@entry=0x0) at $ZEPHYR/subsys/bluetooth/host/hci_core.c:330
#8  0x08037fd2 in bt_le_adv_set_enable_legacy (adv=adv@entry=0x20020a48 <bt_dev+24>, enable=<optimized out>) at $ZEPHYR/subsys/bluetooth/host/adv.c:336
#9  0x0803800e in bt_le_adv_set_enable (adv=adv@entry=0x20020a48 <bt_dev+24>, enable=enable@entry=true) at $ZEPHYR/subsys/bluetooth/host/adv.c:386
#10 0x080386ec in bt_le_adv_resume () at $ZEPHYR/subsys/bluetooth/host/adv.c:1513
#11 0x08039b6a in bt_conn_unref (conn=conn@entry=0x20027b28 <acl_conns>) at $ZEPHYR/subsys/bluetooth/host/conn.c:1267
#12 0x0803aaa2 in deferred_work (work=0x20027b88 <acl_conns+96>) at $ZEPHYR/subsys/bluetooth/host/conn.c:1734
#13 0x080aaec4 in work_queue_main (workq_ptr=0x2002c6e0 <k_sys_work_q>, p2=<optimized out>, p3=<optimized out>) at $ZEPHYR/kernel/work.c:668
#14 0x0801c38a in z_thread_entry (entry=0x80aadf5 <work_queue_main>, p1=0x2002c6e0 <k_sys_work_q>, p2=0x0, p3=0x0) at $ZEPHYR/lib/os/thread_entry.c:36
#15 0xaaaaaaaa in ?? ()

Example backtrace of a successful run of the interrupt callback, triggering bt_spi_rx_thread (in the deadlock case, this work item is stuck in the work queue):
#0  bt_spi_isr (unused1=0x80b5f44 <__device_dts_ord_35>, unused2=0x20038970 <gpio_cb>, unused3=1) at $ZEPHYR/drivers/bluetooth/hci/spi.c:165
#1  0x0806cff4 in gpio_fire_callbacks (list=list@entry=0x2002204c <mcp230xx_0_drvdata+28>, port=port@entry=0x80b5f44 <__device_dts_ord_35>, pins=1) at $ZEPHYR/include/zephyr/drivers/gpio/gpio_utils.h:78
#2  0x0806db6a in mcp23xxx_work_handler (work=0x20022064 <mcp230xx_0_drvdata+52>) at $ZEPHYR/drivers/gpio/gpio_mcp23xxx.c:446
#3  0x080aaec4 in work_queue_main (workq_ptr=0x2002c6e0 <k_sys_work_q>, p2=<optimized out>, p3=<optimized out>) at $ZEPHYR/kernel/work.c:668
#4  0x0801c38a in z_thread_entry (entry=0x80aadf5 <work_queue_main>, p1=0x2002c6e0 <k_sys_work_q>, p2=0x0, p3=0x0) at $ZEPHYR/lib/os/thread_entry.c:36
#5  0xaaaaaaaa in ?? ()

Example backtrace of the bt_spi_rx_thread unblocking the first work item:
#0  hci_cmd_complete (buf=0x2004ebe8 <_net_buf_hci_cmd_pool>) at $ZEPHYR/subsys/bluetooth/host/hci_core.c:2101
#1  0x0803335c in handle_event_common (event=event@entry=14 '\016', buf=buf@entry=0x2004ebe8 <_net_buf_hci_cmd_pool>, handlers=handlers@entry=0x80c42b8 <prio_events>, num_handlers=num_handlers@entry=5) at $ZEPHYR/subsys/bluetooth/host/hci_core.c:164
#2  0x08034148 in handle_event (event=<optimized out>, buf=buf@entry=0x2004ebe8 <_net_buf_hci_cmd_pool>, handlers=handlers@entry=0x80c42b8 <prio_events>, num_handlers=num_handlers@entry=5) at $ZEPHYR/subsys/bluetooth/host/hci_core.c:176
#3  0x08036284 in hci_event_prio (buf=buf@entry=0x2004ebe8 <_net_buf_hci_cmd_pool>) at $ZEPHYR/subsys/bluetooth/host/hci_core.c:3475
#4  0x0803635e in bt_recv (buf=buf@entry=0x2004ebe8 <_net_buf_hci_cmd_pool>) at $ZEPHYR/subsys/bluetooth/host/hci_core.c:3525
#5  0x08076760 in bt_spi_rx_thread () at $ZEPHYR/drivers/bluetooth/hci/spi.c:381
#6  0x0801c38a in z_thread_entry (entry=0x80764fd <bt_spi_rx_thread>, p1=0x0, p2=0x0, p3=0x0) at $ZEPHYR/lib/os/thread_entry.c:36
#7  0xaaaaaaaa in ?? ()

To Reproduce
Steps to reproduce the behavior: None so far, but I can try to create a reproducer if necessary (though it would still require specific hardware)
Expected behavior
No deadlocks occur, bluetooth works as expected.
Impact
Bluetooth is unusable on boards where a BlueNRG-MS's IRQ pin is connected through a port expander.
Logs and console output
Eventually crashes with an oops:
ASSERTION FAIL [err == 0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/host/hci_core.c:330
	k_sem_take failed with err -11
[00:01:10.319,000] <err> os: r0/a1:  0x00000003  r1/a2:  0x00000002  r2/a3:  0x00000000
[00:01:10.319,000] <err> os: r3/a4:  0x00000000 r12/ip:  0x000abadb r14/lr:  0x08034c55
[00:01:10.319,000] <err> os:  xpsr:  0x41000000
[00:01:10.319,000] <err> os: s[ 0]:  0x00000000  s[ 1]:  0x00000000  s[ 2]:  0x00000000  s[ 3]:  0x00000000
[00:01:10.319,000] <err> os: s[ 4]:  0x00000000  s[ 5]:  0x00000000  s[ 6]:  0x00000000  s[ 7]:  0x00000000
[00:01:10.320,000] <err> os: s[ 8]:  0x00000000  s[ 9]:  0x00000000  s[10]:  0x00000000  s[11]:  0x00000000
[00:01:10.320,000] <err> os: s[12]:  0x00000000  s[13]:  0x00000000  s[14]:  0x00000000  s[15]:  0x00000000
[00:01:10.320,000] <err> os: fpscr:  0x00000000
[00:01:10.320,000] <err> os: Faulting instruction address (r15/pc): 0x08034c60
[00:01:10.320,000] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
[00:01:10.320,000] <err> os: Current thread: 0x2002c6e0 (sysworkq)
[00:01:10.320,000] <err> os: Halting system

Environment (please complete the following information):

OS: Linux
Toolchain: Zephyr SDK 0.15.1
Commit SHA or Version used: v3.3.0

Additional context
I have found some past issues related to the use of the system work queue by the bluetooth stack:

#49661
#53455

@arbrauns  what platform is this?

I'll take a look. Bluetooth should not be blocking the syswq at any time, so it is a pretty bad bug indeed.

@arbrauns what platform is this?

It's running on an stm32f767, with the following bluetooth-related Kconfigs:
CONFIG_BT=y
CONFIG_BT_SPI=y
CONFIG_BT_SPI_BLUENRG=y
CONFIG_BT_HCI_TX_STACK_SIZE=1024
CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y
CONFIG_BT_HCI_ACL_FLOW_CONTROL=n # not supported by bluetooth module
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DEVICE_NAME_DYNAMIC=y

@arbrauns The Bluetooth subsystem can be configured to use either the system workqueue or a dedicated one for RX (although it will still use the system workqueue for other operations). Can you check that CONFIG_BT_RECV_CONTEXT is set to CONFIG_BT_RECV_WORKQ_BT?
I don't think this will fix your problem, but let's continue the investigation.

Yes, CONFIG_BT_RECV_WORKQ_BT is default-set.

I don't think it has magically fixed itself, the bluetooth subsystem still submits work to the system work queue.

@arbrauns the stale label just means that the issue hasn't seen activity, not that it's gone.

It does mean that the issue will effectively be closed as wontfix.

the workaround reasonable: use a memory-mapped GPIO instead of an extender.

Can't really do that if the hardware already exists.

@arbrauns is it only bt_le_adv_resume that's blocking you right now? I can make a quick PR to move that out.
The deadlock thing will be addressed by making the stack runnable with pre-emptible prios, which I've just started work on, but that will take time.

@arbrauns do you still have this issue?
@arbrauns is it only bt_le_adv_resume that's blocking you right now? I can make a quick PR to move that out.
See also #52364

Sorry, I'm currently busy with other things, it might take me another week or two to test this again. 3.4.0 has also changed a couple things related to HCI-SPI interrupt handling, so this exact issue might not even be relevant anymore.

FYI, the following patch is a functioning workaround in my setup:
From f427ec6882fdc28d0b9d09f45cda53e70ce9f13f Mon Sep 17 00:00:00 2001
From: Armin Brauns<EMAIL_ADDRESS>Date: Fri, 3 Mar 2023 11:28:30 +0100
Subject: [PATCH] bluetooth: put workqueue items in local workqueue instead of
 syswq

See https://github.com/zephyrproject-rtos/zephyr/issues/55279

Signed-off-by: Armin Brauns<EMAIL_ADDRESS>---
 subsys/bluetooth/host/conn.c     |  8 +++++---
 subsys/bluetooth/host/hci_core.c | 25 ++++++++++++++++---------
 2 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/subsys/bluetooth/host/conn.c b/subsys/bluetooth/host/conn.c
index 344b10de5b8..63474a8db31 100644
--- a/subsys/bluetooth/host/conn.c
+++ b/subsys/bluetooth/host/conn.c
@@ -64,6 +64,8 @@ BUILD_ASSERT(sizeof(struct tx_meta) == CONFIG_BT_CONN_TX_USER_DATA_SIZE,
 #define tx_data(buf) ((struct tx_meta *)net_buf_user_data(buf))
 K_FIFO_DEFINE(free_tx);

+extern struct k_work_q bt_workq;
+
 static void tx_free(struct bt_conn_tx *tx);

 static void conn_tx_destroy(struct bt_conn *conn, struct bt_conn_tx *tx)
@@ -812,7 +814,7 @@ static void conn_cleanup(struct bt_conn *conn)

 	bt_conn_reset_rx_state(conn);

-	k_work_reschedule(&conn->deferred_work, K_NO_WAIT);
+	k_work_reschedule_for_queue(&bt_workq, &conn->deferred_work, K_NO_WAIT);
 }

 static void conn_destroy(struct bt_conn *conn, void *data)
@@ -1099,7 +1101,7 @@ void bt_conn_set_state(struct bt_conn *conn, bt_conn_state_t state)
 			}
 #endif /* CONFIG_BT_GAP_AUTO_UPDATE_CONN_PARAMS */

-			k_work_schedule(&conn->deferred_work,
+			k_work_schedule_for_queue(&bt_workq, &conn->deferred_work,
 					CONN_UPDATE_TIMEOUT);
 		}
 #endif /* CONFIG_BT_CONN */
@@ -1203,7 +1205,7 @@ void bt_conn_set_state(struct bt_conn *conn, bt_conn_state_t state)
 		if (IS_ENABLED(CONFIG_BT_CENTRAL) &&
 		    conn->type == BT_CONN_TYPE_LE &&
 		    bt_dev.create_param.timeout != 0) {
-			k_work_schedule(&conn->deferred_work,
+			k_work_schedule_for_queue(&bt_workq, &conn->deferred_work,
 					K_MSEC(10 * bt_dev.create_param.timeout));
 		}

diff --git a/subsys/bluetooth/host/hci_core.c b/subsys/bluetooth/host/hci_core.c
index f04d817fd37..71dfde97020 100644
--- a/subsys/bluetooth/host/hci_core.c
+++ b/subsys/bluetooth/host/hci_core.c
@@ -70,10 +70,12 @@ LOG_MODULE_REGISTER(bt_hci_core);
 static void rx_work_handler(struct k_work *work);
 static K_WORK_DEFINE(rx_work, rx_work_handler);
 #if defined(CONFIG_BT_RECV_WORKQ_BT)
-static struct k_work_q bt_workq;
+static struct k_work_q rx_workq;
 static K_KERNEL_STACK_DEFINE(rx_thread_stack, CONFIG_BT_RX_STACK_SIZE);
 #endif /* CONFIG_BT_RECV_WORKQ_BT */
 #endif /* !CONFIG_BT_RECV_BLOCKING */
+struct k_work_q bt_workq;
+static K_KERNEL_STACK_DEFINE(workq_thread_stack, 2048);
 static struct k_thread tx_thread_data;
 static K_KERNEL_STACK_DEFINE(tx_thread_stack, CONFIG_BT_HCI_TX_STACK_SIZE);

@@ -501,7 +503,7 @@ static void hci_num_completed_packets(struct net_buf *buf)
 			sys_slist_append(&conn->tx_complete, &tx->node);
 			irq_unlock(key);

-			k_work_submit(&conn->tx_complete_work);
+			k_work_submit_to_queue(&bt_workq, &conn->tx_complete_work);
 			k_sem_give(bt_conn_get_pkts(conn));
 		}

@@ -3840,7 +3842,7 @@ static void rx_queue_put(struct net_buf *buf)
 #if defined(CONFIG_BT_RECV_WORKQ_SYS)
 	const int err = k_work_submit(&rx_work);
 #elif defined(CONFIG_BT_RECV_WORKQ_BT)
-	const int err = k_work_submit_to_queue(&bt_workq, &rx_work);
+	const int err = k_work_submit_to_queue(&rx_workq, &rx_work);
 #endif /* CONFIG_BT_RECV_WORKQ_SYS */
 	if (err < 0) {
 		LOG_ERR("Could not submit rx_work: %d", err);
@@ -4032,7 +4034,7 @@ static void rx_work_handler(struct k_work *work)
 #if defined(CONFIG_BT_RECV_WORKQ_SYS)
 		err = k_work_submit(&rx_work);
 #elif defined(CONFIG_BT_RECV_WORKQ_BT)
-		err = k_work_submit_to_queue(&bt_workq, &rx_work);
+		err = k_work_submit_to_queue(&rx_workq, &rx_work);
 #endif
 		if (err < 0) {
 			LOG_ERR("Could not submit rx_work: %d", err);
@@ -4097,12 +4099,17 @@ int bt_enable(bt_ready_cb_t cb)

 #if defined(CONFIG_BT_RECV_WORKQ_BT)
 	/* RX thread */
-	k_work_queue_init(&bt_workq);
-	k_work_queue_start(&bt_workq, rx_thread_stack,
+	k_work_queue_init(&rx_workq);
+	k_work_queue_start(&rx_workq, rx_thread_stack,
 			   CONFIG_BT_RX_STACK_SIZE,
 			   K_PRIO_COOP(CONFIG_BT_RX_PRIO), NULL);
-	k_thread_name_set(&bt_workq.thread, "BT RX");
+	k_thread_name_set(&rx_workq.thread, "BT RX");
 #endif
+	k_work_queue_init(&bt_workq);
+	k_work_queue_start(&bt_workq, workq_thread_stack,
+			   K_THREAD_STACK_SIZEOF(workq_thread_stack),
+			   K_PRIO_COOP(CONFIG_BT_RX_PRIO), NULL);
+	k_thread_name_set(&bt_workq.thread, "BT WorkQ");

 	err = bt_dev.drv->open();
 	if (err) {
@@ -4116,7 +4123,7 @@ int bt_enable(bt_ready_cb_t cb)
 		return bt_init();
 	}

-	k_work_submit(&bt_dev.init);
+	k_work_submit_to_queue(&bt_workq, &bt_dev.init);
 	return 0;
 }

@@ -4181,7 +4188,7 @@ int bt_disable(void)

 #if defined(CONFIG_BT_RECV_WORKQ_BT)
 	/* Abort RX thread */
-	k_thread_abort(&bt_workq.thread);
+	k_thread_abort(&rx_workq.thread);
 #endif

 	bt_monitor_send(BT_MONITOR_CLOSE_INDEX, NULL, 0);
--
2.34.1

FYI, the following patch is a functioning workaround in my setup:

Could you please open a PR so we can discuss this approach in it?

I don't really think it's a viable approach, it's just my dirty workaround. I don't currently have the bandwidth to come up with something good.


Feature request: exclude devices on scanning

I am living in a dense urban area. I'm trying to flash a Tuya device, but my neighbour's eufy RoboVac 35C-xxxx always pops up first in the list, making it hard to flash my device.
Please add a way of excluding devices for flashing.

I'm not certain excluding is the right approach, as opposed to including what is intended.  I'll think about what may be the best approach here.
In the mean time, you can modify common.sh line 4 from AP_CONNECTED_ENDING="" to AP_CONNECTED_ENDING="-ABCD" where -ABCD is the ending of the SSID you are attempting to exploit.

Thank you, that will work for now.


Driver not working correctly with display 135 x 240 pixels

I want to use the driver with this board: https://github.com/Xinyuan-LilyGO/TTGO-T-Display
The display is 1.14 inch and has 135 x 240 pixels.
I have to use software SPI and a dummy pin (25) for MISO.
from machine import Pin, SPI
import st7789
spi = SPI(-1, baudrate=40000000, polarity=1, phase=0, sck=Pin(18), mosi=Pin(19), miso=Pin(25))
display = st7789.ST7789(spi, 135, 240, reset=Pin(23, Pin.OUT), dc=Pin(16, Pin.OUT), cs=Pin(5, Pin.OUT))
display.init()
tftbl = Pin(4, Pin.OUT)
tftbl.on()
display.fill(st7789.WHITE)

The display is switched on but the white color is not written on the complete display.
The example code for the board uses an Arduino driver (https://github.com/Bodmer/TFT_eSPI) which works perfectly.
It seems the driver needs an offset in x and y direction (CGRAM_OFFSET).

Yes, it seems the library needs offsets for other sizes.
But I don't have the TTGO-T board, so it would be difficult to test the results.
Could you please add the required changed and make a pull request?

It seems, there is a fork that is intended to work with your display.
https://github.com/mmone/st7789_mpy/commit/0590b495a6f7be6a9e3b7ccc66d252d4505ac087
Can you please check it works with your display, and then I will add support for it

I created a fork and implemented the changes. It works!

Thanks for the pull request. Unfortunately, it breaks the original 240x240 display.
I added changes that allow using both 240x240 and 135x240 displays.
Could you please test it on your LCD?

Great, it works with 135x240 pixels! Thank you very much.

hello, i have the same ttgo board, could you please send me the firmware, i can't compile it


Fails on Windows

node 4.1 / npm 2.x
npm install throws:

./node_modules/.bin/hoodie:

Tested in Win 7 with latest Node.js LTS (v.4.4.4) and npm v2.15.1 and it works now. The only problem is that levelDB did not install because it requires python, but Hoodie starts when run in memory


Unable to use buffers malloced with HIP with an HIP device

I'm trying to use a buffer allocated with HIP as the input to my RT filter. However, doing so throws a
Exception thrown at 0x00007FFEC8B4543C in PathTracer.exe: Microsoft C++ exception: oidn::Exception at memory location 0x0000008644AFE660.
exception when calling setImage("color", hipMalloced, ...);
oidn::DeviceRef device;
device = oidn::newDevice(oidn::DeviceType::HIP);
device.commit();

hipDeviceptr_t hipMallocedInput;
hipDeviceptr_t hipMallocedOutput;
hipMalloc(&hipMallocedInput, sizeof(ColorRGB) * 1280 * 720);
hipMalloc(&hipMallocedOutput, sizeof(ColorRGB) * 1280 * 720);

oidn::FilterRef filter = device.newFilter("RT");
filter .setImage("color", hipMallocedInput, oidn::Format::Float3, 1280, 720);
filter .setImage("output", hipMallocedOutput, oidn::Format::Float3, 1280, 720);
filter .commit();

Allocating the HIP buffers with hipMallocManaged yields the same kind of exception.
The only way I found to have denoising work on an HIP device is by using oidn::Buffer for both the input and output to the filter. This however requires twice the amount of VRAM: once for the oidn::Buffer and once for the HIP buffer that use in my application. I also have to copy the data from my HIP buffer to the oidn::Buffer before denoising which is expensive.
Am I missing something in the usage of the API?
I'm running Windows 11 on an AMD RX 7900XTX (Adrenalin drivers 24.5.1) using the 2.3.0 beta release binaries (same issue with the 2.2.0).

This is very strange for two reasons.
First, I don't understand how an oidn::Exception isn't handled, regardless of the reason. Exceptions are thrown only inside OIDN and are also caught internally, so this should never happen. oidn::Exception is derived from std::exception. Could you try to catch it and print the exception string? But again, no exception should leave OIDN.
Second, passing pointers allocated with hipMalloc should work fine. I tried it on Linux and it worked without issues. I haven't tried it on Windows yet.
Could you please share the full code of a minimal reproducer?

The error message you get is also a bit strange to me. It's Exception thrown but if I have an unhandled exception I get an Unhandled exception error. Did you set up the debugger to break on any exception, even if it's handled?

This is my minimal reproducer code:
#include <iostream>

#include <Orochi/Orochi.h>
#include <OpenImageDenoise/oidn.hpp>

struct ColorRGB
{
    float r, g, b;
};

int main(int argc, char* argv[])
{
    oroInitialize((oroApi)(ORO_API_HIP), 0);

    oidn::DeviceRef device = oidn::newDevice(oidn::DeviceType::HIP);
    device.commit();

    hipDeviceptr_t hipMallocedInput;
    hipDeviceptr_t hipMallocedOutput;
    hipMallocManaged(&hipMallocedInput, sizeof(ColorRGB) * 1280 * 720, hipMemAttachGlobal);
    hipMallocManaged(&hipMallocedOutput, sizeof(ColorRGB) * 1280 * 720, hipMemAttachGlobal);

    oidn::FilterRef m_beauty_filter = device.newFilter("RT");
    m_beauty_filter.setImage("color", hipMallocedInput, oidn::Format::Float3, 1280, 720);
    m_beauty_filter.setImage("output", hipMallocedOutput, oidn::Format::Float3, 1280, 720);
    m_beauty_filter.commit();

    const char* errorMessage;
    if (device.getError(errorMessage) != oidn::Error::None)
        std::cout << errorMessage << std::endl;

    return 0;
}

The printed device error is an oidn::Error::InvalidArgument with message image data not accessible by the device, please use OIDNBuffer or device allocator for storage.
The important point is that it uses Orochi to load HIP dynamically at runtime. I cannot reproduce my issue in a standard HIP setup.
Even though this seems to be an Orochi issue, do you perhaps have some insights on what could go wrong? What could be the issue with dynamically loaded binaries vs. linking at compile time?
The Exception thrown message comes from the output window of Visual Studio. The exception is indeed caught in OIDN and does not break the debugger.

Thanks, this is very useful. I will give it a try but it doesn't seem that Orochi should make any difference.
Do you have a single AMD GPU in the machine (so no AMD iGPUs, only the discrete one)?

Do you have a single AMD GPU in the machine (so no AMD iGPU, only the discrete one)?

Correct.
I also tried the code I posted above on Ubuntu 22.04 and got the same error as on Windows.

I tried your code on Ubuntu 22.04, Radeon RX 7900 XT and ROCm 5.7.3 but unfortunately I cannot reproduce the issue. There are no errors reported.

What ROCm version are you using?

I tried again with a fresh clone of Orochi main and could still reproduce the issue on both Windows (ROCm 5.7) and Ubuntu 22.04 (ROCm 6.1.1). Maybe the error is in my workflow?
I cloned Orochi and modified  Orochi/UnitTest/premake5.lua by adding the includedirs { "../", "../OIDN/include" } and  libdirs { "../OIDN/lib" } directives. The OIDN folder is at the root of the cloned Orochi repo and contains the lib and include folders from the 2.3.0 beta release binaries.
I then pasted my "minimal reproducer code" above in  Orochi/UnitTest/main.cpp and configured/compiled the project from the Orochi root folder:
./tools/premake5/linux/premake5 gmake
make -j
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/tom/Desktop/Orochi/OIDN/lib ./dist/bin/Debug/Unittest64D

>
image data not accessible by the device, please use OIDNBuffer or device allocator for storage
What can I try next?

I managed to track down the issue: it is caused by using two different HIP runtimes in the same application: version 5 and 6. OIDN is currently built with ROCm 5 and if you build your application also with ROCm 5, there is no error. However, Orochi loads HIP runtime v6 by default, which it seems cannot be mixed with v5 in the same application. Since this is a limitation of HIP, nothing can be done on the OIDN side but I see two options:

Rebuild OIDN with ROCm 6. Unfortunately this is currently possible only on Linux because there is still no HIP SDK 6 for Windows.
Modify Orochi to always load HIP runtime v5 instead of v6. You need to comment out some lines here:
https://github.com/GPUOpen-LibrariesAndSDKs/Orochi/blob/58db9c18b952f5148f0e4465a86a66e487d50525/contrib/hipew/src/hipew.cpp#L655
https://github.com/GPUOpen-LibrariesAndSDKs/Orochi/blob/58db9c18b952f5148f0e4465a86a66e487d50525/contrib/hipew/src/hipew.cpp#L673
https://github.com/GPUOpen-LibrariesAndSDKs/Orochi/blob/58db9c18b952f5148f0e4465a86a66e487d50525/contrib/hipew/src/hipew.cpp#L631
https://github.com/GPUOpen-LibrariesAndSDKs/Orochi/blob/58db9c18b952f5148f0e4465a86a66e487d50525/contrib/hipew/src/hipew.cpp#L635
I confirmed that this works.

And I can also confirm that this works! Forcing the loading of HIP runtime v5 by commenting the lines you gave did the job and works fine on both Windows and Linux.
Thanks for your time!


selenium/chromedriver method not working on OSX

Trying to get this to work on OSX Sierra 10.12.4.
I installed all the packages successfully.
From python2, I did mint = mintapi.Mint(email, password)
This launched a new instance of Chrome opening the Mint website, where I tried to log in.
But then I got this in python console:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/mintapi/api.py", line 69, in __init__
    self.login_and_get_token(email, password, ius_session, thx_guid)
  File "/usr/local/lib/python2.7/site-packages/mintapi/api.py", line 135, in login_and_get_token
    session_cookies = self.get_session_cookies(**data)
  File "/usr/local/lib/python2.7/site-packages/mintapi/api.py", line 187, in get_session_cookies
    driver.find_element_by_link_text("Log In").click()
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 337, in find_element_by_link_text
    return self.find_element(by=By.LINK_TEXT, value=link_text)
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 791, in find_element
    'value': value})['value']
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"Log In"}
  (Session info: chrome=58.0.3029.110)
  (Driver info: chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.4 x86_64)

I tried the chrome://settings/cookies method, and foundius_session and thx_guid --  in different cookies -- pf.intuit.com and accounts.intuit.com -- and this worked!
Thanks

Glad that worked! Closing as this appears to be a duplicate of #95

@mrooney can you explain the fix? I don't understand "I tried the chrome://settings/cookies method, and foundius_session and thx_guid -- in different cookies -- pf.intuit.com and accounts.intuit.com -- and this worked!"
I am currently getting the following error based on the 1.39 update:
File "/Users/rafilurie/Projects/cash/flaskvue/backend/venv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute     self.error_handler.check_response(response)   File "/Users/rafilurie/Projects/cash/flaskvue/backend/venv/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response     raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"LOG IN"}   (Session info: chrome=75.0.3770.142)   (Driver info: chromedriver=2.41.578706 (5f725d1b4f0a4acbf5259df887244095596231db),platform=Mac OS X 10.14.2 x86_64)

Can you try the just-released 1.40? I don't think 1.39 was released properly with the fix.


Table

Can you make a table container with additem method. Sort row,copy rows title etc,like charles ui.

Can you describe it more maybe with screenshot and where do you want a table container .
I actually completed all todo of this project .Since fyne is not that developed yet . I intend to create a new project entirely with flutter and go .

https://www.charlesproxy.com/
https://images.sftcdn.net/images/t_app-cover-l,f_auto/p/2c8ecad8-96d7-11e6-a1be-00163ec9f5fa/3576983848/charles-screenshot.png

@ddkwork ,  I can make it but what type of data is it intended to store

@ddkwork ,  I can make it but what type of data is it intended to store

Binary

@ddkwork ,  I can make it but what type of data is it intended to store

Can you release it for study?


Add support for $nin operator

Refs #251.

In this PR only one test case but it tests all data types. I was going to test it as I have done in previous PRs but it looks kind of excessive (example below).
{
		"NinDouble": {
			q:           bson.D{{"value", bson.D{{"$nin", bson.A{42.11, 0.0, math.Copysign(0, -1), math.MaxFloat64, math.SmallestNonzeroFloat64, math.Inf(+1), math.Inf(-1), math.NaN(), primitive.Binary{Subtype: 0x80, Data: []byte{42, 0, 13}}, primitive.Binary{Data: []byte{}}, primitive.NewDateTimeFromTime(time.Date(2021, 11, 1, 10, 18, 42, 123000000, time.UTC)), primitive.NewDateTimeFromTime(time.Unix(0, 0)), primitive.NewDateTimeFromTime(time.Date(0, 1, 1, 0, 0, 0, 0, time.UTC)), primitive.NewDateTimeFromTime(time.Date(9999, 12, 31, 23, 59, 59, 999000000, time.UTC)), nil, primitive.Regex{Pattern: "foo", Options: "i"}, primitive.Regex{}, int32(42), int32(0), int32(math.MaxInt32), int32(math.MinInt32), primitive.Timestamp{T: 42, I: 13}, primitive.Timestamp{I: 1}, int64(42), int64(0), int64(math.MaxInt64), int64(math.MinInt64), false, true, "foo", ""}}}}},
			expectedIDs: []any{"array-empty", "document", "document-empty",  "double"},
		},

Thank you!


Cannot find module 'gpu.js' or its corresponding type declarations @handsontable/angular

angular version :12.0.0

+1
Error: node_modules/hyperformula/typings/Config.d.ts:13:26 - error TS2307: Cannot find module 'gpu.js' or its corresponding type declarations.


when installed, 4 arrow keys became abdc with insert mod

when installed, 4 arrow keys become abdc with insert mod.
i use the maximum-awesome vim frameworks.
and the vim version:
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug  9 2014 00:48:01)

Still an issue?

Closing due to inactivity.


Issue connecting to Kubernetes cluster after transferring deployment

After receiving the directory for one of our Kubernetes deployments on Azure, I was unable to run terraform apply after doing terraform init, receiving the following error message:
│ Error: Kubernetes cluster unreachable: invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable
│
│   with module.aiidalab.helm_release.jupyterhub,
│   on modules/aiidalab/jupyterhub.tf line 1, in resource "helm_release" "jupyterhub":
│    1: resource "helm_release" "jupyterhub" {

Doing a bit of searching lead to this thread on Stackoverflow, where one of the suggestions was to set the KUBE_CONFIG_PATH variable. Currently, the template sets the KUBECONFIG variable instead when executing source setup-kubeconfig (and also in the README instructions):
https://github.com/aiidalab/aiidalab-on-azure/blob/7cfb29d50dde0b048c339b3f0ade33b7aac9824d/template/{{hostname}}/setup-kubeconfig#L6
However, it seems this has been deprecated in favour of using KUBE_CONFIG_PATH:
https://github.com/hashicorp/terraform-provider-helm/blob/main/website/docs/guides/v2-upgrade-guide.markdown
For our deployment at least, setting KUBE_CONFIG_PATH allowed the terraform plan command to run successfully.

@sphuber would you be able to update the template to incorporate this?


Update build.gradle

removed jcenter()
Add the issue linked to this PR
close #
Please choose one of the two templates and delete this message and the other template
Template 1 [New Feature]
Description:
very small explanation about what was done
Check list for the Code Reviewer:

[ ] CHANGELOG
[ ] README
[ ] Wiki
[ ] Version Number

Template 2 [Bug]
Bug
Cause:
small explanation
Reproduce
more detail steps better
GIVEN:
WHEN:
THEN:
How the bug was solved:
Small explanation

Hey @edgeone89 thanks for the PR.
What is driven this change?
What would be the possible impacts?
Which tests did you executed?
Please update PR name for something more meaningful.
Please edit the PR description with only the information need

no updates


Revert "Revert "Implement IS-1308""

This reverts commit bf77097fdba6dd73f7d0fad2cc506ad8e2aea328.

@mikelodder7 there are at least 3 review items from my side, please find the list below:

update design doc docs/design/004-payment-interface
improve test coverage
implement appropriate functionality in the wrappers or create follow-up tickets and link them from initial one

1st point should be very helpful for other maintainers to better understanding the value of the changes and why it's worth breaking changes of API.

Perhaps I'm missing something but all the tests in medium_tests are just failure test cases. The high test cases seem to be the ones with success tests.

seems like some tests are broken:
e.g. cargo test for libnullpay on windows hangs like in https://build.sovrin.org/job/indy-sdk/job/indy-sdk-ci/job/PR-1720/15/execution/node/1350/log/?consoleFull

seems like some tests are broken:
e.g. cargo test for libnullpay on windows hangs like in https://build.sovrin.org/job/indy-sdk/job/indy-sdk-ci/job/PR-1720/15/execution/node/1350/log/?consoleFull

Yeah and I don't know why. It always hangs on my box. I copied the format for the other tests so I'm not sure why that was introduced.

seems like some tests are broken:
e.g. cargo test for libnullpay on windows hangs like in https://build.sovrin.org/job/indy-sdk/job/indy-sdk-ci/job/PR-1720/15/execution/node/1350/log/?consoleFull

Yeah and I don't know why. It always hangs on my box. I copied the format for the other tests so I'm not sure why that was introduced.

In this particular case you can find a backtrace and the error with arrays boundaries, so it should be easy to debug and fix (at least this case).


[CNCF] Migrate Slack

Parts of the CNCF onboarding issue tracked by this issue
This is the list of all bullet points from the CNCF onboarding issue that this issue will track:

[ ] Slack: Are your slack channels migrated to the Kubernetes or CNCF Slack? (see https://slack.com/help/articles/217872578-Import-data-from-one-Slack-workspace-to-another for more details)

We should move our Slack Channels to the CNCF workspace. Obviously there will be some coordination costs to doing this. Hopefully if we make a lot of announcements and pin some messages in our current channels, everyone will be able to find the new location. We should discuss the best way to go about this and the timeline. It looks somewhat straightforward to migrate the content of public channels.
We discussed this very briefly at last week's meeting and @fidencio pointed out that we are currently running into limitations with the free Slack that we have been using. Conveniently this also means that we don't really have that much history to preserve.

I am proposing that we migrate the Slack to the CNCF workspace over the first weekend of April (the second and third of April).
Hypothetically we could maintain some presence in both workspaces. We definitely want to maintain our connections with the Kata community. On the other hand we want to maximize our presence in the CNCF and avoid fracturing discussion. Thus, I think it's probably best to switch decisively from one Slack to another. Early April seems like a reasonable timeline?
Any thoughts?

Reviewed and fully agree moving to a new channel in CNCF workspace on first week of April

On the Kata slack side, maybe we should keep the existing channel open and let it co-exist with the CNCF one for e.g. 3 months. And then rename it to confidential-containers-integration to make it clear that the scope of the channel is really about discussing the CC changes that needs to go to upstream Kata?

I am proposing that we migrate the Slack to the CNCF workspace over the first weekend of April (the second and third of April).

+1. Just a note/reminder to get this updated once the new workspace is available.

Ok, since we're going to keep the Kata CC slack going, it probably doesn't make much sense to copy all of the contents from Kata Slack to the CNCF Slack. This means that we don't have to do any dramatic switchover where we try to get everyone to move from one to the other at the same time. I will make a CC CNCF channel in the near future and next week we can start recruiting people to join it and updates the various links.
Does that sound good?

Sounds very good. Given that we will keep the Kata slack around, we can open the CNCF one sooner than later as long as a few of us at least are hanging in there initially.

Ok, we now have a #confidential-containers channel in the CNCF Slack workspace. You can join the workspace here. I added invited a few people who were already in the workspace.

Ok, I think we can close this now that https://github.com/confidential-containers/.github/pull/8 is merged.


chore: bdd-spring-1573127649 to 0.0.1

chore: Promote bdd-spring-1573127649 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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


v0.1.4

Current dependencies on/for this PR:

main

PR #90   👈

This comment was auto-generated by Graphite.


Update db-migration.sh

Closes #
📑 Description

✅ Checks

[x] My pull request adheres to the code style of this project
[x] My code requires changes to the documentation
[x] I have updated the documentation as required
[x] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[x] No

ℹ Additional Information

Description by Korbit AI
What change is being made?
Modify db-migration.sh to conditionally display a warning about the non-existence of the schema version table only in the production environment (PRD).
Why are these changes being made?
The change ensures that warnings about the schema version table's absence are logged only when the operation is performed against the production database, reducing unnecessary warnings in non-production environments. This allows developers to focus on critical warnings related to production deployments.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

Summary by CodeRabbit

Bug Fixes

Improved error handling and warning messages for schema version table checks in production environments.

Chores

Refined logic for issuing warnings to avoid unnecessary alerts in non-production environments.

@gstraccini codacy bypass


Offer convenience directly_accessible app filter parameter & application model methods

Based on 2021-02-19 call
Target Behavior
Add a context based convenience filter parameter

get(nameOrSlugOrId: string | number, options?: PineOptions<Application>, context?: 'directly_accessible')
application.getAll(options?: PineOptions<Application>, context?: 'directly_accessible')

Add convenience method overloads for this predefined filter, to make them more discoverable:

getDirectlyAccessible(nameOrSlugOrId: string | number, options?: PineOptions<Application>)
application.getAllDirectlyAccessible(options?: PineOptions<Application>)

The application.get() change & the getDirectlyAccessible() addition can be introduced in the current major, but for consistency it might make sense to introduce all changes together in the next major after #1067.
Current Behavior
Currently

application.getAll() returns only directly accessible application
application.get() returns any application that the permissions grant the user access to, which can be confusing

Fixed by 924d5f7bdbffd8ae9b602b75a38d6a9d5835b70c


Remove version: Intel.Iometer version 1.1.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/iometer/files/iometer-stable/1.1.0/iometer-1.1.0-win32.i386-setup.exe/download
Status Code: 200
(Automated message - build 897)

Close with reason: Package still available;


New Numbering System for Milestones/Tasks

The business owners have created a new numbering system for milestones/tasks.  A new field is required in the milestones/tasks table.  The old numbering field can remain for reference purposes of existing milestones/tasks.
Reference item 109

A new column for the new poams/tasks numbering structure in the poams table will not be required.  The same column (i.e. shortName) will be used for the new numbering structure.
This issue can be closed.


Outdated Link

The second link under the List of basic attributes of C++ implementation is outdated.
https://github.com/dmlc/mxnet/blob/master/docs/how_to/new_op.md

Guess no NNVM branch now. Should be this:
https://github.com/dmlc/mxnet/blob/master/include/mxnet/op_attr_types.h


[Bug] when pressing down key deletes all the text in the chat box

VS Code Version:
1.85.2
8b3775030ed1a69b13e4f4c628c612102e30a681
x64
OS Version: ubuntu 20.04
Logs:

Steps to Reproduce:

open Copilot chat window
write text
press down key

This is fixed in vscode insiders


[rhoai-2.8] Run the static code checks on push and when manually triggered

GHA that only runs on pull_request is hard to test; I have to create PR to see it run. With this change, the action can be tested in my personal fork before I create a PR
(cherry picked from commit da7c9da3369a971a929677e06ac11c7cde595f97)

Please, we should have this also in rhoai-2.10 branch.

/cherrypick rhoai-2.10

/cherrypick rhoai-2.10

/cherrypick rhoai-2.10


Epic: tenant migration between storage versions

We've talked about using logical dump/restore to move tenants in case of the storage format change. But that requires compute to be enabled and currently we don't have too much manual control over it. Also, a logical dump is somewhat a crutch, and building some features to support it seems like the wrong idea.
With some brainstorming during on-call handovers we've come up with a plan that seems to be better:

[ ] Implement pg_basebackup-compatible endpoint in the pageserver. Whatever storage version pageserver is running it anyway can decode it to the postgres format. So we can leverage this format as "lingua franca" of our storage formats. Also, we don't care if compute is running or not -- we just talk to the pageserver.
[ ] Implement something like per-tenant start_backup/stop_backup in the pageserver. To be able to import physical backup we need to be sure that the safekeeper has the necessary WAL. We can delay sending s3_consistent_lsn from the pageserver to achieve that. start_backup starts that delay, stop_backup stops.
[ ] Backpatch this endpoint to the old pageserver on staging.
[ ] Implement a backup receiver endpoint in the pageserver. Code there should be quite close to import_local_directory. As for the wire format, it would be cool to use the same basebackup protocol.
[ ] Implement push_backup binary that uploads postgres backup into the pageserver. Again, the iterator over files should be close to the one used in import_local_directory.

That seems to be enough to handle relocation manually.
Follow ups:

Import can be used as an alternative to making initdb on the pageserver. If one day we will support custom settings in initdb we can make it near compute and feed resulting files into pageserver.
This epic describes manual relocation, but all that process is quite to S3-based relocation, so I think we can make it to be an option in usual rebalancing, so that tenant movement can be done via S3 or via direct communications between pageservers (and in this case receiving pageserver can call start_backup/stop_backup by himself)
Create a corresponding operation in the console

These options are not equal. With "basebackup" solution we lose all the history.

Right. We can make it if we want:
Option 1. Do back up at the oldest possible LSN; load WALs from S3; Pageserver 2 will load that WAL and regenerate history.
Option 2. Just do the backup and wait PITR time before deleting the old pageserver. With that setup we will know that the new pageserver has new data.

Implement something like per-tenant start_backup/stop_backup in the pageserver. To be able to import physical backup we need to be sure that the safekeeper has the necessary WAL. We can delay sending s3_consistent_lsn from the pageserver to achieve that. start_backup starts that delay, stop_backup stops.

It won't if we take a backup at some moment in the past and the WAL is already offloaded.
@LizardWizzard , is it difficult to implement loading WAL from S3?
We can even download it directly to pageserver, until it catches up with what safekeepers have.

TODO: clarify API for tenant import

It shouldnt be too hard to create a binary that downloads all the wal from s3. We have needed abstractions in libs/remote_storage. Let me know if you have any questions

IIRC, we still haven't enabled S3 offloading on production safekeeepers, so all WAL is stored on the safekeepers disks. That means that we can query something like START REPLICATION 0/1696B50 on any safekeeper and it will stream WAL from the beginning of the timeline.
And also it's very easy to implement S3 WAL dynamic downloading on safekeepers, so that START REPLICATION will always work, even if WAL was offloaded to S3.

With this thing, we can move tenants on staging out of the outdated pageserver. I think it is okay to lose history for this operation. We anyway do not allow branching or cluster reset so it wouldn't have any visible effect.

I am looking at the safekeepers' WAL offloading code (release branch) and I am confused.
https://github.com/neondatabase/neon/blob/f88fe021/safekeeper/src/safekeeper.rs#L937
Why does oldest_segno is Lsn::MAX when S3 is disabled?
Was it a bug? I don't see this code in the main branch anymore


New Bluesky user

@yusufk.co.za Yusuf Kaka - ex Microsoft head of technology, Africa transformation office

Added


Background-coloring of directories is awful

I use CMD and When ls -l, the default directory name text-background always appear awful. Can someone please change it?
Examples from Windows-Blue, Black, and Ubuntu Purple-Red backgrounds (the images you will see might be enlarged a bit so it will look less awful but try to imagine this with smaller text):

That's because the 'popup text' color is not set correctly.

You can try this color scheme https://github.com/neilpa/cmd-colors-solarized

Console issue, not specific to WSL.


Refs #27025 -- Fixed a couple timezone tests for Python 3.6.

Reflects behavior changes in PEP 495 (Local Time Disambiguation).

This looks good. Thanks.


HashMap.removeEntry() doesn't fully remove entry when stability = linked

When I remove an entry from a HashMap using removeEntry(), that entry still appears when I iterate over the map or access its items, though it doesn't appear if I try to access it by its key (map[key]). This doesn't happen if I use remove() directly, or if I specify unlinked stability when creating the map.
My test code:
shared void removedItemStays() {
    MutableMap<Integer, String> map = HashMap<Integer, String>(); // passing unlinked would make the assertions pass
    map.put(1, "one");
    map.put(2, "two");
    map.put(3, "three");
    map.removeEntry(2, "two");
//    map.remove(2); // using this instead would make the assertions pass
    assertFalse(map[2] exists, "Removed item is really gone"); // passes
    assertFalse(map.map((key->val) => val).any("two".equals), "Removed item is really gone"); // fails
    assertFalse(map.items.any("two".equals), "Removed item is really gone"); // would fail if we got here
}

In checking whether this was a known issue, I ran across #301, but since I'm experiencing this with removeEntry but not with remove, I think this is a separate issue.
ceylon --version reports ceylon version 1.3.3 0d594b3 (Contents May Differ), and I've tried building and running this code against ceylon.collection versions 1.3.3, 1.3.2, and 1.3.1 with the same results. (For what it's worth, I'm running this on a Mac, and Ceylon is installed via Homebrew.)

Fixed, thanks for reporting.