MQTT: Status node remains online

Hi, I'm having some issues trying to getting the offline status from a node.
In a flow tab, I've a MQTT node. I can get the info sent by the node (nodemcu), but when I disconect the nodemcu, the MQTT node remains online. I had readed here this status, it should change if the node goes offline.
What am I doing wrong?

Please use the mailing list for questions, issues are for actual defects. https://groups.google.com/forum/#!forum/node-red
The MQTT nodes have their own connection to the broker, the status represents that connection, not anything else. The topic a message is published on does not directly represent another MQTT client, if you want to track the status of MQTT clients then you will need to look at using things like the Last Will and Testament feature

Good question.  I guess it would be the default TCP timeout set in
ubuntu....I'm not too sure where this is set to check however.
On Sat, Jan 7, 2017 at 12:07 PM, Dave Conway-Jones<EMAIL_ADDRESS>
wrote:

What is your TCP timeout ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/node-red/node-red/issues/981#issuecomment-271095910,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQ-lFfQpPL1hRkdJdb7c6zHKzwotZqE_ks5rP8Y_gaJpZM4J3jbX
.

So I've tested again to get exact numbers.  The behavior is the same for two separate node-red clients.
In the one node-red client I adjusted the socketTimeout from default of no timeout to a timeout of 120 seconds.
I then disconnected the broker and time the exact time for the node-red mqtt client to show a time out.  Both nodes timed out after 15 minutes, 45 seconds.  So the TCP socketTimeout didn't have any affect....is there something else you are referring too?
Below is my exact version etc.

I've done a little more searching on this and found this article.
It seems the tcp_retries2 setting in ubuntu is affecting the TCP timeout.  The default value of 15 yields a hypothetical timeout of 924.6 seconds which exactly matches my 15 minutes and 45 seconds I recorded.
The MQTT client is supposed to disconnect based on the keepalive timer which I set to 15 seconds or the system TCP connection time out (which ever happens first)  The keepalive timer is much less than the TCP timeout, so it should rule, however this doesn't seem to be the case and the TCP timeout seems to be doing its job, however with such a long delay.
I'm curious if anyone would ever adjust this tcp_retries2 parameter......?
/proc/sys/net/ipv4/tcp_retries1
/proc/sys/net/ipv4/tcp_retries2
.
tcp_retries1 - INTEGER
This value influences the time, after which TCP decides, that
something is wrong due to unacknowledged RTO retransmissions,
and reports this suspicion to the network layer.
See tcp_retries2 for more details.
RFC 1122 recommends at least 3 retransmissions, which is the
default.

tcp_retries2 - INTEGER
This value influences the timeout of an alive TCP connection,
when RTO retransmissions remain unacknowledged.
Given a value of N, a hypothetical TCP connection following
exponential backoff with an initial RTO of TCP_RTO_MIN would
retransmit N times before killing the connection at the (N+1)th RTO.
The default value of 15 yields a hypothetical timeout of 924.6
seconds and is a lower bound for the effective timeout.
TCP will effectively time out at the first RTO which exceeds the
hypothetical timeout.
RFC 1122 recommends at least 100 seconds for the timeout,
which corresponds to a value of at least 8.

Good investigation. But as you say, the client's own mqtt keepalive timer should be detecting the loss of connection long before the TCP timeout. Need to figure out what's going wrong with that.

Yeah - great detective work. Does look like the MQTT client library has an issue... but then we also aren't currently using the latest... Maybe we should add upgrading it to the 0.16 milestone ?


Remove confusing sentence forbidding to include something in case it's not included

The current specification for HTTP status code and response payload for successful relationship updates is confusing.
It specifies that "the server must not include a representation of the updates relationship(s)" if "the server response only with top-level meta data". But this does not make much sense.
A representation of the updates relationship(s) can only be included as primary data. If a server includes primary data, it would not only response with top-level meta data.
Unless I missed something there is no logical possible way to violate that must not requirement. Therefore I don't think this is a breaking change.
The sentence was added as part of #652. The intend of that pull request was to allow response containing top-level meta data only. I don't think it's attend was to forbid including relationship data if it has not changed. Doing so would even limit some use cases as discussed in #1492.
Closes #1581

@gabesullice @dgeb

Closing in favor of #1638.


Decentralization

Currently a single client acts as the host and all communications pass through them.
The host could provide connected clients with the peer IDs of all other clients so that they can also establish connections between each other (a “full-mesh topology”). At that point, various other possibilities arise: each client could be responsible for processing and emitting their own state updates instead of sending an action to be processed and emitted by the host. Then if the host drops out, the clients (via their existing connections) could agree a new host amongst themselves and keep playing.
A variation on this would be the host just transmitting a list of IDs for all connected peers to allow them to establish connections only in the case the host goes offline.
Decentralization would also mean storing match state in all clients, which would also be more robust.
This should probably be an optional feature.

For the full state to be present on all clients, the host would presumably have to send over the full database state to a connecting peer on connection. This would include credentials as suggested in #1, so would render that authentication approach more or less useless.

This could also be used to provide a mechanism for clients private state being present on all clients.

Nice idea! Do you think we could implement that already?
Currently each client has a metadata object for itself:
https://github.com/boardgameio/p2p/blob/7066e90777c10a5eea85ce261f57579714de1711/src/index.ts#L106-L108
Which we send as part of the initial connection to the host:
https://github.com/boardgameio/p2p/blob/7066e90777c10a5eea85ce261f57579714de1711/src/index.ts#L156
(credentials in this context is a standard property that is set via the boardgame.io client.)
When the host receives the connection request, it checks if a client for the requested playerID previously connected, and if they did, then checks the credentials match what was previously provided:
https://github.com/boardgameio/p2p/blob/7066e90777c10a5eea85ce261f57579714de1711/src/host.ts#L100-L117
Would the two sides of this connection simply need an additional step locally to encrypt/decrypt the credentials? Or would an additional negotiation be needed where the client demonstrates it can encrypt a token provided by the host?
Happy to look at a PR for this!

I've created a small prototyp. https://github.com/jonaswre/p2p/commit/e4249c96741c2b96df102f97cb5be37aec34957f.
I've not tested it in a webclient but made some unit tests. This should be as secure as your current authentification is. But if any other client gets access to the signed message (not persited anywhere) they could use that and replay it. But you have the same issue with your current model. To make the process more secure, one would need to sign every action that is send. And if we add a counter to the action and the server only accepts actions with lastCounter + 1 we could counter replay attacks.
But that would need a bit more restructuring.

Cool, thanks! I’ll try to read through those changes soon (I don’t know much about cryptography so I’m a bit slow).
If you want to try it out in a browser, you could download a copy of the example CodeSandbox: https://codesandbox.io/s/boardgame-io-p2p-demo-0loyd (File > Export to ZIP) and install your local fork:
# in repo for @boardgame.io/p2p
npm pack # create a tarball for the p2p module

cd ../boardgameio-p2p-demo
# install dependencies
npm i
# install the local tarball instead of the remote dependency
npm i ../p2p/boardgame.io-p2p-0.3.0.tgz
# serve the demo app
npm start

After a little adjustment my change works.

Great to hear! I should have time over the weekend to take a look at your changes — look forward to it 😄

To be honest I think taking your approach to P2P will be very difficult because many features will be need to be implemented.
I think I will checkout libp2p, ipfs, orbitdb. This libraries will already implement many of the needed features.
OrbitDB is a Database that's already P2P with authentication. Might be a better fit then doing everything ourselves.

Hi @jonaswre, I’m just trying out your changes with the example code and I get a TypeError: invalid encoding thrown by the call to decodeBase64.
Did you see that while you were testing? Does the use of private/public keys impose certain restrictions on the formatting of credentials?

Hi @delucis,
I've just checked to be sure. I dont get any error when running the demo. Do you get the errors in "npm run jest" The keys are returned as Uint8Array and then base64 encoded so the credentials just have to be able to store a base64.

The tests pass. I’m reading through in detail and now I see the keyPair option. I’m guessing I maybe have to provide that for this to work?

Oh, I see now that actually you provide a default in the constructor, so it’s not that…
My steps to reproduce are:

Run npm start to serve the demo.
Select the isHost checkbox.
Click the Connect button.

I’ll try some debugging to see if verifyMessage is receiving some unexpected value.

Ahh I see the Issue...
https://github.com/jonaswre/p2p/blob/798e8cc835fd8ebfe2d91ef1b44452fc6dab3202/src/index.ts#L118
If credentials are provided they will be sent to the server.
I removed the credentials field from the demo. Credentials need to be undefined in the constructor.

Ahh, I think I see the issue.
If credentials is set, that value gets sent (instead of the public key, which is only used when credentials isn’t provided):
https://github.com/boardgameio/p2p/blob/5241c4deb16b18a2ce0d6e5422fc086f29910a7f/src/index.ts#L118-L119
The host stores credentials and then uses them to try to verify the message:
https://github.com/boardgameio/p2p/blob/92e46bf699e3ee5c0f7ce191f2d5d82759bda967/src/authentication.ts#L70
In the demo, default credentials are generated using nanoid, which don’t match the expected encoding.

Ahh I see the Issue...

Exactly! I need to think what could be a better public API for this.

I think best would be, that the client can provide the PrivateKey in the credentials.
Then tweetnacl uses that privatekey to generate the publickey an send that to the server.
That way the constructor doesn't get any new parameters. And client logic is basicly the same. - If you want to rejoin you need to remember the privatekey. -
I also had the idea to use the method generate keyPair from seed. The seed could be calculated from a user input, so that the user can basicly rejoin from any device because you only need to remember the input you gave when you joined, not some cryptographic keys. That would be way less secure but to be honest does it matter?

@delucis check out my last commit. That might be a good way to allow user inputs to generate the private keys.

