Latest Update of Airtouch 5 breaks api?

System Health details
Logger: pyairtouch.comms.socket
Source: .local/lib/python3.12/site-packages/pyairtouch/at5/comms/xC023_ac_status.py:230
First occurred: 8:30:05 PM (11741 occurrences)
Last logged: 9:23:35 PM
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 92 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 0c 60
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 94 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 8c 76
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 96 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 33 85
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 98 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 cc 59
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 9a c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 73 aa
Traceback (most recent call last):
File "/config/.local/lib/python3.12/site-packages/pyairtouch/comms/socket.py", line 416, in _read_one_message
message_result = message_decoder.decode(message_buffer, header)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/.local/lib/python3.12/site-packages/pyairtouch/at5/comms/xC0_ctrl_status.py", line 211, in decode
sub_message_result = sub_message_decoder.decode(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/.local/lib/python3.12/site-packages/pyairtouch/at5/comms/xC023_ac_status.py", line 230, in decode
raise comms.DecodeError(
pyairtouch.comms.DecodeError: Header repeat_length (14) != AC Status Data size (10)
Checklist

[X] I have enabled debug logging for the integration.
[X] This issue is not a duplicate issue of any previous issues..

Describe the issue
It appears that the latest update of Airtouch (released yesterday) has broken the integration.
Both the "official" integration and this custom one you developed seem to be unable to connect.
When either integration is attempting to connect, it looks like the console gets flooded with requests and stops working correctly until the attempts are stopped from home assistant.
Mobile app also stops working when the integrations are trying to connect (and failing).
Happy to help you with anything and a fair warning to anyone not to update to latest 😅
Reproduction steps

Be on latest console update for airtouch 5
This should be service version 1.7 and console 1.2
integrations stop working and break Airtouch console and mobile applications while they are polling

Debug logs
Logger: pyairtouch.comms.socket
Source: .local/lib/python3.12/site-packages/pyairtouch/at5/comms/xC023_ac_status.py:230
First occurred: 8:30:05 PM (11741 occurrences)
Last logged: 9:23:35 PM

Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 92 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 0c 60
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 94 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 8c 76
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 96 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 33 85
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 98 c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 cc 59
Error decoding bytes: 55 55 55 ab 00 00 00 22 00 22 55 55 55 aa b0 80 9a c0 00 16 23 00 00 00 00 0e 00 01 00 14 a0 c1 0a b7 00 00 d0 00 e2 bc 00 00 73 aa
Traceback (most recent call last):
  File "/config/.local/lib/python3.12/site-packages/pyairtouch/comms/socket.py", line 416, in _read_one_message
    message_result = message_decoder.decode(message_buffer, header)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/.local/lib/python3.12/site-packages/pyairtouch/at5/comms/xC0_ctrl_status.py", line 211, in decode
    sub_message_result = sub_message_decoder.decode(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/.local/lib/python3.12/site-packages/pyairtouch/at5/comms/xC023_ac_status.py", line 230, in decode
    raise comms.DecodeError(
pyairtouch.comms.DecodeError: Header repeat_length (14) != AC Status Data size (10)

Broken for me too since the latest AirTouch update.
I also noticed the AirTouch 5 Android phone APP has issues with fetching data and requires a close and re-open of the app on the console.  This only temporarily fixed the phone app as shortly afterwards, the error appeared again.

Agreed!!! Broke for me also! 100% caused by the update.

Debug logging enabled…
@TheNoctambulist FYI

Broken for me too since the latest AirTouch update. Along with the integration being broken, I also noticed the AirTouch 5 Android phone APP also has issues with fetching data and requires a close and re-open of the app on the console. This only temporarily fixed the phone app as shortly afterwards, the error appeared again.

FYI - After some more testing, I've learnt the android phone app and LCD console stop working (the touchscreen is unresponsive on the LCD Console and the android APP shows the error demonstrated in the screenshot above) due to the HA Component still actively trying to initialise (although failing)... It seems that when the HA Integration attempts to initialise it causes the system to freeze requiring a reset of the LCD Console. Since disabling the HA Integration, the LCD Console and any remote APPs are working correctly.

I can confirm that this is NOT the case for me.
The latest iOS app still cannot connect regardless of the state of the HA integration.
AirTouch Australia confirms the fault is as a result of their software update and is affecting their mobile app.
John Mac
On 27 Jun 2024 at 12:42 PM +1000, pppaulie @.***>, wrote:

Broken for me too since the latest AirTouch update. Along with the integration being broken, I also noticed the AirTouch 5 Android phone APP also has issues with fetching data and requires a close and re-open of the app on the console. This only temporarily fixed the phone app as shortly afterwards, the error appeared again.
FYI - After some more testing, I've learnt the android phone app and LCD console stop working (the touchscreen is unresponsive on the LCD Console and the android APP shows the error demonstrated in the screenshot above) due to the HA Component still actively trying to initialise (although failing)... It seems that when the HA Integration attempts to initialise it causes the system to freeze requiring a reset of the LCD Console. Since disabling the HA Integration, the LCD Console and any remote APPs are working correctly.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

The HA integration is breaking the other comms for AirTouch as @pppaulie correctly identified.

Thanks for the reports everyone.
Polyaire have pulled the update, but I've released v0.7.2 which should address the compatibility issues with the protocol and be more lenient for future updates.
I'll look into whether there is anything I can do in the integration to avoid locking up the AirTouch console if any connection errors occur in the future.
Let me know if you still see any errors in the latest release.

Thank you for your prompt action resolving the issue 👏👏👏
Very much appreciated 👍


Search query parameters not implemented ?

Before going further in my research, I wanted to validate if filtering https://api.akeneo.com/documentation/filter.html#filter-assets by the search query parameter was implemented or not.
I'd like to use that feature, and if it's missing I'd start looking into a first version of this.
Thanks

Oh wait.
I was using the wrong function :
let assets = await akeneo.assetFamily.getAssets({
  assetFamilyCode: f,
  query: {
    search: JSON.stringify({"updated":[{"operator":">","value":"2023-08-11T09:16:30+00:00"}]})
  }
});

getAssetsAll() doesn't set the search


GeoChart Not working

GeoChart doesn't appear to be working.
I've used your exact example...

All the other charts are rendering correctly using the Google charts as a version. Anyone else having issues?

It appears to be working on the example page. https://ankane.github.io/chartkick.js/examples/
Just takes some time to load.


Update ca.coffee

I have translated some expressions from different lines to catalan

feel free to re-open if you fix the PR, thanks


Child processes are not getting the signal to stop running (SIGINT)

Testing Julia which finally compiled and found that if the tests were cancelled midway the workers were not killed but would continue to run in the background.
This behaviour was not present when testing inside an Ubuntu VM.
I think SIGINT is not being passed correctly in bash on windows to the child processes.

Thanks for reporting the issue, can you please share out an strace of the failing scenario?  This may be due to a lack of PR_SET_PDEATHSIG, depending on how the application is configured.


Say What!!!!!

WenM00n is here baby -> https://y.at/🚀🚢♊🌙

Let's see if I can clean up some of these failing tests...

4 of 5 builds passing, lint-related editorial updates;
don't have access to the pipeline env secrets;  I set a NPM_TOKEN secret in the repository.  still failing here.
passing it up for review.


Support customizing to abstract

Fixes https://github.com/microsoft/typespec/issues/4847

API change check
API changes are not detected in this pull request.


Just a typo, Heaver instead of Header.

In the section on using Mail Flow Rules, in point 4-b:
"
Modify the message properties > set a message header:
Header name: For example, X-ETR.
**Heaver** value: For example, Bypass spam filtering for authenticated sender 'contoso.com'.

"
Heaver should be Header.

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

ID: c900a9d1-897d-f7e9-6c58-a510edf56a9b
Version Independent ID: bc59ac94-233b-e558-4455-a4c7166d4023
Content: Create safe sender lists - Office 365
Content Source: microsoft-365/security/office-365-security/create-safe-sender-lists-in-office-365.md
Service: microsoft-365-security
Sub-service: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@LuxsonicAdmin, fixed.
In the future, you too can make updates like this yourself without opening a GitHub issue first. Instructions are here.
Thanks for the feedback.
Closing


flowjax not available after install

Thanks for this package, along with the documentation it looks great and I'm excited to use it.
However, after installing with pip, I cannot import the package, which gives ModuleNotFoundError: No module named 'flowjax'. The same issue occurs when cloning and installing, then navigating away from the flowjax root directory.
To reproduce (e.g., in colab):
!pip install flowjax
import flowjax

Any ideas?

Thanks! This should now be fixed in the latest release (fixed by https://github.com/danielward27/flowjax/pull/100), let me know if you have any other issues.


Design System: Styles for DropDown

Summary
Styles the new dropdown
Relevant Technical Choices

Following these figma designs
Separating out styles into components.js to keep file size down.
Sets up disabled menu item handling

To-do

[ ] Follow up on edge case sizing
[ ] Follow up on any viewport responsive min/max widths we want to set

As separate PRs:

[ ] a11y pass on dropdown
[ ] Scrollbar styles
[ ] Preserve icon thickness
[ ] Implement focus only on keyboard user

User-facing changes

None, exists only in storybook

Testing Instructions

Spin up a local copy of storybook and navigate to designsystem/components/dropdown and look at variants.

Here is a copy of my outstanding questions for how this should look.
Light theme:

Dark theme:

Nested:

Addresses #4950

Thanks for the eyes, Max!!

Group labels font style look to differ from here to figma

Great catch, it looks like there's a discrepancy in using the secondary vs tertiary fg color in the theme. I've documented that in my google doc attached to this PR description and for the time being, created a new subsection of theme colors for "form" to transpose the color values to keep component coloration consistent.

Right border on group labels -> I don't think these are supposed to be there (I think that's the scrollbar mock in the designs, not part of the group label)

🙈 You're right. I really thought these were styles, but it only appears on 1 of the group labels so you're right - it's a scroll bar. Though I think those are thinner than the ones Sam recommended using. We'll get to the bottom of the scroll styles separately, for now I've removed the little border.

For the light color scheme, the disabled style is unrecognizable as disabled (not sure if this is just the current design, but as a user it's hard to delineate)

#919899 is the existing theme color for light theme disabled, I agree it's not super clear. I'll document. For now though, at least the cursor helps indicate that it's disabled, or if using a screen reader it'll just get skipped over.


[BugFix] Fix audit log bug for create OLAP table

Fixes #issue
when create olap table, the stmt field will be null in audit log
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[x] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.0
[x] 2.5
[ ] 2.4
[ ] 2.3

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

@leoluan2009 could you sign-off this PR by git commit -s ?

@leoluan2009 could you sign-off this PR by git commit -s ?

Done


Preview form closed for submissions

The Limited preview request form is no longer accepting submissions. Are there plans to reopen the preview? Otherwise I would remove the form.

Thank you for reaching out, the form is removed.


Update selenium-standalone to 6.15

To have the latest upstream bugfixes.
I have a problem with hash-only navigation, not sure if this change will resolve it, but anyways I think it needs to be bumped when there's an upstream release.

@AronNovak thanks for the PR but it is not necessary because the dependency is defined with a ^ which will always pull the latest minor version that is available.

Makes sense, thanks, but is a new release planned in the near future then to have the latest selenium-standalone?

It should already get the latest selenium-standalone if you install it now


Is it possible to make a continuous environment with cyclic features?

I'm trying to implement a model which would benefit from a cyclic environment, that is an environment of dimensions w*h where agents near an edge teleport to the opposite if they get past by it. The problem is I want those agents to see agents near the opposite edge as neighbors.
This model is set in a continuous type of space (i.e. not a cellular automaton).
The only way I found until now is to give up the spatially partitioned messages and to use a custom "neighborhood check" with non partitioned messages, but as you can probably tell performances dropped a lot.
Can you give me some advice? Thank you in advance.

Nevermind, I just understood that spacial partitioned take a radius but it's used as a dimension of areas and not as an effective radius that has the center at the position of an agent. Non-partitioned messages seem the only left option.

Spatial partitioning divides the environment into a grid, where each cell is radius*radius*radius in size.
The moore's neighbourhood of cells surrounding the cell in which an agent lies is accessible to each agent, i.e the cell the agent lies within and the 8 surrounding cells (in a 2D example for simplicity). This guarantees all messages within radius of the agent are acessed, and as you point out this wraps in the x and y dimensions providing a tourus.
Unfortunately the distance between an individual and the message is not provided, although this is relatively simple to compute, given that the agent and message both require x, y and z variables, althrough wrapping does make the distance calculation a little more complex.


flutter and flutter --version keep telling me my atom dev environment and android sdk are good

I feel like that's extraneous information that's not important to flutter.  (ie. what if I'm a  developer that works in vi or emacs or something working on an iOS app, I'd have neither checked ever).

This seems reasonable.
cc @devoncarew

flutter --version now only emits flutter version info, not a compact version of doctor. We can change flutter -h to do the same. (https://github.com/flutter/flutter/pull/2859)


Unresolved identifier Session

In your sample code you have:
let session = Session(for: aliceAddress)
However, when I use that code, Xcode gives an error:
Use of unresolved identifier 'Session.'  What should it be?

This is for the 1.0.1 build.  I was completing the implementation of that before I upgraded.

Since Session didn't seem to exist, I also attempted to hack around the issue with:
        let aliceAddress = SignalAddress(identifier: email, deviceId: deviceId!)
        let bobStore = ErgoSumKeyStore()
        let session = SessionCipher(store: bobStore, remoteAddress: aliceAddress)
        let decodedData = Data(base64Encoded: message)
        var data = Data()
        let value: UInt8 = 2
        data.append(value)
        data.append(decodedData!)
        do {
            let cipherTextMessage = try CipherTextMessage(from: data)
            let decryptedMessage = try session.decrypt(cipherTextMessage)
            print("decryptedMessage: ", decryptedMessage)
        } catch {print("error:", error)}

Getting a crash in BinaryDecoder on throw BinaryDecodingError.truncated though with that code.

Reviewed and updated the above code, since I was double-adding the first byte of the CypherTextMessage in the previous version.  It's already included in the base64encoded string that was uploaded to the server, downloaded from the server and is being processed in the above segment of code.

Even doing:
       let encryptedMessage = try! session.encrypt(message!)
       print("encryptedMessage tapSend: ", encryptedMessage)
       let decryptedMessage = try! session.decrypt(encryptedMessage)
       print("decryptedMessage tapSend: ", decryptedMessage)

Results in throw SignalError(.untrustedIdentity, "Untrusted identity for (remoteAddress)")

Should I be manually writing to the keystores at any point? Like:
try! aliceStore.identityKeyStore.store(identity: identity, for: bobAddress)
try! aliceStore.preKeyStore.store(preKey: prekey!, for: deviceId)
try! aliceStore.signedPreKeyStore.store(signedPreKey: signedprekey!, for: deviceId)

I'm not doing anything like that, because it didn't mention it on the examples page.  I feel like since Session doesn't exist as referenced in the Creating a session from a received PreKeySignalMessage section, there's likely some obvious answer.  Maybe the README.md just needs to be updated due to code changes?

This library looks great though. 🥇 Really looking forward to getting it implemented and would be thankful for any help you can provide in clarifying the implementation details.

Still no response?! docs are pretty wrong than

Sorry for the delayed response. The README is incorrect, Session(for: aliceAddress) should be SessionCipher(store: aliceStore, remoteAddress: aliceAddress)
The docs where not up to date with code, sorry for that.

SessionCipher(for: aliceAddress, store: aliceStore) is the correct one now but the session address name is not plain. I don't know why but when session is created by library, it appends some dummy chars to the end of the name.

I am getting issue in decryption. not getting any solution. getting error like untrusted Identity.


Extract HTML String from HtmlTag

Markwon version: 4.6.0
Dependencies

implementation 'io.noties.markwon:core:4.6.0'
implementation 'io.noties.markwon:html:4.6.0'
implementation 'io.noties.markwon:recycler:4.6.0'
implementation 'io.noties.markwon:image-glide:4.6.0'
implementation 'io.noties.markwon:image:4.6.0'
implementation 'io.noties.markwon:linkify:4.6.0'

The Problem
I want to display a custom thumbnail of a YouTube video.
Let's say I have HTML content that looks something like this:

lorem ipsum

https://www.youtube.com/watch?v=abcdefgh

So how do I extract the YouTube URL(https://www.youtube.com/watch?v=abcdefgh) from HtmlTagImpl object?
I tried using HtmlTag#getChildren() and it returns an empty list. I think it should have returned a TextNode instead.
As far as I checked inside the source code, I didn't see any method for getting children's content.

Hello @seanghay ,
there is no TextNode associated with HtmlTag, but you can inspect text content via MarkwonVisitor that is supplied to your custom TagHandler, here is a sample that does that

Hello @seanghay ,
there is no TextNode associated with HtmlTag, but you can inspect text content via MarkwonVisitor that is supplied to your custom TagHandler, here is a sample that does that

Thanks so much!


Import to anime and manga library separately

Describe your suggested feature
I was trying to import from animiru which is anime only and from mihon which is manga only but when I try to import the 2 backup files it override the whole library and deletes the other stuff I imported first
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is a request regarding an extension, I should be opening an issue in the extension's repository.
[X] I have updated the app to version 0.3.2.
[X] I will fill out all of the requested information in this form.

Sorry for some reason it filtered the other library when I imported a new one


fix hessian security hack

Fix this issue
https://github.com/alipay/sofa-hessian/issues/7

Codecov Report

Merging #8 into master will increase coverage by 0.02%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
+ Coverage   22.76%   22.78%   +0.02%
==========================================
  Files         140      140
  Lines       10708    10720      +12
  Branches     1944     1948       +4
==========================================
+ Hits         2438     2443       +5
- Misses       8004     8009       +5
- Partials      266      268       +2

Impacted Files
Coverage Δ

.../hessian/internal/InternalNameBlackListFilter.java
100% <ø> (ø)
:arrow_up:

.../main/java/com/caucho/hessian/io/HessianInput.java
0% <0%> (ø)
:arrow_up:

...main/java/com/caucho/hessian/io/Hessian2Input.java
32.26% <66.66%> (+0.36%)
:arrow_up:

Continue to review full report at Codecov.

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

there has a switch
serialize.blacklist.enable = true/false


need help with java

Hello. First of all, thank you very much for this amazing library. I am trying to implement automatic migration using java. These are more questions than an issue.
I'm trying to use the default migration rules in the "@GenerateRoomMigrations" annotation by omitting the rule class as in the README example, but the annotation has a mandatory parameter. Could you provide a java example of how to declare default rules?
Another big question I have is what "* Database_Migrations.build ()" means. Even in the test project I downloaded from the repository there is an unresolved reference notice for that line.
Thank you!

I had the same confusion and expected an answer.

That's Database_Migrations a generated file/class.  The name and package mirror those of the database being migrated.  For instance, if the actual database is com.example.MyDatabase, the generated class will be com.example.MyDatabase_Migrations.
After running a build, even if it fails because it can't resolve that file, the generated file will exist.  If the IDE doesn't auto-import it for you, just add it manually and everything should work.

Was answered by @RBusarow


Measures support

FreeCAD has measures support, you can create measures from the UI.
Also it would be nice upon click to show in the 3D view the mesures of the bounding box automatically:


Failed to read config file: .../gunicorn.conf.py

Hi
i install the dashboard and python 3 and pip via
sudo apt install python3-pip
Installation  completed without any error but start it output this error :
`------------------------------------------------------------
| Starting WGDashboard with Gunicorn in the background.    |
Failed to read config file: /home/iliya/wgdashboard/src/gunicorn.conf.py
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/gunicorn/app/base.py", line 111, in get_config_from_filename
spec.loader.exec_module(mod)
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/iliya/wgdashboard/src/gunicorn.conf.py", line 4, in
app_host, app_port = dashboard.get_host_bind()
File "/home/iliya/wgdashboard/src/dashboard.py", line 1702, in get_host_bind
init_dashboard()
File "/home/iliya/wgdashboard/src/dashboard.py", line 1641, in init_dashboard
config['Peers']['remote_endpoint'] = ifcfg.default_interface()['inet']
File "/usr/local/lib/python3.8/dist-packages/ifcfg/init.py", line 81, in default_interface
return Parser(ifconfig=ifconfig)._default_interface(route_output=route_output)
File "/usr/local/lib/python3.8/dist-packages/ifcfg/parser.py", line 30, in init
self.parse(self.ifconfig_data)
File "/usr/local/lib/python3.8/dist-packages/ifcfg/parser.py", line 90, in parse
raise RuntimeError(
RuntimeError: Tried to add broadcast=<IP_ADDRESS> multiple times to eth0, it was already: server ip
| Log files is under log/                                  |
------------------------------------------------------------`
thx for any help

@iilliya
https://github.com/donaldzou/WGDashboard/issues/191#issuecomment-1510433790


Expandable objects in locals cannot be modified

VSCode Version: 1.8.1
OS Version: Ubuntu 16, Linux x64
Node: 6.5.0

The locals window allows direct modification (setting the value) of variables by double-clicking the value or using the "Set Value" context menu option.
But you can't do this with objects or arrays. Because they're expandable, there are no options available for modifying them directly in locals - instead you have to manually evaluate an assignment expression to set the appropriate value.
On a related note, setting locals to object literals fails - they can only be set to primitives, strings or array literals. What's more annoying is that if you set a local to an array literal, you can't set it back! (because it becomes expandable).
Can you allow double-click and the context menu "Set Value" to expandable variables?

Hey @adelphes, thanks for reporting! Indeed, this feature would be helpful, and would go along well with https://github.com/Microsoft/vscode/issues/13969. As to your second issue, I've filed #19553 to track that.
cc @weinand, @roblourens, @isidorn

This sounds like a regression to me. IIRC this was possible previously.

To verify: have a debug session and make sure a primitive variable can be set to an array, and that an array can be set back to a primitive variable


Adding context propagation to net/http server instrumentation

Hi,
This PR attempts to add context propagation to the net/http server instrumentation.
We do it by iterating over the first bucket of the incoming request header map and trying to find the "traceparent" header.
This was tested with Go versions 1.12-1.19.
Our test environment consisted of instrumented Python application that sends a request to instrumented Go http server.
The produced trace looks like the following:

We would love to get your feedback on this.
Thanks!

I think it is necessary to check whether the traceparent exists before inserting elements into the map, because if the same key exists, there may be logic errors when writing the http header.

@oxeye-gal any interest in re-opening this in https://github.com/open-telemetry/opentelemetry-go-instrumentation ?

Hi @vreynolds, sure thing i'll do it later this week.

Hey @oxeye-gal - If you would like help porting this to the OTel repo, let me know -- I'm happy to help however I can.


FloatField with null=True and is not imported properly when value is null unless default exists

error looks like this:
restoring WeightLimits
OrderedDict([(u'id', u'4'), (u'source_doc', u'5'), (u'created', u'2016-04-05 00:07:29'), (u'modified', u'2016-04-05 00:07:29'), (u'by_user', u'legacy'), (u'units', u'us'), (u'max_takeoff_weight', u''), (u'max_fuel_load', u''), (u'max_payload', u''), (u'empty_weight', u''), (u'VFR_day_reserves', u''), (u'VFR_night_reserves', u''), (u'IFR_100nm_reserves', u'734'), (u'IFR_200nm_reserves', u'946'), (u'IFR_300nm_reserves', u'1132'), (u'NBAA_100nm_reserves', u'641'), (u'NBAA_200nm_reserves', u'851'), (u'NBAA_300nm_reserves', u'1035')]) could not convert string to float:

where max_fuel_load is the float field. If I add "default=None" to the field declaration the error goes away. Note that several of the other fields with nulls are IntegerField and they work fine.
Tried this with both json and csv, no difference in behavior.
I have workarounds (use default or convert to integer) so it is low priority for me, others may feel differently.

this should be fixed, can you test?


pull request for e2e test at 11/25/2016 22:56:04

:white_check_mark: Validation status: passed
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.


Removed http mentions from backup/restore

Fixes DOC-3059
Removed leftover mentions of http storage for backup and restore that were in includes files. Moved restore's source privilege include to its own file since it differs from show backup etc.

cool thanks @msbutler, those changes are just italics --> bold as per some style guidelines!

+1 to removing references in SHOW BACKUP
I don't tthink we should remove references to http for import IMPORT / IMPORT INTO. The user can still import multiple files in a single IMPORT statement using HTTP if each file has its own URL. This use case may merit its own example in the docs. @livlobo @dt do you agree?

+1 to removing references in SHOW BACKUP
I don't tthink we should remove references to http for import IMPORT / IMPORT INTO. The user can still import multiple files in a single IMPORT statement using HTTP if each file has its own URL. This use case may merit its own example in the docs. @livlobo @dt do you agree?

I checked in with Liv, and IMPORT + http can remain.


Let sphinx add parameter description to documentation

This adds automatic documentation generation from generate_parameter_library yamls.
I added all yamls where no nested structures or __map_ parameters are used, see https://github.com/ros-controls/control.ros.org/pull/97 for the currently missing features.
As an example, the generated docs look like:

Codecov Report

Merging #651 (98ca5b3) into master (e7f9962) will increase coverage by 0.75%.
The diff coverage is 34.91%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##           master     #651      +/-   ##
==========================================
+ Coverage   35.78%   36.53%   +0.75%
==========================================
  Files         189        7     -182
  Lines       17570      676   -16894
  Branches    11592      357   -11235
==========================================
- Hits         6287      247    -6040
+ Misses        994      134     -860
+ Partials    10289      295    -9994

Flag
Coverage Δ

unittests
36.53% <34.91%> (+0.75%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ontroller/test/test_load_diff_drive_controller.cpp
11.11% <0.00%> (ø)

diff_drive_controller/src/odometry.cpp
42.16% <11.11%> (ø)

diff_drive_controller/src/speed_limiter.cpp
46.55% <11.11%> (ø)

...ive_controller/test/test_diff_drive_controller.cpp
17.62% <12.08%> (ø)

...iff_drive_controller/src/diff_drive_controller.cpp
47.09% <46.88%> (ø)

...de/diff_drive_controller/diff_drive_controller.hpp
100.00% <100.00%> (ø)

...troller/include/diff_drive_controller/odometry.hpp
100.00% <100.00%> (ø)

... and 189 files with indirect coverage changes


[bdd] Validate the pod network chaos experiments in e2e

Validate the pod network chaos experiments in the litmus-e2e. It should validate the network chaos during the chaos injection by ping -c1 <ip>. This ping response should be failed in the chaos duration.

fixed with https://github.com/litmuschaos/litmus-e2e/pull/198


🐛 [FIREBASE_MESSAGING] onBackgroundMessage is not working in iOS when app is terminated.

Hi. I used Flutter 2.2.1 and firebase_messaging: ^10.0.1. I can receive notifications with Android and onBackgroundMessage is working perfectly. But for iOS., I can receive notifications and onBackgroundMessage is not working after app is terminated.
Steps to reproduce
Steps to reproduce the behavior:

flutter run on device
Quit / close the app
Send FCM to the app
Background notification appears but on onBackgroundMessage didnt work.

}
}
}

Any update on this issue ?

Hi, today I found that when I send firebase notification twice within 1.5 second, onBackgroundMessage is working in iOS even when the app is terminated. If anybody found onBackgroundMessage is not working for you, please try the above method, it is working. Is there any other solution to fix this.

Hi @MaheshKumarM-SCE
This is a native limitation of iOS in general, not just for Firebase.
The way this issue manifests on the flutter implementation if firebase messaging is known and documented at https://firebase.flutter.dev/docs/messaging/usage#receiving-messages

On iOS, if the user swipes away the application from app Switcher, it must be manually reopened again for background messages to start working again.

Thank you

Hi... I would like to share the latest observations in this issue...

onBackgroundMessage is working in iOS if the app is in foreground, background or even terminated.

I checked by closing the app and swiping it from the App Switcher and I sent the notifications after 5mins , I still received the notifications and onBackgroundMessage is working.

3.But, when I closed my app(app is in terminated state) and opened another app, I still receive notification but onBackgroundMessage  is not working this time. Please try this way and check if its working for you guys. Also, please tell me if there is any solution or workaround for this.

How are you testing that the background message handle works when the app is terminated?

I had a local preference value to increment and store the count each time onbackgroundMessage is executed.
Also, I created flutter local notification from onbackgroundMessage.


Do you need contributors?

Hi!
I was looking for C# music theory libs for my pet project(yet another ear training app). I've found that this project is quite nice.
Do you need any help? I can contribute since I have some industry experience with .NET, also I'm capable to help with music theory area since I have a college degree in music(choir conducting and music theory).
Now I'm going to try your lib in my app and probably give some feedback.
Thanks for your project!
Feel free to contact me on telegram @KoHHeKT

Hi there,
I'd love that! The more you can help the better. I've crafted this library to fit the needs of my own project, so it would benefit greatly from an outside perspective.
Also, the little bit of music theory I know is self thaught, I'd love your help on that side, too.
I'll be grateful for any feedback or help, thanks!

Do you have any ideas for the first task?
Usually I prefer to write some tests for to get deeper understanding of the project. Do you have any code that needs more tests?

One thing that comes to mind is the Invert method on the Chord class. Is that a good starting point?


Add VSCode launch configuration for attaching to executable.

Useful for attaching to already running sourcekit-lsp executable.
Example of usage.

Build debug version of sourcekit-lsp in VSCode.
Open a SwiftPM project in a second "target" version of VSCode.
Go to settings in "target" VSCode, click to edit workspace settings and set Sourcekit-lsp: server path to the path to your debug version of sourcekit-lsp: <Fullpath>/sourcekit-lsp/.build/debug/sourcekit-lsp.
Restart LSP server as requested.
Go to original VSCode and run debug target Attach sourcekit-lsp.

You are now debugging the sourcekit-lsp server running in the "target" VSCode.

@swift-ci Please test


Percy: Does not run for contributors

 ›   Warning: Skipping visual tests. PERCY_TOKEN was not provided.

e.g. https://github.com/prisma/docs/runs/3170808940 in https://github.com/prisma/docs/pull/2065

Relate ticket https://github.community/t/make-secrets-available-to-builds-of-forks/16166


Fix set_option call to LDAP for SSL CERT

The set_option call to LDAP was not correct when configuring the LDAP SSL certificate

Thanks!

@alexandrezia Sorry about that, I released 1.1.1 with this fix.

Thanks!


Several Translation Strings Missing

Describe The Bug:
I am unable to translate several parts of Config UI X to my language because there is no translation string line related to the those parts available in the translation file.
Screenshots:
Some examples:
drag here text when there is an empty room available

speaker text when there is a tv accessory added to homebridge

all of the interface settings - not just limited to this screenshot

Thanks @Alperen-Ozturk
I've added the translation string for "Drag Here".
The "Speaker" is the accessory name is from Homebridge / HAP - you can change it by clicking the cog icon on the tile.
The UI Settings is using the generated schema form UI which at this time does not support translations - I plan to move this to a dedicated screen at some point which will include translatable labels.

Thanks for the info.


Calling useThree() prevents React.memo() from working

I tried to capture it in a sandbox: https://codesandbox.io/s/0m4v999now
My react.memo compare function always returns true, so this component should never re-render unless it's re-created
const RenderTest = memo(
  () => {
    const {} = useThree();
    return null;
  },
  () => true
);

Simply calling useThree will make this component render every frame.

that's a bit strange, useThree is nothing more than
export function useThree() {
  const { subscribe, ...props } = useContext(stateContext)
  return props
}

So it looks like something triggers canvas to update its context, but need to dig deeper.

made a patch version. the provider is now memoized. still i think its not good that your entire canvas component re-renders every frame. as i said before, i would try to keep react out of rendering completely, it shouldn't be involved at all. it should render the scene, once, then shut up until there's a another structural or state change.

I agree, I don't like the fact that by default, if I want to simply move an object in my scene, I basically have to go through react creating elements and tree diffing, when I really just want to update a position vector. In Charisma with react-thee-renderer I've already implemented a few things to bypass react, like doing updates in shouldComponentUpdate and only allowing re-renders if something fundamental changes, for example
export default class Wall extends Component {
    shouldComponentUpdate( nextProps ) {
        // Manually mutate scene graph
        this.refs.door.position = nextProps.position;
        // Only allow react to run if some sort of re-mount is needed
        return ( nextProps.materialId !== this.props.materialId );
    }

    render() {
        const {
            position, rotation, quaternion, scale, materialId,
        } = this.props;

        return <Mesh
            ref="door"
            position={ position }
            materialId={ materialId }
        />;
    }
}

I want to lean on react's diffing as much as possible where it's performant. I've hand-rolled my own scene updating code outside of react before and it got pretty buggy from not managing adding/removing objects correctly.
Being unable to fully control the render loop, what I struggle with is that conceptually in a game engine, it feels like my engine/logic should control everything, including the rendering. Especially if my game isn't just a canvas, but HTML elements (my level editor, for example, has tons of UI elements). By running the rAF inside of the Canvas, it feels like the inversion of that, like my rendering engine is controlling my game logic. That seems great for a specific type of setup, like a demoscene, which three is good at. React-spring seems similar, it's very good for a specific type of application, but if you want more control (like pausing springs or changing the timestep) you're going to fight it.
I'm done rambling, thank you for your responses to my issues and this library is great so far.

you can do all the calculations in useRender to move things around outside of react. if you need shared state for updates, use useRef and pass the reference around, write to ref.current and mutate three inside useReder. or use react-spring, or animated. any call to setState/useState is going to kill it again. no need to study diffing, just don't update react needlessly. use it to present a scene, add stuff, remove stuff. everything else is transient.
i don't think this is something three-fiber should solve for you, this is react and you need to use it in a way that fits your purpose. none of the projects i do move either animations or three-objects through react. i may be used to it now, it's second nature. that was also one of the reasons i made reactspring.


Runtime error when running out of sources

when i run the ./scripts/code.sh  the result is below:
[28264:1123/134545.483652:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[28097:1123/134546.219752:INFO:CONSOLE(24)] "Uncaught SyntaxError: missing ) after argument list", source: file:///vscode/out/bootstrap-window.js (24)
[28097:1123/134546.220854:INFO:CONSOLE(21)] "Uncaught TypeError: Cannot read property 'load' of undefined", source: file:///vscode/out/vs/code/electron-browser/workbench/workbench.js (21)
how to fix the problem of the version of vscode and electron

You can ignore the initializeSandbox error, it is more of a warning when the runtime is not able to establish sandbox for the gpu process, for more context please refer to https://bugs.chromium.org/p/chromium/issues/detail?id=1112159#c16
[28097:1123/134546.219752:INFO:CONSOLE(24)] "Uncaught SyntaxError: missing ) after argument list", source: file:///vscode/out/bootstrap-window.js (24)
[28097:1123/134546.220854:INFO:CONSOLE(21)] "Uncaught TypeError: Cannot read property 'load' of undefined", source: file:///vscode/out/vs/code/electron-browser/workbench/workbench.js (21)

Are the main source of errors to check further, can you clarify which commit are you trying to build from ? Does it repro with latest commit on main ?

the version of vscode is 1.54.3 and the version of electron is 12.0.9

1.54.3 is quite old, any reason you are not using the latest release ? Also is this being built from release/1.54 ?


Implement class BaseLFib64 (c++20)

Take benefit of c++11 implementation.

Completed; Still to be tested.


Fix accessing number literal properties on objects

This uses raw value as string representation of number literal. This is an oversimplification, but better than nothing.
The correct way is to implement this part of the spec: http://www.ecma-international.org/ecma-262/6.0/index.html#sec-tostring-applied-to-the-number-type
Fixes: https://github.com/facebook/flow/issues/1512

Switched to string_of_float_trunc, it seems to work good enough

@bhosmer ping

I'll take this over from Basil. Thanks for being so patient.

This looks good to me. I'll import, rebase it past some internal refactors, get it reviewed, and merge it. Sorry for the delay!

This has turned out to be a little more complicated than anticipated. Since we support types like
function foo(obj: { [key: number]: string }): string {
  return obj[1];
}

It's a problem if we automatically convert 1 into "1" as this PR does. Instead, we need to update  GetPropT and SetPropT to carry along the information that this is a number literal. @samwgoldman is going to attempt this within the next few weeks.

@gabelevi haven't thought about this. I'll try to fix it myself, if you don't mind

Normally I would be hugely supportive but I'm pretty much done with the enabling refactor. Will coordinate with you regarding follow up steps once the diff lands!

@samwgoldman got it!

OK, so the groundwork has landed in this revision: 1fd2a7242dfe427507110fc4b04ca37990fb092c
We now look up the prototype chain for all computed properties: https://github.com/facebook/flow/blob/b857236d9a010c63a0d8e19cfc7ae0a7618ddd3d/src/typing/flow_js.ml#L4007
To make this work, the trick will be to find all the places that a propref is looked up in an ObjT or InstanceT, see if the propref is a Computed (NumT (_, Literal lit)) and try to convert to a named property. If not, continue propagating the computed propref up the chain.
Let me know if you have any questions, or if there is something else missing.

Hopping in real quick to see if you're still pursuing this @vkurchatkin 😅it's been a while

It looks like this has been abandoned. Feel free to reopen if you pick this back up again.


synchronous set command (deep = True) does not return the acknowledged value

LabOne offers two ways of changing a not value. Asynchronous (default) is the fast way. Synchronous (deep=True) blocks until the device has acknowledged the value and there for ensures that the value has been processed by the device before the python execution continuous.
The device acknowledges the value is has processed. Since this value can differ from the input value (e.g. floating point arithmetic, limits ...) it can be important to know this value as an end user. LabOne and toolkit there for returns this value.
The LabOne QCoDeS driver however does not.
The problem is that QCoDeS by design does not support returning a value for a set command.

@tobiasah I would suggest that the best solution for doing this in qcodes is to have set explicitly set the cached value of the qcodes parameter with the returned value. That way QCoDeS knowlege of the parameter will be consistent with the state of the instrument. I believe that you should be able to do self.cache.set(returned_value)

@jenshnielsen thanks for the hint. My proposal in #48 is to use get_wrapper (in _wrap_get)  with the returned value. get_wrapper also updates the cache but also considers potential parsers a validators. Thus we do not create a weird state but basically do a set and get in one call at QCoDeS side but only a single call in LabOne.
Or does this create some unconsidered side effects?
(The ZIParameter tries to a as least invasive as possible to the original Parameter implementation so that one gets the best out of both worlds)

@tobiasah That should be fine as long as its not a significant performance issue to call get again


Isolate.kill() cancels earlier control events

The description for method Isolate.kill()  reads:

void kill({
int priority: BEFORE_NEXT_EVENT
})
Requests the isolate to shut down.
The isolate is requested to terminate itself. The priority argument specifies when this must happen.
The priority must be one of IMMEDIATE or BEFORE_NEXT_EVENT. The shutdown is performed at different times depending on the priority:
IMMEDIATE: The isolate shuts down as soon as possible. Control messages are handled in order, so all previously sent control events from this isolate will all have been processed. The shutdown should happen no later than if sent with BEFORE_NEXT_EVENT. It may happen earlier if the system has a way to shut down cleanly at an earlier time, even during the execution of another event.
BEFORE_NEXT_EVENT: The shutdown is scheduled for the next time control returns to the event loop of the receiving isolate, after the current event, and any already scheduled control events, are completed.

The following sample code demonstrates, that ping event, which is send before kill(), is discarded.
import "dart:isolate";
import "dart:async";

entryPoint(SendPort sendPort) async {
  ReceivePort receivePort = new ReceivePort();
  sendPort.send(receivePort.sendPort);
  await for (var event in receivePort){
    print(event);
  }
}

Future ping(Isolate isolate, payload, [Duration timeout]) async {
  ReceivePort pingPort = new ReceivePort();
  Future result = pingPort.first;
  isolate.ping(pingPort.sendPort, response:payload);
  if (timeout!=null){
    result = result.timeout(timeout, onTimeout: () {
      pingPort.close();
      return "timeout";
    });
  }
  return result;
}

main() async {
  ReceivePort onExit = new ReceivePort();
  ReceivePort receivePort = new ReceivePort();
  Isolate isolate = await Isolate.spawn(entryPoint, receivePort.sendPort, onExit:onExit.sendPort);
  SendPort sendPort = await receivePort.first;

  Future pingFuture = ping(isolate, "ping", new Duration(seconds:2));

  isolate.kill(priority:Isolate.IMMEDIATE);

  print(await pingFuture);
  await onExit.first;
  print("test finished");
}

Output:

λ d:\dev\dart\dart-sdk\bin\dart test6.dart
timeout
test finished

Expected output:

λ d:\dev\dart\dart-sdk\bin\dart test6.dart
ping
test finished

Unfortunately, the sample code is not stable enough. For example if function ping is inlined test passes. Also it passes with isolate.kill(priority:Isolate.BEFORE_NEXT_EVENT); but more complex scenarios with BEFORE_NEXT_EVENT fail.
Dart VM version: 1.21.0 (Wed Dec 07 06:52:21 2016) on "windows_x64"

Your ping helper method is async. That means that its body isn't executed immediately, but is instead scheduled for a later microtask. Right after calling ping, you call isolate.kill, so the kill message is actually sent before the ping message. That's also why it works if the ping function is inlined - then the ping is sent before the kill.
I'll take this as another vote for #22909.

You are right, the root cause is async marker for method test. I have removed it and test passes. So this is my mistake, I forgot that async methods are executed later.
However, some error message, that ping is sent to already killed isolate would be helpful in understanding  what is wrong.

The Isolate object could maintain state to know that kill has been sent, and throw if you try to do something after a kill. It's not that simple, though - since a kill operation might fail if you don't have the correct capability, and one way to test if it failed is to request a ping after the kill and see if you get a response.
All in all, the Isolate class is a very low-level API, really just the raw way to send control messages to another isolate. I don't think it's a good idea to try to make it much fancier, because it's still going to be low-level, now just with a few odd higher-level features bolted on. Instead, we should make sure that users have better, probably more specialized, higher level APIs build on top of the Isolate class, like the IsolateRunner from package:isolate.


What is the difference between wordlist.dic and wordlists.list?

I'd like to use a word list for word segmentation. Which one should I use?

wordlist.dic is unclean/raw wordlist extracted from the burmese dictionary book.
wordlists.list is ordered and clean wordlist.


OTA update receives random packet size of 4200 bytes instead of 4096 bytes

Hi Team,
When I am performing OTA update, I receive random packet size of 4200 bytes some times against the expected size of 4096 bytes.
I do not see this issue happening when doing OTA update over BLE, but I see this issue happening in OTA update over Wi-Fi.
I am using FreeRTOS Version 202002.00 and I am using ESP32.
Please find the screenshot for the log attached here.

Kindly let me know what can be the cause of this problem?
Thank you.
SK

Hello,
Thank you for sharing logs and other details. The error you are getting is due to memory allocation failure in MQTT library on an incoming packet. The size of this incoming packet will be slightly larger than the OTA block size ( 4096 in your case ) due to additional header. So 4200 size of the packet is not the issue.
This issue is not reproducible on the OTA demo and also from logs I see you have application code and other libraries used reducing available heap space. To fix this we have to understand the memory required for additional libraries and application. We can insert calls to get free heap available and maximum block size available in code to do that. Please refer to the blog post ESP32-Memory-Blog.
It seems while using BLE enough heap space is available and you are not observing this issue. Do you have a requirement to use BLE while WiFi is on or can it be offloaded?
Also, we can reduce OTA library heap requirement by updating the OTA configuration parameter otaconfigLOG2_FILE_BLOCK_SIZE and set it to (10) 1 KB block size.  Esp32 config file
Also from Espressif, It is also possible to utilize residual instruction memory (IRAM) for dynamic allocation or moving data/bss of libraries/objects. You may find relevant config option at, https://github.com/espressif/esp-afr-sdk/blob/release/v3.3/components/esp32/Kconfig#L1080. Please note that based on access pattern (unaligned accesses), it may incur performance penalty.

Hi Prasad,
Thanks for the detailed explanation.
I could manage the Heap correctly now. I do not see any issue in OTA now.
You can close this issue.
Once again thanks a lot for the detailed explanation.
Thank you,
SK.


puppetlabs/apt 2.0.x compatibility

Hello,
Here is my version for puppetlabs/apt 2.0.x compatibility. I have tested on :
Mac OS X 10.10.3 , vagrant 1.7.2, virtualbox 4.3.26, ubuntu 14.04, puppet 3.7.5 and librarian-puppet 2.1.0
Best
Zoltan

Jenkins standing by to test this. If you aren't a maintainer, you can ignore this comment. Someone with commit access, please review this and clear it for Jenkins to run; then  say 'jenkins, test it'.

Hi,
I'm not planning to only support the 2.0 apt module since older PE versions are possibly pinned down to older apt module versions.
I'll be pinning the module to use apt < 2.0


In exporter-prometheus, SumObserver metric is considered gauge instead of counter

I suppose it's wrong because of this line of code:
https://github.com/open-telemetry/opentelemetry-js/blob/dc384956b3c762b16c3fc62c792def067e94a307/packages/opentelemetry-exporter-prometheus/src/PrometheusSerializer.ts#L88
It will return counter if metric has MetricKind.SUM_OBSERVER AND AggregatorKind.SUM, but as far as I tested it could never be true simultaneously with @opentelemetry/metrics, since this library creates SumObserver with LastValueAggregator:
https://github.com/open-telemetry/opentelemetry-js/blob/dc384956b3c762b16c3fc62c792def067e94a307/packages/opentelemetry-metrics/src/export/Processor.ts#L60
It is important because it makes creation of prometheus counters which are observers (almost) impossible; as far as I got it, we can't observe for a value of a CounterMetric.
Possible solution: check if metric is SumObserver in switch case AggregatorKind.LAST_VALUE and return counter from there.

Sorry, I misclicked Enter and this issue got created severely incomplete. I'll update it now to fill all info.

Closing as the InstrumentType.OBSERVABLE_COUNTER now is being exported as a Prometheus counter.


feat: add secure cookie override to agent

Allow overriding the default secure cookie for Cookie access info (use case: doing tests directly with express / koa app without nginx / tls certs)

Worth noting, I had to bump the engine -> node to 7.0.0 because I was getting a version error from http2 wrapper.
Also, this commit goes in hand with this commit for supertest, on which I will wait for this PR to be merged first as the tests for supertest commit requires proposed  changes.
End usage:
const agent = supertest.agent(appCB, { secureCookie: true });

Can you please add a test?  Also it looks like there is a merge conflict that will need fixed.

@niftylettuce Should be all good be now.

@niftylettuce Should be all good be now.

@niftylettuce Just one note on this. Agent is not behaving correctly for both .sendSecureCookie() and .disableTLSCerts()
Example:
request
  .get(url)
  .disableTLSCerts()
  .then(() => {});

request
  .get(url)
  .then(() => {});

This one works as expected, only on the first request TLSCerts are disabled (as it was called as a method not as an option). However when you do
agent
  .get(url)
  .disableTLSCerts()
  .then(() => {});

agent
  .get(url)
  .then(() => {});

Agent disables TLSCerts on both calls (same with .sendSecureCookie, as for some reason the default is being set ) I've digged on the code and it seems agent has no clear way to differentiate when one of those has been set as an option or as a method (one time).
Thoughts?

I've reverted in meanwhile

@niftylettuce Why did you revert it tho? The issue is not with this commit, but how agent handles options / vs methods. That will need a separate work / refactor to solve that.
I was working on supertest commit waiting for you to release this version.

Can you submit the commit per this? https://github.com/visionmedia/superagent/pull/1515#issuecomment-572181906

@niftylettuce if you can give me a hand to resolve it I can contribute, the problem is with agent-base not differentiating when a property is given from initialization or from method, so it carries out all properties when used as method for next calls (even if the same method is not used).

I cannot dedicate the time, I apologize


Pipeline updates - java 11 and other

[ ] change build to run on JDK11 instead of JDK9
[ ] add support for a module using a different java version (unless very simple) -e.g. to use Java 11 HTTP client
[ ] add support to run a set of tests using JDK8 (to make sure we do not use Java9+ specific APIs)
[ ] add support to run a set of tests using JDK11, utilizing module system (to make sure our services are correctly defined and that we have all dependencies correctly done in module-info.java)

Build fails when using java11 on:

spotbugs
javadocs

Pipeline is now running using Java 11. See PR #810


Generated files must be present before invocation to be included in package_data

I've created the following repository to demonstrate the problem:
https://github.com/JonathonReinhart/setuptools-package_data-issue
Copying what I've shown there:
This repository is an MCVE for the following issues:

https://github.com/JonathonReinhart/scuba/issues/77
https://github.com/JonathonReinhart/staticx/issues/22

Problem statement
When python setup.py sdist bdist_wheel is invoked from a clean starting point, data files (identified in package_data), which are generated during setup.py hooks, will not be included in the wheel.

From a clean starting point (git clean -fdx) (primarily removes mkpkg/generated_data):

python setup.py bdist_wheel - OK
python setup.py sdist then python setup.py bdist_wheel - OK
python setup.py sdist bdist_wheel - BROKEN

Steps to reproduce
First:

Run git clean -fdx -- remove any generated files
Run python setup.py sdist bdist_wheel
Observe only the following line in the output:

copying build/lib/mypkg/__init__.py -> build/bdist.linux-x86_64/wheel/mypkg

Run unzip -l dist/mypkg-1.2.3-py2-none-any.whl

Observe that mypkg/generated_data is missing from the wheel

Now that mypkg/generated_data is present:

Run python setup.py sdist bdist_wheel again
Observe the following lines in the output:

copying build/lib/mypkg/generated_data -> build/bdist.linux-x86_64/wheel/mypkg
copying build/lib/mypkg/__init__.py -> build/bdist.linux-x86_64/wheel/mypkg

Run unzip -l dist/mypkg-1.2.3-py2-none-any.whl

Observe that mypkg/generated_data is now present in the wheel

Clean the directory, and run other variations of sdist and bdist_wheel (as mentioned above) and observe that the problem does not manifest.
Workarounds that do not work

Hooking build_py instead of build

Sigh, it turns out setting include_package_data to true "fixes" the problem.
(again copied from my example project)
Solution
Setting include_package_data = True caused setup.py to behave as intended.
Note that the setuptools documentation
is not particularly clear on why this works:

include_package_data
If set to True, this tells setuptools to automatically include any data files
it finds inside your package directories that are specified by your
MANIFEST.in file. For more information, see the section below on Including
Data Files.

package_data
A dictionary mapping package names to lists of glob patterns. For a complete
description and examples, see the section below on Including Data Files. You
do not need to use this option if you are using include_package_data,
unless you need to add e.g. files that are generated by your setup script and
build process. (And are therefore not in source control or are files that you
don’t want to include in your source distribution.)

...

In summary, ...

include_package_data
Accept all data files and directories matched by MANIFEST.in.

package_data
Specify additional patterns to match files and directories that may or may
not be matched by MANIFEST.in or found in source control.

Nothing in this documentation describes the behavior I was seeing, however.
In my case, it seemed like the files discovered by sdist (using MANIFEST.in)
somehow overrode those that bdist_wheel would normally find.
For whatever reason, specifying include_package_data seems to have two,
somewhat inverted purposes.

command/build_py.py has the following ("positive") reference to include_package_data:
    def analyze_manifest(self):
        self.manifest_files = mf = {}
        if not self.distribution.include_package_data:
            return
        src_dirs = {}
        for package in self.packages or ():
            # Locate package source directory
            src_dirs[assert_relative(self.get_package_dir(package))] = package

        self.run_command('egg_info')
        ei_cmd = self.get_finalized_command('egg_info')
        for path in ei_cmd.filelist.files:
           # ...

It seems that even though this is named analyze_manifest, invoking egg_info must be actually looking at more than just the manifest. It must also find files present in the packages "which may or may not be because they're listed in package_data.
Ugh. This is so complicated.

There are no less than three places where a generated file gets kicked out of SOURCES.txt (not the sdist itself, but still required): FileList.append refuses to add nonexistent files, then manifest_maker.prune_file_list weeds them out, then manifest_maker.write_manifest weeds them out again.
All ultimately chain up to FileList._safe_path.

Huh. Actually, SOURCES.txt is what matters — if a file gets there, it’ll get into the sdist if it’s generated by sdist.make_release_tree.
The whole _safe_path magic in FileList looks like it needs to be ripped out and replaced with bytes paths, to be honest, now that CPython 3.5 is EOL.


Input component refactor / code review.

Here's the notes from our code review for the Input component.

Remove small, medium, and large props.

Use cols and row props for TextArea

Fix padding on label with required prop.

Only functional props in Input, no visual code in Input.

Remove all or as much CSS as possible from Input.

Move mask into it's own composable component.

Don't check or filter value prop, it's ok to accept undefined or null as a value.

No state change in validate. Do state changes if any inside onChange.

Move line 162 into onChange.

Remove whole if statement at line 166.

Turn function into arrow function on line 181.

Don't use .call(this) on line 192.

Remove isValid and errorText from Input's state.

Create prop called onValidate that takes a function that returns an isValid boolean and an string that determines the error.

Move uppercase functionality into TextField.

onChange should always be called even when inValid.

Input has been removed in 0.1.0


Icon rendering is broken on Kindle Fire HDX

Icons are garbled on 7" Kindle Fire HDX. See attached screenshots. Not all fonts are equally affected: fontawesome and iconic are completely broken while entypo is kind of ok, but not really - there are still rendering artifacts, as if canvas is not properly cleaned up on repaints.

are you tried my fix?
https://github.com/atermenji/IconicDroid/issues/12#issuecomment-43065632

Fixed by @takke


[Search v2.2] [Auth] Handle chat type

Implement this section of the design doc

Still waiting on doc reviews.

This is done!


lxd 2.14: 'Container' object has no attribute 'description'

Description
With the update to LXD 2.14 it seems a description field was added and pylxd is not handling it well.
Steps to Reproduce
Script to reproduce using pylxd 2.2.3 under Python3 with pre-requisite is a running container called 'x'
$ lxc launch ubuntu-daily:x x
$ python3
>>> import pylxd
>>> pylxd.__version__
'2.2.3'
>>> client = pylxd.Client()
>>> x = client.containers.get('x')
/home/powersj/.local/lib/python3.5/site-packages/pylxd/models/_model.py:112: UserWarning: Attempted to set unknown attribute "description" on instance of "Container"
  key, self.__class__.__name__
>>> x.sync()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/powersj/.local/lib/python3.5/site-packages/pylxd/models/_model.py", line 153, in sync
    setattr(self, key, val)
  File "/home/powersj/.local/lib/python3.5/site-packages/pylxd/models/_model.py", line 134, in __setattr__
    return super(Model, self).__setattr__(name, value)
AttributeError: 'Container' object has no attribute 'description'

Expected Behavior
No UserWarning or AttributeError
>>> import pylxd
>>> pylxd.__version__
'2.2.3'
>>> client=pylxd.Client()
>>> x = client.containers.get('x')
>>> x.sync()
>>>

This was fixed by #230, a new 2.2.4 release to pypi would be awesome to pick it up.


Export to Terra Button

Can we get an export to Terra Button in on this release?
It would have the same logic as export to Firecloud but a different URL
┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Fix Versions: Dockstore 1.6
┆Sprint: Seabright Sprint 6 Ferry
┆Issue Number: DOCK-526
┆Epic: Core Demo Dockstore Improvements
┆Attachments: Screen Shot 2019-02-21 at 10.20.33 AM.png

➤ Walt Shands commented:
Tested on staging.dockstore.org ( http://staging.dockstore.org ) +DockstoreUI - 2.3.0-rc.0+ ( https://github.com/dockstore/dockstore-ui2/releases/tag/2.3.0-rc.0 )


cf app barfs

	cf app dora

using this version of the CLI:

	6.12.2-24abed3

and that this error occurred:

	runtime error: index out of range

and this stack trace:

		goroutine 1 [running]:
	main.generateBacktrace(0xc21000a000, 0x3)
		/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/main/main.go:177 +0xa9
	main.handlePanics(0x116b9f0, 0xc210186560)
		/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/main/main.go:161 +0x123
	runtime.panic(0x5a3660, 0xf08d17)
		/usr/local/go/src/pkg/runtime/panic.c:248 +0x106
	github.com/cloudfoundry/cli/cf/api.(*logNoaaRepository).GetContainerMetrics(0xc21026b960, 0xc2100c3210, 0x24, 0xc2104d37e0, 0x3, ...)
		/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/tmp/cli_gopath/src/github.com/cloudfoundry/cli/cf/api/logs_noaa.go:68 +0x275
	github.com/cloudfoundry/cli/cf/commands/application.(*ShowApp).ShowApp(0xc21006ea80, 0xc2100c3210, 0x24, 0xc21032f1b8, 0x4, ...)
		/Users/pivotal/go-agent/pipelines/Mac-OSX-Unit-Tests/src/github.com/cloudfoundry/cli/tmp/cli_gopath/src/github.com/cloudfoundry/cli/cf/commands/application/app.go:179 +0x6e0
	github.com/c

This is after I scaled down an app

We're removing the logs_noaa code on the next release. Should be fixed with that.


Longest Palindromic Subsequence.cpp

Given a string s, find the longest palindromic Subsequence's length in s.
A Subsequence is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remaining elements.
Example 1:
Input: s = "bbbab"
Output: 4
Fixes #230

@Ayush7614 pls review my PR.

@jaya232 remove the other file


Two Errors

I have two errors that I can't crack. The first is on loading the module:
>>> import epaper
ViperTypeError: can't do binary op between types -1 and 2
ERROR: stack size not back to zero; got 1
ViperTypeError: can't do binary op between types -1 and 2
ERROR: stack size not back to zero; got 1
ViperTypeError: can't do binary op between types -1 and 2
ERROR: stack size not back to zero; got 1

This doesn't seem to impact too much, but the display doesn't write, so perhaps I'm wrong. The next issue encountered is on writing. I get TypeError: function does not take keyword arguments on writing. The issues seem to come from:
self._line_fixed(line, 0, set_voltage_limit = True)
I get:
TypeError: function does not take keyword arguments
The function def looks like:
    @micropython.native
    def _line_fixed(self, line, fixed_value, set_voltage_limit=False):

So I don't see the issue. Any ideas?
Thanks for publishing this library.

That is puzzling. What version of Pyboard firmware are you running? I suggest upgrading to the latest build. I'll do likewise and we can compare notes.
As the errors centre around my use of the native and viper emitters it is easy to remove the decorators. Removing native decorators is simply a matter of commenting them out: this might be worth doing to see if the second error goes away. Removing viper decorators needs a little more work: in the declarations you'll need to remove the type hints and in function bodies the ptr8 casts, e.g.
    def _setbuf_fixed(self, line, fixed_value):
        index = 0                           # odd pixels
        buf = self.linebuf #ptr8 removed

Removing the decorators will inevitably make updates slower. The viper optimised sections in  particular have had a considerable amount of testing and I'm puzzled that you're seeing this fault. If it isn't a firmware issue I might need to request some guidance from Damien.

I've now updated to today's build (named below): the test script from the README runs without error. Please let me know if your experience is similar or not:
Entering REPL. Use Control-X to exit.

Micro Python v1.4.5-74-g75a811a on 2015-09-08; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>>
>>> import epaper
>>> a = epaper.Display('Y')
>>> a.rect(20, 20, 150, 150, 3)
>>> a.show()
>>>

Hi Peter,
I concur. This was my fault. I had one pyboard flashed with the github version and one not updated. I was testing with the later. You code works great. Thanks for making your micropython code public, I've found all of it very useful. Best, Chris


Fix tang test (part 2)

Fix the tang test by moving the tang listener into the qemu network namespace.
Also an attempt to speed up container build so the second commit will be pushed after the first build completes.

I ran a test with this PRs container image here: http://jenkins.infra.kinvolk.io:8080/job/container/job/test/20754/console

I ran a test with this PRs container image here: http://jenkins.infra.kinvolk.io:8080/job/container/job/test/20754/console

Are they still failing?
[2024-03-20T10:54:32.376Z] Failed tests:
[2024-03-20T10:54:32.376Z] cl.tang.root
[2024-03-20T10:54:32.376Z] cl.tpm.root


Add startDynamodbLocal sbt task information to CONTRIBUTING.md

I noticed while trying to run tests that a local dynamodb is required to be running at port 8042. I added this information to CONTRIBUTING.md, so that future contributers won't waste time on this. Cheers :)

Changed the commit. What do you think? @regiskuckaertz

I hope so


Fix typo in logback.xml example

In the logback.xml example, SizeAndTimeBasedRollingPolicy must be used because:

maxFileSize element is specified.
%i is used in the fileNamePattern.

Thanks, @hyangtack !


Question: support for types that depend on themselves

I'm trying to write a variant which depends on itself, for example:
 $ git diff
diff --git a/tests/codegen/variants.wit b/tests/codegen/variants.wit
index 590675d..83aae9e 100644
--- a/tests/codegen/variants.wit
+++ b/tests/codegen/variants.wit
@@ -26,6 +26,10 @@ interface variants {
       g(u32),
   }

+  variant runtime-type {
+      %list(list<runtime-type>)
+  }
+
   v1-arg: func(x: v1)
   v1-result: func() -> v1

The intention here is to mimic a Rust enum written something like this:
enum RuntimeType {
     List(Vec<RuntimeValue>),
}

This will produce the following error:
$ cargo t --workspace
   Compiling wit-bindgen-rust v0.6.0 (/home/danielbevenius/work/wasm/wit-bindgen/crates/rust)
error: type `runtime-type` depends on itself
            --> /home/danielbevenius/work/wasm/wit-bindgen/tests/codegen/variants.wit:30:18
             |
          30 |       %list(list<runtime-type>)
             |                  ^-----------

       Stack backtrace:
          0: anyhow::error::<impl anyhow::Error>::msg
                    at /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.70/src/error.rs:83:36
          1: anyhow::__private::format_err
                    at /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.70/src/lib.rs:671:13
          2: wit_parser::ast::SourceMap::rewrite_error
                    at /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/wit-parser-0.7.1/src/ast.rs:1042:13
          3: wit_parser::ast::SourceMap::parse
                    at /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/wit-parser-0.7.1/src/ast.rs:992:23
          4: wit_parser::UnresolvedPackage::parse
                    at /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/wit-parser-0.7.1/src/lib.rs:142:9
          5: wit_parser::UnresolvedPackage::parse_file
                    at /home/danielbevenius/.cargo/registry/src/github.com-1ecc6299db9ec823/wit-parser-0.7.1/src/lib.rs:165:9
          6: wit_bindgen_rust_macro::parse_source::{{closure}}
          7: wit_bindgen_rust_macro::parse_source
          8: <wit_bindgen_rust_macro::Config as syn::parse::Parse>::parse
          9: core::ops::function::FnOnce::call_once
         10: <F as syn::parse::Parser>::parse2
         11: syn::parse::Parser::parse
         12: syn::parse
         13: wit_bindgen_rust_macro::generate

My question is: is this something that could be be supported in the future, or are there perhaps situations/languages preventing this?

Thanks for the report! This is currently intentional as you've surmised, but the rationale traces its lineage back to the component model (tracked here), so I'm going to close in favor of that issue.

@alexcrichton Thanks for the quick reply and the link!


Feature/calculate storage discount

This PR provides a function that calculates the data storage discount amount based on a given data storage price value.

https://trello.com/c/fgVFi2g0/964-write-a-function-that-returns-the-data-storage-discount

Looks good:) really neat that you used the Bi-function here, thanks for showcasing its use!
Next time maybe introduce the feature branch first and then add functionality to that feature branch and merge with dev only after the full functionality is provided :)

Actually i did. This PR goes into the use case branch

Looks good:) really neat that you used the Bi-function here, thanks for showcasing its use!
Next time maybe introduce the feature branch first and then add functionality to that feature branch and merge with dev only after the full functionality is provided :)

Actually i did. This PR goes into the use case branch

Uh then my mistake, I somehow saw development. Then nvm and perfect you directly applied our new policy +1


Enable edit locking

Segments, chunks, and transcripts can be locked for new edits. Though Users should always be able to flag these as having errors.

Implemented for lines:

lines are locked if they are in the following states: reviewing, completed, flagged, archived
admins can always edit a line regardless of state


Branding number type with string enum simplifies to never

TypeScript Version:  3.6.0-dev.20190814

Search Terms: brand, numeric brand, branding
Code
const enum ϕ { _ = "" }
type Slot = number & ϕ; // never

let x: Slot = 5; // no error

Expected behavior:
Slot should be an alias of the intersection type number & ϕ and assignment to x should fail with:

Type '5' is not assignable to type 'ϕ'.

This is the behavior in 3.5.1.
Actual behavior:
Slot is an alias of never and assignment to x succeeds without error.
This is the behavior in 3.6.0.
Playground Link: playground shows the expected behavior because the issue is only present on the development branch.
Related Issues:

Intersections of string and number primitives should reduce to never; this is the intended behavior since such a value cannot exist.

assignment to x succeeds without error.

Am I reading this right?
I thought you couldn't assign non-never to never?
If you're saying this works,
const x : never = 5;

Then it's a bug

You're right, somehow I missed that. Assignment to x does cause an error in 3.6.0

Are you sure this behavior is expected? String enums are not generally treated as strings. Unlike numeric enums, string enums will not silently cast:
The following behavior is true under 3.5.1
const enum ϕ { _ = "" }
const enum ψ { _ = "" }
type Foo = number & ϕ;
type Bar = number & ψ;

declare const foo: Foo;
declare const bar: Bar;

let t: Foo;
t = foo;      // ✓
t = bar;      // ✘ No accidental casting between different branded numbers
t = 5;        // ✘ No unintentional branding of strange numbers
t = 5 as Foo; // ✓

If I change  ϕ and ψ to numeric const enums so that they do not reduce to never:
const enum ϕ { _ = 0 }, it becomes possible to silently brand bare numbers.
t = 5;        // ✓

I understand that this is the historic behavior of numeric enums, so I've been opting to brand with string enums instead.
I can't switch to void enums: const enum ϕ { } since that permits silently casting between different brands as well as silently branding bare numbers.
t = bar;      // ✓
t = 5;        // ✓

Under 3.6.0, the first example from above with string enums produces:
t = foo;      // ✓
t = bar;      // ✓
t = 5;        // ✘ Cant cast 5 to never
t = 5 as Foo; // ✓

Is there a recommendation for type-branding that folks should use? We had previously tried using empty-const-enums as brands in prior versions of TypeScript, and this no longer works for string and boolean base-types as of TypeScript 3.6 due to the intersection reducing to never.

If you're branding object or string, you can keep on using string const enums. For numeric types, you will have to use object brands: type Foo = number & { __foo_brand: any }.
If you're okay with temporary brands, you can use generics to generate unique nominal types:
// Either T or U must be an unresolved generic to create
// a temporary nominal type.
type Nom<T, U> = T extends U ? unknown : unknown;

class someClass<T = unknown> {
    x!: string & Nom<T, "foo">;
    y!: string & Nom<T, "bar">;

    constructor() {
        // Branded inside the class
        this.x = this.y; // ✘ string is not assignable to Nom<T, "foo">
    }

}

// Not branded outside
declare let inst: someClass;
inst.x = inst.y; // ✓ (x: string, y: string)

These brands reduce to unknown, so they disappear once the class is instantiated.

I have faced a similar issue while upgrading to Typescript 3.6.2.
The following code:
enum DateStringBrand { }
export type DateString = DateStringBrand & string;

function checkValidDateString(str: string): str is DateString {
    return str.match(/^\d{4}-\d{2}-\d{2}$/) !== null;
}

export function toDateString(date: Date | moment.Moment | string): DateString {
    const dateString = moment(date).format('YYYY-MM-DD');
    if (checkValidDateString(dateString)) {
        return dateString;
    }
}

which was working fine in 3.5.2, now is raising the following error:
[tsl] ERROR in file.tsx(10,68)
      TS2534: A function returning 'never' cannot have a reachable endpoint.

this is because now the type DateString evaluates to never.
Is this somehow connected to https://github.com/microsoft/TypeScript/issues/33164?

Doesn't look like it. Your issue is that DateStringBrand & string is equivalent to number & string which reduces to never. You can fix by using enum DateStringBrand { _ = "" } instead.

I've noticed that this can cause problems if we're doing the lazy nil check of if (!!value), since '' is falsey. So since we only care about the stringiness of the unused string, not the value, we can set the value to something that won't get in the way of lazy nil checking. Here's the snippet from my codebase:
// UID brands... this allows UIDs to be typed individually based on
// their usage, instead of everything being `string`. These first
// enums are the brands, and aren't used except to make the UID types.
// The string defined inside is not used for anything. We don't set it to
// to `''` because that means we can't check nil'ness by doing `if (!value)`,
// since that will collapse the brand type into never. The only thing we
// care about with this unused string is its stringiness, and if it's set
// to the empty string, the actual value can get in the way of our simple
// nill checks.

enum ElementUIDBrand { _ = '¯\_(ツ)_/¯' } // prettier-ignore
export type ElementUID = ElementUIDBrand & string;

Hat tip to Samuel Sonne on stack overflow for their answer which nudged me in this direction, and whose humorous string choice I copied. https://stackoverflow.com/questions/52897022/why-cant-brand-enums-be-unioned-in-typescript-3


Resnet18 experiment results are inconsistent

I did a simple experiment with ResNet18 , and  achieve the precision, 93%.
But I found that it was different from pytorch's implementation torchvision.models.
I used your code to train, and it's faster.
And I used torchvision.models.resnet18() to train, the first few epochs converge more slowly.
The same parameters, but  different results.
I want to know what makes them different.
The training process is as follows

The ResNet18 in the repo modified the convolution in the beginning and the fc layers to accommodate CIFAR-10 dataset, which  is slightly different from the ResNet paper for running the ImageNet dataset. Maybe this is it?

This may be the reason. Thank you very much, I don't know much about Resnet. I am just implementing some algorithms for comparison experiments.

Another thing you should be aware which is not mentioned in the readme is that the models here are trained with data augmentation which in comparison should give better results if you train the same exact model on the same dataset but without augmentation.

Even in the resnet paper they define a different resnet layout for CIFAR10 which is different for resnet layout for IMAGENET. The configuration you see in the table in the paper is for INAGENET. Since CIFAR10 has smaller images all those downsamplings in the regular resnet will leave almost nothing in the end for fc layers. The specific resnet layout for CIFAR10 is defined in section 4.2 of the resnet paper. The ones that are already in torchvision modules are for imagenet. This repo uses the resnet layout for CIFAR10.

I tried to add some tweaks to ResNet18 and got 94.22, but when I ran without any changes it achieved 94.85 (after a total of 100 epochs)... was it just luck?

Is that difference significant in the first place, I personally view such differences in my experiments even in the range of 1%-3% as not that significant. After all chasing % numbers should not be our goal.

I just saw others also achieved ~95% on ResNet18 (and was about to delete my comment).
I agree. My goal wasn't to chase numbers, but to test out my ideas, which no one would care if I don't have experimental support.

My goal was to test out my ideas, which no one would care if I don't have experimental support

Agreed!

@Lornatang https://github.com/Lornatang/ResNet/tree/master/examples/cifar gives a 404.

@psteinb  New Link：https://github.com/Lornatang/ResNet-PyTorch/tree/master/examples/cifar


Add class name exclusion or pattern exclusion for VariableNaming rule

I work with API that returns couple of jsons like:
{"_self":"url"} or {"_links":"url"}
I have written DTO to handle parsing and you can guess that variable names there are following JSON.
It would be great to exclude classes with patter *DTO or maybe specific variable names.

Maybe we should think about an option to exclude rules for given patterns like we do with test-pattern?
Something like:
exclusion-patterns:
  exclusions-pattern:
    pattern: .*DTO.kt
    rules:
      - VariableNaming
      - FunctionNaming

What dow you think @schalkms @Mauin ?

I think the idea is worth discussing.
The question is how much granularity detekt should provide and if there are many use cases for patterns like this.

We could for now just include your fix (maybe adding it too to FunctionNaming?) and care about exclusion-patterns after 1.0 ?

I agree. This approach makes sense. I just create a new issue for exclusion patterns.

I will close this one as we now have an issue for exclusion patterns.


Uncaught TypeError: Cannot read property 'length' of undefined

[Enter steps to reproduce:]

...
...

Atom: 1.25.0 x64
Electron: 1.7.11
OS: Mac OS X 10.10.5
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property 'length' of undefined
At /Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/screen-line-builder.js:329

TypeError: Cannot read property 'length' of undefined
    at ScreenLineBuilder.emitText (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/screen-line-builder.js:329:30)
    at ScreenLineBuilder.buildScreenLines (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/screen-line-builder.js:141:22)
    at DisplayLayer.getScreenLines (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:643:41)
    at TextEditorComponent.queryScreenLinesToRender (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:870:57)
    at TextEditorComponent.updateSyncBeforeMeasuringContent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:377:16)
    at TextEditorComponent.updateSync (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:275:16)
    at TextEditorComponent.didMouseWheel (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1553:59)

Commands
     -4:45.4.0 core:close (atom-pane.pane.active)
     -3:32.4.0 settings-view:open (a.)
     -2:45.5.0 editor:delete-to-beginning-of-line (input.hidden-input)
     -1:27.7.0 settings-view:open (input.hidden-input)

Non-Core Packages
atom-beautify 0.30.9
atom-easy-jsdoc 4.12.5
atom-material-syntax 1.0.8
atom-material-ui 2.1.3
busy-signal 1.4.3
docblockr 0.13.6
emmet 2.4.3
file-icons 2.1.18
goto-definition 1.3.4
intentions 1.1.5
js-hyperclick 1.13.0
language-vue 0.23.1
linter 2.2.0
linter-eslint undefined
pigments 0.40.2
react-snippets 1.1.0
vim-mode-plus 1.32.0

Thanks for taking the time to contribute!
We noticed that this is a duplicate of https://github.com/atom/atom/issues/16892. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Template startup script for compatibility cross backends

Codecov Report

Merging #398 (191b2a2) into main (a6f7c07) will decrease coverage by 18.49%.
The diff coverage is 40.00%.

@@             Coverage Diff             @@
##             main     #398       +/-   ##
===========================================
- Coverage   82.81%   64.33%   -18.49%
===========================================
  Files          30       30
  Lines        1094     1099        +5
===========================================
- Hits          906      707      -199
- Misses        188      392      +204

Flag
Coverage Δ

api
64.33% <40.00%> (-0.12%)
:arrow_down:

unit
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

runner_manager/models/backend.py
79.54% <40.00%> (-18.05%)
:arrow_down:

... and 9 files with indirect coverage changes


Question about playing back a manually created record file

I am having trouble using record.py (at cyber/python/cyber_py3) to create record files "from scratch" i.e. by manually constructing and adding messages. I am able to run the demo for it (cyber/python/cyber_py3/examples/record.py) and the demo successfully creates a simple record file and then reads from it. However, when I try to play it back using cyber_recorder play -l -f /tmp/test_writer.record the playback never starts. It just hangs at zero progress.
Is there a way to use the record.py utility to create record files that can be played back?
Thanks,
Corwin
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04): Linux Ubuntu 20.04
Apollo installed from (source or binary): Source
Apollo version (3.5, 5.0, 5.5, 6.0):
Output of apollo.sh config if on master branch:

[cstout16@in-dev-docker:/apollo]$./apollo.sh config
[INFO] Apollo Environment Settings:
[INFO]     APOLLO_ROOT_DIR: /apollo
[INFO]     APOLLO_CACHE_DIR: /apollo/.cache
[INFO]     APOLLO_IN_DOCKER: true
[INFO]     APOLLO_VERSION: develop
[INFO]     DOCKER_IMG: dev-x86_64-18.04-20211122_1608
[INFO]     APOLLO_ENV:  STAGE=dev USE_ESD_CAN=false
[INFO]     USE_GPU: USE_GPU_HOST=1 USE_GPU_TARGET=1
[INFO] Usage: /apollo/scripts/apollo_config.sh [Options]
[INFO] Options:
[INFO]     -i|--interactive      Run in interactive mode
[INFO]     -n|--noninteractive   Run in non-interactive mode
[INFO]     -h|--help             Show this message and exit

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:

Run the example record.py file at cyber/python/cyber_py3/examples to produce a simple record file from scratch
Run cyber_recorder play on the record file produced in step 1. Notice that the record file does not play.

[cstout16@in-dev-docker:/apollo]$python3 cyber/python/cyber_py3/examples/record.py
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0317 14:17:24.056216 172914 py_record.cc:574] []init _cyber_record_wrapper
Begin to write record file: /tmp/test_writer.record
W0317 14:17:24.068033 172914 record_file_writer.cc:46] []File exist and overwrite, file: /tmp/test_writer.record
+++ Begin to writer +++
apollo.common.util.test.SimpleMessage
apollo.cyber.proto.Chatter
Begin to read record file: /tmp/test_writer.record
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++ Begin to read +++
================================================================================
read [1] messages
channel_name -> simplemsg_channel
msgtime -> 990
msgnum -> 2
msgtype -> apollo.common.util.test.SimpleMessage
message is -> b'\x12\x06AAAAAA'
***After parse(if needed),the message is ->
text: "AAAAAA"

