"require is not defined" when initializing DB with d1 beta bindings

Was trying out the d1 beta bindings in miniflare, and ran into the following:
[mf:err] ReferenceError: require is not defined
    at _resolve (file:///Users/tgriesser/Github/cf-test/node_modules/.pnpm/npx-import@1.1.3/node_modules/npx-import/lib/utils.js:11:5)
    at npxResolve (file:///Users/tgriesser/Github/cf-test/node_modules/.pnpm/npx-import@1.1.3/node_modules/npx-import/lib/index.js:56:16)
    at createSQLiteDB (/Users/tgriesser/Github/cf-test/node_modules/.pnpm/@miniflare+shared@2.9.0/node_modules/@miniflare/shared/src/sqlite.ts:20:51)
    at FileStorage.getSqliteDatabase (/Users/tgriesser/Github/cf-test/node_modules/.pnpm/@miniflare+storage-file@2.9.0/node_modules/@miniflare/storage-file/src/index.ts:114:21)

Seems it's due to this code in npx-import, which is a package of "type": "module":
export function _resolve(packageWithPath: string) {
  return require.resolve(packageWithPath)
}

I believe this needs to be changed to create require:
export function _resolve(packageWithPath: string) {
  return createRequire(import.meta.url).resolve(packageWithPath)
}

Tried to patch and write a test for it in the npx-import package, but couldn't figure out getting vitest to load the test in a way that it'd fail, where require is undefined. Didn't see a way to force load as a true esm environment, seems require is always defined in the worker context.
The other fix that seemed to work was to change:
https://github.com/cloudflare/miniflare/blob/974c7c2796cfa243f8eb0569cd2f37b59795ed71/packages/shared/src/sqlite.ts#L19-L21
to just use require.resolve directly:
return new DatabaseConstructor(dbPath, {
  nativeBinding: getSQLiteNativeBindingLocation(require.resolve("better-sqlite3")),
});

Figured @geelen would know better where is best to fix this, or if there was something else I was missing here where the current code is expected.

My understanding is this PR fixes it:
https://github.com/geelen/npx-import/pull/9

Released<EMAIL_ADDRESS>Does miniflare/wrangler need to be published to pick this up or nah? Probably wrangler cause it bundles its dependencies, hey...

@mrbbot I guess this needs a Miniflare release, and then a Wrangler release?

You can add a resolution to your package.json to fix it in the meantime.
  "resolutions": {
    "npx-import": "1.1.4"
  }

This should be shipped on any fresh installation of Miniflare/Wrangler - this issue can be closed 🙂

I just installed/updated them when I wrote that comment and had to add the resolution. 😕


Add mac deps to build artifacts on kokoro

-- makes most macos artifacts green on kokoro

Only affects kokoro macos build, merging.


feat: add support for NotarizedRouteResources

Description
For resources in nested routes, there was no way to generate the correct path.
Now, with NotarizedRouteResources, one can do this, combining the syntax of
NotarizedRoute with the mapping in NotarizedResources.
Closes #370
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] Documentation

How Has This Been Tested?
Added a new unit test for NotarizedRouteResources
Checklist:

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

Hmm... i don't really like the approach of creating an entirely new plugin to essentially just handle route prefixes.
Can't we just take the way that the normal route plugin calculates the route path and prefix it to the way that the resource plugin currently calculates the path?
Or am I missing something? I don't use this plugin so I'm not very familiar

Oh i see, NotarizedResources is an application level plugin 🤔
Would it be sufficient to just have a prefix configuration variable? or are there cases where you are using multiple "resource routes" (idk if this is the right term) across a single ktor application

To support multiple resource routes, which I do use, it is necessary to do it this way. For what it's worth, with this plugin, the application-level plugin is redundant and could be removed?

I must admit I was a bit confused when I started  using NotarizedResources, because it was so different from the normal way of doing it with NotarizedRoute. This new plugin is closer to the regular way of doing it.

Maybe we could make it even closer to the NotarizedRoute syntax, by having one route plugin per request?
Something like this:

route("/api) {
  // Default untyped approach
  route("/user/{id}") {
    install(NotarizedRoute()) {
      parameters = ...
      get = ...
    }
    get {
      ...
    }
  }
  // With resources
  install(NotarizedResourceRoute<ItemRequest>()) {
    parameters = ...
    get = ...
  }
  get<ItemRequest> {
    ...
  }
}

@Serialization
@Resource("/item/{id}")
data class ItemRequest(val id: String)

Yea I think what happened is someone requested support for the locations plug-in back in Ktor 1 but I don't use it so I made a kinda crappy plug-in for it without thinking too much 😂 then we just ported it over to ktor 2 and another contributor copied it over to support resources.
Definitely agree it doesn't make a whole ton of sense as an application plug-in.  Most likely we should mark the existing one as deprecated in favor of a route level plug-in. Then whenever we do a major version bump we can drop the application level plug-in

I like the suggestion about one plug-in per type! That seems very clean.

But doesn't that someone go against the way that resources get defined? How would you handle nested resources in this pattern?

I must admit I haven't used nested resources myself; I find the nested routes approach more intuitive. I could make a stab at it during the week though :)

Actually, if you see the attached "Can notarize resources in route" test, along with the T0003__resources_in_route.json result, it is already working with nested resources :)

Ah, but maybe not with the plugin per type version. Will do some digging. Setting the PR as a draft for now.

Closed in favor of #378


Html.Attributes.value does not work as

Elm 0.17, elm-lang/html 1.1.0, macOS 10.12.1, Chrome 54.
Problem
If you have a select tag with the required attribute, you can create a placeholder option – all you have to do is to create an option with an empty string1 as the value attribute. It's called placeholder label option. It forces the user to actually choose an option from the select before submitting the form. See the HTML5 spec and the related SO answer for more details.
When I tried to implement that in Elm, I found out that passing an empty string to Html.Attributes.value doesn't work. If you inspect such element in Safari/Chrome developer tools, you'll see that there's no value attribute defined on the node.2
However, everything works fine if I use Html.Attributes.attribute "value" "". The value appears to be set on the option tag, though it has no value (see footnote 1).
Take a look at the SSCCE. The last select implements the placeholder label option correctly.
Only the last select has the value attribute set on the first option. If you're on Chrome and try to click the submit button, Chrome is going to complain about the lack of a chosen option only for the last select.
Solution
One possible solution is to use HTML attribute instead of JS property for Html.Attributes.attribute. However, this seems like a big change and I'm not sure if and how it's going to impact existing codebases.
If it turns out that elm-lang/html omits properties with an empty string as a value, we may consider not omitting them (see the second footnote).
There's always the possibility to keep everything as it is. However, it leaves the devs who want to use the placeholder label option with no choice but to implement it with Html.Attributes.attribute and leave a comment on why it's implemented this way and not with Html.Attributes.value (or just leave a link to this issue).
I feel that resolving this issue requires someone with a broad knowledge of elm-lang/html, the Elm's rendering engine and HTML & JS to make a decision on what's the best way to approach it. This is why I'm leaving a bug report without a WIP solution.
At work, we often use the placeholder label option together with the required attribute in our internal apps – HTML5 provides an easy way to implement basic cross-platform validation of forms. I think I'm not alone in this and I hope this report is going to either help with fixing the issue or help other devs with finding a workaround. 🙃

1: This is not 100% true. One can just define the value attribute on the HTML node without any value for it – that's what Elm does with Html.Attributes.attribute "value" "". But I don't know, maybe the browsers treat <option value> and <option value=""> as equal.
2: I think this is because the functions in Html.Attributes use JS node properties by default and either JS omits the property if it's an empty string or the Elm implementation does. I didn't look that far under the hood.

I ran into this, or something related to this, a while back. The browser behavior I saw that was confusing is that
Here is an SSCCE that can be pasted into the elm-lang.org/try: https://gist.githubusercontent.com/i-s-o-g-r-a-m/7efb7beaa769b5d8730cb1eb3363f465/raw/b352b74c72095b2aeee34e28e910eb06bfea109e/select.elm
If you inspect the DOM, you will see this the first time the page is rendered:

I have a similar experience to @i-s-o-g-r-a-m above.
I'm at first seeing:
<select>
        <option></option>
        <option value="notblank">notblank</option>
</select>

, then after an onChange event has fired:
<select>
        <option value></option>
        <option value="notblank">notblank</option>
</select>

It would be great if the value attribute could be present across the board.


AWS node drivers rke1 cluster are stuck in waiting when the network provider is Weave

Information about the Cluster
Rancher Server Setup

Rancher version: v2.6-head e93a53c
Installation option (Docker install/Helm Chart): Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE1, v1.22.6, 1.3.7

Proxy/Cert Details: Selfsigned

Information about the Cluster

Kubernetes version: v1.22.6/v1.21.9
Cluster Type (Local/Downstream): Downstream node driver AWS 1 worker, 1 etcd, 1 cp RKE1

Describe the bug
When the network provider weave is selected for a AWS node driver  the cluster won't come up active even when all the nodes are active. Cluster explorer page won't be active as the cluster is stuck in Waiting. Happens if we select an rke1 template/rke1 cluster with weave provider.
To Reproduce

Create a node driver AWS cluster with 1 etcd, 1 cp and 1 worker node
Select the network provider weave

Result
Cluster is stuck in Waiting. See the following error logs in rancher pods:
Status in the yaml:
  - lastUpdateTime: "2022-03-02T00:28:38Z"     message: Cluster agent is not connected     reason: Disconnected
2022/03/02 00:29:44 [INFO] cluster [c-tmgm8] worker-upgrade: sending node-version for node [anuweave-w1] version 1
2022/03/02 00:48:08 [ERROR] defaultSvcAccountHandler: Sync: error handling default ServiceAccount of namespace key=c-vj4l4, err=Operation cannot be fulfilled on namespaces "c-vj4l4": the object has been modified; please apply your changes to the latest version and try again