That looks good. I was trying something like this, but just using decodeUTF8 looks much nicer 🤣
const credentials = "my-wordy-credentials";
const seed = Uint8Array.from(
    [...credentials]
      .slice(0, 32) // Trim length to 32
      .map((char) => char.charCodeAt(0)) // Map characters to integers
      .concat(Array.from({ length: Math.max(0, 32 - credentials.length) })) // Pad length up to 32
  );
const keyPair = nacl.sign.keyPair.fromSeed(seed);

The tweetnacl docs say

“The seed must contain enough entropy to be secure. This method is not recommended for general use”

But it would be nice this way because it allows us to keep the public API the same as for other boardgame.io uses. Maybe we could export a helper method to generate sufficiently random credentials?

Thats what I meant with its way less secure. I think the question is what is our threat model. I pretty sure if we intruduce some entropy through for example sha-256(this.matchId+this.playername+this.credentials) that might be enough entropy for us.
If we want the more entroy just leave credentials undefined and use nac.sign.keyPair() which generates a random keyPair. If players dont change devices that keyPair can just be cached and all is well.

I was thinking an app developer might want to be able to generate and cache the credentials somehow.
const { generateCredentials } from<EMAIL_ADDRESS>
let credentials = fetchStoredCredentials();

if (!credentials) {
  credentials = generateCredentials();
  storeCredenitals(credentials);
}

// pass credentials to boardgame.io

So providing a simple helper for generating a string with sufficient entropy would be helpful, e.g.:
export function generateCredentials(): string {
  return encodeUTF8(nacl.sign.keyPair().secretKey);
}

So no key generation inside of boardgame.io?
Rather then generate a full keyPair just for randombytes we can just use https://github.com/dchest/tweetnacl-js/blob/master/README.md#naclrandombyteslength.

We would still generate keys inside this package, like in your commit above, using credentials as the seed.
The helper would just be a method for generating sufficiently random credentials that a developer could use. Or am I misunderstanding? Is credentials: 'user-generated-string' just as secure as credentials: encodeUTF8(nacl.sign.keyPair().secretKey) (or equivalent using the random bytes method)?

I think the following two functions are equaly secure.
export function generateCredentials(): string {   return encodeUTF8(nacl.sign.keyPair().secretKey); }
export function generateCredentials() {     return encodeBase64(nacl.randomBytes(64)); }
But im pretty sure the first is more expensive because it does the generation of random bytes plus all the crypto between private and public key and all the rest. But we only use the random bytes.
And regarding generation inside of boardgame.io I meant the else part of the if statemante from the last commit. What do we do when there are no credentials given? throw an error or just dont send any credentials in the client server communication?
Latest commit fixed the bad size seed. But this all still just prototyping

For now I would not generate keys if no credentials are provided. In that case, things are just unauthenticated and insecure like they are currently.

@delucis
Have not tested the latest commit. But it should work now as we talked about.
But I still think if your (and defently my) dream is full-mesh. We should look for another tech stack then peerjs thats just to barebone. But I think there is still value in this p2p package.

I’ve merged your changes into my own branch for PR #10 and I can confirm it’s working 🎉
Yeah — I’d be happy to look at any other changes for heading in that direction. One of the challenges is that boardgame.io is not designed with P2P in mind and another is that this is my first time playing with a P2P set-up, so there’s plenty I don’t know. PeerJS was nice because it is simple to use. Plus they provide a free handshake server so you can get up and running really quickly.


Make a feature histogram exploration widget

Feature proposal
Hi @dstansby ,
I created a feature exploration widget in a different repository together with @zoccoler which shows a Layer.features in a histogram along with the cumulative density function. I think it would make sense to move it upstream (e.g., here) - what do you think of it?
Here's a small demo of how it looks/works:

The plugin is currently inheriting from HistogramWidget.

Oooh this looks interesting! Could you post or link to a higher resolution movie of the gif above? I can't make out the text in the plugin.
Do you have a short summary of what extra features the widget would add on top of HistogramWidget too? Perhaps we could consider just adding some of that functionality directly to HistogramWidget?

Thanks for the reply, will make a higher resolution gif as soon as possible.
As for adding the functionality to the Histogram Widget - not sure. The Histogram widget shows actual pixel intensities of an image layer whereas the example above shows features associated with any layer that supports features. Conceptionally I think it's actually closer to the Scatter Widget 🤔

@dstansby here's a more high-res screenshot

The CDF button shows the cumulative density function:

Thanks for those images - I think this would be a really nice feature to add. It looks like there might be lots of smaller bits here (the image selection, changing the number of bins, adding a CDF, changing the percentiles, exporting as csv) that could be built incrementally on top of the existing histogram widget. I would strongly prefer for these features to be added in as small as possible chunks in individual PRs, which will make it much easier to review. How does that sound?
I don't have time to work or review this now, but in the new year have CZI funding to work on napari-matplotlib and I will definitely add this to our todo list 😄

Hi @dstansby ,
thanks for the feedback! I agree, it does make sense to build this on top of the existing histogram rather than building several widgets for specific layers. I guess the key thing would be to build the current histogram widget to feed the data  from

image intensity if an Image layer is selected
layer.features if any other layer is selected?

👍 sounds good - PRs very welcome! I think the Historgram widget should do Image intensity for a grayscale image, are you looking for intensity for an RGB image?

Nah, I don't do RGB much, so as long as nobody complains I would leave it at that (material for another PR, I guess)

Thanks for the reminder for this issue! Mirroring the colourmap of the histgoram with the layer colourmap would definitely be a welcome feature 👍

Thanks for merging!


Payal's Turtle Programs

This is a really cool turtlehack!  I dig the palette of colors you chose and all the spirographs


I'm going to create a safe_divide cross db macro in dbt_utils - eventually, we can use that for this calculation instead!

I'm going to create a safe_divide cross db macro in dbt_utils - eventually, we can use that for this calculation instead!
(fct_test_coverage, and fct_documentation_coverage)
Originally posted by @graciegoheen in https://github.com/dbt-labs/dbt-project-evaluator/issues/203#issuecomment-1249426580

PR has been created for dbt-utils - https://github.com/dbt-labs/dbt-utils/pull/697


Semantic Versioning breaking change

After version 2.0.1 published, all of our auto-build system is failed due to there is some breaking changes in the 2.0.1 and require us to update the codebase to match the new changes. But we would like to suggest this great lib to get some Semantic Versioning protocol such as,
Given a version number MAJOR.MINOR.PATCH, increment the
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards compatible manner, and
PATCH version when you make backwards compatible bug fixes.
so if there is a breaking change introduced, we should better increment the MAJOR version so it will keep all the existing user's project to not bring that breaking version into their system since lots of people is using "pod ~> x.y.z" in the pod file.

@longbct thanks for reporting this and sorry for the delay. Our repo does follow Semantic Versioning, but it seems like some changes were pulled into the 2.0.1 update unintentionally. I pushed 2.0.2 to revert those changes, which should now be in the 3.0.0-beta.1 build specifically.
Given our plans for this repository, you're also safe pinning to the exact version 2.0.0 as our next release of the library will likely be in the 3.x line which will introduce breaking changes.
Let me know if the 2.0.2 push fixes things for you!

Closing this as I haven't heard anything back. @longbct please reach out if you have any other issues.


Overwriting dlls in the destination output directory when the source …

…is newer.

We are producing nuget packages with vcpkg. After creating a new package with new id and install into Visual Studio, in a nonrenewal build the dependend vcpkg dlls don't find their way into the output directory, even when the targets are built. This is because the applocal.ps1 script is not updating existing files regardless of there time stamp.


[Enhancement]: Form widget reskinning

https://www.notion.so/appsmith/Form-42fd8dcc1ecf43159b13393a95ddedf2

Tested this and LGTM

Tested the presence of default border color and width on adding new form
Tested adding form on container type widgets
Tested on edit and deploy mode


feat(types): support inferring attrs

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[ ] It's submitted to the main branch for v2.x (or to a previous version branch)
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[ ] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

https://github.com/vuejs/core/pull/7444#issuecomment-1715764091

Thanks for putting this work in, even for us old Vue 2 folks! @rudyxu1102


Streaming input PPM decoding fails on Windows

Describe the bug
Trying to use a PPM input file  with --streaming_input results in "PNM decoding failed."
cjxl.exe Doggo.ppm Doggo.jxl -d 0 --streaming_input --streaming_output
JPEG XL encoder v0.10.0 a070f82 [AVX2,SSE2]
PNM decoding failed.

To Reproduce
cjxl.exe Doggo.ppm Doggo.jxl -d 0 --streaming_input --streaming_output
Expected behavior
The file should be readable
Environment

OS: Windows 10
CPU type: x86_64
cjxl/djxl version string: JPEG XL encoder v0.10.0 a070f82 [AVX2,SSE2]

Source file

PPM file made with ffmpeg (With .png appended for upload)

Thanks! I can't repro this on my linux box. Seems like this is possibly a duplicate of #3223.

I made this as a separate issue since PPM failing wasn't the original problem there (Even if it would fix both)

Should be fixed now!

Can confirm it's working now


upgrade go to 1.22

Isn't this gonna prevent people with older versions of go from using it?

sniff ... yes.. but I wanna use slices.Concat()

sniff ... yes.. but I wanna use slices.Concat()

I'd rather we implement that ourselves than locking out anybody who's not using the latest version :sweat_smile:


check() doesn't work

I have the feeling that .check() doesn't work for me on poltergeist:
I modified the set() method a bit to get feedback, I also changed
if value && !checked? || !value && checked?

to
if value != checked?

Here's the modified method:
 def set(value)
  if tag_name == 'input'
    type = self[:type]
    if type == 'radio'
      click
    elsif type == 'checkbox'
      if value != checked?
        puts "Checkbox state before click: '#{checked?}'."
        click
        puts "Checkbox state after click: '#{checked?}'."
      end
    elsif type == 'file'
      command :select_file, value
    else
      command :set, value
    end
  elsif tag_name == 'textarea'
    command :set, value
  end
