Finish writing documentation

Finish writing documentation so that the documentation site may be published.

Docs currently redirect to plunkett.dev which doesn't resolve for me.

Hey are there any updates on this? Would highly appreciate an example on how to use the package itself even if a little bit in the readme.md.
Regards,
Luis Bizarro

Hey @WildEgo!
I'm working on getting docs and a quick demo app up before 1.0, but I don't have an ETA yet. For the most part, the package is plug-and-play once you've got it configured. The basic usage information in the README should help you get it installed, but it doesn't go into detail on configuration. For the most part, though, the configuration is well-documented on the config itself. I went with fully-typed configuration classes to aid in this.
With that being said, is there something specific you're looking for an example of? I can try to help here, but I'll also be sure to include it as an example in the docs.

Hey @WildEgo!
I'm working on getting docs and a quick demo app up before 1.0, but I don't have an ETA yet. For the most part, the package is plug-and-play once you've got it configured. The basic usage information in the README should help you get it installed, but it doesn't go into detail on configuration. For the most part, though, the configuration is well-documented on the config itself. I went with fully-typed configuration classes to aid in this.
With that being said, is there something specific you're looking for an example of? I can try to help here, but I'll also be sure to include it as an example in the docs.

My biggest issue was the fact that the service provider was not auto discovered so I had to manually add it to my bootstrap in my L11 app, at the moment I'm making my own scout watcher, tho that also means I need to implement my own meilisearch client.
I'd just add a bit about the provider in the docs and that's about it for now, everything else has been pretty easy to follow since everything is verbose.

Glad to hear you've gotten it working so far, @WildEgo!
I've actually been thinking about a Scout watcher myself. If you're open to it, I'd accept a PR for that Watcher. If you have Discord and you want to chat about it feel free to reach out to me, I'm plscott0 on Discord.
Thanks for the documentation suggestions as well, I'll be sure to get that added.


Refractoring IInstruction

bool RequiresPosition { get; }

I think we dont need this, its more or less firmly defined for the types
InstructionType Type { get; }

public enum InstructionType
{

    BezireTo, //requiresPosition
    LineTo, //requiresPoistion
    MoveTo, //requiresPosition
    Winding, //noPosition
    Close //noPosition

}

And maybe rename Prepare to Setup
void Prepare(State state);

to
void Setup(State state);

I did the changes - any more?


Expose list of output bindings on the context object

Resolves #132

@pragnagopa - would you mind reviewing my PR? :)


workaround for pypy which does not honor PYTHONHOME env var

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Closes #67

Thanks a lot!

Thanks. I opened https://foss.heptapod.net/pypy/pypy/-/issues/3895.


Duplicate jars published to maven central

I been looking into your project lately and I have found that it has two jars published to maven central. Three if we'd count natives. My very brief look on jffi-1.2.23.jar and jffi-1.2.23-complete.jar shows that they're almost identical. Is there a reason why these are distinct?
I' have noticed that one with complete classifier has a valid OSGI manifest (which I been looking for). If its only one difference then I'd propose to merge both and ship OSGi manifest by default with Main-Class attribute for regular use.

@splatch If we can just merge these jars I see no reason not to do it. Maybe you can come up with a PR and we'll go from there?

Sure, I am able to improve way how osgi stuff is handled. Since I was brought here by OSGi I will also mention that I some modules do miss metadata leading to situation where ie. dbus-java wraps all jnr artifacts to fix the issue.
I would like to address that and align maven dependencies through one parent descriptor (ie. jnr-parent?), however I found no valid place to start doing that. Would you mind making some cleanups in poms and extracting commonalities one level up shared across all jnr repos/modules?

@splatch Actually we have talked about doing this for some time, but none of us are keen to work on Maven stuff and know even less about OSGi. We would love to have a master project or pom that contains the common pieces.

That's lovely cause I can help you with that. Once base structuring is done it should be relatively easy to maintain whole thing.
I am still between tasks but probably will have some relief after christmas or new year to take care of this. I'll create new repo with such parent and update one or two modules to use it. We should then have a base to discuss further directions.

@splatch I guess we lost track of this. Can you do a preliminary PR that merges the two jars into a single one? I just realized that the Automatic-Module-Name directive is also only going into the complete jar.

@headius thanks for reminder. Indeed I lost track of this ticket. I believe end of this week or early next week I can start working on jnr-parent which should unify handling of plugins and other stuff between all modules. Does it fit your schedule or should I stress more?

@splatch There is no particular time crunch. I am doing a release of everything from jnr-ffi down today to align dependencies and update to ASM 9.1, which will mean no updates are necessary for a while.
Looking forward to working with you to get these packages tidied up!


Configure DNS nameservers with DHCP or cloud-config

Allow network service to automatically configure DNS from DHCP (by default).
This can be overridden and configured with values from cloud-config.

Should fix #339.
This is WIP, because it's based on not yet merged PR #659.

Oh, and this needs rancher/netconf#3

https://github.com/rancher/os/issues/451

Still having this issue.

using version 0.4.2
i have set nameservers and override via ros (confirmed values are written in clould-config.yml)
but the values in resolv.conf are still dhcp server values, even after reboot or sudo netconf
and unable to resolve domain names

@dszryan I had the same issues and literally just spend all night trying to get it working. Ended up having to put the cloud-config.yml as a write-file. Inception basically. Example:
https://gist.github.com/qrpike/cfd5245d4459a2d6efd8
Pretty hacky and I don't like it at all, but it's the cleanest thing I could come up with. I've tried about everything lol

i swapped over from docker itself, coz of this issue....
and this wasnt an issue v0.4.1, i am rolling back to the older version until its fixed