Expected Result
Cluster to come active
Additional context
It is not seen for DO node drivers, AWS custom clusters. Only seen for AWS node drivers.
Not seen on 2.6.3 with AWS node drivers.
This is sometimes seen on 2.6.3 docker install as well - AWS node driver clusters with weave network provider and k8s 1.21 are stuck in waiting

I was able to reproduce this on 2.6.3 which is why I don't think it's a team 1 regression.

Was able to reproduce on 2.6.3 on 2/10 clusters, not always reproducible. Saw the same condition  on cluster object,
message: Cluster agent is not connected reason: Disconnected .
Seems to be weave issue. To confirm:

ssh on the control plane node. check for cluster-agent logs. container might have exited, restart to get logs
ERROR: https://xxx-xx-xx-xx.us-west-2.compute.amazonaws.com/ping is not accessible (Could not resolve host:xxx-xx-xx-xx.us-west-2.compute.amazonaws.com)

check weave container logs, erroring out with
INFO: 2022/03/04 18:03:43.588522 ->[<IP_ADDRESS>:34109|7a:4e:5f:93:59:54(kinara-ec2weave-ep1)]: connection shutting down due to error: IP allocation was seeded by different peers (received: [7a:4e:5f:93:59:54(kinara-ec2weave-ep1)], ours: [7a:f0:a0:4b:8a:35(kinara-ec2weave-cp1)])

this is an upstream issue, from the docs https://github.com/weaveworks/weave/blob/master/site/tasks/ipam/troubleshooting-ipam.md#seeded-by-different-peers

implemented the workaround mentioned https://stackoverflow.com/questions/61124363/inter-node-pod-to-pod-communication-is-not-possible-why

rm /var/lib/weave/weave-netdata.db
reboot

no errors in weave pod, cluster agent comes up active.

@anupama2501 reproduced the issue on HA setup v2.6-head. This is different than the behavior I saw.
On this setup,  cluster-agent container doesn't come up at all:
cattle-system   3m29s       Warning   FailedCreatePodSandBox    pod/cattle-cluster-agent-cb7bc4ffd-5zrt2         (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "e39c317582356e142bc2df8bca79484594d3f60b73dd7840375262eacca70ae4" network for pod "cattle-cluster-agent-cb7bc4ffd-5zrt2": networkPlugin cni failed to set up pod "cattle-cluster-agent-cb7bc4ffd-5zrt2_cattle-system" network: netplugin failed with no error message: signal: killed
Another thing I noted is even after removing the weave-netdata and rebooting the node, the weave pods still are complaining are about disconnecting to the peer list.
INFO: 2022/03/04 22:10:45.931091 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp :0-><IP_ADDRESS>:6783: connect: connection timed out INFO: 2022/03/04 22:11:49.419029 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp :0-><IP_ADDRESS>:6783: connect: connection timed out
@anupama2501 is creating few more setups for this, will continue debugging.

@kinarashah @anupama2501 , any updates on this one?

There were 2 issues I observed when we first reproduced issue of cluster agent disconnecting and cluster in waiting state:

cluster agent didn't start, dns and connection failures. I haven't been able to reproduce this behavior again, so I think it was more of a setup problem than the original issue.

issue with weave itself, which is due to IP allocation getting seeded by different peers error when joining nodes. Upstream issues - https://github.com/weaveworks/weave/issues/3908 and https://github.com/weaveworks/weave/issues/3902.

Upstream issues haven't been resolved yet, it has been called out in their docs with a workaround: https://github.com/weaveworks/weave/issues/3902
The workaround has worked consistently for me every time I reproduced the issue, and the issue is not always reproducible.
So we should be able to close this issue unless we see a different behavior that's due to Rancher/RKE changes.

Ticket #36710 - Test Results
With Docker on single-node instance:
Reproduction Failures on rancher v2.6-e93a53c35bd038d4cf0d0d96897e957ffef150c9-head:
With k8s v1.22.7

Fresh install of rancher v2.6-head
Provision an AWS Node driver rke1 downstream cluster with k8s v1.22.7 - 3 nodes [1 etcd, 1 cp, 1 wkr] and using Weave as the Network Provider
Reproduction Failure - Cluster is successfully provisioned

With k8s v1.21.10

Fresh install of rancher v2.6-head
Provision an AWS Node driver rke1 downstream cluster with k8s v1.21.10 - 3 nodes [1 etcd, 1 cp, 1 wkr] and using Weave as the Network Provider
Reproduction Failure - Cluster is successfully provisioned

Screenshot:

Verified on rancher v2.6-4a5a926fe1fc319847a78fe814e3f2be18bb2c2b-head:
With k8s v1.22.7

Fresh install of rancher v2.6-head
Provision an AWS Node driver rke1 downstream cluster with k8s v1.22.7 - 3 nodes [1 etcd, 1 cp, 1 wkr] and using Weave as the Network Provider
Verified - Cluster is successfully provisioned

With k8s v1.21.10

Fresh install of rancher v2.6-head
Provision an AWS Node driver rke1 downstream cluster with k8s v1.21.10 - 3 nodes [1 etcd, 1 cp, 1 wkr] and using Weave as the Network Provider
Verified - Cluster is successfully provisioned

Screenshot:


Document using anvil inside docker

A long running local anvil node is a great use-case for Docker. We should expand the tutorial to include this.
Can assign me :)

