Make the advisor module more generic

This PR extends the data model for vulnerabilities by additional fields, so it can be used in a broader context. The new properties are from the domain of issue tracking systems. The goal is to represent more general findings related to software problems.
To reflect this broader scope, the model classes have been renamed - the general term Finding is now used. Renaming was also done for classes in the advisor module to indicate that an advisor is not limited to security vulnerabilities, but can produce arbitrary findings.
Notes

Maybe some commits could be squashed, but as comments needed to be updated as well, I think smaller commits are easier to review.
Some more renaming of client classes could be done. This is possible in a follow-up PR - I would like to get feedback about the proposed fields first.

@tsteenbe I see your point. If there are significant differences between the properties of different findings, it probably does not make sense to have a one-fits-all data model class.
That, however, opens the question what is the best way to integrate different finding types (with different sets of properties) into ORT's data model. Using base classes with specialized implementations as you propose, seems not to be easy with Kotlin's data classes (see for instance this StackOverflow question). Also, serialization and deserialization of a polymorphic data model would be rather complex.
So would it be an option to define multiple classes to represent advisor findings in parallel (such as Vulnerability, Defect, etc.) and extend AdvisorResult to store a list for each of these classes? A concrete advisor implementation can then decide which of these lists it populates.

That, however, opens the question what is the best way to integrate different finding types

@oheger-bosch, have you considered sealed classes?

So would it be an option to define multiple classes to represent advisor findings in parallel (such as Vulnerability, Defect, etc.) and extend AdvisorResult to store a list for each of these classes? A concrete advisor implementation can then decide which of these lists it populates.

I have a tendency towards this approach, because polymorphism adds more complexity than having separate fields, even though Jackson supports (de-)serialization of sealed classes. If we need to add/remove/change any of the advise types I would expect that it is easier to manage if they are separate, for example to keep backward compatibility. On the other hand separate fields will likely require more code to handle them in places where the differences do not matter.

That, however, opens the question what is the best way to integrate different finding types

@oheger-bosch, have you considered sealed classes?

Yes, I thought about this, too; but there is still the increased complexity with serialization. Also, I have the impression that the single classes in the hierarchy will not have that much attributes in common; so I don't think there will be much benefit in introducing a base class.

So would it be an option to define multiple classes to represent advisor findings in parallel (such as Vulnerability, Defect, etc.) and extend AdvisorResult to store a list for each of these classes? A concrete advisor implementation can then decide which of these lists it populates.

+1 for separate classes + separate lists for each instead of one class with all fields. Haven't thought too deep about polymorhic approach yet.

Thanks for the feedback. According to the comments, I close this PR in favour of #4493, which adds a separate class to represent defects.


Wrap the python_socks exceptions.

Currently, the python_socks exceptions are not wrapped: I don't know if this is intentional but httpx.AsyncClient / httpx.Client can raise python_socks exceptions that make the client code depend on the network configuration.
Possible patch (tests and sync_transports changes are missing):
diff --git a/httpx_socks/_async_transport.py b/httpx_socks/_async_transport.py
index fe7a031..c2179e5 100644
--- a/httpx_socks/_async_transport.py
+++ b/httpx_socks/_async_transport.py
@@ -1,11 +1,18 @@
 import sniffio

+import httpcore._exceptions  # noqa
 from httpcore import AsyncConnectionPool
 from httpcore._async.connection import AsyncHTTPConnection  # noqa
 from httpcore._utils import url_to_origin  # noqa
 from httpx._config import SSLConfig  # noqa

-from python_socks import ProxyType, parse_proxy_url
+from python_socks import (
+    ProxyType,
+    ProxyConnectionError,
+    ProxyTimeoutError,
+    ProxyError,
+    parse_proxy_url,
+)

 class AsyncProxyTransport(AsyncConnectionPool):
@@ -43,27 +50,35 @@ class AsyncProxyTransport(AsyncConnectionPool):
         timeout = extensions.get('timeout', {})
         connect_timeout = timeout.get('connect')

-        if connection is None:
-            socket = await self._connect_via_proxy(
-                origin=origin,
-                connect_timeout=connect_timeout
-            )
-            connection = AsyncHTTPConnection(
-                origin=origin,
-                http2=self._http2,
-                keepalive_expiry=self._keepalive_expiry,
-                ssl_context=self._ssl_context,
-                socket=socket
+        try:
+            if connection is None:
+                socket = await self._connect_via_proxy(
+                    origin=origin,
+                    connect_timeout=connect_timeout
+                )
+                connection = AsyncHTTPConnection(
+                    origin=origin,
+                    http2=self._http2,
+                    keepalive_expiry=self._keepalive_expiry,
+                    ssl_context=self._ssl_context,
+                    socket=socket
+                )
+                await self._add_to_pool(connection=connection, timeout=timeout)
+
+            response = await connection.handle_async_request(
+                method=method,
+                url=url,
+                headers=headers,
+                stream=stream,
+                extensions=extensions
             )
-            await self._add_to_pool(connection=connection, timeout=timeout)
-
-        response = await connection.handle_async_request(
-            method=method,
-            url=url,
-            headers=headers,
-            stream=stream,
-            extensions=extensions
-        )
+        except (ProxyConnectionError, ProxyError) as e:
+            raise httpcore._exceptions.ProxyError(e)
+        except ProxyTimeoutError as e:
+            raise httpcore._exceptions.TimeoutException(e)
+        except OSError as e:
+            # wrap errors when DNS resolution fails (socket.gaierror)
+            raise httpcore._exceptions.ConnectError(e)
         return response

     async def _connect_via_proxy(self, origin, connect_timeout):

Should I open a PR?

httpx-socks supports HTTP TUNNELING (not FORWARDING) proxies, by the way


WIP - DO NOT MERGE - Supports RFC 5425 and RFC 6587 msg-len fields

In order to support long messages, and messages containing the full range of UTF-8 messages a message length may be conveyed at the beginning of a message. As defined by the following RFCs:
https://tools.ietf.org/html/rfc5425
https://tools.ietf.org/html/rfc6587
The enhancement changes the behaviour of fluentd's TcpHandler to accept a function that determines whether the tcp message has been completely read. In the absence of a message length field in the message, the original behaviour of using a delimiter ("\n") is used. Otherwise the message length is honoured.

In your PR, it doesn't consider RFC5424's [foo bar="baz"] structured message?

ping. How about the progress of this PR?

Sorry @repeatedly - I decided on another route whereby we communicate directly with ES. It became important to have a back-pressure mechanism so that ES signalled the message provider when it could no longer process messages; otherwise there is a danger of losing messages. We also send messages once per second, or every 5MB depending on which occurs first.
I'll close out this issue, but hopefully this feedback is useful.

@huntc Interesting. What the tool do you use for back-pressure?

We home grew our own solution using akka-streams which is an implementation of reactive-streams.


fix(yunionconf): use sqlchemy backend

What this PR does / why we need it:

[x] Smoke testing completed

If yes, write the release branches name in the below format and submit the related cherry-pick PR:
/area yunionconf
/cc @zexi

/lgtm
/approve


Web Scrapping of Nykaa Cleanser Product

Scraping the Product Name , Price and Reviews
What type of PR is this? (check all applicable)

[x] 🚀 Web Scrapping
[x] ✨ Nykaa Products
[ ] 🌟 stared the repo
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
Here is the jupyter notebook script which will scrap the data of Nykaa Product( e.g: Skin Cleanser)
Add Link of GitHub Profile
Vicky Raghuwanshi

Contribution for Hacktober-Fest 2k22


FPRL-377: Adding create case end to end tests

Before creating a pull request make sure that:

[x] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[x] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/FPRL-377
Change description
Have added script to automate create case flow
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

changes are merged as part of another MR


Teacher's screen : increasing size font

2 out of 4 teachers said that the font on the teacher's screen is a bit too small
Il could be the same size as on the student's screen.

We should have a look at this one.

I increased the discussion texts as well, but now the "Students" list feels a bit small. If I should change something, please reopen


Update README.md

Enhanced the Readme.md file

Thanks for the suggestions but I'm still reasonably happy with the current ReadMe.

It reads a bit like it was run through a LLM.


Don't Merge! PR real time test for webhook case

Docs Build status updates of commit f2e77b7:
:clock10: Full build: the average full build time is 5 min(s) 59 sec(s), this is based on the last 577 build(s) for this repository.

Docs Build status updates of commit f2e77b7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

docs-ref-conceptual/testing.md
:bulb:Suggestion
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)
Details

docs-ref-conceptual/testing.md