@qrpike do you if it's possible to include dynamic some dynamic param into var/lib/rancher/conf/cloud-config.yml?
something like: $(wget -O- http://<IP_ADDRESS>/current/meta-data/local-ipv4 into eth1 address?

Having the same problems. I don't know how this could even work with DHCP. The DHCP client (dhcpcd) is running in the background all the time, overwriting any values set manually in resolv.conf.
As far as I can see, the client's configuration (dhcpcd.config) has to be adjusted for this to work as well. Using nooption domain_name_servers, domain_name, domain_search or similar.


Font Problem

Hello dear
I am translating Among Us into Armenian, but why does it not understand TMP files for Armenian?
Arial has Armenian

Arial has Armenian
there is no Armenian in the generated template

try this mod, it will generate missing symbols in the game on the go
https://github.com/bbepis/XUnity.AutoTranslator/issues/287#issuecomment-1158891109

Hello
Thanks a lot for your answer
I just looked and realized that I am getting this error

Also, the mod you gave me I don't understand, I'm using it incorrectly. or not working?

Hello
Thanks a lot for your answer
I just looked and realized that I am getting this error

Also, the mod you gave me I don't understand, I'm using it incorrectly. or not working?

Arial has Armenian

there is no Armenian in the generated template try this mod, it will generate missing symbols in the game on the go #287 (comment)

[10:01:21.466] [ERROR] An error occurred while setting up UI.
System.TypeInitializationException: The type initializer for 'XUnity.AutoTranslator.Plugin.Core.UI.GUIUtil' threw an exception. ---> System.MissingMethodException: void UnityEngine.RectOffset..ctor(int,int,int,int)
--- End of inner exception stack trace ---
at XUnity.AutoTranslator.Plugin.Core.UI.ToggleViewModel..ctor (System.String text, System.String enabledTooltip, System.String disabledTooltip, System.Action onToggled, System.Func`1[TResult] isToggled, System.Boolean enabled) [0x00006] in <4d3ff0c19f0c45d7922e30f1b20fd02d>:0
at XUnity.AutoTranslator.Plugin.Core.AutoTranslationPlugin.CreateXuaViewModel () [0x00005] in <4d3ff0c19f0c45d7922e30f1b20fd02d>:0
at XUnity.AutoTranslator.Plugin.Core.AutoTranslationPlugin.InitializeGUI () [0x00015] in <4d3ff0c19f0c45d7922e30f1b20fd02d>:0
WARNING: get eos sdk handle
WARNING: get eos sdk handle

Everything worked already
Thank you very much

10:01:21.466] [ERROR] An error occurred while setting up UI.
System.TypeInitializationException: The type initializer for 'XUnity.AutoTranslator.Plugin.Core.UI.GUIUtil' threw an exception. ---> System.MissingMethodException: void UnityEngine.RectOffset..ctor(int,int,int,int)
--- End of inner exception stack trace ---

the translator has its own settings menu and that’s exactly what it doesn’t work for you, it doesn’t work for me either, but it’s not a problem, it will translate the text and the mod that I threw off should add characters

OK, thanks for the answer. Everything works now
But one question, I made the font Among Us in my language, but there are many places where there is only one Arial, how can I put two fonts and indicate where it should be used

10:01:21.466] [ERROR] An error occurred while setting up UI.
System.TypeInitializationException: The type initializer for 'XUnity.AutoTranslator.Plugin.Core.UI.GUIUtil' threw an exception. ---> System.MissingMethodException: void UnityEngine.RectOffset..ctor(int,int,int,int)
--- End of inner exception stack trace ---

the translator has its own settings menu and that’s exactly what it doesn’t work for you, it doesn’t work for me either, but it’s not a problem, it will translate the text and the mod that I threw off should add characters

OK, thanks for the answer. Everything works now
But one question, I made the font Among Us in my language, but there are many places where there is only one Arial, how can I put two fonts and indicate where it should be used

But one question, I made the font Among Us in my language, but there are many places where there is only one Arial, how can I put two fonts and indicate where it should be used

This mod replaces all fonts with one there is no support for two fonts

But one question, I made the font Among Us in my language, but there are many places where there is only one Arial, how can I put two fonts and indicate where it should be used

This mod replaces all fonts with one there is no support for two fonts

And you can't say another mod?

And you can't say another mod?

I have no idea


Can kernel be a template?

That's would be interesting.

Do you mean a template function ?
Like
template<T> int do_something(T, T);
and specialize it with
easy::jit(do_something<int>, _1, 4);
I haven't tried it but I don't see why that could not be possible.
On the other hand, if you mean that the type T is specialized at runtime. That's not possible.


Deploy to existing VNET in another resource group

Describe the feature

Deploy to existing VNET in another resource group failed, need help!
{
"status": "Failed",
"error": {
"code": "ResourceNotFound",
"message": "The Resource 'Microsoft.Network/virtualNetworks/vnet' under resource group 'rgtest' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"
}
}
Anyone that can help me out?

Hi @Tafikay, thanks for reaching out.
Can you please share more details about your problem?

How did you tried to deploy the template?
Is the Vnet in the same subscription as the storage account?

Hey @t-ashitrit thank you very much for getting in touch.

Using the 'Deploy to Azure' existing vnet variation.
Yes, but it is in another resource group.

Hi @Tafikay, I looked into your case, and I think there is no option in ARM to create a child resource (subnet) when the parent resource (vnet) is in another resource group, which means that in order for this to work the deployment of this template has to be to the same resource group as the vnet (the storage account can still be located in another resource group).
I'll try to look for a different solution but for no this should fix your error.

Hey @t-ashitrit I was able to play around with the ARM template and deployed it by using the following variables:
"ExistingVnetId": "[resourceId(parameters('virtualNetworkResourceGroup'),'Microsoft.Network/virtualNetworks',parameters('existingVnetName'))]",
"VmSubnetId": "[concat(variables('ExistingVnetId'),'/subnets/',variables('vmSubnetName'))]",
"FunctionSubnetId": "[concat(variables('ExistingVnetId'),'/subnets/',variables('functionSubnetName'))]"
I added the following code to the NIC
"subnet": {
"id": "[variables('VmSubnetId')]"
}
And something similar for the functionapp.
Thanks!

Hi there, this fix is exactly what I am looking for. @Tafikay where did you exactly add the FunctionSubnetId variable for the function app? I know there is a few places where there are function app subnets in the ARM template. Sorry, I am a bit new to ARM templates. Any insight would be helpful. Thanks!

hi @TylerPadrao unfortunately I had this ARM script on a customer laptop which I no longer have access to. You'll have to figure it out with the information in my previous comment. Additionally if you're looking to implement this solution, I advise you to look into Microsoft Defender for storage which these days has packet inspection for blob storage.

Hi, I tried to recreate @Tafikay solution, but it seems that in order for this to work the Vnet and the Subnets should be created before deploying the Av-Automation template.
Here's a few steps to implement the solution to your problem:

Create the Vnet, NetworkSecurityGroup and subnets.
Remove the creation steps of those resources from the ARM template.
Add the new subnets resource id's to the template, one to the VM network interface and one to the function app deployment
Example:
VM network interface:

{
            "type": "Microsoft.Network/networkInterfaces",
            "name": "[variables('vmNetworkInterfateworkInterfaceName')]",
            "apiVersion": "2020-06-01",
            "location": "[resourceGroup().location]",
            "dependsOn": [
                "[variables('publicIPAddressName')]",
                "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('existingVnetName'), variables('vmSubnetName'))]" // remove this dependency.
            ],
            "properties": {
                "ipConfigurations": [
                    {
                        "name": "ipconfig1",
                        "properties": {
                            "publicIPAddress": "[if(parameters('addPublicIPToVM'), variables('publicIpId'), json('null'))]",
                            "subnet": {
                                "id": "<The new subnet resource id>"
                            }
                        }
                    }
                ]
            }
        },

Function app:
{
            "type": "Microsoft.Web/sites",
            "name": "[variables('functionAppName')]",
            "apiVersion": "2020-09-01",
            "location": "[resourceGroup().location]",
            "kind": "functionapp",
            "dependsOn": [
                "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]"
            ],
            "identity": {
                "type": "SystemAssigned"
            },
            "properties": {
                "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
                "siteConfig": {
                    "alwaysOn": true,
                    "use32BitWorkerProcess": false
                }
            },
            "resources": [
                {
                    "type": "config",
                    "name": "virtualNetwork",
                    "apiVersion": "2019-08-01",
                    "dependsOn": [
                        "[resourceId('Microsoft.Web/sites', variables('functionAppName'))]",
                        "[resourceId('Microsoft.Storage/storageAccounts', variables('functionHostStorageAccountName'))]",
                        "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('existingVnetName'), variables('functionSubnetName'))]"
                    ],
                    "properties": {
                        "subnetResourceId": <The new subnet resource id>",
                        "swiftSupported": true
                    }
                },
}

Let me know if you succeeded.


nrf52840 radio not working on v0.9.3

Describe the bug
Cannot use any radio functionality on nrf52840 v0.9.3 DK.
To Reproduce
Commit: 1b37f64ac3222d9b3c7c246416e25cf996787985
Build command:
make -f examples/Makefile-nrf52840

Flash the ot-cli-ftd binary into nrf52840 v0.9.3 DK.
Run scan on command line.
Expected behavior
A list of networks found.
Console/log output
No network found and no log on radio inputs/outputs.
Additional context
May be caused by recent changes on Nordic radio driver.

@LuDuda friendly reminder

Hello, @gjc13 we will take a look at this ASAP, however, note that this is engineering version of the silicon. Have you checked the production-ready silicon e.g. on PCA10056 v1.0.0 DK?

It works on v1.0.0 dongle. I don't have a v1.0 DK at my hand.

I get the same problem on 0.9.0 and 0.9.2 boards using nRF52840 Q1AA:
> ipaddr
Done
>

When I run scan I see no beacon request.

How about we revert v1.4.0 first? @LuDuda All our dev boards don't work now.

nRF52840 Engineering A chip support is end of life.  Nordic has supported this Engineering version of silicon up to, and beyond, the previously communicated period, to support prototype builds with nRF52840.  In this section you can find compatibility matrix between the nRF52840 IC revisions and development kits.


added action types

Description
Fixes # (issue)
Type of change

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

Change Status

[ ] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[ ] Test A
[ ] Test B

Checklist

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

Resolve conflicts

I fixed the conflicts for this one too


Fix prestige icon

The prestige icon is wrongly parsed because the wrong div is targeted.

Awesome! Thanks so much! It's not easy to keep up with this scraping stuff. This helps a lot


Add a basic API client for the Rust Cardano HTTP Bridge

This change relates to issue #12.
It provides a thin layer around the Rust HTTP Bridge API, with bindings to the low-level functions provided by that API:
-- | Retrieve a block identified by the unique hash of its header.
getBlockByHash :: NetworkName -> Hash "BlockHeader" -> ClientM Block

-- | Retrieve all the blocks for the epoch identified by the given integer ID.
getEpochById :: NetworkName -> EpochId -> ClientM [Block]

-- | Retrieve the header of the latest known block.
getTipBlockHeader :: NetworkName -> ClientM (Hash "BlockHeader", BlockHeader)

A further PR will provide an API with higher level functions, to be built on top of this layer.

I agree with @KtorZ comments, but otherwise it looks good, except for one naming suggestion.
Can we put the client code under Cardano.ChainProducer.RustHttpBridge, or something like that? As far as I know we're going to implement two more chain producer backends - the Rust node (protobuf messages) and the Haskell node rewrite (cbor messages).

That's a good point. I've renamed these modules as per your suggestions.


Add Protected Areas back to widgets intersections

Closing in favour of https://github.com/Vizzuality/gfw/pull/4468. Nothing wrong with this PR, but given its age I feel it's safe to re-do it with the updated codebase (which includes passing tests) instead of rebasing this one.


[BUG] BGChange sometimes unloaded on ScreenEdit gameplay when the beat is just too near?

This always happened to me on the first beat of the song but sometimes happens as well in later beats and sometimes not.
https://i.imgur.com/H78U6ZN.mp4
On Steam build 0.5 (20221126).

Happens too when you save.


HDDS-8984. Keep separate Robot XMLs if rebot fails to combine them

What changes were proposed in this pull request?
Test results for test-root-ca-rotation.sh failure (see HDDS-8983) are missing, because rebot encountered error processing one of the files (hence no combined XML is available), but then the script deleted individual XMLs.
This PR changes the acceptance test lib to only delete separate Robot XMLs if combination (rebot ...) is successful.  This ensures we have some test output in both cases.
https://issues.apache.org/jira/browse/HDDS-8984
How was this patch tested?
Not yet, need repro of HA-secure test failure.

Thank you Attila, this looks good to me. +1

Thanks @Galsza, @smengcl for the review.


Add Dockerfile

As part of extending out the end-to-end tests we require a Dockerfile
for running this application as part of them.

Looks like there's a PR for a dockerfile here: https://github.com/alphagov/collections/pull/409 which only popped up in the last day. From a quick scan I see this has capybara-webkit which I don't think we need, the app name slightly different (seems to be just "collections" rather than "collections-frontend") and this has: ENV GOVUK_ASSET_ROOT http://assets-origin.dev.gov.uk is that needed? if so might be best to add that as a commit to the other PR and we can get that merged?


ACCUMULO-4456 Make NotActiveServiceException an RTE

This would naturally be happening anyways because this
exception is not caught by the Thrift processor. This should
bubble up to the client and the client will naturally retry
the call it was going to make, including a re-lookup of
the master location.

@keith-turner can you take a look?

@joshelser have you tested this?  Does it cause a retry?  I suspect it will not cause a retry, but not completely sure.   I think the NotActiveServiceException may cause the client to see a TApplicationException which clients do not retry on, because clients treat this as an unexpected server side exception.

have you tested this? Does it cause a retry?

So, I tried to test this with via SIGSTOP'ing a client application, flipping the active master, and then SIGCONT'ing the application and I was unable to get the client to actually die without this change. Reading the docs, we would have been throwing a RuntimeException anyways (because the checked exception is not capable of being thrown by our thrift RPC methods), so java would have wrapped it in a UndeclaredThrowableException.

I suspect it will not cause a retry, but not completely sure

Sounds like we'd have to make it a TException then? I went digging in Thrift code last night trying to remember how this all works...

Reading the docs, we would have been throwing a RuntimeException anyways (because the checked exception is not capable of being thrown by our thrift RPC methods), so java would have wrapped it in a UndeclaredThrowableException.

I don't think this is 100% clear. What the code does at runtime would be equivalent to what this patch changes (this patch is just more clear). The testing I did was unable to force a failure, but I am not convinced if this is because I didn't figure out how to test it good enough.

Sounds like we'd have to make it a TException then?

I don't think this will work.  But this assertion is based on a fuzzy memory of some code in the past doing that and it not working that way.  However, I am not certain about this.

The testing I did was unable to force a failure, but I am not convinced if this is because I didn't figure out how to test it good enough.

This seems really hard to test. One way I can think to test is to write some code for a one time test.

Start a master where active is always false.  Do this via a one time code modification.
Write some code that calls the internal methods to connect to that master and make a thrift call.

This seems really hard to test. One way I can think to test is to write some code for a one time test.

:) yeah, something like this is what I was trying to avoid but will probably have to do this today to actually check it. Oh well.

Ok, turns out I had a bug :). I was able to reproduce this and it does cause an AccumuloException to be thrown on the client side.

I think this looks good @joshelser

Thanks for the prompt review, Keith. Will go ahead and squash+merge.


Fix compilation for Android AArch64

Change inline asm to explicitly use 32 bit registers for 32 bit ints (See section 1.1 of the instruction set)
Use tm_gmtoff instead of __tm_gmtoff
Apparently I also removed some trailing whitespace

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #1156 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1156      +/-   ##
==========================================
- Coverage   87.89%   87.87%   -0.02%
==========================================
  Files         197      197
  Lines       17672    17672
==========================================
- Hits        15533    15530       -3
- Misses       2139     2142       +3


process component sentinel error: [INIT_COMPONENT_FAILURE]: initialization error occurred for sentinel (middleware.http.sentinel/v1)

An error occurred following the documentation tutorial, deploy context is nodeapp.txt
error log:
process component sentinel error: [INIT_COMPONENT_FAILURE]: initialization error occurred for sentinel (middleware.http.sentinel/v1): [CREATE_COMPONENT_FAILURE]: initialization error occurred for sentinel (middleware.http.sentinel/v1): process component sentinel error: error creating HTTP middleware middleware.http.sentinel/v1: error to init sentinel with config '{"Version":"v1","Sentinel":{"App":{"Name .......
Dapr
Runtime -- version 1.13.2
kubectl
Client Version: v1.28.3
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.2

Sendtinel is alpha, I see
Following the tutorial docs, sentinel not work, some errors occurred
you means that the error will be fixed in the future, maybe for the 1.14 or more later

@bunengxiu right now nobody is working on or investigating this component. It might not be fixed until 1.14 or later (probably later).


⚠ ClamAV has degraded performance

In 73581a0, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 56 ms

Resolved: ClamAV performance has improved in 5a0da1c.


Fix race condition in test_compileservice_cleanup test

Description
This PR applies the following changes:

Remove the test_compileservice_cleanup_on_trigger test case, since it verifies exactly the same as the test_compileservice_cleanup test case.
Make sure that the test_compileservice_cleanup test case is free of race conditions.

closes #3804
Self Check:

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

nice catch, this is subtle

Processing this pull request

Pull request rejected by merge tool. Multiple change entry files found (changelogs/unreleased/3498-remove-docker-and-vagrant-files.yml,changelogs/unreleased/3668-dryrun-diff.yml,changelogs/unreleased/3734-dependabot.yml,changelogs/unreleased/3743-dependabot.yml,changelogs/unreleased/3760-dependabot.yml,changelogs/unreleased/3771-improve-dryrun-naming.yml,changelogs/unreleased/3789-correct-increment-calculations.yml,changelogs/unreleased/3791-fix-resource-log-incomplete-kwargs.yml,changelogs/unreleased/3797-improved-error-on-bad-module.yml,changelogs/unreleased/diff-empty-string.yml,changelogs/unreleased/fix-race-in-test-compileservice-cleanup-test.yml,changelogs/unreleased/fix-test-for-std-2.1.11.yml,changelogs/unreleased/inmanta-version-fix.yml). This may happen when a change entry was removed from the remote repository due to a reverted change. In that case, make sure the latest changes from origin/master are merged into issue/fix-race-in-test-compileservice-cleanup-test before triggering merge bot.

Processing this pull request

Merged into branches master, iso5 in a5f5f6a4b66851aee3bd10d737532b343a3ff5d2

Processing #3816.


IM unable to get connected with the TV

Describe the bug
javier@javier-ASUS:~$ ./install_linux.sh
Enter tizen path (default: ~/tizen-studio):
Enter .wgt app path (default: Crunchyroll.wgt):
Enter device ip (example: <IP_ADDRESS>): <IP_ADDRESS>
connecting to <IP_ADDRESS>:26101 ...
connected to <IP_ADDRESS>:26101
There is no devices UN55AU7000KXZL target.
Total time: 00:00:00.386
Press Enter to exit./install_linux.sh: 20: read: arg count
To Reproduce
Expected behavior
To connect to the TV itself

I resolved this by running the installer in Windows, No idea why it did not work in Linux

Hi @JavierRR1, I'm going to verify that the Linux installer is working correctly, maybe it was something wrong.

I had a similar issue. The problem was that the default for the app directory is wrong in later releases and when using the wrong .wgt you get that message.


console.log.bind(console) still being removed

Description
PR#421 still does not solve the problem that console.log.bind(console) is still being removed after the build.
Consider the simple script below:
// Using `debug`.
const Debug = require('debug');

const debug = Debug('test-debug');

debug.log = console.log.bind(console);
debug.error = console.error.bind(console);

.babelrc

{
  "comments": false,
  "presets": [
    [ "env", { "targets": { "node": "current" } } ],
    "babili"
  ],
  "plugins": [
    "transform-remove-console"
  ]
}

package.json

"devDependencies": {
  "babel-cli": "^6.14.0",
  "babel-plugin-transform-remove-console": "^6.8.0",
  "babel-polyfill": "^6.16.0",
  "babel-preset-babili": "0.0.12",
  "babel-preset-env": "^1.1.8",
}

Expected output after babili:
'use strict';
const Debug=require('debug'),debug=Debug('test-debug');
debug.log=console.log.bind(console),debug.error=console.error.bind(console);

Actual output after babili:
'use strict';
const Debug=require('debug'),debug=Debug('test-debug');
debug.log=function(){},debug.error=function(){};

Hey @motss! We really appreciate you taking the time to report an issue. The collaborators
on this project attempt to help as many people as possible, but we're a limited number of volunteers,
so it's possible this won't be addressed swiftly.
If you need any help, or just have general Babel or JavaScript questions, we have a vibrant Slack
community that typically always has someone willing to help. You can sign-up here
for an invite.

You're using transform-remove-console in your plugins which is supposed to remove console.* statements or nullify the effect of console.* statements and is working as expected.
You can avoid using transform-remove-console plugin in your babelrc and babili should not remove the console.* statements by default.


fill running playbook

running ansible-playbook -i ../../allinlab-terraform/terraform.py common.yml
returns error
[WARNING]:  * Failed to parse /Users/elevin/git/allinlab-terraform/terraform.py with script plugin: Inventory script
(/Users/elevin/git/allinlab-terraform/terraform.py) had an execution error: Empty state (no state)
[WARNING]:  * Failed to parse /Users/elevin/git/allinlab-terraform/terraform.py with ini plugin: /Users/elevin/git/allinlab-
terraform/terraform.py:3: Expected key=value host variable assignment, got: json
[WARNING]: Unable to parse /Users/elevin/git/allinlab-terraform/terraform.py as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
I attached  the Json state
state.txt

manage to run it...
running from the Ansible directory didn't work, but if I run it from the terraform directory pointing to Ansible playbook it runs fine

There's a minor note about that in the readme under environment variables. I should probably add something to the usage section about that.


label.equals is not a function

Summary

When calling the LineDataSet 'getDataSetByLabel' method, and sending the correct parameters, I get ERROR: UnhandledError TypeError: label.equals is not a function
Expected Behavior

Should return the dataset
Possible Solution

I think the code was just translated from java code and that part was missed to translate since equals is not a function on javascript strings.
Device (please complete the following information):

Device: Doesn't matter.

Additional Context

@DiegoMacBD thanks for the report! fixed in 1.2.10


Caffe Translator Error: Convolution Layer

I have a Caffe model that I'm trying to translate into Caffe2. However, I'm running across the following error on the first operator:
RuntimeError: [enforce fail at conv_op_impl.h:25] X.ndim() == filter.ndim(). 4 vs 1 Error from operator:
input: "data" input: "conv1_w" input: "conv1_b" output: "conv1" type: "Conv" arg { name: "stride" i: 2 } arg { name: "pad" i: 3 } arg { name: "kernel" i: 7 }
The original Caffe model start like this:
layer {   name: "data"   type: "Input"   top: "data"   input_param {     shape {       dim: 1       dim: 3       dim: 224       dim: 224     }   } } layer {   name: "conv1"   type: "Convolution"   bottom: "data"   top: "conv1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 64     bias_term: true     pad: 3     kernel_size: 7     stride: 2   } }
My input is a single color image whose shape going in is: [1, 3, 224, 224]. Has anyone tried to do something similar?

I've had conversion issues too and haven't been able to resolve them yet. I tried a GoogleNet model, which doesn't seem to work in Caffe2, but works great in Caffe. Input is a single color image [1, 3, 224, 224].
caffe2::EnforceNotMet: [enforce fail at fully_connected_op.h:61] K == W.size() / W.dim32(0). Dimension mismatch: X: 1 1024 2 2, W: 2 1024, b: 2, axis: 1, M: 1, N: 2, K: 4096 Error from operator:  input: "pool5/7x7_s1" input: "loss3/classifier_w" input: "loss3/classifier_b" output: "loss3/classifier" type: "FC"

Same here

Hi, @milewis1 - thx for your other PR's that I've found that have allowed me to get as far as I have trying to convert this ResNet model. - https://github.com/caffe2/caffe2/issues/472
Afterwards, I get the same error you have here. I was able to get past it by sending a Tensor with only 1 dimension instead of the required 4 - only to still fail a few lines of code later.
libc++abi.dylib: terminating with uncaught exception of type caffe2::EnforceNotMet: [enforce fail at conv_op_impl.h:33] C == filter.dim32(1) * group_. Convolution op: input channels does not match: # of input channels 0 is not equal to kernel channels * group:3*1 Error from operator:
However, in the other issue thread, @KeyKy gave an example as to how he edited the prototxt file. I tried my best to edit the ResNet50 in a similar way. (more complicated then I first thought)
Of course, I am unsure of these changes and if the model would still work afterwards. The interesting thing is I was able to run the predictor without error - only somewhere a layer and everything afterwards returns NaN
Seems odd how it would still work after so many changes to inputs and outputs anyways.
So I guess that there must be also something wrong with the way it's converting the input layer on convolution layers in general and / or maybe it does something wrong when connected to a BatchNorm layer.
:(

@littleowl In my opinion, I look into the SpatialBN source code and found:
    .Input(
        1,
        "scale",
        "The scale as a 1-dimensional tensor of size C to be applied to the "
        "output.")

scale is a tensor of size C. But the PR set it to 1. So in my code, i set it to C. My code:
@TranslatorRegistry.Register("BatchNorm")
def TranslateBatchNorm(layer, pretrained_blobs, is_test):
    caffe_op = BaseTranslate(layer, "SpatialBN")
    output = caffe_op.output[0]
    param = layer.batch_norm_param
    AddArgument(caffe_op, "is_test", is_test)
    AddArgument(caffe_op, "epsilon", param.eps)
    AddArgument(caffe_op, "order", "NCHW")

    caffe_op.input.extend([output + "_scale", output + "_bias", output + "_mean", output + "_var"])
    if not is_test:
        caffe_op.output.extend([output + "_mean", output + "_var", output + "_saved_mean", output + "_saved_var"])

    n_channels = pretrained_blobs[0].shape[0] # get C
    mean = utils.NumpyArrayToCaffe2Tensor(pretrained_blobs[0], output + '_mean')
    var = utils.NumpyArrayToCaffe2Tensor(pretrained_blobs[1], output + '_var')
    pretrained_blobs[2] = np.tile(pretrained_blobs[2], (n_channels, )) # set C
    scale = utils.NumpyArrayToCaffe2Tensor(pretrained_blobs[2], output + '_scale')

    # Create a zero bias array the same size as the scale, we'll let the following
    # Scale (Mul + Add operators in Caffe2) layer handle any bias, just like Caffe
    bias = utils.NumpyArrayToCaffe2Tensor(np.zeros_like(pretrained_blobs[2]), output + '_bias')

    return caffe_op, [scale, bias, mean, var]

It does not give my NaN with my prototxt.

Thanks for the update. I will check that out tomorrow and update the PR as
needed.
-- Mike
On Wed, May 3, 2017 at 10:16 PM 康洋<EMAIL_ADDRESS>wrote:

@littleowl https://github.com/littleowl In my opinion, I look into the
SpatialBN source code and found:
.Input(
    1,
    "scale",
    "The scale as a 1-dimensional tensor of size C to be applied to the "
    "output.")

scale is a tensor of size C. But the PR set it to 1. So in my code, i set
it to C. My code:
@TranslatorRegistry.Register("BatchNorm")
def TranslateBatchNorm(layer, pretrained_blobs, is_test):
caffe_op = BaseTranslate(layer, "SpatialBN")
output = caffe_op.output[0]
param = layer.batch_norm_param
AddArgument(caffe_op, "is_test", is_test)
AddArgument(caffe_op, "epsilon", param.eps)
AddArgument(caffe_op, "order", "NCHW")
caffe_op.input.extend([output + "_scale", output + "_bias", output + "_mean", output + "_var"])
if not is_test:
    caffe_op.output.extend([output + "_mean", output + "_var", output + "_saved_mean", output + "_saved_var"])

n_channels = pretrained_blobs[0].shape[0] # get C
mean = utils.NumpyArrayToCaffe2Tensor(pretrained_blobs[0], output + '_mean')
var = utils.NumpyArrayToCaffe2Tensor(pretrained_blobs[1], output + '_var')
pretrained_blobs[2] = np.tile(pretrained_blobs[2], (n_channels, )) # set C
scale = utils.NumpyArrayToCaffe2Tensor(pretrained_blobs[2], output + '_scale')

# Create a zero bias array the same size as the scale, we'll let the following
# Scale (Mul + Add operators in Caffe2) layer handle any bias, just like Caffe
bias = utils.NumpyArrayToCaffe2Tensor(np.zeros_like(pretrained_blobs[2]), output + '_bias')

return caffe_op, [scale, bias, mean, var]

It does not give my NaN with my prototxt.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/caffe2/caffe2/issues/468#issuecomment-299083079, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC2ETXEkp31ozqjTH7wD9YVNzIAu_H3Tks5r2TURgaJpZM4NNOUx
.

@milewis1 were you able to find a fix for this? I'm running into the exact same problem. I'm trying to get a ResNet50 translated from a caffe model to a caffe2 one. I already applied PR #469 that you proposed, that helped with the BatchNorm, but now I'm running into this issue with the convolutional layer.

I think I might have found an issue. In the caffe_translator code, if you add a print statement to
ConvertTensorProtosToInitNet
def ConvertTensorProtosToInitNet(net_params, input_name):
    init_net = caffe2_pb2.NetDef()
    for tensor in net_params.protos:
        print tensor.name, list(tensor.dims) # <--- this line
        if len(tensor.float_data) == 0:
            raise RuntimeError("Only float tensors are supported in this util.")
        op = core.CreateOperator(
            "GivenTensorFill", [], [tensor.name],
            arg=[
                utils.MakeArgument("shape", list(tensor.dims)),
                utils.MakeArgument("values", tensor.float_data)])
        init_net.op.extend([op])
    init_net.op.extend([core.CreateOperator("ConstantFill", [], [input_name], shape=[1])])
    return init_net

you will see in the output that a tensor with the same name shows up. First with the right number of dimensions (4) and then with just 1. See below
conv_1_w [64L, 3L, 7L, 7L]       <--- first time shows up with correct number of dimensions
conv_1_b [2L, 2L, 2L, 2L, 2L]
conv_1_scale [64L]
conv_1_bias [64L]
conv_1_mean [64L]
conv_1_var [64L]
conv_1_w [64L]    <--- now shows up with only 1 dimension
conv_1_b [64L]

A hack I did to see if this was the issue was to keep track of the tensors that had already been seen in the loop in ConvertTensorProtosToInitNet, if the tensor had already been seen, then I continued to the next tensor without extending init_op. After this I was able to run the the network a bit further, but ran into another error:
RuntimeError: [enforce fail at elementwise_op.h:180] A.ndim() > B.ndim(). 4 vs 4. If you are doing broadcasting, input1 should have a smaller number of dimensions. Error from operator:
input: "conv_1" input: "conv_1_w" output: "conv_1_internal" type: "Mul" arg { name: "axis" i: 1 } arg { name: "broadcast" i: 1 }

OK, so it seems like the issue I mentioned in the previous comment has to do with the Scale layer being done in-place on the network I'm translating (ResNet50).

Good to know. I was just catching up on this. When initially had the
problem I wound up have to set each of my layers to have defined inputs and
outputs, aka not–in-place. That solved the issue for me.
On Tue, Jul 11, 2017 at 4:37 PM Daniel Hauagge<EMAIL_ADDRESS>wrote:

OK, so it seems like the issue I mentioned in the previous comment has to
do with the Scale layer being done in-place on the network I'm translating
(ResNet50).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/caffe2/caffe2/issues/468#issuecomment-314564174, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC2ETU1Eh9cPHLl1_A7W96fj38sQht4Rks5sM90lgaJpZM4NNOUx
.

OK, tested and seems like the network works fine now.

I have the same problem.
RuntimeError                              Traceback (most recent call last)
 in ()
9
10 # run the net and return prediction
---> 11 results = p.run([img])
12 #results = np.asarray(results)
13 #print "results shape: ", results.shape
RuntimeError: [enforce fail at tensor.h:671] i < dims_.size(). 0 vs 0. Exceeding ndim limit Error from operator:
input: "data" input: "conv1_w" input: "conv1_b" output: "conv1" type: "Conv" arg { name: "stride" i: 2 } arg { name: "pad" i: 0 } arg { name: "kernel" i: 3 } device_option { } engine: ""
** while accessing input: data

Have you  resolved them? @ARSwhut

@ARSwhut ARS Have you resolved it?

When I initially encountered this problem, the solution was to update the
Caffe prototxt so that there were no inplace layers.
On Tue, Dec 26, 2017 at 2:26 AM wm10240<EMAIL_ADDRESS>wrote:

@ARSwhut https://github.com/arswhut ARS Have you resolved it?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/caffe2/caffe2/issues/468#issuecomment-353931363, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC2ETXi4_B3A_r1KvHrI1FPQTXCa684Nks5tEJ-dgaJpZM4NNOUx
.

@danielhauagge thanks for you solution!! it works fine now!!!!


[ready to retest] Retest billing address when RAY-234 is fixed

When https://jira.hybris.com/browse/RAY-234 is fixed, let's retest to make sure setting billing address works ok.

RAY-234 is in 1905.1
We can retest this now with our Model T as long as that server is updated (ask Gil about it)

CCv2 currently has 1905.0

no longer needs testing specifically on modelt

Tested on dev3, with 1905.10 backend. It works now.
Tested with a canadian shipping address, and a united states billing address.


small binary tree example

###small binary tree example
cpp

This pull request do not contains files in specific folders. Please fix it and reopen


fix StaticGeometryGenerator generate result wrong when specific condition

Hi I found a bug so i made a pr for reproducing bug sample
check the sample(index.js) in my pr
how to reproduce a bug
a screenshot after initialization

1. check the last mesh name in the console

2. make visible false mesh at the last of array(in this case mesh4)

then you can see artifact at mesh4's position
Description
at this time console here

At first initialization force update true in all meshes because there's no cached
after testMesh4 visible false,
meshes from this._getMeshes make an array that only visible in the scene
then for loop check difference but there's no difference even testMesh4 is disappear(because for loop just check current meshes) so staticGenerator return NO_CHANGE result and then it causes an artifact
How to fix it
		let forceUpdate = false;
		if ( meshes.length !== previousMergeInfo.length ) {

			forceUpdate = true;

		}

		console.log('meshes', meshes.map(m => m.name))
		for ( let i = 0, l = meshes.length; i < l; i ++ ) {

if you guys agree my solution i'll clean up this pr that only remain solution

Excellent find! Thank you very much. Once the PR is updated to just modify StaticGeometryGenerator we can merge!

it's done I clean up this pr

Great, thank you!


[stable/spinnaker] fixes yaml code blocks formatting in README

Fixes YAML code blocks markdown rendering in stable/spinnaker chart.
What this PR does / why we need it:
This PR fixes yaml code blocks rendering in stable/spinnaker chart.
Special notes for your reviewer:

This PR only includes a README change.

Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md

@viglesiasce

@viglesiasce Do I need to bump the version for this, since CircleCI shows error this error in helm lint


Remove deprecated ioutil package.

Summary

Remove deprecated ioutil package.
Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[x] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

I just now realized that this is not a Python repo, yet I was still able to enable auto-merge, which seems like it should be beyond my permissions.


Minimum order size and order price precesion

Feature Suggestion
Is the min order size and order price precision available in hummingbot strategy template? How to get the data.
Impact
allow more accurate control for strategies
Additional context
No response

Hi! The connector class has two methods for that:

quantize_order_price
quantize_order_amount

I also added a method to the market data provider to have easier access to it.


Updated READMEs

Israel, could you check the updated discussion of the time binning and pointing in the spectral and imaging README?

I got to this too late, but it looks good! Thanks @ckierans!


Hot Reload Hang on MacOS

I'm finding that during a hot reload on MacOS, Xcode just hangs in a permanent loop and the project freezes.
Dropping the debugger in shows that we're stuck in the Duktape finalizer callstack searching through the lambdaReleasePool, but it seems like there are a million things to be finalized. It looks like there indeed might be a bug with the lambdaReleasePool, because it's huge, but I'm not sure that's exactly what's hanging up Xcode here.
@JoshMarler have you seen this one?

Interesting, I have seen this previously when the "animate" prop was set on the canvas element. The clearing of the duk context and pool on a reload appeared to resolve the issues I was seeing but I'm not using animated draws. I'll be back at me desk shortly so I'll fire this up on Mac and take a look.

Ahh right, you mentioned those fixes before. Yea, they sound like a good idea to me.
I just noticed that I can accelerate the lock up by resizing the window a bunch in gain plugin. Just making note of that here

Yeah. I seem to remember it appeared to be mostly antagonised by the animate functionality on CanvasView but I'll have to take another look. Does seem there might be some little lurking thing between the release pool and duktape. I think the exponential growth of the pool existed from the first Canvas prototype but if I've introduced something mad apologies!
I'm just on separate thing at the moment but I will for sure take a look at this today. I'll let you know if I get anywhere with it.

Yea, I think you're right.  I don't think it was something you introduced, I think the finalizer stuff I wrote is probably buggy and not always removing lambdas correctly. If you have time I would definitely appreciate the look! I'll try to put some time into it later this week as well

Yeah no worries. I'll take a look today/tomorrow for sure.

:D Yea, this might be a gnarly one. Thank you!

Heh. Writing a little level meter component at the minute and getting freezes and terrible performance .... I have a sneaking suspicion this has just bitten me. Into the bug dive I go!

😁 good luck! I haven't had a chance to dig in yet; hope it's not too gnarly

Looking through this at the moment. At a first pass, it almost looks like there is a significant lag in the call the the finalizers. From Duktape docs:
"Finalizers are executed for unreachable objects detected by reference counting or mark-and-sweep. The finalizer may not execute immediately, however, not even when reference counting detects that the object became unreachable."
I wonder if it literally is taking this long for the finalizers to be called after garbage collection. Hence our filling up of the pool which does eventually get cleared, though it blocks the UI/Message thead.
So high level thoughts are, can we increase GC rate? Can we reduce the number of LambdaHelpers being created for repeated Canvas redraws? If this lag is unavoidable should the release pool live on some backkground thread which can be incrementally cleared without blocking the message loop?
This comment is more me thinking aloud than anything at the moment..., will continue digging.

Also worth noting:

If Duktape runs out of memory (despite emergency GC) when trying to call a finalizer, the call error is silently ignored and the finalizer will be skipped.

When an object is finalized by mark-and-sweep but becomes unreachable before the next mark-and-sweep round has a change to detect the rescue, the object's finalizer will not be executed.

Based on look under the debugger it does look like the rate at which we push lambdas into the pool when painting on a timer is far higher than the rate of GC. We push enough in there for the loops over the pool to significantly block the UI thread.
A first experiment might be trying a different data-structure for the pool to increase the lookup times. unordered_set of pointers might be worth a try and preallocate some sensible amount of memory?
Failing that maybe we need a different scheme for the canvas onDraw property function invocations.

So yeah, a quick hack switching to std::unordered_set<LambdaHelper*> resolves the freeze. Obviously this sort of approach would need some tidying. We could add a key to LambdaHelper using a static counter and use unordered_map with that key to avoid lifetime traps.
I might think about this more though and workout if anything nicer can be done. That's a lot of small allocations and deallocations  flying around.
Any thoughts on this one?

Might also be interesting to manually call duk_gc after invoking the lambdas here.
https://github.com/svaarala/duktape/issues/1550
I wonder if the "light function" concept is also worth some investigation to avoid creating JS function objects in some cases which appear to require periodic garbage collection to destroy rather than being immediately released via ref counting. I need to read into this all in more detail ....

Also interesting: https://github.com/svaarala/duktape/issues/1872

OK after tidying a little using unordered_set performance isn't so bad...

I'd be interested to look into light funcs for this still. LamdaHelper::invokeFromDukContext is static so can reasonably delete the LambdaHelper object once it's callback has been invoked. This could help move away from the finalizer and release pool approach. I don't think there are any major disadvantages to using light funcs in this context? What do you think @nick-thompson ? Is this a worthwhile experiment?
I can drop over the fix for the current freeze in the meantime and look into this as a separate bit of work if needed.

I'm wondering whether we can avoid pushing a new canvas context object to the duk stack for every single invocation and if we can instead store a canvas context object permanently in the global namespace or similar ...

Ahh OK. The freeze is much improved in the gain example but there are still occasional lags ...

Sorry I'm spamming you a bit but I've been profiling so I'll register findings here.
. Rendering text via strokeText and fillText on the canvas object is currently a hotspot. Removing that made a fair amount of difference. I've got some text overlaid on this meter. I should probably have two components with one using a higher z-order, I'm not sure how z-order is intended to be controlled via component props at this stage? Is this still a thing to be implemented @nick-thompson ? Relative z orderings on views?
. The canvas drawImage function is also pretty costly, no great suprises there either.
. Hotspot is various locations in duk_pcall inside EcmascriptEngine::readVarFromDukStack in CanvasView::paint. No great suprises there. Most time is spent in garbage collection functions, object property lookup (duk_hobject_getptop) and property setting (maybe from repeated calls to bindCanvasContextProperties ? I have an idea for that).

OK ... I'm clearly also redrawing way too many things when I should just be drawing my meter ... some prop/state lifecycle thing happening I'm yet to catch/grasp.

@JoshMarler you're the man, this is so awesome. I'll try to address everything in a few high level thoughts, to start:

Yep, I'm down for unordered_set, that's a good calll
Yes indeed! #5
I'd be curious to see a before/after profile of how much we get from that. If it's really significant, I'm interested
I didn't know about these, but I'm very interested to have them in the docs or if we can find a way to integrate duktape better (#62), enabling these things by default
Definitely when looking into this, make sure you're using shouldComponentUpdate or the new hooks API to ensure components don't update when they don't need to. That's always a huge performance help.

High level I'm thinking basically that there are two types of functions that we push to javascript: persistent functions via registerNativeMethod, and the more transient functions like rect() on the CanvasContext that we prepare and push onto the stack for invoking onDraw in the CanvasView. In the first case, we obviously need to hold onto that lambda to keep the function implementation alive. I think that's a strong use case for the duktape finalizers. The latter case, I feel like we could probably find a way to push the CanvasContext onto the stack, call onDraw, and then immediately kill the lambdas that we had registered for that call. After onDraw that CanvasContext won't be on the stack anymore, and it's almost certainly the case that the last reference has been dropped after that call completes. We could manually invoke the GC right there, but I think that's overkill. I'm wondering if there's a way to distinguish that we're taking the "transient" path here, avoid ever pushing these functions into the lambdaRelasePool, and allow their destruction when the current C++ stack frame unwinds.
I need to think on this for a bit, but I feel like there's likely an elegant solution there...
Thanks a million for the detail here @JoshMarler, I'll write back with more thoughts soon

@nick-thompson,
No Problem! It's been massively valuable to dig into this. I found the causes for my wasted reconciles. Indeed, I reckon the PureComponent idea might be worth spattering around my code base to assist when others make similar mistakes etc.
The idea around CanvasContext is interesting, I totally agree. I wondered about the whole "light function" thing and whether that is some we could somehow leverage but I'm still not sure yet. I did briefly experiment with having a single CanvasContext registered as a global property, it sort of worked with much odd behaviour, basically ReactApplicationRoot owned the instance and passed it into the CanvasView's constructor. I don't think that's a particularly good idea though.
If we could workout someway for things like canvas onDraw calls running on timers to put less stress on the GC I think that would be a HUGE win. The performance is actually looking really good around all of this now.
I'll get the unordered_set fix over to you and deal with #5 as a start.

@nick-thompson, PR with fix for the freeze here: https://github.com/nick-thompson/blueprint/pull/81

Ahh yea sorry, I skipped right over the z-order question. So z-order is already sort of implemented based on literally the order of react children:
<View>
  <View />
  <View />
  <Modal /> // Move this to the top; the first child of the parent `View` will have the top-most z order
</View>

Implementing a proper z-index property implementation is on the TODO list, and should be quite straightforward: by default we continue with the default z-order behavior (based on the order of the children in the parent), but allow a z-index property (https://developer.mozilla.org/en-US/docs/Web/CSS/z-index) whose behavior is implemented by walking the parent's list of children and moving the child appropriately using https://docs.juce.com/master/classComponent.html#a1b0cca8b9a9fea673aefc84a42602bcd.
Definitely happy to have you tackle #5 and #4. Same PR is cool with me. For #5 I want to dig into the React HostConfig a little more to see if there really is no "commit" callback, as if to say "we've now applied all property updates, commit the update transaction." That certainly seems like the ideal time to do the layout. If not, I think we should use something like https://docs.juce.com/master/classAsyncUpdater.html to coalesce the updates. For example, if I set width: 100, we enqueue the layout callback via triggerAsyncUpdate. But then maybe another property change for height: 100 comes through and we call that same triggerAsyncUpdate, and if this is all synchronous then the previous pending update will still be sitting there and we get automatic coalescence. Mixing this into the updates from #4 and only triggering the async update if the set of properties changed involved layout-related properties seems like the big winner.
I'll take a look at the PR now, thanks so much for digging into it. I want to spend some time as well playing with Duktape, lightfuncs, and exploring this GC thing and "transient" function stack objects. I'll write back if I find anything


BUG: inside next brace (inB) selects surrounding braces

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md
[X] I have updated 'mini.nvim' to latest version

Module(s)
ai
Description
Using inside next Brace"(inB) textobject, the surrounding braces will be selected instead rather than the next nested braces.
this is an example {} will be selected rather than `` (inside {})
omap says that this is caused by mini, but it may also be a fallback to a builtin textobject
:omap inB

o  in            <Lua 1089: ~/.local/share/nvim/lazy/mini.nvim/lua/mini/ai.lua:1120>
                 Inside next textobject
o  i             <Lua 1082: ~/.local/share/nvim/lazy/mini.nvim/lua/mini/ai.lua:1120>
                 Inside textobject

Neovim version
NVIM v0.10.0-dev-1696+g189e21ae5-Homebrew
Steps to reproduce
{ this| is an example {} }

| being the cursor
vinB
Expected behavior
Inside of {} is selected
Actual behavior
Inside of { this is an example {} } is selected

Yes, this is a fallback to Neovim's built-in textobject, as there is no B textobject in 'mini.ai'. Try vinb instead.

Thanks for the quick response.
Maybe B should be aliased to brace like in neovim.
using vinb will select parenthesis as well.
My main use case for the motion is going inside the function body in rust while on the signature.

Maybe B should be aliased to brace like in neovim.

I'd rather reserve this for users to decide, as having duplicating functionality doesn't seem like a good design.


Return country results for inexact country searches

I think all these searches should return the country result/results:
http://internal.gbif-uat.org/search?q=Congo (Rep. Congo and D.R. Congo)
http://internal.gbif-uat.org/search?q=China (China and Chinese Taipei)
http://internal.gbif-uat.org/search?q=Taiwan
http://internal.gbif-uat.org/search?q=Chinese Taipei
http://internal.gbif-uat.org/search?q=USA
It's also not at all clear that only participant countries are returned, is that intentional?

I agree that would be nice. Currently we do not really have an API for reliably searching countries and participants based on names. So what we do now is using the directory API. That puts a lot of restraints on usage, but allowed us to do something at least. But for sure that would be an obvious and welcome improvement.

I don't know how likely it is that GB attendees will try the website themselves. If they do, the first thing they'll do is search for their country.

It is, but we've only just started talking about it. My only gloss on the notes Tim scratched out for me this morning is to 'manage expectations on country pages'—I think I need to tackle it head-on and say 'This isn't going to work yet, but please don't worry'


Performance Concerns with .NET Port

Hi @ericelliott
I hope you don't mind me reaching you out on here. I had debated creating this as a discussion on my own repository but that felt like it would be a weird callout.
I am trying to address a serious performance (memory and cpu time) concern with the .NET port of cuid2 when dealing with high volume iterations.
How the current implementation currently works, is that it uses BouncyCastle to generate the SHA3-512 hash as a 64-byte array, due to its size, the use of BigInteger is required and one must do the Base36 conversion manually (.NET only supports Base 2, 8, 10, and 16 conversions natively), as shown below:
private static string Encode(ReadOnlySpan<byte> input)
{
    if ( input.IsEmpty )
    {
        return string. Empty;
    }

    int length = (int) Math.Ceiling(input.Length * Context.ByteBitCount / Context.BitsPerDigit);
    int i = length;

    Span<char> buffer = stackalloc char[length];

    BigInteger d = new(input, true);
    while ( !d.IsZero )
    {
        d = BigInteger.DivRem(d, Context.Radix, out BigInteger r);
        int c = Math.Abs((int) r);
        buffer[--i] = (char) ( c is >= 0 and <= 9 ? c + 48 : c + 'a' - 10 );
    }

    return new string(buffer.Slice(i, length - i));
}

There are a couple of problems with this however:

BigInteger is an immutable struct, which means a new copy is created for each operation (in this case, BigInteger.DivRem)
BigInteger.DivRem is very inefficient and is called over one hundred times

To put this in another perspective, if I use Convert.ToHexString instead to generate a Base16 value, it takes 1.8 seconds per one million Cuid2 values while this implementation results in twelve seconds per one million values as well as the increased memory usage from instantiating one hundred BigInteger values per Cuid2.
What I am thinking of doing instance is taking that 64-byte array and splitting it into either 8 8-byte values (int64) or 4 16-byte values (int128 - for .NET 7 and above) and converting those to Base36 then merging the strings. Is that something you feel would be sufficient?

The way you encode should be as simple as possible, and should not introduce a modulo bias. We allocate 1 BigInt per byte in the JavaScript version:
function bufToBigInt(buf) {
  let bits = 8n;

  let value = 0n;
  for (const i of buf.values()) {
    const bi = BigInt(i);
    value = (value << bits) + bi;
  }
  return value;
}

I'm not sure I understand your plan because a single Int64 is not enough entropy to represent a default-length cuid2 value (which requires 124 bits). You need 165 bits to represent a max-length cuid2 value.
When I rewrote the encoding portion I wrote extra tests for character frequency in addition to the histogram, randogram, and collision tests we already had.
As long as you don't introduce bias and all the tests pass, it's good.
Is really easy to introduce subtle bugs with a complex encoding process, so do make sure you have good test coverage.

I may not have explained it clearly enough. The intention isn't to use a single int64 but to create 8 separate int64
(or 4 for int128) values from the 64-byte array because the performance of BigInteger in .NET is so abysmal. This would allow faster encoding to Base36 due to the nature of how BigInteger in .NET works (which is not very well).

I suspected that might be the case. As long as it's well-tested and the conversion works, I say do what you need to do. 🎉

Sounds good. I'm going to run a few prototype scenarios on it and see what happens. I'm also going to look into possibly using double as it may actually be able to handle the large value required.

Hi @ericelliott so the initial prototyping looks good, it brought the CPU time down from 12 seconds to 3 seconds as well as the considerable memory usage. I just need to run a histogram to make sure there aren't any issues, but it looks like it'll be a good compromise.
I appreciate the feedback you provided; it helped a great deal.


When connected for a few seconds without interaction I get disconnected with program was killed error

Describe the bug
A clear and concise description of what the bug is.
I just setup SoftServe, it's being proxied through HAProxy so setup HTTPS - after a few seconds of connecting to the TUI - I get disconnected and the logs shows the following:
ERRO app exit with error error="program was killed"
To Reproduce
Steps to reproduce the behavior:

Connect to the TUI

Expected behavior
A clear and concise description of what you expected to happen.
To Stay connected until the 600 seconds are reached (configured idle timeout)
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: [e.g. Linux] Docker container
Terminal [e.g. kitty, iterm2, gnome-terminal] Powershell
Version [e.g. v0.4.0] latest

Additional context
Add any other context about the problem here.

Fixed it - I was also proxying port 22 through HAProxy as I wanted to set it up to allow the port to be used based on Hostname (before I figured out that this is impossible in TCP) - and somehow that was causing a crash or something


add ability to read runc log for errors in runc commands

This work allows better error response for users when commands to runc fail.
 And since we use the same file over time it seems that the "last error" would need to be read from the back of the file?

@jterry75 I updated to return the last error in the file. Since this code path is only hit in the event of an error, I don't think truly reading from the back of the file is necessary. If you disagree, I can change it.


openwrt package

This currently sits on top of #145

As of the last commit, I managed to generate a binary that works on Toon, with working DNS. But this PR is not everything.
openwrt's curl package needs CONFIG_LIBCURL_WEBSOCKETS=y for it, which in turn (as of their port of curl 8.10.1) needs CONFIG_LIBCURL_VERBOSE=y. I also manually bumped openwrt's meson to 1.6.1, although that might no longer be necessary now that we have bin2header.
I'll turn this into a github workflow which will serve as documentation for all changes needed to the environment outside of this PR.


Failed to initialize platform configuration (ECS timeout).

Describe the issue
For the last few days we are running into the following exception while trying to start the PolicyComplianceBot.
We have looked at this issue.
we have also updated our NewtonSoft packages as well as skype packages.
Microsoft.Skype.ECS.Client Error: 0 : Microsoft.Skype.ECS.Client.ECSClientConfigLoader : An error occurred while sending the request.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Error: 0 : Microsoft.Skype.ECS.Client.ECSClientConfigLoader : Unable to load configuration from any endpoint
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
Microsoft.Skype.ECS.Client Warning: 0 : Microsoft.Skype.ECS.Client.ECSOfflineFileCache : Unable to read from cache C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot. Cache does not exist.
The thread 0x277c has exited with code 0 (0x0).
The thread 0x3c has exited with code 0 (0x0).
Exception thrown: 'System.InvalidOperationException' in Microsoft.Skype.Bots.Media.dll
Exception thrown: 'Microsoft.Graph.Communications.Core.Exceptions.ServiceException' in Microsoft.Graph.Communications.Calls.Media.dll
'WaWorkerHost.exe' (CLR v4.0.30319: RdRuntime): Loaded 'C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\csx\Debug\roles\CRWorkerRole\approot\log4net.dll'.
Exception thrown: 'Microsoft.Graph.Communications.Core.Exceptions.ServiceException' in Sample.PolicyRecordingBot.WorkerRole.dll
Microsoft.WindowsAzure.ServiceRuntime Critical: 31337 : Status Code: 0
Microsoft.Graph.Communications.Core.Exceptions.ServiceException: Code: mediaInitializationFailure
Message: Media platform failed to initialize
---> System.InvalidOperationException: Failed to initialize platform configuration (ECS timeout).
at Microsoft.Skype.Internal.Bots.Media.InternalMediaPlatform.Initialize(MediaPlatformSettings settings, IConfigurationManager configurationManager, Boolean isTest)
at Microsoft.Graph.Communications.Calls.Media.MediaCommunicationsClientBuilderExtensions.SetMediaPlatformSettings(ICommunicationsClientBuilder statefulClientBuilder, MediaPlatformSettings mediaSettings)
--- End of inner exception stack trace ---
at Microsoft.Graph.Communications.Calls.Media.MediaCommunicationsClientBuilderExtensions.SetMediaPlatformSettings(ICommunicationsClientBuilder statefulClientBuilder, MediaPlatformSettings mediaSettings)
at Sample.PolicyRecordingBot.FrontEnd.Bot.Bot.Initialize(Service service, IGraphLogger logger) in C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\FrontEnd\Bot\Bot.cs:line 98
at Sample.PolicyRecordingBot.FrontEnd.Service.Start() in C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\FrontEnd\Service.cs:line 80
at Sample.PolicyRecordingBot.WorkerRole.WorkerRole.OnStart() in C:\capture\Samples\V1.0Samples\LocalMediaSamples\PolicyRecordingBot\WorkerRole\WorkerRole.cs:line 106
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum)
at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0()
Exception thrown: 'Microsoft.Graph.Communications.Core.Exceptions.ServiceException' in Microsoft.WindowsAzure.ServiceRuntime.dll
Microsoft.WindowsAzure.ServiceRuntime Critical: 1 : Unhandled Exception:

We are also experiencing the same error when running the AudioVideoPlaybackBot. The error appeared only this week and we have not changed anything in the codes.

Me too.  Found this when returning to our dev version to fix a bug and could not even start up the code.  Looks like there's an underlying problem for the Microsoft.Skype.Bots.Media nuget package?!

Seem to be experiencing intermittent performance issues currently - haven't got enough telemetry my end to pick out exactly what's happening (so may not have any connection to this issue described above - working on confirming that) - but certainly having a bad time of it since 06-May (maybe earlier). In my case it's a media bot that's processing video data that seems to be getting video frames very late.

Same here. Working on PolicyComplianceBot project, since the last couple of days we can't start it due to "ECS timeout" exception even though we didn't make any changes to our code in the meantime.


Question

The two following command lines are identical.  How do we know whether the command line is running on local node or non-local node as there is only one result from a single command line?
Running on local node: .\DiskSpd-2.0.21a\amd64\diskspd.exe -t4 -o32 -b4k -r4k -w0 -Sh -D -L C:\ClusterStorage\test01\targetfile\IO.dat
Running on nonlocal node: .\DiskSpd-2.0.21a\amd64\diskspd.exe -t4 -o32 -b4k -r4k -w0 -Sh -D -L C:\ClusterStorage\test01\targetfile\IO.dat

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

ID: 6dcbfe3b-52e3-7cc4-0727-3055383db649
Version Independent ID: c894cd31-5738-8a11-78ec-5ecb4b8ad341
Content: Use DISKSPD to test workload storage performance - Azure Stack HCI
Content Source: azure-stack/hci/manage/diskspd-overview.md
Service: azure-stack
Sub-service: azure-stack-hci
GitHub Login: @jasonnyi
Microsoft Alias: jasonyi

@phangwt
Thanks for your feedback! We have assigned the issue to author and will provide further updates.

@phangwt Thank you for reaching out and sorry for the slow response. If you still need assistance, please open a new feedback request. #please-close


Add metrics for the non-finalized state and queue

Motivation
To diagnose pipeline bugs like #1259, we need more information about Zebra's internal queues.
(That bug happens in the checkpoint verifier, so it only uses the finalized state. But we want metrics for the non-finalized state, so we can diagnose similar bugs that happen once checkpointing has finished.)
Solution
Add metrics for:

any chain

number of commits
committed height

best chain

number of commits
committed height
non-finalized length

number of chains
non-finalized queue

max height
block count

The code in this pull request has:

[x] Documentation Comments
~Unit Tests and Property Tests~

I ran the code, and it seemed to work, but I got a Block(Transaction(WrongVersion)) error which stalled the sync

Review
@yaahc is working on the state right now.
This PR conflicts with #1258. That PR should merge first.
Related Issues
#1259 duplicate error in checkpoint verifier
#1261 checkpoint verifier metrics fix
#1262 extra finalized state metrics
N+1 Block(Transaction(WrongVersion)) error
Follow Up Work
Resolve any merge conflicts with #1258.
Test the metrics once the Block(Transaction(WrongVersion)) bug is fixed.

Blocked by #1258

I rebased on the latest main branch, and squashed the fixup commit.


dependencies: Downgrade @types/css-minimizer-webpack-plugin

This avoids pulling in an extra unused copy of webpack 5.

Feel free to merge.  Also it's kinda amazing that one can accidentally get an extra copy of a giant package like webpack.

OK, CI finished, merging.


Users can view full data in data frames in VS Code

[ ] Determine which data table viewer to use
[ ] Support CSV
[ ] Support panda DataFrame

@greazer Which are the data table viewer possibilities that may make it possible to support pandas DatFrame?

This one seems like a good choice:
https://github.com/olifolkerd/tabulator

nteract's Data Explorer has a ton of nice visualisation features on top of tabular view, is built for Jupyter & Pandas: https://blog.nteract.io/designing-the-nteract-data-explorer-f4476d53f897
Repo is here, license is BSD-3: https://github.com/nteract/nteract/tree/master/packages/transform-dataresource

Looking at different options here:
https://jspreadsheets.com
nteract seems to be the best so far.

@rchiodo which is the task that is tracking this now?

@nicoabie this is actually finished. You can open a dataviewer now from the variable list at the top of Python Interactive window.

Let me rephrase that, we have a data viewer now. It does not support all the stuff that BeakerX does nor the nteract DataExplorer.
There are some other items with those specific features (or stuff like them). Like this one:
#5391

Thanks a lot @rchiodo

This is a great feature to have in the April 2019 release. Thanks @rchiodofor implementing this!
Are there any plans to implement this functionality in the Debug Console as well ?
It would be great to be able to use this feature from the VSCode Debug Console, as currently visualising DataFrames in the Python Debug Console is very difficult - especially if the DataFrame is very large. Being able to open the interact data explorer when stopped in the debugger would be a important data science feature to have.


Add isolation

This PR fixes the case where groups have the "normal" blending mode. The default is "pass through".

Thanks!


RSpec 2.5 + Rails3 not nullifying contextually

I have
require 'nulldb_rspec'
in my spec_helper.rb
and
  include NullDB::RSpec::NullifiedDatabase
  ...
  end

In my spec.
If I try to run this along with a spec that needs the db to be real, the other spec fails. So somehow the adapter is not getting reset properly at the end of the test.

I finally had time to trace the problem to here, in nulldb_rspec.rb:
    def self.nullify_contextually?(other)
      rspec_root = defined?(RSpec) ? RSpec::Core : Spec
      other.is_a?(rspec_root::ExampleGroup)
    end

other is not an instance of RSpec::Core::ExampleGroup
other.is_a? RSpec::Core::ExampleGroup # --> false
other.is_a? Class # --> true
other.new.is_a? RSpec::Core::ExampleGroup # --> true

I'm not really sure of the proper way to write a test for this or fix it, though. Comments?

this commit is now included in my pull request for #15, btw


Add paper extension

Description

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Did you see SnapJot before creating this one, this is kinda in the same alley 🙂

Hello, I didn't know about this one.

Could that work for you or should I check for other alternatives, I think we have a few like this extension in the store already 🙂

I really appreciate how this extension lets me categorize my ideas, something I haven't found in other extensions. While I'm unable to contribute to other projects right now, I'd love to hear your thoughts. If it's not the right time to publish the extension, I completely understand. Just let me know if we can find alternatives, Thank you! 🙂

Hey 🙂
I've made the changes based on your last review. Just a small thing bugging me about the pop() API. So, the deal with pop() is that it takes you back to the original command without remounting the component. I need it because I'm using the useGetConfig hook in the components' useEffect. That's why I was rolling with the push() API, 'cause it adds the component to the history stack and remounts it. I know it's not the slickest way to handle this. In the next version, I'm thinking of creating commands instead of views, which seems like a smarter move. If you've got any better ideas, hit me up.
Appreciate your feedback.

You can see here why push is a bad thing
https://github.com/raycast/extensions/assets/38033107/3422f062-d128-4310-b76b-b070a36fcffb
You can achieve the same thing by having it redraw the list, which is done in many extensions, like Remember the Date

Hi, 🙂
I have made the changes. I am now using the popToRoot API when submitting the form to reset the view. There should be no more problems

Hi @luctst ! Thanks for your contribution!
By using your extension, I was missing a "create paper" command. It took me some time to understand that it was "hidden" on the action panel. Do you mind adding a command for it?
Also, it would be nice to add a note on the README about how the notes are stored, for transparency purposes.
Other than that, I believe that the extension works as expected and would be a great addition :)

Hi @mil3na,
I created a new "create-paper" command and added a brief note to the README file. It should be good. :)


Mention in docs that int formatting only adds underscores above 10000

Just spent a while looking for this info to give some teammates peace of mind that we won't start seeing 2_018, 1_024, and so on. I had to read the code to find out when underscores are added, which is not catastrophic, but not ideal either

Yes, we should make the docs clearer on this. Wanna put up a pr?
On Tue, Oct 2, 2018, 08:35 Bence Nagy<EMAIL_ADDRESS>wrote:

Just spent a while looking for this info to give some teammates peace of
mind that we won't start seeing 2_018, 1_024, and so on. I had to read the
code to find out when underscores are added, which is not catastrophic, but
not ideal either
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ambv/black/issues/546, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEEtLu_7ACWIj8-AXabxNAFGzpEw9OOks5ugxdNgaJpZM4XDetJ
.

I could, yep! Opened the issue from my phone so I couldn't do it then. I saw some discussions about the logic and now it seems more complex than 'above 10000' though. Could you describe what rules I should document?

For integers longer than 5 digits, underscores are used. For floats, this rule applies to both sides of the decimal point

Not needed anymore, as the feature was removed due to https://github.com/ambv/black/issues/549