================================================================================
read [2] messages
channel_name -> simplemsg_channel
msgtime -> 991
msgnum -> 2
msgtype -> apollo.common.util.test.SimpleMessage
message is -> b'\x12\x06AAAAAA'
***After parse(if needed),the message is ->
text: "AAAAAA"

================================================================================
read [3] messages
channel_name -> chatter_a
msgtime -> 992
msgnum -> 2
msgtype -> apollo.cyber.proto.Chatter
message is -> b'\x08\x9f\x8d\x06\x10d\x18\x01'
***After parse(if needed),the message is ->
timestamp: 99999
lidar_timestamp: 100
seq: 1

================================================================================
read [4] messages
channel_name -> chatter_a
msgtime -> 993
msgnum -> 2
msgtype -> apollo.cyber.proto.Chatter
message is -> b'\x08\x9f\x8d\x06\x10d\x18\x02'
***After parse(if needed),the message is ->
timestamp: 99999
lidar_timestamp: 100
seq: 2

[cstout16@in-dev-docker:/apollo]$cyber_recorder play -l -f /tmp/test_writer.record
file: /tmp/test_writer.record, chunk_number: 1, begin_time: 990 (1969-12-31-16:00:00), end_time: 993 (1969-12-31-16:00:00), message_number: 4
earliest_begin_time: 990, latest_end_time: 993, total_msg_num: 4