Hello!!! Just got here looking for docs on how to interact with Anvil within a docker container. I can run it properly like this (it's a public rpc being forked):
docker run -p 8545:8545 foundry "anvil --fork-url https://rpc.ankr.com/eth --fork-block-number 16596744"

But I can't get the cast command to work from outside the container:
cast call 0x6b175474e89094c44da98b954eedeac495271d0f "totalSupply()(uint256)" --rpc-url http://<IP_ADDRESS>:8545

error trying to connect: tcp connect error: Connection refused".

The cast request above works fine if I run anvil directly from my machine. I also tried running it without the rpc-url param.
I suspect this is related to the host server option we can pass with the anvil command, as if the node is rejecting requests coming from outside the container, but I'm not sure.

oh looks like the published docker version is out dated, this has since been fixed, notice how the server is listening on <IP_ADDRESS>.
sorry about that
I'm publishing now, then you can set the host via anvil --host <IP_ADDRESS>
creating an issue for auto mated docker releases... strange that we don't have this -.-

just opened https://github.com/foundry-rs/foundry/pull/4686

ah I tested this wrong, turns out this is already working by setting the --host param correctly:
docker run -p 8545:8545 ghcr.io/foundry-rs/foundry:latest "anvil --fork-url https://rpc.ankr.com/eth --fork-block-number 16596744 --host <IP_ADDRESS>"

Thank you @mattsse that worked nicely, I really appreciate you taking the time to reply on a weekend, turns out I missed the host param.

Hello everyone,
Is there away to have persistent storage for blockchain state, because the state of the blockchain reset when I restart the docker container? In ganache we had --db(--database.dbPath) configuration to save the status of the chain.
Thank you


Iodine.is is a trap for coders

Hey! I love your library, it's actually one of the best solutions I have found to validate forms on my web projects, I have been using this library with NuxtJS and I would love if in the future this library adds support for node modules.
Right now everything is being exposed to the window Object instead and there's an extra step required to expose this library to frameworks like Vue or React which is not that straightforward: you have to access the window Object after this plugin is constructed in memory by the browser, a better implementation would be to export the class as a node module and let people import it when they need it.
For people who are working on the browser though, they need instead the Window constructor of the library, one solution might be to use node scripts to compile two versions of the library: one for NPM with javascript modules and another one, minified for the browser, then everyone will be happy.
Now for my argument with this library:

The function
function iodine.is(value, rules){}

is a trap, it has a code smell that I found today when working with it, the function returns mixed values: either a boolean or a string with the area where the issue happened, and most of the time in UI code what you need is not the element that failed, but a simple yes/no true/false boolean which tells you if the field is valid or not.
So, when using this library I was confused as I spent minutes trying to solve a bug with this library because I was using this simple statement to display an error message, and I fell into the trap.
return Iodine.is(value, ["required"])? Iodine.getErrorMessage(value, ["required"]) : "";

The function Is will never return a false and therefore you have to change this statement to this
return Iodine.is(value, ["required"]) !=== true ? Iodine.getErrorMessage(value, ["required"]) : "";

It is a tiny detail but left me with a sour taste in the mouth in regards to this library usage and the coder experience.
So I decided to make things myself and did a pull request with a new function named isValid which returns true or false.
And suddenly after the change, the library is not a trap anymore and coders can live their lives happily by coding more and debugging less.
return Iodine.isValid(value, ["required"])? Iodine.getErrorMessage(value, ["required"]) : "";

Big apologies, I did a mistake in my pull request and forgot to include as well a unit test. Will update my PR.

All sorted! you can merge the PR Now and close this issue.


Java sdk support M1

java-sdk 2.x now not support M1. Is there any plan to do M1 adaptation in the future?

FISCO-BCOS 2.9版本已经全面支持mac m1, 可以升级JavaSDK版本至2.9.0


Define Source Code Concentions

Looking at the source code there seems to be a mix of conventions, particularly in src/ldpl.cpp about indentation, brace placement, naming, etc.
While probably not a high priority issue, having standard guidelines to follow or having a .clang-format that could be run would be useful to contributors.

This is right! I actually wasn't really expecting anybody to contribute to LDPL so I didn't pay much attention to my coding style, but yes. Something like that should and will be done.


Failed to set custom baud rate: 12000000

When connecting to the IDE this error "Failed to set custom baud rate: 12000000" pops up on Ubuntu 14.04 64bit, Ubuntu 13.10 32bit and windows 7 32 bit. All these machines use pyserial==2.7. If you reduce the baud rate to 4000000 the error does not occur, but in linux you still can not connect to the IDE as the baud does not equal the debug value set in micropython/stmhal/usbd_cdc_interface.c, which leads to a seperate error pyserial error. This does not occur in windows 7.

I'll bet that's what's going on with the Mac -- it cannot connect unless a
standard baud rate is passed to PySerial. But I didn't edit the
usbd_cdc_interface.c ... when I get a chance I'll try that. Thanks.
On Fri, Feb 27, 2015 at 3:28 AM, Nick Lewty<EMAIL_ADDRESS>wrote:

When connecting to the IDE this error "Failed to set custom baud rate:
12000000" pops up on Ubuntu 14.04 64bit, Ubuntu 13.10 32bit and windows 7
32 bit. All these machines use pyserial==2.7. If you reduce the baud rate
to 4000000 the error does not occur, but in linux you still can not connect
to the IDE as the baud does not equal the debug value set in
micropython/stmhal/usbd_cdc_interface.c, which leads to a seperate error
pyserial error. This does not occur in windows 7.
--
Reply to this email directly or view it on GitHub
https://github.com/iabdalkader/openmv/issues/43.

I have pyserial 2.7 too but I've been testing on Arch, will try again on Ubuntu, probably doesn't matter anyway, unless it's slower.

I can't reproduce this (at least not with the latest FW/IDE), I just tested that custom baudrate  on Arch and Windows 7 32-bit.
PS: Python version won't matter on Windows because I'll package the whole thing as a single binary.

Okay found the problem, you need to pass 2.7 to pyserial, version 2.7 allows custom baudrates:
sudo pip install pyserial==2.7
On Windows and Arch we're using 2.7 by default I think
This patch was merged in 2.7, see:
http://digital.ni.com/public.nsf/allkb/D37754FFA24F7C3F86256706005B9BE7

This doesn't seem to affect the FPS at all, so I'm using the highest standard baudrate (921600) and the custom one will still work and can be set from the IDE.


Cannot start the tool, unable to load windows.markup.xamlreader.

When I try to execute the tool on my Windows 10 21H2 system in a administrative Powershell prompt I get the below error

Seems there is something missing on my system. Most Powershell scripts run without a problem. Any idea what is going on?
Windows 10 Enterprise 21H2 build 19044.1766
$psversiontable output
Name                           Value

PSVersion                      5.1.19041.1682
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1682
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
more errors
Start-Init : Loading from dll's was not sucessfull
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:88 char:1

Start-Init

  + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
  + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Start-Init

Unable to load Windows.Markup.XamlReader. Double-check syntax and ensure .net is installed.
You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Tools\IntuneToolBox-main\Start-IntuneToolBox.ps1:94 char:71

... lectNodes("//*[@Name]") | % {Set-Variable -Name "WPF$($_.Name)" -Valu ...

                                                      ~~~~~~~

CategoryInfo          : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : InvokeMethodOnNull

I had a bug in the code when you execute the toolbox with Ise the path to the dlls are wrong. This is now fixed and the code is now more resistant. When you download the tool from the git repository you have to unblock the dlls. Howw this works is explained in my blog post: https://jannikreinhard.com/2022/07/07/intune-tool-box-rebuild-of-intune-in-powershell/


Provide reference spec for  OpenEBS Volume containers.

OpenEBS Volumes are deployed in the container cluster (like Kubernetes) as a set of containers. These containers are using the docker image, called jiva. The code for jiva is under repo openebs/jiva.
At a high-level, jiva containers have the functionality like:

save the data onto direct attached disks of nodes
replicate the data across disks in multiple nodes
expose the data via standard protocols like iSCSI
provide typical storage controller functionality like data-protection, backups, caching, encryption, compression, etc,.

Since OpenEBS Volumes are run/deployed as containers, they can be run in any container orchestration platform like Kubernetes, Docker Swarm, Mesosphere, Rancher Cattle, etc.,
A reference spec needs to be created for these jiva containers that provide information on the various configurable options. This reference spec is intended to be used by the developers trying to automate the launching of OpenEBS volumes in various container orchestration platforms.

@kmova I am not sure, I get you. What kind of reference spec do we need here. A tutorial? or some blog-post.

The idea was to get this into a spec that will help writing orchestration of openebs volumes in non-K8s environments.
The spec is now recorded as part of the CAS templates under: https://github.com/openebs/maya/tree/master/pkg/install/v1alpha1
Also closing this issue as currently there are no active plans to orchestrate outside of K8s.


Use non-deprecated checkhealth syntax

Stylua failure probably unrelated; you need to upgrade to version 3 of the action.

Stylua failure probably unrelated; you need to upgrade to version 3 of the action.

I did a PR bumping action version, could you rebase this PR on top of it?

Done.

Thanks for your contribution @dundargoc


User login shell and expiry date is shown beneath group member list

What happened?
This information should probably only be visible in the User info screen.
What browsers are you seeing the problem on?
Firefox

Fixed in previous commit


Using minus instead of less?

Hi! May I ask what you think of trying out minus instead of less?

I am very much for a solution that simplifies the external dependencies of tailspin! I think it is a great idea.
On the other hand, less is extremely versatile, so to replace it, we need certain feature to work well out of the box:

Ability to start/stop listen to new line entries in a file (tailing functionality)
Ability to show colors

If this is possible, I think it is something interesting to look into for sure.


Integrate the official Azure Nvidia GPU extension into the template

Integrates the Nvidia Driver extension. Should close #36. Since the Nvidia extension reboots after installing, our setup script should not need to anymore.
I've thus simplified the workflow by merging the two scripts with a reboot in between and at the end, into one single script with a reboot at the end.
I also took that opportunity to make a few enhancements to bring the script up to date with the current Steam Remote Play changes.

[x] Integrate the Nvidia Driver extension to the Standard deployment template
[x] Integrate the Nvidia Driver extension to the LowPri deployment template
[x] Merge setup et setup2 powershell scripts
[x] Install ZeroTier only when networkID is present, as @andiradulescu did in #39 , with the difference that chocolatey does not need to be installed anymore if networkID is not specified thanks to the script merging.
[x] Install Virtual audio driver only when requested, as Steam forces its own virtual audio devices anyway.
[x] Disable Windows Visual Effects regardless of the manual installation status
[x] All changes tested
[x] Update the Readme

- [ ] Clean unused functions from utils.ps1 ?

A small question about the LowPri template : Does it still work ? I know Azure got rid of LowPri VMs in favor of Azure Spot, and I haven't been able to deploy the LowPri template even once despite multiple tries - always failed on me (azureskunotavailable or something around the lines). Did you succeed to do so ?

Hmm I can't deploy a LowPri either. Seems like the change to Spot broke this. I don't think it's worth fixing it (if it's even possible). Exploring NVv4 might be a more interesting alternative to cost saving and (potentially) better performance. Half of M60 is no where near top of the line performance nowadays :(

@AmineI @ecalder6 Standard_NV6_Promo isn't supported in LowPri. Is this the issue? Did you try with Standard_NV6?

After this PR gets merged, I might explore myself adding NVv4, but I'm thinking of creating a separate template for it. What do you think?
Regarding the half of M60, even in 2020 on my scenario, it suits me fine, but i'm really curious about NVv4.
What about NVv3? Do we skip it? I would create a template for NVv3 also, besides NVv4.

Standard_NV6_Promo isn't supported in LowPri. Is this the issue? Did you try with Standard_NV6?

Yes, I checked the regions and VMs available on my end from the Azure Portal to double check that it was not an issue with the region or VM size, but no luck deploying a Standard_NV6. Did you succeed to do so ?

Hmm I can't deploy a LowPri either. Seems like the change to Spot broke this. I don't think it's worth fixing it (if it's even possible).
Agreeing on this one. I'm not a fan of duplicate code/templates, so if no one is able to deploy a LowPri, it will help with maintainability to only keep a single template.

Exploring NVv4 might be a more interesting alternative to cost saving and (potentially) better performance.
There's an AMD driver extension available, so it'd probably be possible to add a condition to choose which driver extension to add before our setup script, but it seems doable to me to add support for these while still keeping a single template.

After this PR gets merged, I might explore myself adding NVv4, but I'm thinking of creating a separate template for it. What do you think?
Regarding the half of M60, even in 2020 on my scenario, it suits me fine, but i'm curious about NVv4.
What about NVv3? Do we skip it? I would create a template for NVv3 also, besides NVv4.

I know NV6 does not support accelerated networking, NVv3 would bring this advantage if it does. We're going a bit out of scope for this PR though

So, last confirmations so that I can complete the PR :

Awaiting on input for LowPri. So far no one succeeded recently. If so, do you want to get rid of its template @ecalder6 ? Or should I update it just in case ?

I didn't delete any functions from the utils module. Is it okay with you ? I can delete the now unused ones but they may prove useful later, for example when adding the AMD VMs, or if changes happen to the Nvidia Extension.

@AmineI - I tried deploying a LowPri again (Standard_NV6), on West Europe, and it works. I tried both with my fork and with the main repo. Also, keep in mind that not all Azure Subscriptions support everything - there are limitations from a subscription to another.

@AmineI - I tried deploying a LowPri again (Standard_NV6), on West Europe, and it works.

I just retried, and it won't work on my end.. But you're correct, it may be my subscription. Thanks for the confirmation !
I just setup a branch to integrate the driver extension on LowPri. If it works for someone, I'll merge these LowPri changes here
The template should be fine, as the issue I'm getting is still azureskunotavailable , but it'd be great if you could test it out and report. If the Nvidia Driver and Steam are installed, it should be enough to confirm the behavior of LowPri correctly follows the Standard one.
The extensions status would help, too !

I didn't delete any functions from the utils module. Is it okay with you ? I can delete the now unused ones but they may prove useful later, for example when adding the AMD VMs, or if changes happen to the Nvidia Extension.

It's fine leaving it as is for now. Once we are happy with the user flows we can refactor utils.

Lmk when you are ready to merge. I'll test it out and merge if everything works.

Lmk when you are ready to merge. I'll test it out and merge if everything works.

Sure think. I'm testing the Edit-VisualEffects part in more depth right now. Once I confirm it works as intended I'll mark the PR as ready, although I would have liked to add LowPri

I'm back ! That last one sure was though. Basically, when Edit-VisualEffectsRegistry fails, the "Let Windows chose what's best for my computer" option stays enabled. But here, something causes Windows to apply some performance options, but not all of them. Perhaps it's the auto login or the disabled services. Regardless, this new approach works for all users and "adjust for best performance" properly appears enabled.
Ready to merge. I updated LowPri because it should work, and the template is valid, but if @andiradulescu could test it and confirm it'd be awesome

I tested standard and everything looks good. I'm still not able to deploy low-pri so I'd appreciate it if @andiradulescu could give it a test.

@ecalder6 @AmineI - I tried deploying LowPri but this error came up:
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"details\": [\r\n {\r\n \"message\": \"Could not find member 'apiVersion' on object of type 'VMScaleSetVMExtension'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[0].apiVersion', line 1, position 1446.\",\r\n \"target\": \"vmss.properties.virtualMachineProfile.extensionProfile.extensions[0].apiVersion\"\r\n },\r\n {\r\n \"message\": \"Could not find member 'mode' on object of type 'VMScaleSetVMExtensionProperties'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[0].properties.mode', line 1, position 1521.\",\r\n \"target\": \"vmss.properties.virtualMachineProfile.extensionProfile.extensions[0].properties.mode\"\r\n },\r\n {\r\n \"message\": \"Could not find member 'templateLink' on object of type 'VMScaleSetVMExtensionProperties'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[0].properties.templateLink', line 1, position 1550.\",\r\n \"target\": \"vmss.properties.virtualMachineProfile.extensionProfile.extensions[0].properties.templateLink\"\r\n },\r\n {\r\n \"message\": \"Could not find member 'parameters' on object of type 'VMScaleSetVMExtensionProperties'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[0].properties.parameters', line 1, position 1691.\",\r\n \"target\": \"vmss.properties.virtualMachineProfile.extensionProfile.extensions[0].properties.parameters\"\r\n },\r\n {\r\n \"message\": \"Could not find member 'dependsOn' on object of type 'VMScaleSetVMExtension'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[0].dependsOn', line 1, position 1773.\",\r\n \"target\": \"vmss.properties.virtualMachineProfile.extensionProfile.extensions[0].dependsOn\"\r\n },\r\n {\r\n \"message\": \"Could not find member 'dependsOn' on object of type 'VMScaleSetVMExtension'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[1].dependsOn', line 1, position 2250.\",\r\n \"target\": \"vmss.properties.virtualMachineProfile.extensionProfile.extensions[1].dependsOn\"\r\n }\r\n ],\r\n \"code\": \"BadRequest\",\r\n \"message\": \"The request message is invalid.\"\r\n }\r\n}"}]}
I deployed it from here: https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAmineI%2Fazure-gaming%2FGPU-extension%2FLowPri.json
And then set the Script Location to: https://raw.githubusercontent.com/AmineI/azure-gaming/GPU-extension