end

Here is the output when trying to uncheck a checkbox:
Checkbox state before click: 'true'.
Checkbox state after click: 'true'.

So the click doesn't really seem to do the trick as far as I can see

Oh sorry. I DID actually use the respective check/uncheck method.
In either way, if there is a click, the state should change. The matching tests pass in akephalos/selenium.

I can't reproduce the problem with the following test case:
    describe 'check/uncheck' do
      it 'should work' do
        @session.visit('/form')
        checkbox = @session.find(:css, '#form_pets_cat')
        checkbox.checked?.should == false
        @session.check('form_pets_cat')
        checkbox.checked?.should == true
        @session.check('form_pets_cat')
        checkbox.checked?.should == true
        @session.uncheck('form_pets_cat')
        checkbox.checked?.should == false
        @session.uncheck('form_pets_cat')
        checkbox.checked?.should == false
      end
    end

Plus, check/uncheck is covered by the Capybara integration tests too.
Have you tried taking screenshots to see if anything obvious sticks out? If you could create a reproducible test case that would help a lot.
Thanks

They LOOK disabled: screenshot
The weird thing is, that if I go to that page manually, they aren't. This might be ?CSS related? though

You could try using evaluate_javascript to look at the disabled attribute of one of the checkboxes?

ok, they are NOT disabled.
It is kind of a strange behavior:
doesn't work:
page.check(feature_id_hash[feature])
works:
page.evaluate_script("document.getElementById('#{feature_id_hash[feature]}').checked=true")

Please could you confirm if this is still a problem (against master)? I think it might be the same as #8, which is now fixed.

I'm going to close this. Please reopen if it still exists, but by the looks of it it's the same bug as #8. Thanks.

I would assume so, I'll come nagging again if it's still broken :)


fix(snackbar): wrap simple snackbar text in span

We have begun transforming our html templates in our internal syncs to include our license header which results in a new line above template.  Specifically in the simple snack bar this adds a single space when looking at the elements textContent.  By wrapping the content in a span it will ensure that the whitespace is consistent regardless of the presence of the license header comment.

@josephperrott can you add that explanation to the commit message?


Specify proxy version through flags to enable version skew tests against control plane

@chxchx: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-smoke.sh
d7c5cb09c0ebe7b47b8920d26c2dbec909f2c9d2
link
/test e2e-smoke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test e2e-smoke

@chxchx: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-smoke.sh
d7c5cb09c0ebe7b47b8920d26c2dbec909f2c9d2
link
/test e2e-smoke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@chxchx: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
5b0e034222d96262dd6091f6c6c1cd1f9e066600
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm
/approve


Command not found errors