Please wait 3 second(s) for loading...
Hit Ctrl+C to stop, Space to pause, or 's' to step.

[RUNNING] Record Time: 0.000    Progress: 0.000 / 0.000
play finished.
[cstout16@in-dev-docker:/apollo]$

Supporting materials (screenshots, command lines, code/script snippets):
Somewhat related issue: https://github.com/ApolloAuto/apollo/issues/13178

the begin time and end time does not seem right...
You may check out my open source tool:
CyberRecordViewer (website, source code) for validating the record files.
and use the tool CyberRecordParser(source code) to help create the record files manually.

Thanks for the links to your work, ntutangyun. I don't immediately see a way to construct record files from scratch like I'm trying to do, it looks like your tool is more for taking existing records/messages and altering them. But I'll look more into it.
However, I would like to find a solution within stock Apollo if it exists. Or if it doesn't, I would prefer to make changes within the C++ or Python code rather than add Javascript into the mix.

@corjstout  you can try pip install cyber_record. It can use to both read, parse and write a record file. below is the example you can ref to.
def write_message():
  pb_map = map_pb2.Map()
  pb_map.header.version = 'hello'.encode()

  with Record(write_file_name, mode='w') as record:
    record.write('/apollo/map', pb_map, int(time.time() * 1e9))

https://github.com/daohu527/cyber_record#3-write-messages

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.