[Suggestion] Missing attribute: either ms.prod or ms.service is required. Use ms.prod for on-premise products, or ms.service for cloud services.
[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


fix Dialog height and width with parameter

I am using office dialog and sending data to dialog by parameter and I am using height and width 15 because I need a small dialog when I pass a parameter then its width automatically increase to 30. when I am not using parameters then its works in 15 width.
`
 function ErrorMesage(Errmessage) {
     let ErrorMesagedialog; // Declare as global variable.
     Office.context.ui.displayDialogAsync('https://localhost:44333/ErrorMessage/Error.html?error=' + Errmessage, { height: 15, width: 15
 },

  function (asyncResult) {
         ErrorMesagedialog = asyncResult.value
         ErrorMesagedialog.addEventHandler(Office.EventType.DialogMessageReceived, processMessage);
    }
);
function processMessage(arg) {
    ErrorMesagedialog.close();
}
}`

you can see this in screenshot

this is showing full parameter as title but after 30 width not showing full title and showing like some title text and dots like title...

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

ID: a714626a-058a-789e-6add-5e9dfb21fd1f
Version Independent ID: 1b88a28c-fc36-4518-2808-7246f08d9753
Content: Use the Office dialog API in your Office Add-ins - Office Add-ins
Content Source: docs/develop/dialog-api-in-office-add-ins.md
Service: microsoft-365
Sub-service: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

@junaid042 , What Office product are you using in which this dialog truncation occurs?

@pinverso
I am using this

@pinverso ??


Configure Traefik as a proxy server with SSL support

I started including a proxy server as part of my development environment. It allows me to start multiple instances of the same image to more fully simulate a production environment. It also makes it easy to use a custom domain for local applications, as well (e.g., http://my-app.localhost).
The SSL certificates were generated by using my own Certificate Authority which I created following this blog post: Creating Self-Signed Certificate Authority to issue SSL certificates using Certificate Assistant on macOS.

Hi,
Thanks a lot for opening this PR.
Truthfully I don't use Traefik and I wouldn't feel comfortable adding and maintaining something I haven't run in production. Usually when I want a reverse proxy I reach for nginx because it's a proxy, static file server and load balacer all in 1. Also, typically I run nginx outside of Docker too which I've written about in detail in the past.
For local domains, are you using a dedicated DNS server?
And for running multiple instances of your web container, will Traefik load balance them with rolling restarts by default? I didn't see anything in the PR that would mention running more than 1 web container. With Docker Compose you can use docker-compose up --scale web=2 btw, but it's not load balanced and there's no upgrade strategy available.

Hi,
Thanks a lot for opening this PR.
Truthfully I don't use Traefik and I wouldn't feel comfortable adding and maintaining something I haven't run in production. Usually when I want a reverse proxy I reach for nginx because it's a proxy, static file server and load balacer all in 1. Also, typically I run nginx outside of Docker too which I've written about in detail in the past.
For local domains, are you using a dedicated DNS server?
And for running multiple instances of your web container, will Traefik load balance them with rolling restarts by default? I didn't see anything in the PR that would mention running more than 1 web container. With Docker Compose you can use docker-compose up --scale web=2 btw, but it's not load balanced and there's no upgrade strategy available.

I used to use nginx as well, and in my case, any time a containerized app I worked on went into production, it went into a much more complex Kubernetes setup. Which is where, actually, I discovered Traefik. From their website:

Traefik is a leading modern reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components and configures itself automatically and dynamically.
Traefik is designed to be as simple as possible to operate, but capable of handling large, highly-complex deployments across a wide range of environments and protocols in public, private, and hybrid clouds. It also comes with a powerful set of middlewares that enhance its capabilities to include load balancing, API gateway, orchestrator ingress, as well as east-west service communication and more.

So it does support load balancing (layer 4 and layer 7), but what I like most about it is the dynamic configuration. By default, Traefik listens to the Docker process and automatically detects when new containers comes online. That way you can use the docker-compose up --scale web=2 command and it will automatically be added to the a load balancer for that service. (I sometimes print the container hostname in the corner somewhere so I can see that it's working—sort of like how you print the Ruby version and environment in your default home page.)
Also, I statically configured SSL certificates, but Traefik does have built-in support for Let's Encrypt.
To be honest, I don't use Traefik for more than development, so that's all it's configured for in this PR. But it's pretty well documented. I wasn't sure if you would accept this PR, so I waited before updating the README with information about it, which I'm totally willing to do.
Even if you don't accept this PR, Traefik is totally worth checking out. The one downside is that it doesn't serve static files like nginx. (But in that capacity, is the nginx instance really running as a reverse proxy?)

I used to use nginx as well, and in my case, any time a containerized app I worked on went into production, it went into a much more complex Kubernetes setup. Which is where, actually, I discovered Traefik. From their website:

Traefik is a leading modern reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components and configures itself automatically and dynamically.
Traefik is designed to be as simple as possible to operate, but capable of handling large, highly-complex deployments across a wide range of environments and protocols in public, private, and hybrid clouds. It also comes with a powerful set of middlewares that enhance its capabilities to include load balancing, API gateway, orchestrator ingress, as well as east-west service communication and more.

So it does support load balancing (layer 4 and layer 7), but what I like most about it is the dynamic configuration. By default, Traefik listens to the Docker process and automatically detects when new containers comes online. That way you can use the docker-compose up --scale web=2 command and it will automatically be added to the a load balancer for that service. (I sometimes print the container hostname in the corner somewhere so I can see that it's working—sort of like how you print the Ruby version and environment in your default home page.)
Also, I statically configured SSL certificates, but Traefik does have built-in support for Let's Encrypt.
To be honest, I don't use Traefik for more than development, so that's all it's configured for in this PR. But it's pretty well documented. I wasn't sure if you would accept this PR, so I waited before updating the README with information about it, which I'm totally willing to do.
Even if you don't accept this PR, Traefik is totally worth checking out. The one downside is that it doesn't serve static files like nginx. (But in that capacity, is the nginx instance really running as a reverse proxy?)

There is a lot more work that needs to be done on this, so I will close it.

There is a lot more work that needs to be done on this, so I will close it.

Thanks for the idea, but yes there would be quite a lot of changes required for such a thing and I'm still not sure going all-in with Traefik is the right move at the time (for this project).

Thanks for the idea, but yes there would be quite a lot of changes required for such a thing and I'm still not sure going all-in with Traefik is the right move at the time (for this project).


Removed the unsafe 'sneaky throw'

Solves #2049 by reverting #1722.
This version contains the new runtime exception type NonFatalThrowable, which is thrown by Try#get(). It is a wrapper for non-fatal, non-runtime throwables. The original name was NonFatalException.
The FatalException disappeared. Instead we re-throw fatal errors. I changed the definition of fatal error. Now only a subset of Error is defined to be fatal. Previously we defined InterruptedException to be fatal. Scala folks interpret it as fatal because they expect it to be handled when Thread.sleep() is interrupted. But it is an Exception. By definition it can't be a fatal error that prevents the VM from running correctly.

Codecov Report

Merging #2272 into master will increase coverage by 0.01%.
The diff coverage is 97.18%.

@@             Coverage Diff              @@
##             master    #2272      +/-   ##
============================================
+ Coverage     97.18%   97.19%   +0.01%
- Complexity     5313     5314       +1
============================================
  Files            94       94
  Lines         12284    12311      +27
  Branches       1598     1598
============================================
+ Hits          11938    11966      +28
- Misses          192      193       +1
+ Partials        154      152       -2

Impacted Files
Coverage Δ
Complexity Δ

vavr/src-gen/main/java/io/vavr/API.java
92.79% <ø> (ø)
193 <0> (ø)
:arrow_down:

vavr/src/main/java/io/vavr/Value.java
93.72% <100%> (ø)
142 <1> (+1)
:arrow_up:

...-test/src-gen/main/java/io/vavr/test/Property.java
100% <100%> (ø)
19 <0> (ø)
:arrow_down:

vavr/src/main/java/io/vavr/control/Try.java
96.11% <90.9%> (+0.36%)
99 <0> (ø)
:arrow_down:

...r/src/main/java/io/vavr/concurrent/FutureImpl.java
79.33% <0%> (ø)
27% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


[ChemWalker] chemwalker_nextflow_workflow in GNPS2 failed with default COCONUT DB

The classical molecular network was obtained from classical_networking_workflow in GNPS2
GNPS2 TaskID to use: 69777aa026ac455988033599da083f35
Link to GNPS2 Classical MN: https://gnps2.org/status?task=69777aa026ac455988033599da083f35
Errors:
Component with 2 nodes An exception occurred: Mismatch between spectra and attributes.
Command error:
[10:03:09] Invalid InChI prefix in generating InChI Key
Link to failed chemwalker_nextflow_workflow job in GNPS2 : https://gnps2.org/status?task=ccb097c3104a49fbae8df38b07f33856

Hi @albertogilf I just pushed a change to try to solve this issue. The library tests are ok, but I would like to test this in production because this network is too large. Is it going to production automatically?

The issue seems to be a matter of processing power/memory. Individual molecular families can be processed, see the example for ComponentIndex 25
https://gnps2.org/status?task=fc5abf74a3d24457acfafa890c7f7f57


Include a reference to the Throwable in StepDetails

Expected behavior
The StepDetails passed via ExecutionContext of an @AfterStep method should contain a direct reference to the Throwable that made the step fail.
Actual behavior
Only pre-formatted exception information is available. Particularly, there is no information about nested exceptions.
Steps to reproduce

Run a test that throws any exception.
Only the description of the outer exception is included, with only two lines of stacktrace.

Gauge version
Gauge version: 1.0.1
Commit Hash: da2676b

Plugins
-------
html-report (4.0.5)
java (0.6.8)
screenshot (0.0.1)

#146

#162

@glalejos The verbosity of the stack trace was reduced as part of https://github.com/getgauge/gauge-java/issues/108.
As you have alreay pointed out there are some open issues around it. Example: #146.
Althought the #162 is a different issue.
Would you please add your usecase/suggestions to the respective issue?
I'm closing this issues as I feel it's a duplicate of #146. Please feel free to add your thoughts.

That's fine @BugDiver. I'll update #146. Thanks.


Project name inconsistent with script name

The project name is "chonker" and the readme title is "chonker.py", but the main script is called "chunker.py". They should be the same.
Also, it would be better if the script was called just "chonker", instead of "chonker.py", and had a shebang so that you could run it just as chonker infile outfile instead of python3 chonker infile outfile, since it is not relevant to the user that it is written in Python.

Fixed in: 10366ba3bf25246ff606b312ab009198245589d1


Upgraded from 1.2.0 to 1.2.2 and Influx only reads WAL files

InfluxDB 1.2.0 -> 1.2.2
Windows Server 2008
I backed up my data and downloaded 1.2.2. I assumed all I would need to do is configure 1.2.2 to point at my existing data and it would be able to read it. However when 1.2.2 runs it only reads the WAL files (you can see this in the log) and it never reads any of the data files.
I figured that maybe I needed to perform a backup of the 1.2.0 database and restore it in 1.2.2 so I did that following the instructions in the docs and it copied all the data files to the 1.2.2 directory with the same result, it would only open and read the old WAL files once again.
Something in the log that caught my eye are the following entries.
[I] 2017-05-14T05:57:40Z autogen is not a valid ID. Skipping shard. service=store
[I] 2017-05-14T05:57:40Z monitor is not a valid ID. Skipping shard. service=store
[I] 2017-05-14T05:57:40Z autogen is not a valid ID. Skipping shard. service=store
[I] 2017-05-14T05:57:40Z autogen is not a valid ID. Skipping shard. service=store
[I] 2017-05-14T05:57:40Z autogen is not a valid ID. Skipping shard. service=store
[I] 2017-05-14T05:57:40Z monitor is not a valid ID. Skipping shard. service=store
[I] 2017-05-14T05:57:40Z autogen is not a valid ID. Skipping shard. service=store
[I] 2017-05-14T05:57:40Z autogen is not a valid ID. Skipping shard. service=store
There are no upgrade guides for minor versions so I am assuming this is not expected behavior.

It looks look like your data dir config option is wrong or you restored into the wrong directory.  Can you attach your config file?
Upgrading from 1.2.0 to 1.2.2 only needs to update the package.  Your config and data files on disk don't need to change.
The release notes usually indicate any config option changes that may be important for upgrading.

 I have been trying to get this to work for days, and your comment on the data directory being wrong was correct. Thanks for kicking me in the right direction. 1.2.2 seems to have fixed a query performance problem I was having too.


Opt out of Google’s FLoC User Tracking in Rails

Contexte / Problème
Google has recently built user tracking directly into Chrome. This new technology is named Federated Learning of Cohorts (shortened to FLoC).
Source: https://andycroll.com/ruby/opt-out-of-google-floc-tracking-in-rails/

FYI
https://github.com/hostolab/covidliste/pull/423

Autant pour moi je l'avais vu passer sur master, j'ai vu ça sur mon feed twitter 😄


Searcher gets deconnected on query

Observed on Airmail...
Some searcher does not answer its health probe on time and gets killed by k8s.
The current theory is that we have been using spawn_blocking a little bit too liberally in the code...
We use it  in many places to avoid CPU load on the runtime threads.
The trouble with this is that the associated pool thread is not bounded, because it is designed to deal with blocking IO.
500 threads trying to decompress some docstore block + 1 runtime thread  is likely to stall the runtime thread for a large amount of time.
We can confirm that idea, and generally speaking, it is worth auditing all of our usage of spawn_blocking.
Other possibilities would be something holding the runtime threads, or some variants of the lifo slot bug, but the latter is very unlikely.

so far, we think the source of the issue is this line. It's a cpu-bound task (decompress around 1MB worth of zstd), which in the context of airmail, can be called up to 150 times before yielding. This means we can likely keep a worker busy upwards of 500ms. It isn't noticeable with no query parallelism (other workers are still answering), but serving a couple answers at once an easily makes us unresponsive


JSDoc integration

Configure task to generate JSDoc and start documenting code using jsdoc notation.

Associated tasks

[ ] Review all TODO comments

Conventions and nomenclature
Good for code clarification and review it.

[ ] Name variables depending if they contain data, model or view reference. For example about layer:

layerData: contains the data passed to create a layer,
layerModel: reference to a model,
layerView: reference to a view.

Some notes:

Hierarchies are documented (thanks to the @extends tag). We can navigate through hierarchies.
Classes contains also parent methods.
We can document callbacks functions and its arguments.
We can specify which events triggers classes

this will be very helpful :)


fix sonar finding

first only the found smell
https://sonarcloud.io/project/issues?impactSeverities=HIGH&resolved=false&sinceLeakPeriod=true&types=CODE_SMELL&id=cloudfoundry-identity-parent
later also implemented recommendations from sonar linter

re-scan
https://sonarcloud.io/summary/new_code?id=cloudfoundry-identity-parent&pullRequest=2592


test mdlinter change

Looking into why mdlinter isn't working, making a PR just to get it to run

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (master)
[ ] Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[ ] Wrote unit tests
[ ] Updated relevant documentation in the code
[ ] Added a relevant changelog entry to the Pending section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer

hrmm, looks like its working fine on master, maybe it only fails on PR's from outside the repo?

Yes. I previously fixed the linter failure by upgrading the linter docker image version (due to a bug related to GCC, #283). However, it is unable to handle #259 since it is in a different repo, and it seems that currently linter is unable to get that (linter pulls the master and then tries to switch the branch).

Thanks for fixing that in 283!
I'm a bit confused why the correct branch doesn't get checked out, since the github actions checkout should handle going to the fork

A possibility, which I am totally unsure about, is whether the pull-request parameters are omittable? Since ci.yml does not have them.
https://github.com/arkworks-rs/algebra/blob/master/.github/workflows/mdlinter.yml#L10
(I am totally using heuristics here.)

Lets try removing that, and see if it fixes anything

I have the feeling that we need to merge this in order to test. Merge?

Yeah, lets merge this, and then check it on the next PR from outside the repo

Based on my rerunning of https://github.com/arkworks-rs/algebra/runs/2697545270, nope.
I will we will revisit this issue when we have more ideas.

The current idea seems to be this: (1) before docker super-linter, the branch has been switched into an intermediate branch created by GitHub, like pull/279/merge (2) super-linter wants to build a list of files in master, and then sees which files have been changed.
https://github.com/github/super-linter/blob/3dc85fc3bc1f47c6cf14831c666f569b153e9fb9/lib/functions/buildFileList.sh#L67
And the failure seems to be right there.
One possibility: We can fix this by setting VALIDATE_ALL_CODEBASE = true.

Thanks for tracing that, lets set that to true then


Problem testing this App

Hello!
I managed to publish and install this app on my IED. According to the log output it seems to be running. The log includes the lines "Client successfully connected to broker" and "Subscribed topic1" so I assume the MQTT is up and running.
Then I followed your instructions to test the app using the IE Flow Creator (v1.1.2) but it seems to be unable to connect the IE databus (i.e. the MQTT broker):
The message "Verbindung wird hergestellt..." (= "establishing connection...") persists and never completes. For the server name, I tried with "ie_databus" like in your video. I also tried "ie-databus" (with a hyphen, like found in some other document) as well as my local IED ip address. Nothing seems to work. How can I resolve this? Also I find no way how to install the IE Databus Configurator App. It's in my IE catalog but there's simply no function offered to install it on the IED so I can't use it.
Thanks!

HI KarloX2,
I would recommend using "ie-databus", "ie_databus" does still work but is deprecated and might not work in the future.
in the menu point "Sicherheit" (Security) you need to enter the credentials (username and password) for accessing IE-Databus.
The User needs to first created in IE Databus Configurator and granted the access rights to the topics.
The IE Databus is centrally configured from Industrial Edge Management, so the Configurator you can find there

The Configurator needs to be first installed on the Industrial Edge Management. This you can to by accessing Edge Management as following: https://iem-ip

@Boehmi-TB Thanks, that did the trick.


pypi hasn't updated to the lastest v1.9

I have issues updating to the latest v1.9 and I need that because I have to override the list_serializer_class

For those who need a workaround, replace this in your requirements.txt
Originally
dynamic-rest==1.9.3 # https://github.com/AltSchool/dynamic-rest

Use this to directly download from github
-e<EMAIL_ADDRESS>
Also if you use docker then you need to ensure you have installed git

Pushed v1.9.4.


Review assignments instruction

I couldn't find Yandex.Toloka assignments review instruction. Could you please direct me to the appropriate documentation? If there is no such documentation, I think you should consider adding it.

@VyacheslavLukin, a guide on performing a review can be found at "Performing the review" section of the "Reviewing Assignments" instruction.
P.S.: It is also available in Russian (link).

The provided instruction doesn't describe your interface for review ;)

@VyacheslavLukin, we'll consider documenting interface-related instruction for performing a review.
At the moment I suggest updating to the version 1.6, in which the system allows to view classes of marked up objects on the image itself, as during the markup process, as well as during the delayed acceptance.
An example marked up image with objects of different classes:

As you can see, objects of the same class are highlighted with the same color, to improve the speed of objects classes recognition.
Researches can define the colors for the classes manually (please, refer to the Classes and parameters JSON description for details), otherwise different highlighting colors for each class will be assigned automatically.

Thanks. Great to see this feature implemented :+1:


Honor original file or editorconfig file for indentation in JSON

In the export you get when coping you seem to use 4 spaces for indentation.
This is bad, because:

I use 2 spaces indentation in my project (and at least in NodeJS that seem to be the standard)
it thus breaks diffs

So:

possibly use the original indentation from the files
honor the https://editorconfig.org/ file, which may also has this set

Thanks for the report. I'm not going to include support for editorconfig, but I'll look into solving this issue.

Well… editorconfig would be easier than anything else, I guess. :wink: This is supported by the GitHub online edtor, too. But AFAIK, it also tries to auto-detect the indentation and falls back to this, if this is done.

If this is supposed to be a "good first issue", it would be good to know the exact steps/requirements to solve the problem. Currently, it's just a problem description… :thinking: (not even has editorconfig thing be decided)

Any news?

Nope, sorry, too busy with other stuff at the moment. Feel free to create a pull request. Be it editorconfig or otherwise. As long as the behavior doesn't change for people without editorconfig.

Solved with version 3.0. Thanks @hensm


Column Searching By Date Does Not Account for time

Hi ekondur,
Column Searching does not work when the date has a time portion other than "12:00:00 AM"
To replicate the issue with your sample web application.
In the database add a BirthDate for Arya Stark of "19-Sep-1980 01:19 AM".
Compile and run the web application and try and search for for 19/09/1980
The record is not found because the time portion of the date does not match.
It only works when the timestamps exactly match "12:00:00"
Kind Regards
tekoscott

Hi @tekoscott, i got it.
I will fix it soon.
Thank you.

Hi @tekoscott
I fixed it in v1.3.3 version, please test it.
Regards.

Thanks for that. Will test and let you know

Awesome thanks for that did testing and it works brilliantly. You can close this issue. Once again thanks.

Thank you @tekoscott


chore(package): update semantic-release to version 15.13.28

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Bug] Update CEL expression to support CAP_NET_RAW and NET_RAW drop capabilities

Kyverno Version
1.11
Kubernetes Version
1.26
Kubernetes Platform
EKS
Description
kyverno does not seem to recognize resources dropping the capabilities as given below
securityContext:
capabilities:
drop: ["NET_RAW"]
Steps to reproduce
Deploy a pod with the securityContext capabilities drop: NET_RAW
Expected behavior
kyverno should allow the pod but the existing policy only supprts CAP_NET_RAW and doesnt allow NET_RAW drop capabilities.
The fix is already done and the changes are merged for in best-practices/require-drop-cap-net-raw policy.
There is another policy version created with CEL expression which needs to be updated so that the policy is consistent between cel and non cel versions
Screenshots
No response
Kyverno logs
No response
Slack discussion
No response
Troubleshooting

[X] I have read and followed the documentation AND the troubleshooting guide.
[X] I have searched other issues in this repository and mine is not recorded.

/assign

Changes are done and policy is tested successfully. Will be submitting the PR

PR https://github.com/kyverno/policies/pull/1187 is submitted. Please get it reviewed


Use t3c for cache configuration in CDN in a Box

What does this PR (Pull Request) do?

[x] This PR fixes #5831 by using t3c to configure caching proxy servers in CDN in a Box (24e8c808fb).
Moves the Python ORT implementation to the /experimental directory (01d6e52d17)
Makes the systemctl shim used by the ORT Integration Tests start trafficserver (bf35702165) and adds it to CDN in a Box (cfd3bf3dd8)
Adds a debugging configuration for the t3c components in CDN in a Box (f9fdfbcfdc)

Which Traffic Control components are affected by this PR?

CDN in a Box
Traffic Ops ORT (only changes systemctl shim used by tests)
CI tests (triggers the Documentation Build workflow when the Python ORT implementation is modified)

What is the best way to verify this PR?

Test the CDN in a Box Delivery Services
Try to debug a t3c component, set a breakpoint, ensure it hits that breakpoint

The following criteria are ALL met by this PR

[x] CDN in a Box is a test, no further tests necessary
[ ] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md
[x] This PR includes any and all required license headers
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Moving ORT.py like this breaks the autodoc for it, causing a bunch of broken links. See the docs build action output for details.

Fixed ortPath in 04c5e66964.

Rebased onto master to get t3c-check from #5281.

Rebased to fix a merge conflict in CHANGELOG.md

Updated the t3c integration tests GHA workflow to run when anything in /cache-config/testing is modified, since this PR updates /cache-config/testing/docker/ort_test/systemctl.sh. The updates to systemctl.sh cause the t3c integration tests to fail because tc-fixtures.json does not include a valid ATS version:
https://github.com/apache/trafficcontrol/blob/04b6bb59188be169f22ea575b1e37d3dd67a6fe8/cache-config/testing/ort-tests/tc-fixtures.json#L1759-L1765
GH issue incoming.

Updated the t3c integration tests GHA workflow to run when anything in /cache-config/testing is modified, since this PR updates /cache-config/testing/docker/ort_test/systemctl.sh. The updates to systemctl.sh cause the t3c integration tests to fail because tc-fixtures.json does not include a valid ATS version:
https://github.com/apache/trafficcontrol/blob/04b6bb59188be169f22ea575b1e37d3dd67a6fe8/cache-config/testing/ort-tests/tc-fixtures.json#L1759-L1765
GH issue incoming. See #5853 (comment)

Rob has a PR in to fix this issue.  the value "*" will be replaced with the original value "CHANGEME".  Somehow this was changed recently.  Anyway, after the GHA workflow builds the trafficserver RPM, "CHANGEME" is modified with a sed script to reflect the correct ATS version.

@zrhoffman Rob has a PR in to fix this issue, I think it's #5875. the value "*" will be replaced with the original value "CHANGEME". Somehow this was changed recently. Anyway, after the GHA workflow builds the trafficserver RPM, "CHANGEME" is modified with a sed script to reflect the correct ATS version.

@jrushford Related to that, I opened PR #5876 to use jq to manipulate the JSON to set the ATS RPM version in jc-fixtures.json, which carries the benefit not needing the placeholder text to be there in order to update it.


APM module

Hi，the apm module is incompleted, I want to use the apm aec ns,  want to know how long to add this?

Hi, as far as I know AEC and NS are enabled by default, see here.
But yes, the AudioDeviceModule lacks the setting of AudioProcessing. Maybe this is of interest to you.

As of 0c51a2d you can provide your own AudioProcessing module to the PeerConnectionFactory.
Does that solve your issue?

Yeah, thanks to your advice, it's helpful, althought lack the setting of AudioProcessing, for example, near and far frame delay_ms and others params, hope to enhance it ~~~

What you mean, I guess, is echo cancellation, for which set_stream_delay_ms is required. I updated AudioProcessing with  setStreamDelayMs and getStreamDelayMs.


HTML format

Hi. Under the new release, there's still a minor problem of the HTML formatting. When rendering from Jupyter to HTML, there's an extra ending tag </div> in the tag of container which contains hv.extension('Bokeh'). The outcome would be the rest of content cannot be inside the container.
Just a minor one.

Are you using version 1.8.2 which was released Friday last week?
Here is what I am currently seeing:

I recently removed the divs to fix HTML export (see #1769) so I think if you upgrade using:
conda install -c conda-forge holoviews

it should work properly. Note, you can also pip install if you wish.

@jlstevens Thanks for your reply.
I already updated to the latest 1.8.2. It looks nice in Jupyter notebook, but when using File -- Download as --HTML(.html), the problems shows up in the html file(text outside container).
I believe using nbconvert gives the same outcome.

Nightmare! I thought I had fixed this. :-(

Ah, I just verified this is only an issue when logo=False so it isn't as bad as I first thought! Thanks for reporting this and it shouldn't be too hard to fix in the end...

Exactly! Thanks.

This was fixed and has now made it into the latest release. Closing.


Adding pkg-config support

Thanks!
This looks good to me. You may want to add
# Generated pkg-config files
*.pc

to the .gitignore.

Thanks!

@SylvainCorlay Could the conda version be patched with this PR? (Or rather could there me a patch release?) My Python compiler relies of pkgconfig.

@SylvainCorlay Could the conda version be patched with this PR? (Or rather could there me a patch release?) My Python compiler relies of pkgconfig.

I think we can make a patch release tomorrow. There were some fixes wrt avx512 issues that were merged as well.


Fix day view prop and add extra styling

Daypicker/day view heading doesn't react to dayPickerHeadingFormat prop and it's impossible to change it, it keeps showing default one. Issue with day view is caused by dayPickerHeadingFormat prop that is used on a wrong component, it should be used on day-picker instead of month-picker.
Also, it's hard to distinguish Year/Month/Day/Time views as there's no CSS class or any other identifier to target.
This PR contains changes for dayPickerHeadingFormat prop and extra styling/CSS classes added to distinguish different view modes or elements inside it.
By the way, great work/plugin!

Thanks for the contribution! I've simplified the prop you've introduced on the PickerPopup component, and added docs for the changes


Remove GCC_HOST_COMPILER_PREFIX as it may be out of sync with GCC_HOST_COMPILER_PATH

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): RHEL 7.5
TensorFlow installed from (source or binary): source
TensorFlow version: 2.2.0
Python version: 3.7.4
Bazel version (if compiling from source): 2.0.0
GCC/Compiler version (if compiling from source): 7.3.0

Describe the problem
The file https://github.com/tensorflow/tensorflow/blob/1588f45ee56860d247a1c26ea228cb3721b4bf1b/third_party/gpus/cuda_configure.bzl has a documented environment variable GCC_HOST_COMPILER_PATH to set the path (or name) of a GCC host compiler. However it also uses an undocumented variable GCC_HOST_COMPILER_PREFIX to get the folder where the gcc binary resides (guessing from name) defaulting to /usr/bin if it isn't set:
https://github.com/tensorflow/tensorflow/blob/1588f45ee56860d247a1c26ea228cb3721b4bf1b/third_party/gpus/cuda_configure.bzl#L1028-L1030
I have 2 problems with that:

It is undocumented and hence hard to set right if you don't know for sure what it is
The default is wrong when the (documented!) GCC_HOST_COMPILER_PATH  is used

This leads to issues such as
 external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -o bazel-out/k8-opt/bin/external/protobuf_archive/js_embed -Wl,-no-as-needed -pie -Wl,-z,relro,-z,now '-Wl,--build-id=md5' '-Wl,--hash-style=gnu' -no-canonical-prefixes -B/usr/bin -Wl,--gc-sections<EMAIL_ADDRESS>/usr/bin/ld.gold: error: /software/software/GCCcore/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/crtbeginS.o: unsupported reloc 42 against global symbol _ITM_deregisterTMCloneTable
/usr/bin/ld.gold: error: /software/software/GCCcore/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/crtbeginS.o: unsupported reloc 42 against global symbol _ITM_registerTMCloneTable
/usr/bin/ld.gold: error: bazel-out/k8-opt/bin/external/protobuf_archive/_objs/js_embed/embed.o: unsupported reloc 42 against global symbol std::ios_base::Init::~Init()
/software/software/GCCcore/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/crtbeginS.o(.text+0x1a): error: unsupported reloc 42
/software/software/GCCcore/7.3.0/lib/gcc/x86_64-pc-linux-gnu/7.3.0/crtbeginS.o(.text+0x6b): error: unsupported reloc 42
bazel-out/k8-opt/bin/external/protobuf_archive/_objs/js_embed/embed.o:embed.cc:function _GLOBAL__sub_I_main: error: unsupported reloc 42
collect2: error: ld returned 1 exit status

As reported at https://github.com/easybuilders/easybuild-easyconfigs/pull/7800#issuecomment-471447493
I hence propose to either completely remove that variable in favor of deriving its value from GCC_HOST_COMPILER_PATH or properly documenting it with a better default.
It does not seem to be required at all so it's likely best to just remove it. This should have been done by #34218 but for some reason that merge was reverted with a very misleading commit title: https://github.com/tensorflow/tensorflow/commit/f0571998d0195b5b243cf409a64d5fa17bd44d43
@gunan @mihaimaruseac please take a look what went wrong

Before that flag was introduced we hard-coded -B/usr/bin, which is arguably significantly worse :)
-B/usr/bin was needed because currently the toolchain is not good at figuring out where other binutils are when they are not in the same path as the compiler, which is a not uncommon setup for people building their own compilers.

The right solution is to actually discover all binutils via PATH, like other build systems would.

From the comment:

# TODO: when bazel stops adding '-B/usr/bin' by default, remove this

#       flag from the CROSSTOOL completely (see
#       https://github.com/bazelbuild/bazel/issues/563

And as explained in #34202:

As the underlying Bazel issue bazelbuild/bazel#5634 is resolved, this code can (and should) go now

So I don't see why setting this is still required. And I also disagree with "Before that flag was introduced": That flag was never documented as far as I can tell. So are people supposed to use/rely on it?
For another datapoint: In Easybuild (install automation tool) we patch that file to set this to empty since forever as adding /usr/bin leads to (the mentioned) problems and haven't had any issues.

We're currently using this in our cross-compilation setup. We use a cross-compiler gcc for manylinux, but the host system's binutils. Removing this will get rolled back until somebody has time to hunt down regressions, root-cause them and then figure out how we'll need to adapt our setup. I think you're right that it can be removed, but it's a bit of work to change & test everything that relies on it.
Re: the commit message: what's wrong about it?

It also looks like there are still open issues in bazel around this:
https://github.com/bazelbuild/bazel/issues/6834

We're currently using this in our cross-compilation setup.

Can you clarify what exactly you mean by "this"?
Especially did you try with #34218 applied (i.e. cuda_defines["%{linker_bin_path}"] = "")? I'd expect not setting the path would make it pick the binutils from PATH.
Ok just read the linked bazel issue and it seems PATH is discarded by Bazel.
Then the comment quoted above (when bazel stops adding '-B/usr/bin' by default, remove this) is clearly wrong. This results in my second alternative of the proposal: "properly documenting it with a better default."
So at the very least it should be documented because as the linked commit from bazelbuild/bazel#6834 states:

and [adding /usr/bin] was done to get Tensor Flow building on some (but failing on other?) versions of RedHat

So there are known failures with that added as well as without it. I'm wondering why it is now only done for the CUDA toolchain though and not for anything else.

Re: the commit message: what's wrong about it?

The commit message is "Merge pull request #34218 from Flamefire:fix_missing_linker_path" but it does revert that merge. Also interesting: The merge commit has a green CI tick while the revert commit has a failed CI tick :shrug:
So summary:

Check if that linker_bin_path setting is still required and remove if not. Otherwise:
Document GCC_HOST_COMPILER_PREFIX like the other variables
Opt (but recommended) default to the path of the GCC_HOST_COMPILER, maybe checking if binutils can be found there. IMO this is the right thing because having binutils separate is the exception rather than the norm.

Yes, the comment from https://github.com/tensorflow/tensorflow/issues/39263#issuecomment-627207228 still applies as-is with latest master. See the summary there

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.

I still suggest to rename GCC_HOST_COMPILER_PREFIX to e.g.  HOST_BINUTILS_PATH and document it e.g. in third_party/gpus/cuda_configure.bzl where a section reads

cuda_configure depends on the following environment variables:

Also configure.py could set it, which needs to query and/or check if that path makes sense, e.g. ar is found there


Task 20: Display "View Teams" Button on Instructor Dashboard (UI)

Task Description:
Ensure the "View Teams" button is visible on the Instructor Dashboard and styled according to the overall theme of the application.
This task is part of US.03: Instructor: View Assigned Teams.

Task Completed


UnicodeEncodeError: 'ascii' codec can't encode character '\u2018' in position 11: ordinal not in range(128)

Hello I have always the same error when I try to run a wget command, the issue seems to be present only in fabric3. I can't manage to get the output of the command it always raises this error when I run my program or even on ipython:
UnicodeEncodeError: 'ascii' codec can't encode character '\u2018' in position 11: ordinal not in range(128)
Here's the output of ipython:
In [9]: out = sudo('wget -O /tmp/CentOS-7-x86_64-Minimal-1611.iso http://it.centos.contactlab.it/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso')
[<IP_ADDRESS>] sudo: wget -O /tmp/CentOS-7-x86_64-Minimal-1611.iso http://it.centos.contactlab.it/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso
[<IP_ADDRESS>] out: --2017-02-20 14:08:26--  http://it.centos.contactlab.it/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso
[<IP_ADDRESS>] out: Resolving it.centos.contactlab.it (it.centos.contactlab.it)... <IP_ADDRESS>
[<IP_ADDRESS>] out: Connecting to it.centos.contactlab.it (it.centos.contactlab.it)|<IP_ADDRESS>|:80... connected.
[<IP_ADDRESS>] out: HTTP request sent, awaiting response... 200 OK
[<IP_ADDRESS>] out: Length: 713031680 (680M) [application/x-iso9660-image]
[<IP_ADDRESS>] out: ---------------------------------------------------------------------------
UnicodeEncodeError                        Traceback (most recent call last)
<ipython-input-9-bc8569c418dc> in <module>()
----> 1 out = sudo('wget -O /tmp/CentOS-7-x86_64-Minimal-1611.iso http://it.centos.contactlab.it/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso')

/home/.virtualenvs/core/lib/python3.4/site-packages/fabric/network.py in host_prompting_wrapper(*args, **kwargs)
    654                 host_string = raw_input(prompt)
    655             env.update(to_dict(host_string))
--> 656         return func(*args, **kwargs)
    657     host_prompting_wrapper.undecorated = func
    658     return host_prompting_wrapper

/home.virtualenvs/core/lib/python3.4/site-packages/fabric/operations.py in sudo(command, shell, pty, combine_stderr, user, quiet, warn_only, stdout, stderr, group, timeout, shell_escape)
   1121         user=user if user else env.sudo_user,
   1122         group=group, quiet=quiet, warn_only=warn_only, stdout=stdout,
-> 1123         stderr=stderr, timeout=timeout, shell_escape=shell_escape,
   1124     )
   1125

/home/virtualenvs/core/lib/python3.4/site-packages/fabric/operations.py in _run_command(command, shell, pty, combine_stderr, sudo, user, quiet, warn_only, stdout, stderr, group, timeout, shell_escape)
    931             channel=default_channel(), command=wrapped_command, pty=pty,
    932             combine_stderr=combine_stderr, invoke_shell=False, stdout=stdout,
--> 933             stderr=stderr, timeout=timeout)
    934
    935         # Assemble output string

/home/.virtualenvs/core/lib/python3.4/site-packages/fabric/operations.py in _execute(channel, command, pty, combine_stderr, invoke_shell, stdout, stderr, timeout)
    815                 # exception within, recv_exit_status())
    816                 for worker in workers:
--> 817                     worker.raise_if_needed()
    818             try:
    819                 time.sleep(ssh.io_sleep)

/home/.virtualenvs/core/lib/python3.4/site-packages/fabric/thread_handling.py in raise_if_needed(self)
     24         if self.exception:
     25             e = self.exception
---> 26             six.reraise(e[0], e[1], e[2])

/home/.virtualenvs/core/lib/python3.4/site-packages/six.py in reraise(tp, value, tb)
    609         if value.__traceback__ is not tb:
    610             raise value.with_traceback(tb)
--> 611         raise value
    612
    613 else:

/home/.virtualenvs/core/lib/python3.4/site-packages/fabric/thread_handling.py in wrapper(*args, **kwargs)
     11         def wrapper(*args, **kwargs):
     12             try:
---> 13                 callable(*args, **kwargs)
     14             except BaseException:
     15                 self.exception = sys.exc_info()

/home/.virtualenvs/core/lib/python3.4/site-packages/fabric/io.py in output_loop(*args, **kwargs)
     31
     32 def output_loop(*args, **kwargs):
---> 33     OutputLooper(*args, **kwargs).loop()
     34
     35

/home/.virtualenvs/core/lib/python3.4/site-packages/fabric/io.py in loop(self)
    155                             line = []
    156                         else:
--> 157                             self._flush(end_of_line + "\n")
    158                         initial_prefix_printed = False
    159

/home/.virtualenvs/core/lib/python3.4/site-packages/fabric/io.py in _flush(self, text)
     52
     53     def _flush(self, text):
---> 54         self.stream.write(text)
     55         # Actually only flush if not in linewise mode.
     56         # When linewise is set (e.g. in parallel mode) flushing makes

UnicodeEncodeError: 'ascii' codec can't encode character '\u2018' in position 11: ordinal not in range(128)

Edit: when I run the wget command with --quiet option the exception is not raised so there's something in the output of the command , the result is not encoded properly.
Thank you for your help!

I cannot reproduce this on my machine. I tried this task:
@task
def test_28():
    path = '/tmp/test.iso'
    url = 'http://it.centos.contactlab.it/7/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso'  # NOQA
    local('wget -O %s %s' % (path, url))
    local('rm %s' % path)

    run('wget -O %s %s' % (path, url))
    run('rm %s' % path)

    sudo('wget -O %s %s' % (path, url))
    sudo('rm %s' % path)

This works for me. Can you give me more info about your environment? What python version? What OS and Version? Version of wget?

I made the tests and now its not happening again, I'm not sure what occurred, but I was stuck with this issue for days and now it's gone.
The most important part that everything is now working, sorry for the disturbance.

Ok, I'm closing this issue for now. If you encounter this again, please don't hesitate to reopen it or open a new issue! Be sure to include as much info as possible to help me reproduce the error ;-)