I see the below errors at the end of the vagrant setup:
==> boot: Generating IP Detection Script: ~/dcos/genconf/ip-detect
==> boot: sudo: cat << EOF > ~/dcos/genconf/ip-detect
==> boot:       #!/usr/bin/env bash
==> boot:       set -o errexit
==> boot:       set -o nounset
==> boot:       set -o pipefail
==> boot:       echo $(/usr/sbin/ip route show to match <IP_ADDRESS> | grep -Eo '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}' | tail -1)
==> boot:
==> boot:       EOF
==> boot: Importing Private SSH Key: ~/dcos/genconf/ssh_key
==> boot: sudo: cp /vagrant/.vagrant/dcos/private_key_vagrant ~/dcos/genconf/ssh_key
==> boot: Generating DC/OS Installer Files: ~/dcos/genconf/serve/
==> boot: sudo: cd ~/dcos && bash ~/dcos/dcos_generate_config.sh --genconf && cp -rpv ~/dcos/genconf/serve/* /var/tmp/dcos/
==> boot:       /root/dcos/dcos_generate_config.sh: line 1: ---: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 2: cluster_name:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 3: bootstrap_url:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 4: exhibitor_storage_backend:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 5: exhibitor_zk_hosts:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 6: exhibitor_zk_path:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 7: master_discovery:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 8: master_list:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 9: -: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 10: resolvers:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 11: -: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 12: superuser_username:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 13: superuser_password_hash:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 14: ssh_port:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 15: ssh_user:: command not found
==> boot:       /root/dcos/dcos_generate_config.sh: line 16: agent_list:: command not found
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
cd ~/dcos && bash ~/dcos/dcos_generate_config.sh --genconf && cp -rpv ~/dcos/genconf/serve/* /var/tmp/dcos/
Stdout from the command:
Stderr from the command:
/root/dcos/dcos_generate_config.sh: line 1: ---: command not found
/root/dcos/dcos_generate_config.sh: line 2: cluster_name:: command not found
/root/dcos/dcos_generate_config.sh: line 3: bootstrap_url:: command not found
/root/dcos/dcos_generate_config.sh: line 4: exhibitor_storage_backend:: command not found
/root/dcos/dcos_generate_config.sh: line 5: exhibitor_zk_hosts:: command not found
/root/dcos/dcos_generate_config.sh: line 6: exhibitor_zk_path:: command not found
/root/dcos/dcos_generate_config.sh: line 7: master_discovery:: command not found
/root/dcos/dcos_generate_config.sh: line 8: master_list:: command not found
/root/dcos/dcos_generate_config.sh: line 9: -: command not found
/root/dcos/dcos_generate_config.sh: line 10: resolvers:: command not found
/root/dcos/dcos_generate_config.sh: line 11: -: command not found
/root/dcos/dcos_generate_config.sh: line 12: superuser_username:: command not found
/root/dcos/dcos_generate_config.sh: line 13: superuser_password_hash:: command not found
/root/dcos/dcos_generate_config.sh: line 14: ssh_port:: command not found
/root/dcos/dcos_generate_config.sh: line 15: ssh_user:: command not found
/root/dcos/dcos_generate_config.sh: line 16: agent_list:: command not found

What platform/os/virtualbox/vagrant?
What env variable configuration were you using?

@karlkfi I'm sorry I couldn't mentioned those, please find them below:
OS: OSX=10.11.2
VirtualBox=5.0.16
Vagrant=1.8.1
DCOS Vagrant=v0.6.0
DCOS_GENERATE_CONFIG_PATH=dcos_generate_config.sh
DCOS_GENERATE_CONFIG_PATH=etc/config-1.7.yaml
Vagrant up Arguments=vagrant up m1 a1 p1 boot

BTW may I know what dcos_generate_config.sh does? As I can see it's around 550 mb and has binary data. Thanks!

dcos_generate_config.sh is the DC/OS installer. It's a shell script that includes a binary encoded docker image.

@karlkfi Thanks! What would be the reason for including a Docker image in a shell script? Anyway I tried this Vagrant setup many times by changing to different versions but still could not get it working.

It allows for installing without an Internet connection, bundling all the OS and lib dependencies so that the user doesn't need to install them all manually (slow & tedious) or use flakey remote package repositories.

Have you tried redownloading dcos_generate_config.sh? The download may be corrupt. I'm not sure if there are shas to easily verify integrity...

Thanks @karlkfi! Today I took a pull from the master branch and re-executed the vagrant with the following parameters and guess what, it worked! :-) Thanks for you help!
export DCOS_GENERATE_CONFIG_PATH=dcos_generate_config.sh
export DCOS_CONFIG_PATH=etc/config-1.7.yaml
vagrant up m1 a1 a2 p1 boot


loader: pointer cast build warnings

When cross-compiling for our 32-bit Linux embedded platform we see warnings regarding pointer casts due to non-dispatchable object handles being uint64_t on these platforms.
Here are the 3 warnings in question. They can all be trivially fixed by adding an intermediate cast to (uintptr_t) between the object and the final type.
[ 14%] Building C object loader/CMakeFiles/vulkan.dir/loader.c.o
.../Vulkan-LoaderAndValidationLayers/loader/loader.c: In function ‘loader_log’:
.../Vulkan-LoaderAndValidationLayers/loader/loader.c:238:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(uint64_t)inst, 0, msg_code, "loader", msg);
[ 28%] Building C object loader/CMakeFiles/vulkan.dir/trampoline.c.o
.../Vulkan-LoaderAndValidationLayers/loader/trampoline.c: In function ‘vkCreateInstance’:
.../Vulkan-LoaderAndValidationLayers/loader/trampoline.c:86:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
instance_callback = (VkDebugReportCallbackEXT)ptr_instance;
[ 42%] Building C object loader/CMakeFiles/vulkan.dir/wsi.c.o
.../Vulkan-LoaderAndValidationLayers/loader/wsi.c: In function ‘loader_DestroySurfaceKHR’:
.../Vulkan-LoaderAndValidationLayers/loader/wsi.c:212:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
loader_heap_free(ptr_instance, (void *)surface);

Can you give us more info like:

Which embedded target (ARM, PowerPC, ...)
Are you building on Windows and cross-compiling for that target, or are you building on Linux?
What compiler are your using?
Personally, I don't like adding an intermediate cast if we can fix it properly some other way.

Things for you to try:

Try uintptr_t instead of uint64_t for loader.c:238
I think this is gone, so you shouldn't have this any more
Can you look into what type surface is using?  It should easily convert to a void* (which it does on other 64-bit or 32-bit targets).

Closing as I've heard nothing back, and this issue can't be fixed without more info.


Refactor global usage of Prism::Location to minimize memory usage

Motivation

Currently, we store Prism::Location objects globally to keep track of certain location specifications for indexed entries.
These location specifications are the Start Line, End Line, Start Column, and End Column, all of which are integers.
However, Prism::Location objects themselves store a lot of information that we don't need to globally store. Consequently, we can refactor our usage of Prism::Location objects in indexed entries to only store what we need.
Impact on Performance
Depending on the repository, memory usage of the indexer decreased as much as 21%, which is non-trivial, especially with larger repositories.
Implementation

All RubyIndexer::Entry objects can be changed to receive one of two arguments for its location:

A Prism::Location object
An array storing the Start Line, End Line, Start Column, and End Column

Regardless of which of the two arguments is received, we only persistently store the Start Line, End Line, Start Column, and End Column. It should be noted that the addition of Option 2 for arguments will make it much easier for us to cache indexed gems (#1009), as we will no longer have to create Prism::Location objects when deserializing the cache (we can directly send the integers).
This is a breaking change, as repositories like ruby-lsp-rails which directly access RubyIndexer::Entry objects can no longer expect entry.location to yield anything, they must directly call entry.start_line and so on.
Automated Tests

Automated tests have been updated to not rely on entry.location, but on entry.start_line ... instead. Apart from that, everything should operate as expected.
Manual Tests

Nothing specific here, we're just changing the layer at which we abstract away the Prism::Location object, so everything should function as normal.

Is ruby-lsp currently storing the locations with their attached comments?

No, it's just the plain location objects from parsing files. Even if the Prism::Source objects are shared, they aren't used by the index, we only need the line and column information.
So we end up maintaining the full text source, the offset arrays, etc, for all files in both the project and every dependency.

A secondary benefit apart from the memory reduction is also the process of serialization and deserialization.
I'm looking into caching entries to improve performance, and we want to avoid having to construct and deconstruct Prism::Location objects because we don't leverage all the benefits they provide.
We're still benefitting from the core information we need, but abstracting away the extraneous state.

I see. In that case I can start to get onboard with this, but I still think you're going to face problems dropping the location objects because you're not handling column information correctly. Right now you're calling start_column and end_column, which return byte offsets. This is incorrect, and we have methods on the Location object to handle returning code units to you that we wrote specifically for ruby-lsp. Before you drop the location objects, you should be sure that you're pulling the right offsets otherwise you won't be able to recalculate it later.

Indeed. That work is being tracked in https://github.com/Shopify/ruby-lsp/issues/1251, but it will require some extra refactors. We have to pass the encoding down to the index, so that it can be used by locations to get the code unit locations.
But I don't think there's a need to hold this PR, we can definitely still deliver that refactor after these changes.

I suppose. In that case the only other thing I will add is that you may want an object to represent these things, to make it easier to pass them around. Passing around raw arrays can make things difficult in the future. Having something like an EntryLocation could go a long way toward managing this.

I suppose. In that case the only other thing I will add is that you may want an object to represent these things, to make it easier to pass them around. Passing around raw arrays can make things difficult in the future. Having something like an EntryLocation could go a long way toward managing this.

Not opposed to this; we can change the constructor to accept either a Prism::Location object or a EntryLocation object.
However, the only cases where the alternative param (e.g., EntryLocation) would be used are the following:

Within the Alias constructor.
For the upcoming caching implementation, when we deserialize the cache and construct an Entry object.

For the first case, instantiating an EntryLocation is certainly a cleaner abstraction.
However, for the second use case, instead of deserializing a JSON array with JSON.parse out the box, we would have to define separate serialization and deserialization methods for EntryLocation.
We can refactor this down the road, but the current scope is fairly limited and a pre-emptive abstraction might add complexity to the caching.
That being said, I'm open to further discussion if there's an angle I'm missing.

I think it makes sense to create our own location object. We may discover there's more shared functionality we want to put in it eventually. I suggest calling it RubyIndexer::Location.

Took a look at this. There looks to be no notable difference in memory usage, so I'm aligned with moving forward with this approach — I've pushed the change. This also ensures we don't need to modify a lot of pre-existing code.
E.g., Indexing in ruby-lsp consumed 35.79 MB of memory, vs. 35.68 MB with the array approach.

I think it makes sense to create our own location object. We may discover there's more shared functionality we want to put in it eventually. I suggest calling it RubyIndexer::Location.

Took a look at this. There looks to be no notable difference in memory usage, so I'm aligned with moving forward with this approach — I've pushed the change. This also ensures we don't need to modify a lot of pre-existing code.
E.g., Indexing in ruby-lsp consumed 35.79 MB of memory, vs. 35.68 MB with the array approach.


Refreshed requirements.txt

This PR updates the Python dependency file (requirements.txt) with the latest versions* of OAA's dependencies. This also obsoletes older PRs auto-generated by Snyk.
*when possible given dependency conflicts, build server library versions, and bugs in the latest releases of some modules
Closes #14
Closes #16
Closes #17

/lgtm


Logout Button

Right now it's in the navbar, but it can be put pretty much anywhere
where put tho

From slack:

Daniel 4  1 hour ago
where should the logout button go?
valencia:mushroom:  40 minutes ago
good question. could put a power button icon in the nav bar (right side of name)?
valencia:mushroom:  39 minutes ago
or to keep the navbar uncluttered, have a logout button on the profile page
valencia:mushroom:  39 minutes ago
@Cameron ?
Daniel 4  32 minutes ago
I'm going to put it in the navbar for now, it's not hard to move it around
:+1:
1
Cameron:gloves:  2 minutes ago
don't think it's needed in the navbar
Cameron:gloves:  1 minute ago
b/c it's an action which is so rarely carried out and which we don't necessarily want users to do...
Cameron:gloves:  1 minute ago
I think the convention for sites like this is putting it at the bottom of settings...

Yep lgtm


docs: Dialog documentation

Fixes godot-escoria/escoria-issues#28

Sounds perfect to me now. Thanks a lot! <3


Properties of shapefile is null when convert big shapefile

Hello. I have a issue with your module. When i convert shapefile to object of big file (about 3000000 records), from record about 1900000 data of properties is null. Please help me!

Please use Stack Overflow to ask for help. Thank you! 🤗


fix: [POC] remove is async function

Description
Why remove the async function?
https://www.notion.so/appsmith/RFC-JSObject-function-without-sync-async-differentiation-0de440cfae1d419da4c88b6705bb8acf
Fixes https://github.com/appsmithorg/appsmith/issues/14229
Fixes https://github.com/appsmithorg/appsmith/issues/13888
Fixes https://github.com/appsmithorg/appsmith/issues/11589
Fixes https://github.com/appsmithorg/appsmith/issues/12639
Fixes https://github.com/appsmithorg/appsmith/issues/14618
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce.
Please also list any relevant details for your test configuration.

Test A
Test B

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Next Steps: Already bound functions’ onPageLoad and confirm before execute option should be disabled.

Close until picked up in sprint


Persistent file permissions

Persistent files created via deployer are owned by the user who connects to the server, although this may not be a problem it could be if the app needs to write to that directory (for example an uploads directory). Although I'm not sure there is a way to fix this in deployer easily (the user would potentially need to be in the same group as www-data)  it may be worth adding a note to say "You may need to change the owner of the file/folder"

It's best that user can set the owner and the mod of the file and the folder when create it.


can't synthesize using tacotron2

Hi,
I'm very new for the tts. I currently want to use the Mel spectrograms from  the pre-trained nvidia/tacotron2 to produce the audios by using this pre-trained hifigan of this repo. But encounter the following error, what should I do to fix this? Thank you!
The mel spectrogram postnet shape was (1,80,162).
RuntimeError                              Traceback (most recent call last)
/tmp/ipykernel_29017/1893481780.py in <module>
     46     x = torch.FloatTensor(x).to(device)
---> 47     y_g_hat = generator(x)
     48     audio = y_g_hat.squeeze()
     49     audio = audio * MAX_WAV_VALUE

/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

~/tacotron2/hifigan_models.py in forward(self, x)
     99
    100     def forward(self, x):
--> 101         x = self.conv_pre(x)
    102         for i in range(self.num_upsamples):
    103             x = F.leaky_relu(x, LRELU_SLOPE)

/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

/opt/conda/lib/python3.7/site-packages/torch/nn/modules/conv.py in forward(self, input)
    296
    297     def forward(self, input: Tensor) -> Tensor:
--> 298         return self._conv_forward(input, self.weight, self.bias)
    299
    300

/opt/conda/lib/python3.7/site-packages/torch/nn/modules/conv.py in _conv_forward(self, input, weight, bias)
    293                             _single(0), self.dilation, self.groups)
    294         return F.conv1d(input, weight, bias, self.stride,
--> 295                         self.padding, self.dilation, self.groups)
    296
    297     def forward(self, input: Tensor) -> Tensor:

RuntimeError: Expected 3-dimensional input for 3-dimensional weight [256, 80, 7], but got 2-dimensional input of size [80, 162] instead

y_g_hat = generator(x.Unsqueeze(0))


CLI - Make kamel run handle github urls that are not raw

Fixes #1497

Release Note
It is now possible to run integrations from GitHub with a dedicated URL
syntax:

    kamel run github:$user/$repo/$path?branch=$branch

As example, running the following command

    kamel run github:apache/camel-k/examples/Sample.java

is equivalent to:

    kamel run https://raw.githubusercontent.com/apache/camel-k/master/examples/Sample.java

but does not require to type the full GitHub RAW URL.

Declaring the branch query param is not required and defaults to `master` if not
explicit set.

/cc @davsclaus

Wonderful

awesome lovely work

looks like the travis-ci check is not updated as the related jobs did succeed, see https://travis-ci.org/github/apache/camel-k/builds/696845748

looks like the travis-ci check is not updated as the related jobs did succeed, see https://travis-ci.org/github/apache/camel-k/builds/696845748
@nicolaferraro shall we merge this ?

Yes, notifications are not working properly recently.


SSL Cert issues with Nominatim site

Opening this to see if anyone else is having issues with the Geopy library when using Nominatim.
Using the simple examples
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="my_app")
x = (geolocator.geocode("Bachenbulach, Switzerland"))
I get the following error. Verified this on a couple of different systems and python versions.
GeocoderUnavailable: HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Max retries exceeded with url: /search?q=Bachenbulach%2C+Switzerland&format=json&limit=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1091)')))
Looking at the SSL cert of the nominatim library - it looks like it was updated a few days ago.

I'm guessing there's some kind of cert chain issues happening but wanted to see if anyone else is seeing this before going down that rabbit hole.

Hi,
I am currently reaching the same error. Did you solve this issue? If you found a patch for this before going down that rabbit hole :)

I too am having the same issue / error.

I got the same error. And below the below steps solved the issue as suggested by ChatGPT. Using the requests library with header info and ssl verification set to False.
`import requests
headers = {
"User-Agent": "city_timezone_converter"
}
url = "https://nominatim.openstreetmap.org/search?q=New Delhi,%20India&format=json"
response = requests.get(url, headers=headers, verify=False)
if response.status_code == 200:
print(response.json())
else:
print(f"Error: {response.status_code}")
`


Swift 4 support?

Hi, thanks for this cool library. Are there any plans to add Swift 4 and Xcode 9 support?

Released version 0.4.0 with Swift4 support.


Fixed bug where char* out buffer of readPoint becomes invalid.

This occurs when the request size of InFileStream::Private::getBytes is larger than buf_size() - offset_.
The solution adds a temporary pointer to walk through the buffer, instead of using the original buffer pointer.

This can't fix anything other than by luck. If you believe there is a bug, please create an issue that includes a test case. Thanks.

Shouldn't we not be modifying the buffer pointer? After a certain number of these special cases, the user's char* out buffer may overflow.
The test would simply require: showing that the user's char* out is incremented, after 1<<20 bytes are read.
It would need to be with a .las file, with ((1<<20) % point_record_length) > 0.

I'm not sure what problem you're having, but you haven't demonstrated an error in this code. Your change does nothing -- a temporary pointer to some memory necessarily points to the same memory as the argument buf.
Rather than try to guess at the solution to a problem I assume you're having, you should open an issue with a test case.
When reset is called, offset_ is set to the size of the buffer. Then in getBytes in the case where the request is > 1, available will be 0 since the buf_.size() == offset_. The do loop is then entered. Since available is 0, so is bytes. This means that std::copy does nothing (begin == end). Then fillit() is called to fetch new data into the buffer.
Maybe I'm missing something, but this code has been used a lot and if it's not working for you, there is something special going on that only a good test case will show.

Ok I can look into doing a test case. I haven't tested it myself yet, this just jumped out at me:
https://github.com/hobu/laz-perf/blob/98f06648b8f4a2c26cff2efa6f565f2795ba9565/cpp/lazperf/filestream.cpp#L125
The temporary pointer is necessary in my opinion, so that we modify it, instead of modifying the original.


Feature/618 update orisCode validation to allow leading 0s

Pull Request

Created custom decorator and moved validation logic from the pipe
Updated regex so the validation will accept leading 0s

000612 will pass and search for orisCode 612

Updated DTO to use the custom decorator instead of pipe
Error message now in DTO

ORIS code format:
positive integer (no negative numbers, not 0)
whole numeric value (no letters or special characters)
no more than 6 digits

Renamed files for consistency:

src/pipes/date-validation.pipes.ts -> src/pipes/date-validation.pipe.ts
src/pipes/oris-code-validation.pipes.ts -> src/pipes/is-oris-code.pipe.ts
src/pipes/state-validation.pipes.ts -> src/pipes/state-validation.pipe.ts

Renamed files for consistency:

src/pipes/date-validation.pipes.ts -> src/pipes/date-validation.pipe.ts
src/pipes/oris-code-validation.pipes.ts -> src/pipes/is-oris-code.pipe.ts
src/pipes/state-validation.pipes.ts -> src/pipes/state-validation.pipe.ts


Manually set some folders as "app folders"

Awesome app, too bad it's a little frustrating that setting albums display with grouping doesn't recognize all app folders.  It would be possible to implement a system to do this eventually...
Or maybe select some folders with special function... or even add new items for grouping (for example "job") ...

Right, the app folder detection is hit & miss.
Aves tries to match the folder name with the name of an app installed on the device (its localized name and its English name). So it can fail in 2 ways:

false negative: the folder name matches nothing, but it is actually created and managed by an app,
false positive: the folder name matches something, but it shouldn't be associated with an app.

I believe there is no automated way to avoid these mismatches, but I'll try and provide a way to manually mark/unmark a folder with a user selected app.
Also, Aves has some additional hard-coded mappings for some folder names. As of Aves v1.5.11, there are already these:

KakaoTalkDownload folder -> KakaoTalk app
Imaging Edge Mobile folder -> Imaging Edge app
Feel free to let me know if you have good candidates like that.


remove broken and incomplete case study from source tree

This case study is incomplete and not included in toctree

Hi,
please do not remove it. I started to add the case study but haven't found time, to finish yet.

Ok, thanks for clarification


Delivering Runtime to managed Windows 10 devices

Rendered article sections for review:

https://review.learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution?branch=pr-en-us-2385#the-evergreen-runtime-distribution-mode
https://review.learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution?branch=pr-en-us-2385#details-about-the-evergreen-runtime-distribution-mode

This PR also applies the h2/h4/h6 tagging pattern, to clarify page structure.
GitHub rendered (smaller heading sizes than LMC):

https://github.com/mikehoffms/edge-developer/blob/user/mikehoffms/managed/microsoft-edge/webview2/concepts/distribution.md#the-evergreen-runtime-distribution-mode
https://github.com/mikehoffms/edge-developer/blob/user/mikehoffms/managed/microsoft-edge/webview2/concepts/distribution.md#details-about-the-evergreen-runtime-distribution-mode

Learn Build status updates of commit bdb2520:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/distribution.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 017a880:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/deployment-distribution.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/distribution.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Python Compatibility?

I tried to use LZ4Codec.Encode and LZ4Stream to compress my data and then uncompress in python. However, it failed with error LZ4F_getFrameInfo failed with code: ERROR_frameType_unknown.
I checked the Compatibility section on the home page Readme and tried such code:
var buffer = new byte[LZ4.LZ4Codec.MaximumOutputLength(body.Length)];
var compressedLength = LZ4.LZ4Codec.Encode(body, 0, body.Length, buffer, 0, buffer.Length);
deflateBody = new byte[compressedLength];
Array.Copy(buffer, deflateBody, compressedLength);

But this doesn't work neither.
How can I make the compressed data to be compatible with the Python's?

Although I have seen your lz4-unity repo, I just made a managed (pure C#) solution here:
https://github.com/UlyssesWu/LZ4.Frame
(It's not a complete implementation, but should handle most situations.)

https://github.com/MiloszKrajewski/lz4net/blob/master/doc/compatibility.md


depth=1 to accelerate download

@tjwudi Thanks so much for your PR! The install process will be updated soon, so I am closing this PR since the installation process will change.


[Web Portal] Update home page to support dedicated vc

Coverage increased (+17.3%) to 63.392% when pulling fb9327f9ce3989265e0ccc9f82b10dd40a57966b on qinsu/portal/dedicated into bf872480e952a59b418c707827aef55ea66861e9 on master.


Implement ignore3vl function.

Implemented as a normal scalar function that translates NULL=>false
Implemented as a marker for LuceneQueryBuilder to skip 3-valued logic on queries

@seut Fixup pushed. please check again. Jenkins failure is regarding python codestyle.
Will be fixed if rebased with master.


[BUG] KeyNotFoundException: The given key was not present in the dictionary

I created binding for both the Valve and Index controller for my project and ran into an issue with steam seeming to try and bind to another project. (Restarting SteamVR and/or the PC then reopening the project from the Unity HUB seemed to work but now any time i open any project I get a key binding error.
KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
Valve.VR.SteamVR_Input.GetBaseActionFromPath (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:470)
Valve.VR.SteamVR_Action.FindExistingActionForPartialPath (System.String path) (at Assets/SteamVR/Input/SteamVR_Action.cs:521)
Valve.VR.SteamVR_Action`2[SourceMap,SourceElement].TryNeedsInitData () (at Assets/SteamVR/Input/SteamVR_Action.cs:134)
Valve.VR.SteamVR_Action`2[SourceMap,SourceElement].InitAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action.cs:219)
Valve.VR.SteamVR_Action_Vector2.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Vector2.cs:179)

and
KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) (at <ad04dee02e7e4a85a1299c7ee81c79f6>:0)
Valve.VR.SteamVR_Input.GetBaseActionFromPath (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:470)
Valve.VR.SteamVR_Action.FindExistingActionForPartialPath (System.String path) (at Assets/SteamVR/Input/SteamVR_Action.cs:521)
Valve.VR.SteamVR_Action`2[SourceMap,SourceElement].TryNeedsInitData () (at Assets/SteamVR/Input/SteamVR_Action.cs:134)
Valve.VR.SteamVR_Action`2[SourceMap,SourceElement].InitAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action.cs:219)
Valve.VR.SteamVR_Action_Boolean.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Boolean.cs:222)

Also while the binding is set up in the web dashboard on the left controller and mirrored to the right controller for some reason only the right controller works and the left controller can only be used to teleport?
This was made in Unity 2019.2.2

Another project Made in Unity 2018.3.9 gets:
KeyNotFoundException: The given key was not present in the dictionary. System.Collections.Generic.Dictionary2[TKey,TValue].get_Item (TKey key) (at :0)
Valve.VR.SteamVR_Input.GetBaseActionFromPath (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:470)
Valve.VR.SteamVR_Action.FindExistingActionForPartialPath (System.String path) (at Assets/SteamVR/Input/SteamVR_Action.cs:521)
Valve.VR.SteamVR_Action2[SourceMap,SourceElement].TryNeedsInitData () (at Assets/SteamVR/Input/SteamVR_Action.cs:134) Valve.VR.SteamVR_Action2[SourceMap,SourceElement].InitAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action.cs:219)
Valve.VR.SteamVR_Action_Single.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Single.cs:176)
`
and
KeyNotFoundException: The given key was not present in the dictionary. System.Collections.Generic.Dictionary2[TKey,TValue].get_Item (TKey key) (at :0)
Valve.VR.SteamVR_Input.GetBaseActionFromPath (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:470)
Valve.VR.SteamVR_Input.GetActionDataFromPath[T] (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:396)
Valve.VR.SteamVR_Action2[SourceMap,SourceElement].Initialize (System.Boolean createNew, System.Boolean throwErrors) (at Assets/SteamVR/Input/SteamVR_Action.cs:172) Valve.VR.SteamVR_Action2[SourceMap,SourceElement].InitAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action.cs:228)
Valve.VR.SteamVR_Action_Single.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Single.cs:176)`
when nothing in it was changed.

What version of the SteamVR plugin are you using? Have you generated actions? Do your projects have the same name?

Sorry for the slow response Things have been busy and the issue went away for a bit. I am now back to this project and I am once again seeing a key not found issue.
I am in Unity 2018.3.9f1 with this project and I am using SteamVR 1.9.15 with the plugin 2.2.0 Where do I find the exact plugin version? I tried to update yesterday to 2.5.0 but I looked in the readme and it seems I am still using v2.2.0 which is what I was using when the project was working last month.
I tried deleting and restoring binding, rebooting, moving the project to a new folder etc. I built the project in 2019.2 but had issues with the post effects and was unable to get LWRP or HDRP to work with steam so i went back to 2018.3 Before the key issue started it all worked fine. I left the project alone one week end and came back to this issue. Then i spent most of December working on another project and forgot about this. The projects in question have similar names but not the same name.

Trying advanced tools in the SteamVR input settings I clicked create and made a file with a unique name, overwriting old actions and removing unused actions.
I still have the Key not found and also see:

Error loading action manifest into SteamVR: MismatchedActionManifest
UnityEngine.Debug:LogError(Object)
Valve.VR.SteamVR_Input:IdentifyActionsFile(Boolean) (at Assets/SteamVR/Input/SteamVR_Input.cs:1261)
Valve.VR.SteamVR:CreateInstance() (at Assets/SteamVR/Scripts/SteamVR.cs:179)
Valve.VR.SteamVR:Initialize(Boolean) (at Assets/SteamVR/Scripts/SteamVR.cs:98)
Valve.VR.SteamVR_Behaviour:InitializeSteamVR(Boolean) (at Assets/SteamVR/Scripts/SteamVR_Behaviour.cs:116)
Valve.VR.SteamVR_Behaviour:Awake() (at Assets/SteamVR/Scripts/SteamVR_Behaviour.cs:97)

Update: I ran an update to get plugin version v2.5 (sdk 1.8.19) and now have

Assertion failure. Value was Null
Expected: Value was not Null

and

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Rendering.PostProcessing.RuntimeUtilities.get_copyStdMaterial () (at Library/PackageCache/com.unity.postprocessing@2.2.1/PostProcessing/Runtime/Utils/RuntimeUtilities.cs:269)
UnityEngine.Rendering.PostProcessing.PostProcessLayer.BuildCommandBuffers () (at Library/PackageCache/com.unity.postprocessing@2.2.1/PostProcessing/Runtime/PostProcessLayer.cs:605)
UnityEngine.Rendering.PostProcessing.PostProcessLayer.OnPreCull () (at Library/PackageCache/com.unity.postprocessing@2.2.1/PostProcessing/Runtime/PostProcessLayer.cs:440)

I don't see any issue with my post process and nothing on it was changed? more importantly the Key not found error persists and I now get a pop up for Steam VR 2.1 that is blocked by System Admin

After Updating to 2.5 and closing then reopening the project the error is gone but I still cant teleport an now no other interaction on the hand works. I am going back to an older version and they are broken now too!

I wiped out my default and costume binding and rebuilt both. now I am back to the same issue of Key not found?

KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary2[TKey,TValue].get_Item (TKey key) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0) Valve.VR.SteamVR_Input.GetBaseActionFromPath (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:470) Valve.VR.SteamVR_Input.GetActionDataFromPath[T] (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:396) Valve.VR.SteamVR_Action2[SourceMap,SourceElement].Initialize (System.Boolean createNew, System.Boolean throwErrors) (at Assets/SteamVR/Input/SteamVR_Action.cs:172)
Valve.VR.SteamVR_Action`2[SourceMap,SourceElement].InitAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action.cs:228)
Valve.VR.SteamVR_Action_Single.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Single.cs:176)

So...  I have no idea whats going on with this but for now it is working in-spite of the error.

Anyone have idea how to clear the error? Its intermittent issues are killing the project. I left for a few days, came back this morning and tried to run the scene to find that the Index Controller wont show up and the Vive controller can't teleport! (The controller button works and shows the arc but the teleport floor doesn't show up? and the only console error is this key not found issue.

Add to the issues SteamVR Fail  "Oh no! SteamVR has encountered an unexpected problem. (-204)

The error is now happening for Vector 2 Boolean and single?
Valve.VR.SteamVR_Action_Vector2.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Vector2.cs:179)
Valve.VR.SteamVR_Action_Boolean.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Boolean.cs:222)
Valve.VR.SteamVR_Action_Single.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_Action_Single.cs:176)
All I changed was the port from 8998 to 27062 in line 358 of the SteamVR.cs ?

I looked at binding from a fresh scene with nothing in it but SteamVR 2.2 (also tested 2.5) I added the player and removed the default camera. I saved and generated binding and ran the project.
I copied the binding from this project to get reset the default binding and the error on SteamVR_Action_Single is still present?

Do I need to change something such as My editor app key or something. Some one please help this has wasted days!

@zite I have responded to your questions and proactively added more to this issue but I have not heard back. Is this something that can be fixed? Can it be safely ignored?
To add to this issue when I work in multiple Unity projects and I open the Binding It is not opening different bindings for each project.
Example I have Project A, B, and C. I work in A then I move over to C and I update its binding. Then I go back to A and it has the same binding as C even though the two files have nothing to do with one another and I didn't change the Binding in A. I then went back to C and its bindings where fine.
I checked the Editor App Key listed in the inspector  by opening SteamVR Input> Advanced Settings > SteamVR Settings. All three projects have different strings starting with application.generated.unity..exe So this error seems to be a bug.

So I had a project that had an editor app key
on.generated.unity.twounityproject.exeoject.exe
and today I opned it and its editor app key has changed to
on.generated.unity.oneunityproject.exeoject.exe
and no I get a key not found error!
This has got to be a bug in the way that SteamVR is working with Unity hub and simultaneous project editing.

Is there a solution for this yet?

Still getting KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) (at <567df3e0919241ba98db88bec4c6696f>:0)
Valve.VR.SteamVR_Input.GetActionSetFromPath[T] (System.String path, System.Boolean caseSensitive, System.Boolean returnsNulls) (at Assets/SteamVR/Input/SteamVR_Input.cs:970)
Valve.VR.SteamVR_Input.GetActionSetFromPath (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:992)
Valve.VR.SteamVR_Input.GetActionSetDataFromPath (System.String path, System.Boolean caseSensitive) (at Assets/SteamVR/Input/SteamVR_Input.cs:466)
Valve.VR.SteamVR_ActionSet.Initialize (System.Boolean createNew, System.Boolean throwErrors) (at Assets/SteamVR/Input/SteamVR_ActionSet.cs:178)
Valve.VR.SteamVR_ActionSet.UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize () (at Assets/SteamVR/Input/SteamVR_ActionSet.cs:366)

@Giantbean you're getting this in the latest beta? 2.7.1?

Can you post a full editor logfile?

2.6.1 and How do I do that?
On Fri, Dec 18, 2020 at 12:05 PM Keith Bradner<EMAIL_ADDRESS>wrote:

Can you post a full editor logfile?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/steamvr_unity_plugin/issues/596#issuecomment-748266066,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALXPNW7BF74XMH2D2KRS6ODSVORZFANCNFSM4JR3P2LA
.

Gotcha, I'm seeing these errors now. Do you have the OpenVR Desktop package installed in the package manager?

Yep. V1.0.5

Do I need to change something in the SteamVR_Input.CS around line 917?
`        public static T GetActionSetFromPath(string path, bool caseSensitive = false, bool returnsNulls = false) where T : SteamVR_ActionSet, new()
{
if (actionSets == null || actionSets[0] == null || string.IsNullOrEmpty(path))
{
if (returnsNulls)
return null;
            return SteamVR_ActionSet.Create<T>(path);
        }

        if (caseSensitive)
        {
            if (actionSetsByPath.ContainsKey(path))
            {
                return actionSetsByPath[path].GetCopy<T>();
            }
        }
        else
        {
            if (actionSetsByPathCache.ContainsKey(path))
            {
                SteamVR_ActionSet set = actionSetsByPathCache[path];
                if (set == null)
                    return null;
                else
                    return set.GetCopy<T>();
            }
            else if (actionSetsByPath.ContainsKey(path))
            {
                actionSetsByPathCache.Add(path, actionSetsByPath[path]);
                return actionSetsByPath[path].GetCopy<T>();
            }
            else
            {
                string loweredPath = path.ToLower();
                if (actionSetsByPathLowered.ContainsKey(loweredPath))
                {
                    actionSetsByPathCache.Add(path, actionSetsByPathLowered[loweredPath]);
                    return actionSetsByPath[loweredPath].GetCopy<T>();
                }
                else
                {
                    actionSetsByPathCache.Add(path, null);
                }
            }
        }`

I'm also having issues with baking lighting as it moves my files from the folder they where baked to and then try's to bake again putting me in a loop I have to cancel out of. This moving of files is strange as I can take a .png into an image editing software to update it and when i loud it back into the project from the file explorer I place it in the folder I want it in but when I go back to Unity and let Unity load the file it moves the image out of the folder and puts it up a layer in the folder structure.  (This only happens in this project and I have no other errors in the console)


Cross protocol SLO is not working properly for SAML

Describe the issue:

Cross protocol SLO is not working properly for SAML tomact agent sample applictaion
When logout from the OIDC application which is SSO and SLO  enabled, below behavior found

Stay in same page when refresh is done from the SAML application for IDP initiated SSO in SAML application.
Prompt the Login page when refresh is done from the SAML application for SP initiated SSO in SAML application.

Logout from the SAML application is not functioning properly in both cases.
How to reproduce:

1.Setup  the sample SAML agent application
2. Setup OIDC Application in order to work the SSO
( SSO & SLO enabled, IDP initialed SSO & SLO enabled with back channel logout enabled both applications)
3. Logout from the OIDC application
4. behavior

Refresh the SAML application when SSO initiated by IDP, it will stay in same page without knowing back channel is logout.

Refresh the SAML application when SSO initaied by SP itself, then it will prompt Login page  because of SAML2RequestID is null in [1] and send SSO request again to IS. This is always gives null even without logout is performed every refresh it calls the  SSO request to IS.

Here, InResponseTo value not there in the IDP initialed SAML response while SAML response in SP initialed scenario has some value. Both case it doesn't fire /logout flow in the SAML2SSOAgentFilter instead always fire [2] condition
[1] https://github.com/asgardio/asgardio-java-saml-sdk/blob/master/io.asgardio.java.saml.sdk/src/main/java/io/asgardio/java/saml/sdk/SAML2SSOManager.java#L376
[2] https://github.com/asgardio/asgardio-tomcat-saml-agent/blob/master/io.asgardio.tomcat.saml.agent/src/main/java/io/asgardio/tomcat/saml/agent/SAML2SSOAgentFilter.java#L94
Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [IS 5.10.0]
OS: [Linux,]
Browser: [Chrome]
SDK Version: [io.asgardio.tomcat.saml.agent:0.1.16 ]

Optional Fields
Related issues:

Suggested labels:

Closing the issue as this repo is no longer maintained.


Need to mark area as ignore for crowded objects so that object is neither positive or negative sample

I need help in marking some area in the image as ignore so that it does not consider that part of image as positive or negative sample . I need this in the case when two objects are very close to each other . Please let me know how can we do this ?

You can't mark some area to ignore it

case when two objects are very close to each other

if you train Yolo v3 and if these two objects have different class id, then you can make two overlapped lebels for two different classes instead of igonre this part of image. It allows to train it for multi-label training: https://github.com/AlexeyAB/darknet/issues/875#issuecomment-391461109

If you draw a black opaque box in that area - then I think - yes, it will work.


Revise redeferral heuristic

Revise redeferral heuristic to track execution of full-jitted functions without generating new code. We make use of the per-entry-point calls count for jitted entry points as well as the interpreted count for the FunctionBody. Incorporates the jitted code changes to stop saturating the callsCount field.

Out of date PR incorporated into https://github.com/Microsoft/ChakraCore/pull/1585.


Third-party downloads are disabled

Can you please enable them? Thanks

No, use Modrinth for api downloads.

No, use Modrinth for api downloads.

Oh ya use modrinth now? Ight lemme find it

Ight ya haven't put this mod there yet

@tr7zw

Huh, true. Thought I did. Will do that the following days.

https://modrinth.com/user/tr7zw will be listed here then.


GetType returns the wrong type for Discriminated Unions when inlined

This one came as a bit of surprise, but apparently GetType() can return the wrong type when used with inlined let-bindings or members.
Repro steps
There are several ways to repro this, here is a static member and a let-binding, both return the wrong type:
type MyByte = MyByte of byte with
    static member inline convert (MyByte v): 'a = failwithf  "conversion from %A to %A not supported" (v.GetType()) typeof< 'a>

module X =
    let inline convert (MyByte v): 'a = failwithf  "conversion from %A to %A not supported" (v.GetType()) typeof< 'a>

// call it:
let b:int = MyByte 12uy |> X.convert
let b:int = MyByte 12uy |> MyByte.convert

Expected behavior
GetType() should return the actual type, here MyByte.
Actual behavior
GetType() returns the wrapped type, here byte, or System.Byte. The output of either of these methods is, from FSI:
> let b:int = MyByte 12uy |> X.convert;;
System.Exception: conversion from System.Byte to System.Int32 not supported
   at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1379.Invoke(String message)
   at <StartupCode$FSI_0048>.$FSI_0048.main@()
Stopped due to error

Known workarounds
I don't know of a workaround (short of overriding the GetType() method, which wouldn't work in this case since only augmentations are allowed), but I would love to hear of one, as this currently breaks my code.
Related information
When you remove the inline it works as expected. Using GetType() in other scenarios I tested works as expected.
Tested with F# 4.0 and F# 4.1, in VS2017 with recent nightlies. Also seen in VS2015 (though I haven't tried older versions than F# 4.x), so it is not a regression bug. I wouldn't be surprised if this was reported previously, considering it has been around for a while.
It happens in compiled code, debug and release builds, FSI.

Darn, never mind, I was blindfolded: GetType() in above code is executed on the unwrapped type. My bad. Oops!


Django usage

Hi, any example to implement this in django. Thanks

Hi Team,
Any update on this, I suppose it is a very useful feature. Thanks

Hi @jijunnniu , the previous comment still applies.
If you are up to the task, I can point you to where you should start.

Thanks @mittal-umang, this will be great.
To get started, clone the project and follow the instructions in https://github.com/SolarEdgeTech/pyctuator#contributing.
Next, in order to add support for django (or any other web-framework) you'll need to:

Add django dependencies as optional (for the sake of non django users)
Implement PyctuatorRouter in a new file pyctuator/impl/django_pyctuator.py (see any of the other implementation)
Create optional "web framework integration" in pyctuator/pyctuator.py (see framework_integrations, the key should be the name of the django package, guess its django)
Create a "django test server" in a new file tests/django_test_server.py which will be used by the end-to-end test
Register the "django test server" in @pytest.fixture in the test/test_pyctuator_e2e.py test
Document the integration of pyctuator in the readme file
Add an example in the examples folder

It'll indeed be great of you can do this.
Thanks!


[Documenter] Should it style the text every time a document is added to the scene graph?

GtDocumenterEditorSystemSubscriptionModel>>#mayRequestDocumentUpdate is sent when a document is added to the scene graph which triggers the editor to restyle the text.
This enqueues a task
Run task BlTaskAction (#BlTaskAction ([ self styler
	fireStyledEventForText: aStyledBrText
	andAfterAction: aBlock ]))

which takes a lot of time, basically blocking the image:

@syrel: we do not have better mechanism at this moment, do we?
What we want to achieve:

do not style when document is not in a scene graph
be always update (when visible to user), reflecting the system source code changes

From what I remember, the current implementation works as follows:

listen to system changes when a document is visible and style the document when there are changes relevant to the visible document, e.g., a referenced class is removed
do not trigger any changes while the document is not visible (in a scene graph)

As you wrote above, the computation is expensive and we did not wanted to trigger styling for all documents that are used but not visible. What do you think?

@syrel: Can you measure if the performance improved? I am not sure how you measured it. Thank you!

This is what we see now when switching back to the home tab after the fix:

there are two slower frames (I tried it a couple of times and got similar results)
the first one is ~170ms. Still slow, but already a 7x improvement.

the second one is 27ms, so not really problematic

I observe the same. For example I see that BrTextEditorSegmentElement takes almost 400 ms.

I will close it. The goal of this issue is to style only when necessary instead of on every added to scene graph. For other performance issues, we will open a new one.


Running example

I am a new user to Galaxy and wanted to try out the example. It seems that the code should be
docker run -d -p 8080:80 bgruening/galaxy-stable

instead of
docker run -d -p 8080:80 bgruening/docker-galaxy-stable

At least for me (Mac, Sierra, Docker 1.13.1) it works this way (and not the other way).

@guwek nice to see you here. The main image is here: https://github.com/bgruening/docker-galaxy-stable/
This training material is currently under heavy construction and not all trainings do have a valid Docker image. It should be we just lacking time. How to extend a Image is described here in more dewtail: https://github.com/bgruening/docker-galaxy-stable/#extending-the-docker-image--toc


I want to record the response of all requests. What should I do

This is really an excellent package, very useful to me
But I don't know how to record the return result of each request,
Call the addHandle method to achieve this?

I would create a response interceptor on the connector that is making all of the requests, then you can record every request...
public function boot(SaloonRequest $request)
{
    $request->addResponseInterceptor(function (SaloonRequest $request, SaloonResponse $response) {
      // Store the response somewhere

      return $response;
  });
}

How did that go, @hipig ?


--shell fish fish: unknown command: -c

Since the rust-rewrite; Running a command like viddy --shell fish k get po results in:

I tried to mess around with https://github.com/sachaos/viddy/blob/54cb024becec79bfbd0e45ec15a08841571d283c/src/exec.rs#L24 to no luck

I have the same issue, thanks for reporting @anthr76 👋🏼

@sachaos I found a workaround
viddy -d -n 2 --shell fish -c k get po```

Notice the `-c` after `fish`, hopefully this helps in finding the issue in the code.

Fixed by https://github.com/sachaos/viddy/pull/155


Why uv_write_cb not be called

Version:
Platform:

Version:  1.38.2
Platform: Nvidia Jetson nano(ARM)
Hi there,
In my application, I set up one timer to send heartbeat to peer by uv_write (interval is 1 or 5 seconds).
At first, the uv_write works correctly and the uv_write_cb be called after each uv_write be called, but I found
that after the application run for a while(let say 15 mins), the uv_write_cb not be called again(But I'm sure the
uv_write certainly be called).
Most weired thing is that, sometimes after the application run for a while(the uv_write_cb not called after uv_write), the uv_write_cb resumed to be called again after uv_write. I also observed that sometimes, after one uv_write be called, more than 1 uv_write_cb be called.
So I'm curious when the uv_write_cb triggered after uv_write, like  when the sendmsg finished or when
the peer ACK, or is something wrong that block the msg sending?
Appreciate for any advice, thanks!

After some investigation, I believe it's the TCP communication issue.

Since the peer's window is zero, the transmission is not happen which delay the trigger of the uv_write_cb.


do any of these have unit tests?

if not, can i convert one of these to mvp, add unit tests and submit a pr? only ui tests deprives the student of a full education

Thanks for the offer. In this case testing is mainly about exercising the API usage.
Samples for testing can be found here


Adding an Aggregation Component?

We want to add hierarchical terms in a tree. I would like to add a tree component for path_hierarchy field we have populated
I tried to start by making copies of the TermsAggregation(js/html) and adding them to main/SearchPanel(js/html).
But I can't make even this show up on the search panel. Am I missing some dojo trick?

Ok, not quite exact.
Failed when I attempted to add the tree components. Comment them out, and it works
define(["dojo/_base/declare",
        "dojo/_base/lang",
        "dojo/_base/array",
        "dojo/dom-construct",
        "dojo/text!./templates/ZAggregation.html",
        "dojo/i18n!app/nls/resources",
        //"dojo/store/Memory",
        //"dijit/tree/ObjectStoreModel",
        //"dijit/Tree",
        "app/search/SearchComponent",
        "app/search/DropPane",
        "app/search/QClause",
        "app/search/TermsAggregationSettings"],
function(declare, lang, array, domConstruct, template, i18n, SearchComponent,
  DropPane, QClause)

very sensetive to order... dang what is the old fashion make:
define(["dojo/_base/declare",
        "dojo/_base/lang",
        "dojo/_base/array",
        "dojo/dom-construct",
        "dojo/text!./templates/CategoryAggregation.html",
        "dojo/i18n!app/nls/resources",
        "app/search/SearchComponent",
        "app/search/DropPane",
        "app/search/QClause",
      "dojo/store/Memory",
      "dijit/tree/ObjectStoreModel",
      "dijit/Tree"],
function(declare, lang, array, domConstruct, template, i18n, SearchComponent,
  DropPane, QClause, Memory, ObjectStoreModel, Tree)


ComboBox SelectedItem problem

Hi,
When a ComboBox is part of and item that has been drag and dropped in a ListBox or ListView, it reset to its original SelectedItem. Also, every ComboBox that are bound to the same ViewModel, even if they are not in the ListBox or ListView item will be reset.
This behaviour can be seen in the Issue#188 example.
Is there a way to prevent this ?
thanks

@cloneproduction Solved?

yes, I didn't bind the SelectedItem correctly.
On Wed, Jun 27, 2018 at 3:29 PM Jan Karger<EMAIL_ADDRESS>wrote:

@cloneproduction https://github.com/cloneproduction Solved?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/punker76/gong-wpf-dragdrop/issues/293#issuecomment-400571195,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AByWABiIg5Qpx7Xi7MRFrcx-daWuxMsDks5uAzQ-gaJpZM4U1eAP
.

--
Irwin QUEMENER
Visualist - Creative Coder - Interaction Designer

Website : http://www.cloneproduction.net
wechat : cloneproduction
Vimeo : http://www.vimeo.com/cloneproduction
Twitter : http://www.twitter.com/lecloneur
Weibo : http://www.weibo.com/cloneproduction


radiksType=t on production SPA when fetching Users via fetchList

Awesome start to making developer life easier @hstove!  I'm sure this is going to be heavily adopted in the future!
I set up my heroku server + heroku RADIKS server and when testing locally on my front-end SPA it works fine when fetching for a Users list via Users.fetchList()

However, when I deploy my SPA to production via netlify I noticed the query for users get shortened to a single character string t

Not exactly sure what's going on but would love some insight on how to resolve this!

Great catch - I just discovered this as well when I deployed LetterMesh to production, and I haven't updated the documentation yet.
The issue is that your code is being minified. Radiks uses the model's class name when storing and querying data. In production, your code is minified, so the class name is just t.
You'll need to fix this by adding the static property className to your class. So it'll look like this:
class Task extends Model {
  static className = 'Task';
}

However, in this case, you're using the BlockstackUser class, which is defined in Radiks. I just pushed a fix that adds the className to all internal classes. If you upgrade radiks to 0.1.4, this should be resolved. This is an issue with radiks, not radiks-server, so only the client-side library needs to be updated.

Upgraded and works!


How to train with ViT

The evaluation metrics are very low when I use the original configuration of bagtricks_vit.yml for training. What am I doing wrong? Do I need to modify the code elsewhere?

Maybe another version of pytorch could solve this problem. I meet the same problem under pytorch1.10 and solve it by using pytoch1.8.1.

Maybe another version of pytorch could solve this problem. I meet the same problem under pytorch1.10 and solve it by using pytoch1.8.1.

That's great!


Bugfix/5165 enable pl optimizer

What does this PR do?

Fixes #5165 #5159
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

Hello @tchaton! Thanks for updating this PR.

In the file tests/core/test_lightning_optimizer.py:

Line 518:17: E272 multiple spaces before keyword
Line 529:5: E265 block comment should start with '# '

@tchaton could you also just revert this commit on your branch:
https://github.com/PyTorchLightning/pytorch-lightning/commit/3910b283399f1b7888eecc63ab88ac375c284752

why was it closed, does it have a followup?


Unfinished code in RemoteLocalHook

I'm trying to use BlackBone to hook into a remote function (not at the function start but somewhere in the middle, but that's another story) to inject some simple ASM. I was looking at RemoteLocalHook to do that, but it seems like that was implemented half way and then abandoned 3 years ago. There's the obvious missing 64-bit support, but even 32-bit isn't working: When testing, it didn't jump back to the original code properly but to some random location causing a segfault.
Looking at the code a bit more, the return address (_ctx.hook32.jmp_code) for the jmp is never actually written, and there's a commented-out line at the end of CopyOldCode() that would supposedly do it.
Is there a reason this code was abandoned? I actually don't have much experience with anything assembly-related, but it looks relatively easy to fill in the missing parts, and even to add some 64-bit support (the initial jmp here seems to be a problem), so I think I'll have a go at doing that myself. Unless someone tells me it was abandoned because it turned out to be much more complicated than it seems.

No strong reason, I'm to lazy to finish it. I didn't think it was a really useful feature.

I finished the code and got it working on x86 and x86_64 in my pull request: https://github.com/DarthTon/Blackbone/pull/420


Math Functions turn Colored Images into greyscale

Material Maker version:

1.3
OS/device including version:

Windows 11
Issue description:

The Input and Output of this should be the same, as x+0=x, but they're not.
Other math operations also have the same issue, such as x*1 which should output x but also returns greyscale
Input:

Output:

Steps to reproduce:
Apply Math to anything with Color
Get incorrect Greyscale Output

Math only outputs greyscale images and takes in greyscale inputs, for colors they are implicitly converted to greyscale by taking the average of the RGB channels(similar as greyscale node set to Average mode), if you want to process colors you can use e.g. a vec3 math node


Include time.Duration support in README

The README omitted that time.Duration is supported.

#142 duplicates this PR but is slightly better (it contains a link to documentation). One of these two PR should be rejected and the other one should be merged :-)


Add API to send message to a chosen LLM

Description
The Iris chatbot on Artermis wants to use different LLMs to answer students' questions. guidance is a great tool to manage and control different LLM models at ease, but it is only offered in python package. Therefore, we initialize this project to act as a bridge between Artemis and guidance

Can you provide a bit more details what this PR is implementing? Maybe even share your current idea of the Iris architecture? Otherwise giving valuable feedback is difficult for me/us.

Also, I would like to have some documentation on how to run tests. I got this warning when running python -m pytest:
================================================================================================= warnings summary =================================================================================================
.venv/lib/python3.8/site-packages/_pytest/config/__init__.py:1302
  /Users/paul/Sync/main/projects/Iris/.venv/lib/python3.8/site-packages/_pytest/config/__init__.py:1302: PytestConfigWarning: Unknown config option: env_files

    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

Nice future work: Adding a CI pipeline for automatically running the tests

I'll add some GitHub Actions workflows for deployments and can then also add workflows to automatically run the tests 👍🏻

Also, I would like to have some documentation on how to run tests. I got this warning when running python -m pytest:
================================================================================================= warnings summary =================================================================================================
.venv/lib/python3.8/site-packages/_pytest/config/__init__.py:1302
  /Users/paul/Sync/main/projects/Iris/.venv/lib/python3.8/site-packages/_pytest/config/__init__.py:1302: PytestConfigWarning: Unknown config option: env_files

    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

Hi, this one should be resolved now with poetry. I also updated the README for the instructions


Imrpoved the documentation formatting.

I have made some modifications to the readme file to make it easier to read and navigate through. I hope it helps! @zaidalyafeai

Thank you @Ahmed-Ashraf-Marzouk

You are welcome. @zaidalyafeai


Fix fetch all records when no dedup rules

Current dedup config of module is always enable (as front-end comment).
So the better way to control dedup is rules length.

Thank you for that :)
Note:  We have plan to remove Enabled from the configuration struct(ModuleConfigRecordDeDup) in next deDup update.