Love Babbar 450 Checkboxes

I read the readme.md of that particular folder and found that even though the solutions are submitted for a particular question the, solutions on readme are marked (X) which is not correct please look into this concern.

@amandewatnitrr
Check again, if any other issue then create an issue
Thanks for creating this issue


Wrong link being sent to main website

Go to http://software-carpentry.org/workshops/index.html#future
Look at the Sept 28-29 workshop at Oxford
The link is to the GitHub repository, not to the GitHub Pages website.
But if you look in AMY at https://amy.software-carpentry.org/workshops/event/2015-09-28-oxford, the website URL and repository URL fields look correct.

Same issue shows up with several other workshops (e.g., Sept 17-18 at Western University Sydney links to the repo, not to the gh-pages site).

@gvwilson
The event's URL (Event.url) is this: "https://github.com/jpallen/2015-09-28-oxford". You can see that when you go to Edit event: https://amy.software-carpentry.org/workshops/event/2015-09-28-oxford/edit
In the event details page we don't display Event.url (at least not directly). We display event.get_repository_url() and event.get_website_url().
Events are exported with their URL, not the translated version from get_repository_url or get_website_url.

So do I fix this by changing this URL (and all others that are
github.com) to their github.io gh-pages equivalents?

That's one possible fix.
Other is to make get_repository_url and get_website_url properties and in API return event.website_url instead of event.url.

What's simplest and most reliable?

The best for now is to manually change event.url to the website URL. The proper solution long-term would be making a property out of event.get_website_url and using it in API.


Replace month from Jan to Nov

When going to to the download sites it says:
File Name: CQD-Power-BI-query-templates.zip
Date Published: 11/24/2020
In that sense November is correct instead of January.

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Add chunk support to URLSession

Adds the chunk(for:) async method to URLSession for retrieving the chunks of data asynchronously while the transfer is underway.
 Hope that was ok!
Thanks so much for this, it's really cool.

Ah, I wasn't sure what the best way to do the availability stuff was, thanks for fixing it up.


Fix Arduino RPC server test

When #9352 was merged, it became a requirement to pass runtime parameters to tvm.build in order for the RPC server to work. Most files were updated, but not test_arduino_rpc_server.py, as this test requires attached Arduino hardware.
This PR is a small change that fixes the test. I've verified it works locally with both spresense and due boards.

These changes were made part of #11067, so this PR can be closed.