Lost connection

Did you read the instructions?

[X] I have read the README.

The problem
Hi,
the integration works, and I get reading from the meeter, the problem is that after a while (max 4h) no more data is recorded - not available. By just reloading the integration it starts to read data again, for a while until it stops and I have to reload again.
Is there some why to correct this, or for instance automatically reload the integration every hour?
Integration version
2.6.0
Home Assistant version
2023.10.3
Python version
3.11
Home Assistant log
2023-10-14 11:31:22.470 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration kamstrup_403 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

2023-10-14 17:31:58.356 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data:

2023-10-15 19:35:51.049 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data:

2023-10-14 11:31:22.470 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration kamstrup_403 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

2023-10-14 17:31:58.356 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data:

Diagnostics
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.10.3",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Stockholm",
    "os_name": "Linux",
    "os_version": "6.1.56",
    "supervisor": "2023.10.0",
    "host_os": "Home Assistant OS 11.0",
    "docker_version": "24.0.6",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "wyzesense": {
      "version": "0.0.11",
      "requirements": [
        "wyzesense==0.0.4",
        "retry==0.9.2"
      ]
    },
    "frigate": {
      "version": "4.0.0",
      "requirements": [
        "pytz==2022.7"
      ]
    },
    "nodered": {
      "version": "1.1.3",
      "requirements": []
    },
    "samsungtv_tizen": {
      "version": "1.6.1",
      "requirements": [
        "websocket-client>=0.56.0",
        "wakeonlan>=2.0.0",
        "numpy>=1.19.2"
      ]
    },
    "gardena_smart_system": {
      "version": "1.0.0",
      "requirements": [
        "py-smart-gardena==1.3.7"
      ]
    },
    "sonoff": {
      "version": "3.4.0",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "easee": {
      "version": "0.9.54",
      "requirements": [
        "pyeasee==0.7.53"
      ]
    },
    "mass": {
      "version": "2023.6.0b3",
      "requirements": [
        "music-assistant==2.0.0b59"
      ]
    },
    "ha_kia_hyundai": {
      "version": "1.8.4",
      "requirements": [
        "kia-hyundai-api==1.2.14",
        "geopy>=2.0"
      ]
    },
    "kia_uvo": {
      "version": "2.14.1",
      "requirements": [
        "hyundai_kia_connect_api==3.8.6"
      ]
    },
    "kamstrup_403": {
      "version": "2.6.0",
      "requirements": [
        "pyserial==3.5"
      ]
    },
    "tapo": {
      "version": "2.8.2",
      "requirements": [
        "plugp100==3.10.3"
      ]
    },
    "xiaomi_miot_raw": {
      "version": "v1.3.1",
      "requirements": [
        "construct",
        "python-miio>=0.5.3"
      ]
    },
    "nordpool": {
      "version": "0.0.14",
      "requirements": [
        "nordpool>=0.2",
        "backoff"
      ]
    },
    "awox": {
      "version": "0.1.5",
      "requirements": [
        "pexpect>=4.6.0",
        "pycryptodome>=3.6.6",
        "pygatt[GATTTOOL]>=4.0.5"
      ]
    },
    "edgeos": {
      "version": "1.1.2",
      "requirements": [
        "aiohttp"
      ]
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "kodi_media_sensors": {
      "version": "5.1.2",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "kamstrup_403",
    "name": "Kamstrup 403",
    "codeowners": [
      "@golles"
    ],
    "config_flow": true,
    "documentation": "https://github.com/golles/ha-kamstrup_403/blob/main/README.md",
    "iot_class": "local_polling",
    "issue_tracker": "https://github.com/golles/ha-kamstrup_403/issues",
    "requirements": [
      "pyserial==3.5"
    ],
    "version": "2.6.0",
    "is_built_in": false
  },
  "data": {
    "config_entry": {
      "entry_id": "e983eb56b08945d99658bbb1412b635d",
      "version": 1,
      "domain": "kamstrup_403",
      "title": "/dev/serial/by-id/usb-FTDI_RJ-OPUSB-IEC-if00-port0",
      "data": {
        "port": "/dev/serial/by-id/usb-FTDI_RJ-OPUSB-IEC-if00-port0"
      },
      "options": {},
      "pref_disable_new_entities": false,
      "pref_disable_polling": false,
      "source": "user",
      "unique_id": null,
      "disabled_by": null
    },
    "data": {
      "60": {
        "value": 1.337,
        "unit": "MWh"
      },
      "68": {
        "value": 56.6,
        "unit": "m\u00b3"
      },
      "99": {
        "value": 0.0,
        "unit": ""
      },
      "113": {
        "value": 0.0,
        "unit": ""
      },
      "1001": {
        "value": 72763114.0,
        "unit": ""
      },
      "1004": {
        "value": 10567.0,
        "unit": "h"
      }
    },
    "registered_commands": [
      60,
      68,
      99,
      113,
      1001,
      1004
    ]
  }
}

Additional information
No response

Can you enable debug logging? and post full logs when the problem occurs.
https://github.com/golles/ha-kamstrup_403#collect-logs
As it seems to raise errors, but I don't see anything in the logs you provided.
This might also work from the integration page (I've never tried that to be honest).

There is a service you could call in an automation to reload an integration, but it's better to try to solve the problem, so I don't recommend using this. https://www.home-assistant.io/integrations/homeassistant/#service-homeassistantreload_config_entry Set the entity_id to one of the entities of this component.
In my opinion, most issues occur due to not correctly placed IR heads, please double-check check your reader is correctly placed and stable or even stuck.
You could also try to increase the read timeout value, I don't think this is your problem, but it's worth trying.

Sorry for late response. I thought I had something wrong with the USB in my home assistant computer, so I made a dedicated Home Assistance for the Kamstrup on a rasberry pi. Unfortunately the rasberry pi behaved exactly as my normal home assistant - after some minutes it says unknonw on the sensors, but if I restart the integtation it reads the values correctly. The log file is attached below
Logger: homeassistant.components.sensor.recorder
Source: components/sensor/recorder.py:288
Integration: Sensor (documentation, issues)
First occurred: 4:25:10 PM (1 occurrences)
Last logged: 4:25:10 PM
Entity sensor.kamstrup_403_volume from integration kamstrup_403 has state class total_increasing, but its state is not strictly increasing. Triggered by state 123.91 (130.0) with last_updated set to 2023-11-19T15:24:51.636362+00:00. Please create a bug report at https://github.com/golles/ha-kamstrup_403/issues

Could you please provide logging as I've asked in my previous comment and not copy it from the frontend?
From the message you provide, it looks like your meter is giving a lower number than it previously has provided, have you manually changed this? As I don't think the meter should ever do this.

I have not checked manually, but that sounds extremly stange. Sorry for a noob question, where do I find the integration specific log?

You can find the logs in home-assistant.log file in your config directory.

After I reloaded the integration, it worked for about 1h 20 minutes these are the logs from where it stopped working
2023-11-23 23:19:10.576 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-11-23 23:19:11.312 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: 4.7090000000000005 MWh
2023-11-23 23:19:11.313 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: 135.77 m³
2023-11-23 23:19:11.313 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 99, value: 0.0
2023-11-23 23:19:11.313 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 113, value: 0.0
2023-11-23 23:19:11.314 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1001, value: 72763114.0
2023-11-23 23:19:11.314 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: 11481.0 h
2023-11-23 23:19:11.314 DEBUG (MainThread) [custom_components.kamstrup_403] Finished update, 0 out of 6 readings failed
2023-11-23 23:19:11.314 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.739 seconds (success: True)
2023-11-23 23:21:42.273 WARNING (SyncWorker_1) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:22:42.275 WARNING (SyncWorker_7) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:24:42.280 WARNING (SyncWorker_1) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:25:42.282 WARNING (SyncWorker_7) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:26:42.285 WARNING (SyncWorker_6) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:29:11.575 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-11-23 23:29:11.576 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-11-23 23:29:12.297 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: 4.71 MWh
2023-11-23 23:29:12.298 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: 135.79 m³
2023-11-23 23:29:12.298 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 99, value: 0.0
2023-11-23 23:29:12.299 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 113, value: 0.0
2023-11-23 23:29:12.299 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1001, value: 72763114.0
2023-11-23 23:29:12.300 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: 11481.0 h
2023-11-23 23:29:12.300 DEBUG (MainThread) [custom_components.kamstrup_403] Finished update, 0 out of 6 readings failed
2023-11-23 23:29:12.300 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.726 seconds (success: True)
2023-11-23 23:39:12.340 WARNING (SyncWorker_9) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:39:12.575 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-11-23 23:39:12.576 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-11-23 23:39:13.313 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: 4.711 MWh
2023-11-23 23:39:13.314 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: 135.81 m³
2023-11-23 23:39:13.314 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 99, value: 0.0
2023-11-23 23:39:13.315 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 113, value: 0.0
2023-11-23 23:39:13.315 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1001, value: 72763114.0
2023-11-23 23:39:13.315 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: 11481.0 h
2023-11-23 23:39:13.315 DEBUG (MainThread) [custom_components.kamstrup_403] Finished update, 0 out of 6 readings failed
2023-11-23 23:39:13.316 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.741 seconds (success: True)
2023-11-23 23:40:12.342 WARNING (SyncWorker_2) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:41:12.345 WARNING (SyncWorker_9) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:42:12.347 WARNING (SyncWorker_3) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:43:12.347 WARNING (SyncWorker_2) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:44:12.350 WARNING (SyncWorker_9) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:45:44.385 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid or incomplete color value '{'brightness': 254, 'color': {'x': 0.458, 'y': 0.41}, 'color_mode': 'color_temp', 'color_options': None, 'linkquality': 58, 'power_on_behavior': None, 'state': 'ON', 'update': {'installed_version': 318767730, 'latest_version': 587753009, 'state': 'available'}, 'update_available': True}' received for entity light.upstairs_korridor_tapphus
2023-11-23 23:45:44.492 WARNING (MainThread) [homeassistant.components.mqtt.light.schema_json] Invalid or incomplete color value '{'brightness': 206, 'color': {'x': 0.458, 'y': 0.41}, 'color_mode': 'color_temp', 'color_options': None, 'linkquality': 54, 'power_on_behavior': None, 'state': 'ON', 'update': {'installed_version': 318767730, 'latest_version': 587753009, 'state': 'available'}, 'update_available': True}' received for entity light.trapphus
2023-11-23 23:46:42.358 WARNING (SyncWorker_1) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:47:42.361 WARNING (SyncWorker_2) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:48:42.363 WARNING (SyncWorker_9) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:49:13.575 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-11-23 23:49:13.575 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-11-23 23:49:13.681 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data:
2023-11-23 23:49:13.682 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.107 seconds (success: False)
2023-11-23 23:51:12.369 WARNING (SyncWorker_7) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:53:42.375 WARNING (SyncWorker_3) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:54:42.379 WARNING (SyncWorker_2) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:57:12.385 WARNING (SyncWorker_7) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:58:12.387 WARNING (SyncWorker_8) [homeassistant.components.rpi_power.binary_sensor] Under-voltage was detected. Consider getting a uninterruptible power supply for your Raspberry Pi.
2023-11-23 23:59:13.575 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-11-23 23:59:13.575 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-11-23 23:59:13.609 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.034 seconds (success: False)

The log isn't giving any clear indication of why it is failing, no error logs that are known, and also no stack traces.
You might want to sort out your Rpi power supply issue, see the many warnings. Power supply issues can result in weird behavior in general.

The thing is that exactly the same behaviour (worked for some hour then stoped, when the integration was restarted it worked again) was seen on my normal system, that is on old PC running HA OS, so I have a hard time thinking that this is because of the power issue

Do you have logs from that machine?

Hi, now I installed the eye to the other machine:
2023-12-02 21:15:49.670 DEBUG (MainThread) [custom_components.kamstrup_403] Unregister command 60
2023-12-02 21:15:49.670 DEBUG (MainThread) [custom_components.kamstrup_403] Unregister command 68
2023-12-02 21:15:49.670 DEBUG (MainThread) [custom_components.kamstrup_403] Unregister command 99
2023-12-02 21:15:49.670 DEBUG (MainThread) [custom_components.kamstrup_403] Unregister command 113
2023-12-02 21:15:49.671 DEBUG (MainThread) [custom_components.kamstrup_403] Unregister command 1001
2023-12-02 21:15:49.671 DEBUG (MainThread) [custom_components.kamstrup_403] Unregister command 1004
2023-12-02 21:15:49.676 DEBUG (MainThread) [custom_components.kamstrup_403] Set up entry, with scan_interval of 3600 seconds and timeout of 1.0 seconds
2023-12-02 21:15:49.680 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 60
2023-12-02 21:15:49.680 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 68
2023-12-02 21:15:49.682 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 99
2023-12-02 21:15:49.682 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 113
2023-12-02 21:15:49.682 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 1001
2023-12-02 21:15:49.683 DEBUG (MainThread) [custom_components.kamstrup_403] Register command 1004
2023-12-02 21:15:49.689 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-12-02 21:15:49.689 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 60, value: 5.8790000000000004 MWh
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 68, value: 161.93 m³
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 99, value: 0.0
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 113, value: 0.0
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1001, value: 72763114.0
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] New value for sensor 1004, value: 11695.0 h
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] Finished update, 0 out of 6 readings failed
2023-12-02 21:15:50.414 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.725 seconds (success: True)
2023-12-02 22:15:50.046 DEBUG (MainThread) [custom_components.kamstrup_403] Start update
2023-12-02 22:15:50.046 DEBUG (MainThread) [custom_components.kamstrup_403] Get values for [60, 68, 99, 113, 1001, 1004]
2023-12-02 22:15:50.050 ERROR (MainThread) [custom_components.kamstrup_403] Error fetching kamstrup_403 data:
2023-12-02 22:15:50.050 DEBUG (MainThread) [custom_components.kamstrup_403] Finished fetching kamstrup_403 data in 0.004 seconds (success: False)