Thanks a lot for helping test the changes ! I took note of these results and LowPri.json should be good to go now, hopefully.

@AmineI - this time another error:
{
    "error": {
        "code": "BadRequest",
        "message": "Could not find member 'provisionAfterExtensions' on object of type 'VMScaleSetVMExtensionProperties'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[1].properties.provisionAfterExtensions', line 1, position 1646.",
        "target": "vmss.properties.virtualMachineProfile.extensionProfile.extensions[1].properties.provisionAfterExtensions"
    }
}

@AmineI - this time another error:
{
    "error": {
        "code": "BadRequest",
        "message": "Could not find member 'provisionAfterExtensions' on object of type 'VMScaleSetVMExtensionProperties'. Path 'properties.virtualMachineProfile.extensionProfile.extensions[1].properties.provisionAfterExtensions', line 1, position 1646.",
        "target": "vmss.properties.virtualMachineProfile.extensionProfile.extensions[1].properties.provisionAfterExtensions"
    }
}

Thanks again for your help.
Well, now I'm confused, because the docs clearly mention provisionAfterExtensions and I can't find what kind of dumb mistake I could have done.

Should be good to go. I'm trying alternatives so that we won't have to bother you anymore with such testing. Thanks again !

@AmineI - no worries. this time: "VM scale set cannot use a basic SKU load balancer when singlePlacementGroup property is false (large scale enabled), or when the VMSS spans multiple availability zones. Please use standard SKU load balancer instead. Click here for details"
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"details\": [],\r\n \"code\": \"VMScaleSetCannotReferenceLoadbalancerWhenLargeScaleOrCrossAZ\",\r\n \"message\": \"VM scale set cannot use a basic SKU load balancer when singlePlacementGroup property is false (large scale enabled), or when the VMSS spans multiple availability zones. Please use standard SKU load balancer instead.\"\r\n }\r\n}"}]}

Okay, let's go another route. Could you try #42 (:P), please ?

I'm not confortable enough with Vm Scale Sets to update the current LowPri template, especially considering my subscription does not allow me to test my changes myself.
Work on LowPri was moved to #42, with another approach eliminating VM Scale Sets.
I marked my comments related to LowPri as outdated to collapse them by default, as they are no longer in scope for this PR.
Doing the same for andiradulescu's comments would declutter a bit as well. I'll rebase to get rid of the LowPri changes on this PR.


add bitpie wallet

Bitpie has completed the support of dapps, and a new version will be released soon

Thanks for this contribution! I left a few small notes.

Thanks for this contribution! I left a few small notes.

I have submitted these changes, please review. thanks!

Merged, thanks! Do you have a link to the browser extension so I can test this?

Merged, thanks! Do you have a link to the browser extension so I can test this?

Sorry. not yet, but the new version will be released soon. Bitpie is a mobile app. Official website link: bitpiecn.com


sort-prop-types: follow variable reference

As discussed in this failing test case
I think that it would be great to support the following type of pattern:
const propTypes = {
  muiTheme: PropTypes.object.isRequired,
  className: PropTypes.string,
};

const TextFieldLabel = (props) => {
  return (
    <div />
  );
};

TextFieldLabel.propTypes = propTypes

However, it's not simple, it requires to follow variable reference.

When it's in the same file, this absolutely should work imo.

:+1: Would love this

Great news @yannickcr!! :medal_sports:
The next question is obviously about the next release :+1: :wink:

I hope to publish a new release tomorrow :)


Support for davidbailey00/notion-deb-builder

I'm on Pop!OS based on Ubuntu 20.04 LTS
Installed Notion as a .deb package built through https://github.com/davidbailey00/notion-deb-builder
Location:
/usr/bin/notion-desktop
I'm not particularly sure about it's file structure. It's built as a debian package so it must be similar to those. Here's an output of dpkg -L
app.asar? electron.asar is located at /usr/lib/notion-desktop/resources/electron.asar
I prefer a debian install over other methods for linux. Also I can update the app myself though the deb-builder so I'm not dependent on the repo dev to release. This one also builds optionally from the mac or windows release. I prefer the windows one for it's keyboard shortcuts.

I'm pretty sure the keyboard shortcuts are the same?
The notion-app package similarly allows for picking which notion version/self-updating. You're not dependent on the repo dev. It's easy for the enhancer to support because it has an app.asar, the same as the official builds, while notion-deb-builder does some extraction and stuff itself, which makes installation/uninstallation unreliable.

Right, I'm using the notion-app package now. Works well.


MacchinaM2 Define

Corrected Macchina M2 define to eliminate compile error for M2RET

@TDoust Thanks for this!  You accidentally opened it against your own repository instead of Macchina's.  I have created https://github.com/macchina/M2_SD_HSMCI/pull/7 for you.


log add max score log for debug

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.88 seconds
load time: 520 seconds
storage size:<PHONE_NUMBER>0 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230131172634_clickbench_pr_88127.html


IE 9 Bug

I love this library and it works great in across all browsers, except I found an IE 9 bug in surroundSelectedText(). I am testing with IE 9.0.8112.16421 in Windows 7; the version shipped in the modern.ie Windows 7 IE 9 virtual machine.
If I have the following text in a  let's wrap this text OK? and I select this text from left-to-right with the mouse, I get let's wrap this text OK? with the following function call.
function stabButtonWrapSimple(event) {
    var tag = event.data.tag;

    // Drupal.settings.stab.textareaId is the id including # of the element.
    $(Drupal.settings.stab.textareaId).focus();

    // Wrap tag around selected text.
    $(Drupal.settings.stab.textareaId).surroundSelectedText("<" + tag + ">", "</" + tag + ">");
}

Is this something you would / could address? I am using this code in production and haven't been able to find a workaround.

I can't replicate this in my Windows 9 VM. Here's my demo page: http://jsfiddle.net/0ecm23vg/.
I'll need a bit more context to replicate the bug.

I am using rangyinputs in a Drupal 7 module I wrote. As such, my jquery version is 1.4.4 because that's the version that shipped with Drupal 7. Perhaps that has something to do with it?
I looked at the .focus() documentation and it doesn't seem like anything has changed since 1.4.3.
I appreciate your time and help, what other information can I provide you with?

The version of jQuery is unlikely to make any difference: rangyinputs is only tacked onto jQuery because people like jQuery. It only uses jQuery to get hold of an element or list of elements.
If your module is in production, is there a live page I can see?
Otherwise, you could check $(Drupal.settings.stab.textareaId).getSelection() before calling surroundSelectedText to see whether the selection is as you expect at that point.

It's in production, but behind a username and password.
$(Drupal.settings.stab.textareaId).getSelection() might be bugged.
I updated my code to:
$(Drupal.settings.stab.textareaId).focus();

var sel = $(Drupal.settings.stab.textareaId).getSelection();
alert(sel.start + ", " + sel.end);

$(Drupal.settings.stab.textareaId).surroundSelectedText("<" + tag + ">", "</" + tag + ">");

For this selection I got two different results.

left-to-right mouse selection: 3, 3
right-to-left mouse selection: 8, 8
Does that help?

A little, in that it narrows down the potential location of the problem.
I've made pretty much the simplest possible demo, and it works fine in IE 9 in IETester and in IE 9 emulation in IE 11. Having a few problems with my IE 9 VM so currently downloading a new one. Does the following work for you?
http://jsfiddle.net/L8t4mssp/