Thanks for sharing the logs from the other machine. Sadly there isn't much I can do with this, as there is no information related to the error

Can you not write the code such that it checks every hour if the energy reading is Unavailable, and if the reading is unavailable it restarts the integration? It allways reads the energy correct when the integration is reloaded

Good idea, I tried but "state: unavailable" got an error message "property state is not allowed"

Looks very hopefull - it worked when I manually triggered the automation :)

I am having the same issue since the update to 2023.12.1. I am losing the connection (or no data is received)  every 10-20 minutes.
At this moment I have "solved" the issue by using a Node-Red flow which reloads the integration if it becomes Unknown of Unaviable.
Does it help if I also share some logging ?

Just received the IR head yeasterday, so I installed this integration and I have the same issue. Created the automation to reload and I can see that the automation gets triggered almost exactly every 15 minuttes.

I recently solved my issue.. I found that the NUC was losing it's USB connection, strange enough it was restored after a restart of the service. This happed every 5 minutes (I polled the IR head every 5 minutes). The solution was just to pull out and place the USB in again.... So I suggest to try that or use an other USB port.

I actually also found out why the integration stopped every 15 minuttes.
I was a wrong config in my ESP32. I needed to remove the API: line in the config:
https://esphome.io/components/mqtt.html


Running demo_quadruped.py gives malloc error