The demo link seems to work fine for me.

OK. I've tried putting IE 9 into quirks mode and that had no effect either, so I'm stumped without anything else to go on.

I'm stumped too.
You previously mentioned the jQuery version wouldn't make a difference and jQuery does very little work, but did you try it with 1.4.4 to verify that claim?
Would emailing you my source code be a help?

Fixed my issue. I was using jQuery's .click() to handle the click event on a
. I am using rangyinputs to drive some simple html buttons for a <textarea>. In IE 9, it seems like when you would click on the
 to,say, bold some select text, the selection in the <textarea> would disappear... That's why start and end were equal. I got around this by using <input type="button" />.

I was going to suggest that as a potential cause but was confused by the fact that the selection start and end were being reported as non-zero values. I had thought that IE reverted them to zero when the selection was lost, but it turns out I was wrong about that.


node.set is deprecated

Cookbook version
3.1.0
Chef-client version
12.16.42
Platform Details
Amazon OpsWorks (Chef 12, Linux)
Scenario:
During deployments, I get a deprecation warning in my log for the xml cookbook:

WARN: node.set is deprecated and will be removed in Chef 14, please use node.default/node.override (or node.normal only if you really need persistence)

The warning is for attributes/ruby.rb, line 1:
set['build-essential']['compile_time'] = true

Presumably, set should be changed to normal, but I'm not a very experienced Chef user so I'm not sure.

Since xml depends on build-essential, there is no reason to set the normal priority (with normal['build-essential']['compile_time'] or via node.set[...]).
Simply using:
default['build-essential']['compile_time'] = true

will:

fix the issue
keep the same behavior


Memory Leak in requests for Datastore

It looks like there is a memory leak in this very simple example that I've done to test Datastore. I'm using node 6.2 and gcloud 0.36.0:
const gcloud = require('gcloud')();
const datastore = gcloud.datastore();

function getUrl(urlId) {
  console.log('Getting a new url');
  const key = datastore.key(['Url', urlId]);
  datastore.get(key, (err, urlEntity) => {
    if (!err) {
      console.log('Worked!');
      console.log(urlEntity);
    } else {
      console.log(err);
    }
  });
}

setInterval(() => {
  getUrl('http://my_url.com');
}, 50);

After running it for 20 minutes the memory used increased in 50 MB. Is there a bug with that or am I doing something wrong?
I have made some other tests with a more complex code that after more time it ended using more than 1 Gigabyte.

Thanks for reporting!
In the case you showed, 50 MB used after making API requests at that rate seems reasonable-- 20 calls per second after 20 minutes would be 24,000 calls. Even though unused objects are on the chopping block, Node can be pretty relaxed with how quickly it runs the garbage collector.
However, we have had reports of memory usage being high with the Datastore API, specifically our use of the gRPC library. We've made some improvements, such as caching open connections, but that's already in 0.36.0. Can you put a sample together that uses more than 1 GB of memory? If it was reproducible to the point of just running npm install && npm test, that would be even better :)

Hi @stephenplusplus,
I have published the example app that we are using in https://github.com/seedtag/test-gcloud. To run it you would need to provide a project id in package.json and ensure to authenticate (we are doing that with the init.sh script that we execute from our Dockerfile).
I increased the requests per second (as our real system needs to deal with a lot of requests) and you can see in the chart how it keeps growing beyond 1GB in around 3 hours.

We also tried to invoke the GC manually, but we had the same result and the memory was not freed.
Let me know if I can provide any other information to help with this!
Thank you!

Thank you for putting that together! I let the test run for about 3 hours as well, and my memory usage got up to ~1GB.
I made some modifications to the test file to monitor the memory with process.memoryUsage():
const gcloud = require('gcloud')();
const datastore = gcloud.datastore();

var BASE_MEMORY = getMemory();
var memoryUsage;

function getUrl(urlId) {
  const key = datastore.key(['Url', urlId]);
  datastore.get(key, () => {});
}

function getMemory() {
  return Math.round(process.memoryUsage().heapUsed / 1000000);
}

function logMemoryUsage() {
  console.log(getMemory() - BASE_MEMORY + ' mb');
}

setInterval(() => {
  getUrl('www.test-url.com');
}, 25);

setInterval(() => {
  if (memoryUsage !== (memoryUsage = getMemory())) {
    logMemoryUsage();
  }
}, 1000);

I'll continue looking into this and keep you posted. Let me know if you make any discoveries as well!

Let's move the talk over to https://github.com/grpc/grpc/issues/7349, as I think gRPC is the best place to look for the hike at the moment. If we find out we need to make a change inside this library, we'll follow up with a new issue.

Hello @stephenplusplus,
Is there any estimated date for the fix? I have followed the discussion in grpc/grpc#7349 and tried to use a gcloud-node fork using the branch with the fix but I got this error when connecting to datastore (I couldn't reproduce it using the emulator):
TypeError: callback is not a function
at (/code/node_modules/grpc/src/node/src/credentials.js:111)
at (/code/node_modules/grpc/src/node/src/credentials.js:132)
at (/code/node_modules/google-auth-library/lib/auth/oauth2client.js:297)
at (/code/node_modules/google-auth-library/lib/auth/computeclient.js:85)
at Request._callback (/code/node_modules/google-auth-library/lib/transporters.js:106)
at Request.self.callback (request.js:198)
at emitTwo (events.js:106)
at Request.emit (events.js:191)
at Request. (/code/node_modules/google-auth-library/node_modules/request/request.js:1057)
at emitOne (events.js:101)
Thank you!

@stephenplusplus it looks like grpc 1.0.0 includes the fix for this issue. Any timeline on when this version will make it to google-cloud-node? Thanks!

I'm going to start on that now, thanks for the reminder! https://github.com/GoogleCloudPlatform/google-cloud-node/issues/1543

That was fast, thanks a lot! :D


Consider checking in a test that verifies simarm_x64 / simarm gen_snapshot produce identical RX

We should consider checking in a test that verifies AOT compilation via simarm_x64 (64-bit to 32-bit cross compile) and simarm (32-bit to 32-bit) produce the same RX code.
/cc @rmacnak-google

/cc @liamappelbe


go through objectlink-core-cpp

General impression is that the design is a bit knotty.

[ ] split into 2 issues protocol part and the template part - change protocol minor version, change the version which we use in template to that one

Client/ Sink side
General rule:
- Object Sink should not know about the Olink client
- the registry should inform the outside world about changes - nodes added or removed
- registry is purely about data
- the client node is about behavior

[ ] general classes description improvements: the class purpose, method purpose

[ ] split to to separate files, classes from cpp too, they can be closed in deatil folder/namespace if necesary, but would be easier for me to look for each class in its own file.

[ ] clean up objects interfaces - move some functions to private, some functions not implemented, some functions unused.

[ ] store ClientRegistry with&

[ ] store WebSocket with smart pointer

[ ] Shut down scenarios for Client side

disconnect scenarios on client side- OK
object sink death scenario - missing info to olinkclient to clean up in m_linked objects (C++ template)
OlinkClient destroy - missing info to objectsink that client node is no longer valid, also both OliinkClient and Client node make same cleanup in registry, use ObjectSink.olinkOnRelease  (C++ template)

[x]  4) add unlink node scenario -  -I can't see such scenario, the client says unlink (called by OlinkClient), the call does nothing else but sending message. The Server side does not reply anything-

[ ] Remove storing m_linkedObjects in OlinkClient -> should be moved to registry . The OlinkClient does not need registry. (C++ template)

[ ] ClientRegistry  go through adding/removing record scenarios, check if it is symmetric

[ ] check if ObjectSink needs OlinkClient
general rule if anything needs an "ugly" code, that should NOT be the object-link-core-cpp which is used by many parties

Server/source side

[ ] general classes description improvements.

[ ] add description for olinkHOst that RequestHandlerFactory is owned by POCO server, and similar that OlinkWebSocketHandler will be deleted by it as soon as the request will be handled.

[ ] split to to separate files, classes from cpp too, they can be closed in deatil folder/namespace if necesary, but would be easier for me to look for each class in its own file. An exception might be the two POCO iheriting classes, but factory for now is used in more than one file

[ ] clean up objects interfaces - move some functions to private, some functions not implemented, some functions unused.

[ ] change use of raw pointers and new/delete to unique_ptrs (OlinkRemote, Poco::Net::WebSocket, HTTPServer)

[ ] HTTPRequestHandlerFactory can be stored at least with Poco::SharedPTr - this is what is taken by HTTPServer. If server manages it, it is not safe for other classes to keep raw ptr, we won't get notified when the factory will be deleted (although not very likely)

[ ] std::set<OLinkRemote*> could probably be std::vector, and RequestHandlerFactory should not be a place to keep it - but don't know yet where to? OlinkHost? Registry? something new?

[ ] RemoteRegistry should be kept with &

[ ] Shut down scenarios for Server side

olinkHost close() - missing info to object source that remote node is no longer valid
object source death - we're cleaning the registry, we don't send any message through the internet that the object is no longer available, is that ok?
unlink message - remove the node from record in registry and setting node to null in sink - assuming we have more nodes we shouldn't
not sure if possible, close frame received in socket - no other close action earlier - object source is not informed that remote node is no longer valid

[ ] I am not sure if I get architecture of nodes for server side. The registry keeps <name, source, collection> but object source stores only one node. Assuming Source talks with all of the nodes it should write to all of them. Maybe the idea was that object source doesn't keep any, and takes each time all the "subscribers" from registry? It only need to know about one certain node when the client is calling a function that returns a result - only one needs to be notified about that.

[ ] Poco::Net::HTTPRequestHandler* createRequestHandler - handle fail case when we cannot upgrade

return sth? what POCO expects, what happens if we return null

log there might be a http response there sth like 426 Upgrade Required - HTTP | MDN

Protocol

[ ] Protocol should have only static members.
Method getMessageType
Methods decodeXMessage  and tand return proper data in structure.
The switch-case would go to baseNode then, no need for the IProtocolListner

Remarks from #9 issue

[ ] REMARK OLINK uniqueness of the name, overwrite sink in registry. See the remote_interface.h for comments -  don't allow TODO
add documentation - in form of function description
log
return some kind of error?
[ ] REMARK OLINK - clean up setting up connection and disconnecting - they are not symmetrically placed in classes

olinkClientMermaid.txt
OlinkServerMermaid.txt
sequence_diagram_client.txt
sequence_diagram_server.txt

Check thread safety and race condition
eg. same service, two requests of change each in different thread (different client)


Use tsup for building project

Use tsup for building the project, thus avoiding all the bash rename magic.

Hello, @ViktorQvarfordt. Since you mentioned in my previous PR that you were not very fond of the find and mv magic, I tried using tsup to build your project and it worked flawlessly.
Only difference is that dist files are not split like before.

Very cool! Thank you for the improvement. Merging!


[src] New Filterbank's hooks + MelGram_FB

This PR adds two things:

Post encoding and pre decoding hooks of the Filtebank to the Encoder and Decoder.
A filterbank instance for mel magnitude spectrogram, using the hooks.

I'd be happy to have feedback on the hooks @jonashaag @popcornell . Until now, I don't see the downside of this. The encoder and decoder are already completely tied to the Filterbank class (it's not it's not like they could be used anywhere else without Filterbank) so we don't remove any feature but add new, without additional constraint.
I could also add hooks on the waveform, but I don't see applications for it right now, we often switch to TF representation because we can manipulate them easier.
In particular, I'm thinking about @Baldwin-disso and @faroit because those hooks could make it much easier to match torch's STFT with Asteroid
Last upside of this, we can easily benefit from other filterbank matrices from librosa (e.g chroma, constant_q, semitone_filterbank) for free.

LGTM but I wonder if we should call the hooks differently. Isn’t the Mel transform part of the enocding, and thus not “post” encoding? Maybe a more accurate (albeit very technical) name would be post_conv?

Thanks for the feedback!
True that it is part of the encoder. But post_conv doesn't specify if it is in the encoder or decoder (which also has a conv). I'd be ok with post_encoder_conv and pre_decoder_conv, this is accurate and precise, WDYT?

I guess it is fine, another option would be post_analysis and pre_synthesis in this way it is clear you are applying a (possible non-linear) transformation after the analysis filterbank and before synthesis filterbank. Almost all feats extraction can fall into this framework.

I see only a possible, minor downside regarding current interface:
what if i need both STFT and Mels for example ? With current interface I am forced to compute the STFT two times.
A simple option could be getting even more modular and expose the Mel transformation in its own module (and same for other transforms) so that one can do this:
stft = stft_enc(signal)
mels = mel_tf(stft)
# compute idk loss on both mag stft and mel domain

+1 for post_analysis and pre_synthesis.
Yes, I didn't think about this case, that's a good point.
For example, torchaudio exposes MelScale which contains the filterbank matrix, and MelSpectrogram which uses Spectrogram and MelScale. We could do something similar and build modules that only apply the matrix in the forward, and use them in other modules as post_analysis filters.  Not sure if it's clear, but I can show an example if not.

Not sure if it's clear, but I can show an example if not.

Not clear 😅

I guess this is what Samu had in mind, and it makes complete sense to me
class MelScale(torch.nn.Module):
    def __init__(
        self, n_filters, sample_rate=8000.0, n_mels=128, fmin=0.0, fmax=None,
    ):
        from librosa.filters import mel

        super().__init__()
        fb_mat = mel(sr=sample_rate, n_fft=n_filters, fmin=fmin, fmax=fmax, n_mels=n_mels)
        self.register_buffer("fb_mat", torch.from_numpy(fb_mat).unsqueeze(0))

    def forward(self, spec: torch.Tensor):
        mag_spec = transforms.take_mag(spec, dim=-2)
        mel_spec = torch.matmul(self.fb_mat, mag_spec)
        return mel_spec

class MelGramFB(STFTFB):
    def __init__(
        self,
        n_filters,
        kernel_size,
        stride=None,
        window=None,
        sample_rate=8000.0,
        n_mels=128,
        fmin=0.0,
        fmax=None,
        **kwargs,
    ):

        self.fmin = fmin
        self.fmax = fmax
        self.n_mels = n_mels
        super().__init__(
            n_filters=n_filters,
            kernel_size=kernel_size,
            stride=stride,
            window=window,
            sample_rate=sample_rate,
            **kwargs,
        )
        self.mel_scale = MelScale(
            n_filters, sample_rate=sample_rate, n_mels=n_mels, fmin=fmin, fmax=fmax
        )
        self.n_feats_out = n_mels

    def post_encode(self, spec: torch.Tensor):
        return self.mel_scale(spec)

    def get_config(self):
        conf = dict(fmin=self.fmin, fmax=self.fmax, n_mels=self.n_mels)
        return {**super().get_config(), **conf}

I think it looks much better !

Going for it then ! :wink:


Using shows unused if needy disabled by preprocessors

Using shows unused if needy disabled by preprocessors.

"AndroidGallery" need "Utils" using.
I was glad that consulo now shows unused the usings. I was delete in a couple of places and to commit, as well as builds a device started shows up error ; ( sadness, melancholy

IDE build number: 1300
Java version: 1.80_40
OS name and version:  Max OS X El Capitan 10.11.3

Please read contributing guide. C# problems need report here: https://github.com/consulo/consulo/issues/183
As about that problem. It can't be fixed. Due disabled block is not parsed and do not provided any resolve information.
Normally - that using need be hidded inside preprocessor block too

Ok, as I think.
Sorry, next time I try to make issue correctly :) I added the information that you requested to add, I can study

ops.
https://github.com/consulo/consulo-csharp

I think it can be part of https://github.com/consulo/consulo-csharp/issues/396
But it really hard to implement


Error from OpenCV code

Hi,
I am using the Landcover model. Everytime i run a trial with vector file (Area mask layer) more than ~ 400 sq.km on satellite imagery, i get this error. I have tried this with Google, Bing, ESRI. The error invariably crops up. could you please suggest a resolution for this?
Error! Processing error: "Unhandled exception occurred. See Python Console for details"!
Details: error - Unknown C++ exception from OpenCV code
Last Traceback:
File "C:\Users/STPA CTP(RE)TVM/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\deepness\processing\map_processor\map_processor_segmentation.py", line 55, in _run
full_result_img = cv2.medianBlur(full_result_img, blur_size)

Hi @geo-antony ,
with a 400 km^2 image the processing module ends up with<PHONE_NUMBER> pixels to process. As it is allocated in the memory as an array, it is probably too much for the underlying library.
I would recommend processing the data in smaller chunks (e.g. 200 km^2) and merging the resulting output layers afterwards in QGIS.
And thanks for reporting, we will add a memory check on Windows and show a readable error message.

Thank you @przemyslaw-aszkowski for the recommendation.
Yes, in fact area below 300 sq.km seems to work just fine.
May I add a suggestion:

if you could provide the option to run a batch process, it'd be very helpful.

Thank you once again for this wonderful plugin.

Hi, nice to hear your feedback :)
Batch processing sounds like a good idea, we will definitively consider adding it


Blob/Stream/Buffer request support?

How to request with a binary body directly, I cannot find this in document?
For example:
// node stream
const file = fs.createReadStream('./example.png')
// node buffer
const file = fs.readFileSync('./example.png')
// browser
const file = document.querySelector('input[type=file]').files[0]

request
  .post('/proxy')
  .set('Content-Type', 'application/octet-stream')
  .send(file)
  // attach a blob/stream/buffer directly to request body like node node core http module
  .end()

Have at look at the stream.pipe(req) docs: http://visionmedia.github.io/superagent/#piping-data

But, how to handle Blob in browser?

Maybe add a method like req.bin(blob|buffer|stream|path) is more friendly? And then we can call as follow:
// node buffer
const file = fs.readFileSync('./example.png')
// node stream
const file = fs.createReadStream('./example.png')
// file path
const file = './example.png'
// browser blob file
const file = document.querySelector('input[type=file]').files[0]

request
  .post('/proxy')
  .bin(file)
  .end()

We have attach() for sending Blobs (as multipart).

@pornel But sometimes we need to deal with this situation:
const file = document.querySelector('input[type=file]').files[0]
const xhr = new XMLHttpRequest
xhr.open('POST', '/file')
xhr.send(file)

The XMLHttpRequest support send a Blob/Document/ArrayBuffer directly, rather than wrap to FormData. See https://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/#the-send-method.

I see. I think it'd make sense to support it as superagent.send(blob). Would you like to make a pull request for this?

Is there any way to pipe only the response body?  I'm trying to parse it as a stream with htmlparser.

@jedwards1211 are you using htmlparser in the browser? If so, then there's no way, because we don't support the whatwg stream standard yet.

No, I'm using it in node.  Just using it to slurp tabular data out of html pages.  It works in some cases (I assume because nothing looks like a tag until the parser reaches the body) but not in others.
On the other hand, the case where I've seen it fail is a ucs2-encoded gzipped response.  Does .pipe() send the data without expanding it?  If not, I guess superagent-charset isn't intercepting .pipe() to decode the body before it reaches the destination stream.

In node request.pipe(htmlparser) should work.

@pornel oh...you know what I think my problem was?  I just noticed that the headers of the response I'm consuming include X-UA-Compatible:IE=EmulateIE9.  I didn't realize it was lacking the usual compression and encoding headers.
Request URL:http://hydromet.lcra.org/data/datafull.xml?9:20
Request Method:GET
Status Code:304 Not Modified
Remote Address:<IP_ADDRESS>:80
Response Headers
Accept-Ranges:bytes
Date:Tue, 13 Dec 2016 15:20:16 GMT
ETag:"80a6335f5455d21:0"
Last-Modified:Tue, 13 Dec 2016 15:20:01 GMT
Set-Cookie:(redacted)
X-UA-Compatible:IE=EmulateIE9