The current version of the demo_quadruped.py uses the tsid.SolverHQuadProgFast, which under debug mode yields a not allowed malloc error. When changing to tsid.SolverHQuadProg, this error goes away (though there is a new one due to reading of the contact force in the 3d PointContact case from invdyn.getContactForce(contact.name, sol) - that's a separate bug I look into tomorrow):
$ gdb -ex r --args python demo_quadruped.py

[...]

[SolverHQuadProgFast.qp solver] Resizing equality constraints from 0 to 18
[SolverHQuadProgFast.qp solver] Resizing inequality constraints from 0 to 20
[SolverHQuadProgFast.qp solver] Resizing Hessian from 0 to 26
Level 0
 - base-dynamics: w=1, equality, 6x26
 - BL_contact_force_constraint: w=1, inequality, 5x26
 - BR_contact_force_constraint: w=1, inequality, 5x26
 - FL_contact_force_constraint: w=1, inequality, 5x26
 - FR_contact_force_constraint: w=1, inequality, 5x26
Level 1
 - BL_contact_motion_task: w=1, equality, 3x26
 - BL_contact_force_reg_task: w=1e-05, equality, 3x26
 - BR_contact_motion_task: w=1, equality, 3x26
 - BR_contact_force_reg_task: w=1e-05, equality, 3x26
 - FL_contact_motion_task: w=1, equality, 3x26
 - FL_contact_force_reg_task: w=1e-05, equality, 3x26
 - FR_contact_motion_task: w=1, equality, 3x26
 - FR_contact_force_reg_task: w=1e-05, equality, 3x26
 - task-com: w=1, equality, 3x26
 - task-posture: w=0.001, equality, 8x26

[SolverHQuadProgFast.qp solver] Resizing equality constraints from 18 to 6
python: /usr/include/eigen3/Eigen/src/Core/util/Memory.h:206: void
Eigen::internal::check_that_malloc_is_allowed(): Assertion `is_malloc_allowed() && "heap allocation is
forbidden (EIGEN_RUNTIME_NO_MALLOC is defined and g_is_malloc_allowed is false)"' failed.

[...]

#10 0x00007fffc82dab26 in tsid::solvers::SolverHQuadProgFast::resize (this=0x1bb0cf0, n=26, neq=6, nin=20)
    at /home/jviereck/dev/tools/tsid/src/solvers/solver-HQP-eiquadprog-fast.cpp:58
58	        m_CE.resize(neq, n);

Fixed by commit f4f96456a7c5302a1856de00383fba727d1eb0f2


Redesign Guide Landing Page

@justinbmeyer We don't currently have a design for this landing page.  Right now, it's just inheriting the design for the other sections -- which might be okay, but it does look odd.
Here's my proposed redesign of that page:

Looks good.  Though I would add a screenshot or gif of each app.  I think @daffl is working on one for the chat app.

Cool.  Here's iteration with a static screen shot of the app.


[bug]: Positive inbound fees mess with route finding

By deactivating a security switch, it is possible to set positive inbound fees on LND nodes.
Channels with positive inbound fees are not backwards compatible and they mess with the route finder in an unexpected way.
If a node (not knowing about inbound fees) tries a route containing a single hop with positive inbound fees, that route will fail.
The failure is “insufficient Fee” at node X. When receiving this error the sender will attribute that error to the outbound channel of the node.
But in reality, the error happened on the inbound channel.
By attributing the error to the wrong edge the ability to find routes decreases.
Currently this effect is not very strong, as there are only very few nodes with positive inbound fees.
Positive inbound fees should be forbiden (in it's current form)  to avoid total routing colaps across the whole network
TLDR: positve routing fees int its current form are a bug by design at best, or an attack on the network at worst

I don't see that as a bug by design. I could also write an HTLC interceptor and block forwards from Bob to Alice, while allowing forwards from Carol to Alice. The result would be the same: the sender would not see that the incoming channel was the issue.
Internally within LND, we encounter a similar problem when we lower the inbound discounts. It will also fail on the outbound channel, but no update is sent for the inbound policy.
https://github.com/lightningnetwork/lnd/pull/6967

Enabling positive inbound fees is off by default, it's also marked that it's a config field that really shouldn't be used at all outside of testing: https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf#L441-L446


Criteria for new articles

What is the criteria for including a link to a new article? The October section includes links to articles that were published months ago.

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

ID: d9bf2726-1963-44fd-de66-d8205960b0db
Version Independent ID: ab2d6328-e47c-709d-13ab-a6d823d5115f
Content: What's new in Azure Active Directory application management
Content Source: articles/active-directory/manage-apps/whats-new-docs.md
Service: active-directory
Sub-service: app-mgmt
GitHub Login: @kenwith
Microsoft Alias: kenwith

@DeanGross Thank you for your query. We will investigate and update the thread.

@DeanGross - Hi Dean! I recently moved over to Azure content from Office. Nice to see your ideas and contributions here too. :)
There is a script that pulls data from the PR's in this repo. The goal is to have this article so that it is easier to see what has changed. The configurations for the script is here: https://github.com/MicrosoftDocs/azure-docs/tree/master/.whatsnew So far we just have a few content sets we have set this up for. The "new" articles are probably showing up in app management content because I have been moving things around and combining and refactoring a significant amount of content. I suspect that when I combine two articles into a new one it is showing up as a "new" article even though the content is not new at all. So I think the "new" should calm down once I calm down on making changes. If you spot articles showing up as "new" that are not new, let's remove them from the list.
I am always open to ideas and thoughts on how the content set can be improved so if there is something you think I should do just let me know. My email address is the same as my GitHub id and @microsoft.com.
Regarding the "updated" articles, there is a flag in the configuration file under inclusionCriteria for the minAdditionsToFile which I can tweak and that will look at the PR's and how many lines of a file have been changed. I set it for 10 lines to include there but I can adjust it if it feels like it is flagging too many articles or too few. The script pulls everything from the public repo but I realize the public repo is massive and it is about impossible to see what has changed by looking at the history and following it so I thought this would be a nice addition to create a list of what changes have been made to the content set.
Hope that sheds some light on it. I will close this out and feel free to email me or open another issue for feedback.
Thanks!
Ken
#please-close

Thanks for the detailed response. I will be sure to send you some suggestions


Unlisted Dep

You have a unlisted Dep progressbar

You should be more specific as to where you are talking about.  File and line number might help. :)


Firefox: Make warning messages and the status area more eye-catching and distinct

Affects firefox branch
Presently when the user leaves the search field empty, or does not select any option, a warning is shown in the status area (below search field). The purpose of this issue is to make the status area a bit more eye-catching. Perhaps a different border color or an exclamation icon or anything else that makes the warning area more distinct.

Redundant.


Viewster: Downloading no longer working

Tested using a fresh build of master.
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'http://www.viewster.com/serie/1280-18794-000']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.09.03
[debug] Python version 3.4.3 - Linux-4.1.6-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 2.7.2, ffprobe 2.7.2, rtmpdump 2.4
[debug] Proxy map: {}
[Viewster] 1280-18794-000: Downloading webpage
[Viewster] 1280-18794-000: Downloading entry JSON
[Viewster] 1280-18794-000: Downloading series JSON
[download] Downloading playlist: Gintama
[Viewster] playlist Gintama: Collected 49 video ids (downloading 49 of them)
[download] Downloading video 1 of 49
[Viewster] 1280-18794-001: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 404: Not Found (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "./youtube-dl/youtube_dl/extractor/common.py", line 326, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1865, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 469, in open
    response = meth(req, response)
  File "/usr/lib/python3.4/urllib/request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.4/urllib/request.py", line 501, in error
    result = self._call_chain(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 441, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 684, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/usr/lib/python3.4/urllib/request.py", line 469, in open
    response = meth(req, response)
  File "/usr/lib/python3.4/urllib/request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.4/urllib/request.py", line 507, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 441, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.4/urllib/request.py", line 587, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

I investigated a little already.
With help from the chrome developer console I found out that the bare minimum of auth for downloading the video from viewsterall-vh.akamaihd.net is this
curl -H 'Cookie: _alid_=t2g86FO0BEW7O6Gjf7dHhg==' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36' --compressed 'http://viewsterall-vh.akamaihd.net/z/http_rtmpe/shared/s/viewster-0037-00-AkamaiHD/1280-18794-040_gintama-s01eps40_movie_viewster-0037-00-akamaihd_ja_en_x.smil/1125000_a870b9d0fef60587_Seg1-Frag1?hdntl=exp=1441712408~acl=%2fz%2fhttp_rtmpe%2fshared%2fs%2fviewster-0037-00-AkamaiHD%2f1280-18794-040_gintama-s01eps40_movie_viewster-0037-00-akamaihd_ja_en_x.smil%2f*~data=hdntl~hmac=067affecfc806bd7bc87896e7e0f0bba3061a010a9d74dc4b32a7a35a1448d9b&als=0,3,NaN,2,0,NaN,0,0,0,32,f,0,1450.99,f,s,QSMTGXJGTJNA,3.2.0,32&hdcore=3.2.0&plugin=flowplayer-<IP_ADDRESS>'

It seems that the _alid_ cookie is the auth_token extracted from the initial auth_token cookie.
I tried adding this cookie with _set_cookie but it didn't work out.

Can you watch it in browser now?

You mean with the viewsterall-vh.akamaihd.net link?
No I get an Authroization Error, too.
Navigating to viewster.com and watching the video works, of course.

I mean original URL http://www.viewster.com/serie/1280-18794-000. I does not work for me in browser.

Okay, sorry.
Weird. It does for me. I just opened your link from here with incognito mode and I get the first episode.
What do you get instead?

Have you scripts enabled?
I just tried with firefox and the 404 shows for a very short time because that is the only thing in the page source but then the correct page renders.

Yes, I have. http://www.viewster.com/movie/1140-11855-000 works fine.
404 for US, UK an DE IPs.

What's your location?

DE


First PR for Storsimple 8000 Series Devices. It contains APIs and Models for (a) Managers, and (b) Devices.

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

@manaas-microsoft,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@manaas-microsoft,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Closing this, as we support two StorSimple devices (8000 Series and 9000 series), and this led to us following a different folder-hierarchy then recommended, and led to build failure when raising pull request.


Add CXX and C flags options

I need to pass -fPIC to the google test build. Can CXX and C flags options be added?

You should now be able to pass C and C++ flags to the build process:
- name: Install gtest
  uses: MarkusJx/googletest-installer@93885edf173c4d59c40b3fa7d851b0be69967bd0
  with:
    C_FLAGS: YOUR_C_FLAGS
    CXX_FLAGS: YOUR_CPP_FLAGS

Just let me know if that worked for you and I'll draft a new Release or adapt the code if required :)

Sorry, haven't had a change to look at this yet. I will try to get to it this week.

May be fixed by the latest tag: 6dc68cc0073e5696daaf921dfc27a69f3e9659df
- name: Install gtest
  uses: MarkusJx/googletest-installer@6dc68cc0073e5696daaf921dfc27a69f3e9659df
  with:
    C_FLAGS: YOUR_C_FLAGS
    CXX_FLAGS: YOUR_CPP_FLAGS

Still lots of errors, this time the error happens with more versions.
https://github.com/johnwason/robotraconteur/actions/runs/4040694603/jobs/6946576094
I will use a manual build.


[REQ] Component Request: BME688

What's the full name of the component you'd like to see in Adafruit.io WipperSnapper?
Adafruit BME688
What type of component is this (i.e.: Pin, I2C)?
I2C Temperature, Humidity, Pressure and Gas Sensor - STEMMA QT
Product URL or Datasheet
BME688
Additional context
The current BME680 definition fails when using the BME688. I am going to take a stab at creating this definition but I did want to get my request on record.

This issue is marked for Hacktoberfest 2022. If you are participating in Hacktoberfest and want to take on this issue, please first fully read through the guide for "How to add a new component to Adafruit IO WipperSnapper".
For I2C Components to work, please note that you are required to add both an I2C component definition (see this guide page for more information) to this repository and an I2C component driver (see this guide page for more information) to the WipperSnapper Firmware Repository.
If you have any questions, comments, or concerns, please feel free to tag me in the comments here, or in your pull request for review.
Happy Hackin'!