I'm using node with a a 3rd party web service that expects a application/octet in its body. I don't have a local file but a base64 string (which I converted to a memory Buffer)
Is there a way to send the binary buffer with the POST request?
Saving the Buffer to a local file won't work (by attaching or piping it) since the web service doesn't support files/attachments.

Thanks. I couldn't get attach() to work, and actually ended up using send(), which to my surprise worked fine
The buffer was created with:
`
const buffer = Buffer.from(base64Data, 'base64');
const response = await request
.post('')
.send(buffer)
.set('SubscriptionKey', '')
.set('Content-Type', 'application/octet-stream')
.set('Accept', 'application/json');
`

Yeah, that works too.

how did you used 'application/octet-stream' to uploading?


set boot_mode to bios at the time of undercloud install

At present the boot_mode is set per node basis and is added to node capabilities at the time of overcloud deployment or when the deployment is triggered through jetpack with tag overcloud.
With the default boot_mode being uefi starting OSP17, there can be scenarios where certain hosts do not enter PXE mode at the time of introspection due to the default boot mode being UEFI whereas the host itself is in bios mode.
This can't be handled specifically at the time of introspection because for triggering introspection the control is transferred to infrared and it returns back only after the introspection is complete.
While infrared does have an option of specifying boot-mode, it would require a code change in infrared to handle it since they have only mentioned a if clause to handle the scenario where boot-mode is uefi assuming the default to be bios, but that's not the case with OSP17.

This issue was resolved with https://github.com/redhat-performance/jetpack/pull/477


Multiple Segfaults

summary
building from master, i've been encountering multiple situations leading to segfaults
system: Arch Linux 64bit
library stats:
Artists:    996
Albums:    1278
Songs:    14139

rc: empty file (cut everything for debugging purposes and it had no effect)
valgrind logs: https://gist.github.com/shmibs/82a624a32872f33166bb
startup crash
when pms starts, if mpd is playing and repeat, random, single, and consume are all off, it crashes before anything is displayed. i've narrowed this down to this line:
https://github.com/ambientsound/pms/blob/master/src/pms.cpp#L1267
building with that line removed avoids the segfault
pressing shift+j
i previously had shift+j mapped to goto-current (don't remember if this was default or not) and so got in a habit of using it. even without any rc, as described above, hitting shift+j at any time triggers a segfault
pressing tab
similarly, hitting tab at any time causes a crash

Thanks. I've fixed the tab issue. As for the startup crash I am unable to reproduce. Although the Valgrind logs are helpful, they would be more useful if you could compile PMS with debugging symbols (./configure --enable-debug).
Shift+J is mapped to moving songs, I think I will reimplement that in another way, so you might have to wait a bit on the fix :-)

mmm, cool!
and yeah, sorry about the logs. haven't dealt with autotools things before, so i was poking around in the Makefile trying to make it work and gave up (´･ω･`)
after the last commit, i'm getting
pms: pms.cpp:1191: std::__cxx11::string Pms::playstring(): Assertion `comm->activelist()' failed.

building a debug version with that line empty, valgrind confirms that the invalid read is at the line mentioned above
==31059==    at 0x4380D7: Pms::playstring[abi:cxx11]() (pms.cpp:1268)
==31059==    by 0x437B61: Pms::drawstatus() (pms.cpp:1148)
==31059==    by 0x434659: Pms::main() (pms.cpp:629)
==31059==    by 0x432E9D: main (pms.cpp:61)
==31059==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

Thanks. Can you try with the latest commit?

that's the tab issue down!


feat: support delay stamp

Hi!
here is a suggestion for supporting the DelayStamp in this lib.
Please, consider this PR as fully WIP, I'll add tests, and cleaner code once we're OK on some approach.
Why is it needed?
we have some kind of home-made scheduler which permits to program some actions in the future, based on delay stamp, and we would like to be able to test this functionally by making "time jumps"
example:
// somewhere in the app
$bus->dispatch(new Enevelope(new DoSomething1(), [new DelayStamp('+3 days')]));
$bus->dispatch(new Enevelope(new DoSomething2(), [new DelayStamp('+5 days')]));

// somewhere in the tests

// 1. trigger the action that will dispatch the two previous messages by calling

// 2. assert no thing was done yet
$this->transport('scheduler')->process();
$this->transport('scheduler')->queue()->assertCount(2);

// 3. sleep and assert messages have been handled
$clock->sleep('3 days');
$this->transport('scheduler')->acknowledged()->assertContains(DoSomething1::class);
$this->asssertDoSomething1IsHandled();

$clock->sleep('2 days');
$this->transport('scheduler')->acknowledged()->assertContains(DoSomething2::class);
$this->asssertDoSomething2IsHandled();

Some problem it may raise

I think we'd need to make this feature opt-in per transport, otherwise, some user might have some surprises 😅
I'm not sure what to do with retry behavior, because if someone tests the retries (so, they have &disable_retries=false inside the dsn of their transports), if they activate this feature along with retries, they'd need to make their app sleep in order to validate the retry. Or we may deactivate the feature for the retried messages, but this sounds cumbersome: delays will be handled, but not in all cases...

WDYT?

Should we have TestTransport::ignoreDelayStamp()|supportDelayStamp() methods?

Should we have TestTransport::ignoreDelayStamp()|supportDelayStamp() methods?

because I wanted support_delay_stamp to be the de facto behavior, I didn't wanted the feature to be disabled. Since the IMO tests with delay stamp are wrongly handled for now, the support_delay_stamp was only a BC layer for me, waiting all user to migrate. But it seems harder that I was thinking

Should we have TestTransport::ignoreDelayStamp()|supportDelayStamp()

Let's not add until asked and re-evaluate when/if that happens.

any idea how to mitigate this?

Not without some CI craziness (requiring symfony/clock on 8.1+). I'd be fine requiring 8.1 for this package. 8.0 is almost EOL. WDYT?

let's go for this!

@kbond most of the runs are green, any idea how to fix the deprecation?
on my computer, even when using php 8.1 + --prefer-lowest, this deprecation is not a direct one... :shrug:

on my computer, even when using php 8.1 + --prefer-lowest, this deprecation is not a direct one...

I was able to recreate locally, needed to bump phpunit min to 9.6+


Fixing issue #15 and README.rst setup.py issue.

Commit d05dd71 does not properly fix #15: it will cause failure for most of the installed base.
Commit fb2c64b breaks the packaging mechanism: README.md is good for GitHub, but doesn't work for PyPI. setup.py will create something that works there (.rst), but at the cost of a pandoc and pypandoc dependency. So setup as it stands can be used to build wheels (with pandoc) and install from wheels (usually from PyPI, no pandoc needed), but can't be used to directly install a source distribution. However, installing a source distribution just for development purposes isn't necessary, since PyDTLS supports running straight out of the source directory.

Yes, you're right, I've been sloppy in this PR, but using this call to version 1.0.0 of openssl lib does not allow me to use your library in raspbian and debian (9 in my case) however making these adjustments worked with both, raspbian and debian 9. I will close the PR, and anyone with the same problem can try to perform the procedure I mentioned in issue # 15


Try converting HTML component to WKWebView

Currently we're using https://github.com/Cocoanetics/DTCoreText because initially I thought embedding multiple web views will result in performance issues.
But I've seen it work flawlessly on the Android side, so wondering if iOS side would work just fine as well. Let's explore this option.
Todo: Create a new HTML component that utilizes WKWebView.

Resolved with https://github.com/Jasonette/JASONETTE-iOS/commit/f78b859299267b0d4553c9b31e37b07c05dcf83a
Decided to go with UIWebView because WKWebView turns out to show pathetic performance when embedded in a UITableViewCell, not to mention all its limitations regarding local content loading, etc.


Verb 'scored' in assignment-graded

Current text defining the Verb is "The Verb, scored describes the action of evaluating a learning activity."
This looks incorrect to me, because we use this to indicate that the student has received a score. The student isn't doing the evaluating. I propose to change this to:
"The Verb, scored describes the student receiving a score for a learning activity."
And to add to the Purpose section:
"Natural language example of a typical statement: "John Smith scored 90% for his ABC assignment in module LA101 (raw score 88%), marked by Angela Jones, indicating successful completion."

"raw score 88%" ?
Agree with the semantic quibble. ADL vocab notes: "Indicates a numerical value related to an actor's performance on an activity."
I would have taken a raw score to be an unscaled one. e.g. 45 (with min 0 and max 50)
"successful completion"?
xAPI core doc differentiates success and completion, so it may lead to confusion to combine them.

This better?
"Natural language example of a typical statement: "John Smith scored 90% when he completed his ABC assignment in module LA101 (raw score 45), marked by Angela Jones, indicating success on this assignment. Minimum possible score: 0; maximum score: 50."

I've implemented these changes to assignment-graded:
Definition changed to - "The Verb, scored describes the student receiving a score for a learning activity."
Purpose, added sentence - "Natural language example of a typical statement: "John Smith scored 90% when he completed his ABC assignment in module LA101 (raw score 45), marked by Angela Jones, indicating success on this assignment. Minimum possible score: 0; maximum score: 50."
Context, added table indicating content. Changed to relate to ContextC in common structures (was ContextA, which was not correct, as had no reference to Instructor). In this template, I've deleted deviceLocation, as it doesn't seem relevant and is not in the Moodle example. So Context is:

Property [cardinality]DescriptionValue information

context.instructor [0..1]

JSON Object

context.instructor.objectType [1]
Must be "Agent"
String, Must be "Agent"

context.instructor.account.homepage [1]
URL of the home page of the application for which the login id applies.
url

context.instructor.account.name [1]
account.name gives the login id for the instructor.
string

context.extensions.version [0..1]
Recommended,  identifies the version of the Jisc xAPI profile found on the ReadMe page.
string

context.extensions.https://xapi.jisc.ac.uk/courseArea [0..1]
Umbrella course/parent area by its home page URI and / or its identifier.
JSON object

And Example is:
"context": {

	"instructor": {
            "objectType": "Agent",
            "name": "Ray Keenan",
            "account": {
                "name": "RKeenan",
                "homePage": "http://localhost/moodle"
            },

    "platform": "Moodle"

    "extensions":  {
      	"http://xapi.jisc.ac.uk/courseArea": {
			"http://xapi.jisc.ac.uk/vle_mod_id": "LA101",
			"http://xapi.jisc.ac.uk/uddModInstanceID": "LA101-200-2016S1-0"
              	},

		"http://xapi.jisc.ac.uk/sessionId": "32456891" ,
		"http://id.tincanapi.com/extension/ip-address": "<IP_ADDRESS>"
		"http://xapi.jisc.ac.uk/version" : "1.0"
        }

Note that courseArea only has vle_mod_id and uddModInstanceID now.
Moodle and Blackboard specific examples will need to be changed, as they both have contextActivities.grouping, which is not appropriate for this template in v1.0.
Additional note: the template includes this - "In the Jisc profile, the use of the result entity and any of its properties is optional." I don't think that this is appropriate for assignment-graded, so I propose to remove it; in fact Result should be compulsory in this template, I think. Any objections/comments?

Changes completed.


REQUEST - Change TEMP folder path (Environment Variables)

You can use custom scripts to call setx.exe. This link will configure the form accordingly. Note that one script is added to the Scripts to run in the system context, before user accounts are created section, and one to the Scripts to run when the first user logs on after Windows has been installed section.

You can use custom scripts to call setx.exe. This link will configure the form accordingly. Note that one script is added to the Scripts to run in the system context, before user accounts are created section, and one to the Scripts to run when the first user logs on after Windows has been installed section.

Okay, thanks!


EDM-695: Logger verbosity flag was added (-v)

Logger verbosity level may be supplied via -v flag
It may be one of "fatal", "error", "warn", "warning", "info", "debug"
Default: 'info"

cc @yobshans


Potential .{content-hidden} Compatibility Issue with Quarto 1.3.361

I updated my Quarto today to version 1.3.361 (the current main version) and all my section bibliographies went blank (i.e., no bibliography was rendered at all). I reverted back to version 1.2.475 that I had been using and they reappeared. Is this something other people have experienced?

I've done some additional fiddling around, and it appears that the issue is specific to if you cite the references in a .{content-hidden} tab, as I have been doing for my Quarto CV. Attached is a repex works with Quarto v1.2 but not with v1.3. I am also going to open this as an issue with Quarto.
Quarto-Repex.zip

In case anyone comes across this, I found out that there was a change in Quarto 1.3 that affected this (see here: https://github.com/quarto-dev/quarto-cli/issues/5904) and was shown a basic workaround. You can create another .lua filter extension that hides the content rather than using .content-hidden. See here for an example: https://github.com/ttalVlatt/ttalVlatt.github.io/tree/main/_extensions/ttalVlatt/hide-me

Thanks for the report and the additional info. I believe that there isn't much we can do in this filter, so I'm closing the issue.


[docs-infra] Consider files ending with .types.ts as props files

First reported in https://github.com/mui/material-ui/pull/37520. We have currently two conventions for writing types files, .types.ts and Props.ts. This unlocks us for using .types.ts files in @mui/material-next. I noticed that this generated some changes in the Base UI components too, but I would say they are expected. @siriwatknp should we use the same convention in Joy UI too?

So, standardizing on .types.ts?

So, standardizing on .types.ts?

I would say yes. We will need to update the Joy UI's file names. cc @siriwatknp After this is done we can update the script again to consider only .types.ts files.


ServiceAddress and node

Hi,
I am using, registrator on 2 containers, but I don't understand why they all register on the same Node and without any ServiceAddress.
My config:

Consul v0.5.2
progrium/registrator:latest

All my container configuration is in docker-compose.yml and looks like:
myconsul:
  command: -server -dc=dc1  -node=myconsul -bootstrap
  hostname: consul
  image: progrium/consul:latest
  ports:
   -"8400:8400"
   -"8500:8500"
   -"8600:56/udp"
  volumes:
    - /vagrant/workspace:/opt

registrator:
  command: consul://<IP_ADDRESS>:8500
  hostname: registrator
  image: progrium/registrator
  ports:
    - "8500"
  volumes:
    - /var/run/docker.sock:/tmp/docker.sock

test01:
  environment:
    SERVICE_NAME: test
  image: test
  hostname: test01
  dns:
   - consul
   - <IP_ADDRESS>
  dns_search:
   - node.dc1.consul
   - service.dc1.consul
  ports:
   - "4570"
  expose:
   - "22"
  volumes:
   - /vagrant/workspace:/opt

test02:
  environment:
    SERVICE_NAME: test
  image: test
  hostname: test02
  dns:
   - consul
   - <IP_ADDRESS>
  dns_search:
   - node.dc1.consul
   - service.dc1.consul
  ports:
   - "4570"
  expose:
   - "22"
  volumes:
   - /vagrant/workspace:/opt

When I querying consul service catalog, I get this:
curl consul:8500/v1/catalog/service/test
[{"Node":"myconsul","Address":"<IP_ADDRESS>","ServiceID":"registrator:vagrant_test01_1:4570", "ServiceName":"test","ServiceTags":null,"ServiceAddress":"", "ServicePort":33986},

{"Node":"myconsul","Address":"<IP_ADDRESS>","ServiceID":"registrator:vagrant_test02_1:4570","ServiceName":"test","ServiceTags":null,"ServiceAddress":"","ServicePort":33985},]

So, I do not understand, why Node is set to "myconsul"? That should be "test01"or"02" , and why ServiceAddress is null? ServiceAddress should take ip address of container test01 or test02 ?
What am I doing wrong ?
Thank you in advance for any help you can provide.

I believe node in this case refers to the consul node you're querying. Not sure why ServiceAddress is null, I'm having the same problem.

Any news on this? I have the same problem with Null ServiceAddresses

Have you tried :master?
On Tue, Jul 14, 2015 at 9:09 AM, brianlund<EMAIL_ADDRESS>wrote:

Any news on this? I have the same problem with Null ServiceAddresses
—
Reply to this email directly or view it on GitHub
https://github.com/gliderlabs/registrator/issues/196#issuecomment-121249039
.

--
Jeff Lindsay
http://progrium.com

Hi,
I am sorry not to have been able to get back to you sooner, but I fix my issue by using :master, and I have changed command line:
command: -internal -ip <ip>  consul://consul:8500

Great. You can also use the latest release now.


Added debugging hints.

This is a request related to discussions with JPype users at my site in response to #463.  Joe Guensche and Caleb Mattoon contributed a section on attaching the debugger to JPype along with two tricks I posted earlier on the attachment of data to exceptions and use of serialization. The docs are pretty minimal but should be enough to point our users in the right direction.

Documentation change only.  Self approved as it doesn't change the API.
Thy spelleng essuez well bi adressed lader.


[REVIEW] KendallDoesCoding

GitHub Profile Link
https://github.com/KendallDoesCoding

Created this as a duplicate, forgot I requested for the profile review already, this has a convo though, so will close the original issue https://github.com/EddieHubCommunity/support/issues/3483.

Discussed in #3505

Actually, re-opening this as eddie, reviews the issues depending on the time posted.

First of all nice profile. Some suggestions form my side:

consider making the banner a little bit smaller. (lots of unused space)
consider removing the profile view count due its mostly inaccurate.

Suggestions by @schmelto

Closing as the user is banned due to abusive language


Tweak styles of 3 part date field / birthdate field to fit in better w/ docassemble style

The padding and size of the inputs is a little bit off when on the same screen as other inputs. Specifically, the text inputs look a little too large. It may be an illusion caused by the month/day/year label placement.

Still valid: From our perspective, it is a visual illusion (i.e. the text size is the same), but it still looks weird to us. We attempted to text-align: left; and then add the same amount of padding as options had, but neither looked great. Screen of what that looked like below.

I believe neither of the two of the examples above were acceptable. Do we have other ideas? Should we close this?

I don't remember what it looks like now, but IMO the first example in the screen ahot is better.
I don't feel strongly about this, and I don't think it's come up from our partners (ILAO is very particular about looks, so if they haven't said anything I trust that). I'm in favor of closing.

Right now, it's all left aligned:

I checked what docassemble does when you put the label above inputs (like on small screens and with label above field: True), and it puts them flush to the left of the input, like we do currently.

There might be a better typographic choice here, but it's minor, and IMO there are other ways of improving the ThreePartDate that would be used instead of this. I'm gonna close this unless anyone objects (and has a better idea of what to do).


V2: Combine discovery functions

Should DiscoOrganizations and DiscoServers be combined? Why are there 2 functions?
Clients should almost always fetch them together, no?

Pre eduvpn-common eduVPN client for Windows: when started, it used server discovery to rearrange no-longer available Institute Access servers to Own servers and vice versa. Organization discovery is not needed for this and was triggered only if user clicks to add a new IA server or Secure Internet.
eduvpn-common based eduVPN client for Windows: when IA servers or Secure Internet is detected in old config, the server discovery is triggered. When SI is detected in old config, the organization discovery is triggered next. So, in case there were only IA servers and no SI, only the server discovery is done on startup.

right then I think we can close this due to this optimization?


fix: isDefEq for constants with different universe parameters

This PR fixes a bug at the definitional equality test (isDefEq). At unification constraints of the form c.{u} =?= c.{v}, it was not trying to unfold c. This bug did not affect the kernel.
closes #6117

Thanks!


fresh install of react-ecs template has type errors

Just created a fresh template project and am seeing type errors during setup.
Specifically, the constructed publicClient and burnerWalletClient are not matching the expected types for viem's getContract.
Also, syncToRecs is failing because of fun, new error I've never seen: Type instantiation is excessively deep and possibly infinite.

weird, I ran our template test CI job, which creates a project from a template at the specified version, and pnpm run test (which runs tsc --noEmit in the client) didn't seem to surface any errors: https://github.com/latticexyz/mud/actions/runs/8518712177/job/23331361202