:interpose broken in uberjar and binaries when configured in .zprintrc files

Using homebrew installed zprint-1.1.1
Given $HOME/.zprintrc containing {:search-config? true}
And $PWD/.zprintrc containing {:parse-string-all? true :parse {:interpose "\n\n"} :width 120}
The following command:
echo "(def a :b) (def c :d)" | zprintm

Gives output:
(def a :b)(def c :d)

But command:
echo "(def a :b) (def c :d)" | zprintm "$(cat .zprintrc)"

Gives output:
(def a :b)

(def c :d)

The latter is the output I would expect. Why is this different? For completeness, zprintm -e gives:
{:parse {:interpose {:set-by ":search-config? file: /Users/someuser/someproject/.zprintrc",
                     :value "\n\n"}},
 :parse-string-all? {:set-by ":search-config? file: /Users/someuser/someproject/.zprintrc",
                     :value true},
 :search-config? {:set-by "Home directory file: /Users/someuser/.zprintrc", :value true},
 :width {:set-by ":search-config? file: /Users/someuser/someproject/.zprintrc", :value 120}}

Thanks for noticing this and creating an issue!   Particular thanks for doing the zprintm -e output, as that was key in my uncovering what is going on with this rather humbling bug.
I'll have more to say about it tomorrow, but I wanted to give you the workaround that I found:
If you include an empty options map on the command line, it should work correctly:
% more .zprintrc
{:parse {:interpose "\nxxx\n"} :color? true :width 80}
% echo "(def a :b) (def c :d)" | ./zprintm-1.1.1
(def a :b)(def c :d)
% echo "(def a :b) (def c :d)" | ./zprintm-1.1.1 '{}'
(def a :b)
xxx
(def c :d)

I added some useless characters to the :interpose because I got tired of counting empty lines while debugging this.
More later...

Thank you for responding so promptly and providing a workaround!

Thanks again for noticing this.  It turns out that when I added the URL configuration capability about a year ago, I had to conceptually split some of the options into "operational" option -- those that control configuration, and "format control" options -- those that affect configuration. When rewriting the main program used in the pre-built binaries and the uberjar I managed to leave out the step that configures the formatting options from the .zprintrc files.   This all worked prior to release 0.5.4.
There are tests that check for configuration from the .zprintrc files, but they continued to work since the underlying zprint library auto configures whenever you do most anything from the published API, which eventually happened.  But the :interpose processing took place prior to the code eventually stumbling into auto configuration.  Thus, the workaround I mentioned simply invoked a configuration step that causes auto configuration from the available files.  The fix, of course, is to explicitly trigger auto configuration in the main program, which I have now done.   It actually took longer to create a test that would successfully notice the missing :interpose then to fix the bug.  More than you wanted to know, almost certainly.
It is some small comfort to know that :interpose is the only thing affected by this bug.  Because of that, I would like to edit the title of the issue to make that clearer to anyone who is looking for problems if that is all right with you.
Anyway, this will be fixed in release 1.1.2.

I'm totally ok with changing the title. Thanks again for investigating, explaining and fixing this issue.

This is now fixed in 1.1.2, and you won't need the workaround anymore.  Thanks again for reporting this!

I'll close it, thanks!


Default CORS config changes

Previously by default allowed HTTP methods for CORS was GET, POST, HEAD, OPTIONS
this has been changed to allow the following HTTP methods  GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
To change the COR configuration refer to https://is.docs.wso2.com/en/latest/learn/cors

Added to docs with https://github.com/wso2/docs-is/pull/2991, https://github.com/wso2/docs-is/pull/2997


updates for microsoft build

Description
https://github.com/pulumi/pulumi-hugo/issues/2862

Added event to /resources
Fixed a typo
Fixed tab title to remove break element
Meetup URL/CTA changed

Checklist:

[x] I have reviewed the style guide.
[x] If blogging, I have reviewed the blogging guide.
[x] I have manually confirmed that all new links work.
[x] I added aliases (i.e., redirects) for all filename changes.
[x] If making css changes, I rebuilt the bundle.

Hold up - something funky still happening with the page title

Hold up - something funky still happening with the page title

Nevermind, the resources link has to direct link so I was looking at the live version of the page rather than the preview version. All is ready!


Config setting for Beds not working

Made a random world (my first one, it works).
Put a bed down, tried to sleep, it blew up.
The config file says nothing should happen (setting 0).
I changed the config file to setting 2 (save spawn point), and tried again.
It blew up again.
This is using version rftoolsdim-1.10-4.30beta48.

Partially reimplemented this. Setting spawn is not yet implemented but beds no longer explode by default. For next version


Add support for SyncSession ConnectionState

This adds support for retrieving the SyncSession's ConnectionState and get a Flow that emits events on changes in the sessions connection state.
/**
 * A **connection state** indicates the state of the underlying connection of the [SyncSession].
 */
public enum class ConnectionState {
    /**
     * Indicates that there is no connection to the server. No data is being transferred even if
     * the session is [SyncSession.State.ACTIVE]. If the connection entered this state due to an
     * error, the error is reported in the [SyncConfiguration.errorHandler].
     */
    DISCONNECTED,

    /**
     * Indicates that a connection is currently in progress of being established. If successful the
     * next state is [CONNECTED], otherwise it will be [DISCONNECTED].
     */
    CONNECTING,

    /**
     * Indicates that a connection is successfully established to the server. If the SyncSession is
     * [SyncSession.State.ACTIVE] then data will now be transferred between the device and the
     * server.
     */
    CONNECTED,
}

public interface SyncSession {
    /**
     * The current [ConnectionState].
     */
    public val connectionState: ConnectionState

    /**
     * Create a [Flow] of _connection state changes_-events.
     *
     * Each change of state in the underlying connection will be emitted as a pair of the old and
     * new [ConnectionState].
     *
     * The flow has an internal buffer of [Channel.BUFFERED] but if the consumer fails to consume
     * the elements in a timely manner the flow will be completed with an [IllegalStateException].
     */
    public fun connectionStateAsFlow(): Flow<Pair<ConnectionState, ConnectionState>>
}

Up for discussion:

[x] Settle on ConnectionState being a top level class as io.realm.kotlin.mongodb.sync.Direction or inner class of SyncSession as SyncSession.State
[x] Settle on doing a specific class for connection change events
[x] #naming

Closes #429

@cmelchior I included the notifier refresh fix and it is now green on CI, so maybe worth a final peek.


Google Cast Issue after Long Pause

-- OS & Platform --
MacOS Sierra Developer Beta 5 on a MacBook Pro 15" Retina (Late 2014)
-- Description --
It seems after a long pause for Google Cast (seems to be greater than 4-hours...), that the player has a difficulty re-establishing the Casting and sometimes requires a shutdown and restart of the application --> It is almost like GPMDP thinks that it is still connected to the Good Cast device/sink whereas the Google Cast device/sink has disconnected due to inactivity.  The Symptoms are a "greyed out" play button after the initial push/click to start the music again after which there is no movement on the progress bar for the track that should be playing.  Switching tracks does not have an effect either, the UI updates with the new track information however it does not play.  Sometimes this issue can be resolved by clicking on "Stop Casting", but more times than not it requires restarting the software.
-- Steps to Reproduce --

Start Playing any track locally (Preferences set to default audio device)
Click on the "Cast" button and select the destination/sink (Chromecast Audio Puck in this case)
Enjoy hours of uninterrupted music ( I normally listen all day while working, but I really don't think the length of listening time has anything to do with the bug)
Finish work for the day and click on the Pause Button
Come back more than a few hours later and click the Play Button (Short spans seem fine [e.g. <30-minutes] but longer periods is where this issue creeps in that is why I think it has something to do with the Google Cast device's idle timeout...)
Note the "greyed out" button and no music even after several minutes

-- Note to the Team --
I just wanted to thank all of your for your efforts on this software, I simply could not function without it and I have tried a lot of the competitor apps before finding yours.  The overall stability, ease of use, platform integration (media keys!) and features makes this  better, at least to me, than running Google Play natively inside of a Chrome browser window.

Yeah, so, I'm sure this is a problem.
But there is no way I have the time required to reproduce this, let alone test and fix this.  This is going to be one of those bugs that will just have to exist unless someone finds a few days of there life to fix it 😆


[proposed spec change] Mention read caps in Updates-Via

Mention read caps in Updates-Via
Mention notification doesn't get sent if client has no read access (but leave out of scope who determines that and how)
Mention server is allowed to send error and informational debug messages
Mention server is allowed to close the connection

@acoburn @Vinnl can you review?

Looks mostly good to me. I wonder if it's possible/a good idea to also have the server notify the client if it's subscribing to too many updates before it closes the connection?

Yeah, that's probably what I would implement - send an informational error message 'too many subsriptions', then close the connections. thanks!
We should discuss this in https://www.w3.org/community/solid/wiki/Meetings#20190530_1000CEST

At present there are two keywords involved in this interaction: sub and pub. At what point should we start to view this interaction as a "protocol" with formal semantics. (I would be very much in favor of this). Defining a specific protocol for this would allow a client to have a clearer idea of exactly how the interaction works, and it would establish a stronger contract between client and server. As it is, the JavaScript API for establishing a WebSocket is:
WebSocket(url [, protocols])

If this specification defines a solid protocol, this would be a way to formalize these interactions. Or would that be too much complexity/overhead for what we're trying to achieve?

^ sorry, didn't want to downvote your proposal on its merits as such, you're right that there are more beautiful ways to design the protocol we have. But it's what we have, and I like that it's supersimple.
The reason I downvoted is just that I think that changing the websockets-pubsub protocol to something different but functionally equivalent (i.e., a 'mostly sideways change') would have a tiny benefit to us as Solid app developers, and a huge cost.

I'm concerned that we are making medium changes to the spec here without sufficiently stepping back and thinking about the design.
This has all grown organically; no one has ever considered whether even the pub/sub mechanism is a good idea or whether there are standard alternatives. We are currently suggesting a fix on top of a hack.
Why don't we take a step back, do requirements engineering for the sockets, and then come back with a full solution instead of putting duct tape on duct tape?

It's now implemented in IPS, but no plans (yet) to implement it in NSS. Will leave this as a proposed spec change.

Do not merge unless NSS also implements this.


Forked A Repository showing different language statistics

This Repository at " https://github.com/danro/LESS-sublime " shows language statistics as Css, Python.
When I forked this repo at " https://github.com/pawandeep2155/LESS-sublime " shows language statistics as Css, Javascript, Python, Makefile
I don't know what is happening here?

This happened because the repository you forked wasn't up-to-date.
I get this when I run the last released version of Linguist against it:
$ linguist
38.94%  CSS
33.84%  JavaScript
25.84%  Python
1.38%   Makefile

Yep, the languages are only updated once a repository is pushed to. https://github.com/pawandeep2155/LESS-sublime is a new repository to Linguist and so it will get the latest stats.


Remove SDK 2 code, use bitmap type

This is the starter app, which does not compile until the tutorial is completed.

:+1:


Bluetooth: controller: Scanning with unreserved window

Added a Kconfig option to enable scanner with unreserved
scan window when in continuous scan mode. This will permit
scanner to be always pre-empted by other roles, making it
the lowest in priority when it comes to using the radio.
Fixes #27414.
Signed-off-by: Vinayak Kariappa Chettimada<EMAIL_ADDRESS>Before:

After:

@carlescufi should this be merged for v2.4 ?

@carlescufi should this be merged for v2.4 ?

Yes, this fixes a bug


[SCB-849] refactor producer connection limit using vertx metrics spi mechanism

Signed-off-by: zhengyangyong<EMAIL_ADDRESS>Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [SCB-XXX] Fixes bug in ApproximateQuantiles, where you replace SCB-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean install to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage decreased (-0.005%) to 86.436% when pulling ddc74aae0e1030b107a9f37a551b2e19f6329a3a on zhengyangyong:SCB-849 into 25d5c4503ac5c94ae5ffde85454e88cd93ad1d69 on apache:master.


Build system is broken on macos

./configure --prefix=/something
make
make install

on darwin, I'm ending up (a) without pkg config files and (b) with an incorrect symlink:
$ ls -l lib/
librhash.1.dylib
librhash.so.1 -> librhash.1.dylib

Shouldn't it be librhash.dylib -> librhash.1.dylib?
I completely agree with #65, cause it's a major pain to build such a trivial package...

Thank you for reporting this bug! It is fixed by commit ee1cf8ce8c1a67ca07fabfba6ba3d6c0909b5fed.

The fix is included into RHash v1.4.5.


Feature Request: Allow request header modifying / appending via configuration

Do you want to request a feature or report a bug?
feature request

What did you do?
I want add/set HTTP Headers for all in coming HTTP request to explicitly force them using HTTP keep-alived connection. But I actually didn't find any documentation about it or traefik doesn't support it currently.

What did you expect to see?
Simply add some configuration entries to make it happen.
What did you see instead?
Output of traefik version: (What version of Traefik are you using?)

v1.4.2

Or rather, I'm expecting implementations of this annotation

This come in 1.5, see #2460.
You can try the 15.0-rc1.


TF-M: increase default Mbed TLS heap size in TF-M

This PR updates the TF-M reference in to include a couple of commits which are useful to properly size the heap memory allocated in TF-M for the crypto partition. This is necessary in order to allow Mbed TLS to handle RSA signatures with 2048-bits (previously only 1024-bits were possible).
Resolves #79864

So, this seems reasonable, at least as far as RSA goes, but do you know where the requirement for RSA at all is coming from?

So, this seems reasonable, at least as far as RSA goes, but do you know where the requirement for RSA at all is coming from?

If you meant "who is willing to use RSA signatures with 2048-bits" then I was notified by this issue https://github.com/zephyrproject-rtos/zephyr/issues/79864.
Instead if your question was more like "why RSA needs so much heap memory", it's because TF-M uses Mbed TLS in its crypto partition to perform crypto operations and there RSA uses heap memory a lot (through bignum module, in case you are curious).
Luckily the TF-M team already spotted this issue recently and they already had a fix for it, so it was quite easy for me to cherry-pick the fix from them.
@d3zd3z did I answered your question?

I had to rebase to solve a conflict on west,yml. Please re-check :)

@ithinuel @kartben since your last approval I only changed the title of the commit as requested by @tomi-font. Can you please take another look when you have some time?


Generalize to support periodic values of length > 1

Ref

Related: https://github.com/jmeas/skipped-periodic-values.js/issues/2


Change package name

My suggestion for the package name: Forte.Web.Ssr.React.
The reasoning behind the name change is to better represent what the package does and allow other users to consume the library.

We should change the names:

of repository
of project and solution
of nuget package

AspNetCore is not a valid affix anymore because .NET Framework is also supported.


Can't able to pull from private repo

I am trying to pull the image from a private repo in AWS.
I am providing the correct auth token in the docker pull API
docker.pull('image:tag', { authConfig : auth }, function (err,stream) { }):
But it throws an error like unable to access repo,
Docker login required.
But i am able to pull the public images using this API (like Ubuntu).
It will be useful if somebody try to pull an image from the private repo using a token

Im using it like this, and it works just fine.
const options = {
  authconfig: {
    username: USERNAME,
    password: PASSWORD,
  }
}

Dockerode.pull("my.registry/nginx:latest", options, (error, stream) => ...)


JUnit: add QueryMode option from command line

Fix #866.

added --query-mode option from the command line in run_junit.py
currently only allows the following values

simple
extended

python script pass the option to java side via options.xml
if no --query-mode specified, the java side will not set preferQueryMode to any default value upon making the connection to the database
tested ok with --query-mode simple
failure occurred with --query-mode extended, helps need for testing the extended query mode

@mbutrovich hi matt, 2 questions

do i need to add prepareThreshold as an optional parameter on the command line for the junit testing (though i have done it in this commit)
currently the oltpbench testing does not take prepareThreshold parameter to make the jdbc connection, do i need to add it in?
thx

@mbutrovich @lmwnshn

Merged the code from #935 and tested the code with junit and oltpbench
Both worked for simple and extended query mode
However, test_DisconnectAbort [X] Query failed. occured when specifying the --extended-threshold for a non-default value (default = 5).
Nevertheless, I think the scripts in this PR is good for merge.

closed by accident

hi @apavlo , i have completed your requested changes

done Remove options.xml and switch to environment variables.
done Update the README to explain what parameters are used.

@jazzplato If the build passes, I will merge.


Icons :: Is it possible to add more icons or allow us to add our own?

@gskyarts
In the docs there is mentioned how you can use:

SVG
or any Icon from 5664! Tabler icons: https://tabler.io/icons


Unable to import crossplane provider-gcp in Typescript

Description of the bug:
Error when importing github:crossplane-contrib/provider-gcp:
Importing resources, this may take a few moments...
cache.gcp.crossplane.io
  cache.gcp.crossplane.io/cloudmemorystoreinstance
compute.gcp.crossplane.io
  compute.gcp.crossplane.io/address
  compute.gcp.crossplane.io/firewall
  compute.gcp.crossplane.io/globaladdress
  compute.gcp.crossplane.io/network
  compute.gcp.crossplane.io/router
Error: only enums with string or number values are supported
    at TypeGenerator.emitTypeInternal (/project/gcp/infra/node_modules/json2jsii/lib/type-generator.js:157:23)
    at TypeGenerator.typeForProperty (/project/gcp/infra/node_modules/json2jsii/lib/type-generator.js:385:21)
    at TypeGenerator.emitProperty (/project/gcp/infra/node_modules/json2jsii/lib/type-generator.js:324:35)
    at /project/gcp/infra/node_modules/json2jsii/lib/type-generator.js:304:22
    at typesToEmit.<computed> (/project/gcp/infra/node_modules/json2jsii/lib/type-generator.js:204:28)
    at TypeGenerator.renderToCode (/project/gcp/infra/node_modules/json2jsii/lib/type-generator.js:238:33)
    at TypeGenerator.render (/project/gcp/infra/node_modules/json2jsii/lib/type-generator.js:226:14)
    at CustomResourceDefinition.generateTypeScript (/project/gcp/infra/node_modules/cdk8s-cli/lib/import/crd.js:87:29)
    at ImportCustomResourceDefinition.generateTypeScript (/project/gcp/infra/node_modules/cdk8s-cli/lib/import/crd.js:130:23)
    at async ImportCustomResourceDefinition.import (/project/gcp/infra/node_modules/cdk8s-cli/lib/import/base.js:71:13)

Object that appears to be causing.the error:
{
  "description": "AdvertisedGroups: User-specified list of prefix groups to advertise in custom mode. This field can only be populated if advertise_mode is CUSTOM and is advertised to all peers of the router. These groups will be advertised in addition to any specified prefixes. Leave this field blank to advertise no custom groups. \n Possible values: \"ALL_SUBNETS\"",
  "enum": [
    "ALL_SUBNETS"
  ],
  "items": {
    "type": "string"
  },
  "type": "array"
}

Reproduction Steps:
npx<EMAIL_ADDRESS>init typescript-app
cdk8s import<EMAIL_ADDRESS>
Error Log:
see above
Environment:

Framework Version:
OS:

Other:

This is :bug: Bug Report

Good point...
Maybe the intent was this?
  "type": "array",
  "items": {
    "type": "string",
    "enum": [
     "ALL_SUBNETS"
    ],
  }

https://www.jsonschemavalidator.net/s/pun2z8DS
The original seems valid yet unsatisfiable?
https://www.jsonschemavalidator.net/s/ugWye2zU

Keeping this open and marking p2. We need to investigate if that enum declaration is indeed a valid JSON schema - if so we will fix it. If not - not.


Eliminate legacy json/language_settings URL

Automated message from Dropbox CLA bot
@anirudhjain75, it looks like you've already signed the Dropbox CLA. Thanks!

@timabbott @anirudhjain75 The code changes here look good, but we need to figure out how to point all three legacy endpoints related to display settings to the new endpoint, so we probably need to have a conversation on chat before merging this.

The routes actually all have code which would support them all being used as parts of the same route; I think I'll go ahead and merge this, with a commit on top that clarifies what to do for the next few.

Merged, thanks @anirudhjain75!!  I also added a couple changes on top to make it obvious how to move other routes to use the new display_settings feature.


docker inspect -f option not displaying keys

Description
Keys are missing when using inspect subcommand with formatting.
Steps to reproduce the issue:

docker run image
docker inspect image -f '{{.ContainerConfig}}'

Describe the results you received:
Only values are returned.
$ docker inspect lab/websvr:0.2.0 -f '{{.ContainerConfig}}'
{90a56af49c64   false false false map[80/tcp:{}] false false false [PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data APACHE_LOG_DIR=/var/log/apache2] [/bin/sh -c #(nop)  CMD ["/usr/sbin/apache2" "-D" "FOREGROUND"]] <nil> true sha256:594979eaf75fc7fbabe1ff9e30da03b3513da09faac5653b52fa7fdff76a0017 map[]  [] false  [] map[maintainer:docker-lab]  <nil> []}

Describe the results you expected:
Key and values, or JSON (preferred.)
user@ubuntu:~/websvr$ docker inspect lab/websvr:0.2.0 | jq .[].ContainerConfig | head -5
{
  "Hostname": "90a56af49c64",
  "Domainname": "",
  "User": "",
  "AttachStdin": false,
...

Output of docker version:
user@ubuntu:~/websvr$ docker version
Client:
 Version:      1.13.0
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Tue Jan 17 09:58:26 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.0
 API version:  1.25 (minimum version 1.12)
 Go version:   go1.7.3
 Git commit:   49bf474
 Built:        Tue Jan 17 09:58:26 2017
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:
user@ubuntu:~/websvr$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 11
Server Version: 1.13.0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 13
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 2f7393a47307a16f8cee44a37b262e8b81021e3e
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-31-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.842 GiB
Name: ubuntu
ID: FCZQ:DUQS:2TRC:B6SE:PPA3:64I7:3PFJ:MC26:UCGW:3GO7:BWZ3:VETT
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):
VMWare Fusion - Ubuntu 16.04.1 - latest stable docker (via get.docker.com)

Potentially related.  Autocomplete for the inspect command seems not be working as expected.  Once you hit the colon for tagging it autocompletes the repository name and not tags.

The default output format is the "string" presentation that Go uses, for structs, that is only showing the values,
To output in JSON, prefix the template with json;
--format 'json {{.ContainerConfig}}'

You can find some other examples in the docs here; https://docs.docker.com/engine/admin/formatting/

Thank you.  Just to clarify, the default output of inspect is not using the same default output as inspect with the format flag?

Correct, the --format option applies a go template. This allows you to format it in different ways (e.g., to just get the value of a single property). Formatting as JSON is one of the options, but there's other options as well;  for example when using --format on docker ps you can use table

OK, I can go (:)) with that.
My two cents, I would use the same output if you don't specify something specifically (so I don't have to look it up!)  I am sure this is highly opinionated, but relying on build language DSLs are good for 'the' developers and less for 'other' developers.
Thanks again, I appreciate the help.

Hindsight is 20/20, there's also been discussion that the default format of inspect should have been a "human readable" presentation of the data, and JSON an alternative output format. Changing this would be a breaking change, so we decided to keep the current format.
Happy to help, and thanks for the feedback, it is appreciated!
Let me close this issue, but feel free to continue the conversation


MCS sreader

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Issue #1167 [TASK] Creation of a MCS Post-Processor
What are the significant changes in functionality due to this change request?
It is needed to import a set of Minimal Cut Sets (MCSs) generated by an external PRA code into RAVEN. It reads from a csv file the list of MCSs and import them in RAVEN as a PointSet.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

@mandd The doc test under qsubs failed, could you fix it?

Job Mingw Test on a5ac7f7 : invalidated by @wangcj05
Catastrophic error while removing repository. Exiting...

@alfoa could you take a look at this PR?

Job Mingw Test on a5ac7f7 : invalidated by @wangcj05
Catastrophic error while removing repository. Exiting...

Job Mingw Test on a01f40b : invalidated by @wangcj05
fetch issue, fixed.

1 comment and 1 change

Job Test qsubs on 637790e : invalidated by @mandd

@alfoa i think this PR is good to go

Checklist passed...
PR approved...

Merging..


Steps to connect with PowerShell

Is there documentation on how to connect to this ACI thru PowerShell? The Portal fails every time for me.

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

ID: ab030f18-c377-42e4-02ab-f9fda73253ad
Version Independent ID: 2ac64eb4-0de4-6538-d97d-40ddb5ac5060
Content: Quickstart - Deploy Docker container to container instance - PowerShell - Azure Container Instances
Content Source: articles/container-instances/container-instances-quickstart-powershell.md
Service: container-instances
GitHub Login: @dlepow
Microsoft Alias: danlep

@Ayanmullick
Thanks for the question! We are investigating and will update you shortly.

@Ayanmullick Is your container in running state

@Ayanmullick After clicking on connect, below dialog box appears

Click on the radio button before the text box which has "custom" in it
Then enter "cmd.exe" or "powershell.exe" in that text box and click on connect.
It will work

@jakaruna-MSFT , Thanks for pointing out. Is there a way to connect to this container instance thru Visual Studio Code which is the default PowerShell scripting tool now?

PowerShell cmdlets are not there for login to the container.  Reference is here
You can use azure cli to achieve that.
Try this az container exec -h with --exec-command with value powershell.exe or cmd.exe
Try this out and let me know

Thanks for sharing the exec method, @jakaruna-MSFT . However, that's not an interactive session.
I'm not asking for dedicated cmdlets to connect to an ACI. I thought one should be able to connect to the container thru PowerShell as long as the specific ports were open.

The network connection test succeeds but the PowerShell connectivity fails.

   Try that out and let me know.
Regarding winrm, Its based on the image.   That may be disabled in containers since that's not very much needed for a container.

There will be no specific "WinRM connectivity to ACI containers".
if the image supports it, It will work

Thank you so much for your patience. I had missed the part that said that the --exec parameter is for an interactive shell. I wish there was a cmdlet for  --exec in the Az.ContainerInstance module. I'm fine with the AzCli workaround for now.


improve gqltesting

Hi,
gqltesting is very helpful for testing graphql endpoints, but there are two small problems which this PR fixes:

If you send an invalid graphql query (for example you ask for a field which doesn't exists) you get:

    testing.go:49: got: invalid JSON: unexpected end of JSON input ("")

That's because the Result field is empty. But there is an error object, so the first commit first checks the errors, and if they are as expected then it'll do the body of the result.

the error check gave a rather uninformative error:

    testing.go:82: unexpected number of errors: got 1, want 0

The second commit makes that:
    testing.go:80: unexpected error: got [graphql: Cannot query field "timestamp" on type "SMSList". (line 1, column 40)], want []

and as a bonus the code is now trivial.

Hi @alicebob
thank you very much for your PR!
I have a small request for you, can you please split it into two and send two PRs, please? I have comments for both changes but ideally I want to keep unrelated changes separate. Also, you might consider adding some unit tests and asses that you get correct message when you move the error checking first?

Thank you for your reply @pavelnikolov . I've (finally!) split them up. The new two PRs are linked above.
Thanks!


[Styling Bug with theme.breakpoints] maxWidth value would not overwrite on browser resize

[x] The issue is present in the latest release.
[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
The maxWidth value (1600px) that is supposed to overwrite (1200px) when the browser width reach 1920px but it is not being applied though it is present in the developer console inspector along with the old maxWidth value.
Expected Behavior 🤔
Expect new maxWidth value to overwrite the old value when the browser width reach [theme.breakpoints.up('xl')].
Steps to Reproduce 🕹
Steps:

Resize the browser width to 1920 or greater

Context 🔦
I am new to Material Ui so I was trying to overwrite the maxWidth value on certain breakpoints but the changes was not applying. Though I found that when returning the value using function it will apply the changes and overwrite the old value. Not sure if this was a bug or intended to work this way.
const useStyles = makeStyles((theme) => ({
  root: {
    background: "pink",
    maxWidth: ({ maxWidth }) => maxWidth || 1200,
    [theme.breakpoints.up("xl")]: {
      maxWidth: 1600, // Expected this to overwrite old value but does not work
      // maxWidth: () => 1600 // Only works when returning the value with a function
    }
  }
}));

Thanks for the feedback.
We've abandoned makeStyles due to its problems with styles based on props.
In v5 we'll recommend styled instead where you would write
const Repro = styled("div")(({ maxWidth, theme }) => {
  return {
    background: "pink",
    maxWidth: maxWidth || 1200,
    [theme.breakpoints.up("xl")]: {
      maxWidth: 1600 // Does overwrite
    }
  };
});

-- https://codesandbox.io/s/amazing-newton-ic8ky?file=/src/Demo.tsx
@JoeDravarol  Does the above code work as expected from you?


issue with version 2.3.0

Hi .
I tried to use the new version and i'm getting an error :
Error: Syntax error at 'String'; expected ')' /modules/filebeat/manifests/init.pp:48
Any idea what is the issue ?
the previous version i used is : 0.11.1
thanks ,
Amit

@pcfens i'm using : puppet-3.8.7
Actually we can't upgrade the puppet to v.4.0 but is that possible for you to release a hotfix with my PR to an older version ?
i'm using 0.11.1 version for your module .

I'd prefer to avoid officially supporting software that hasn't had a security update in over a year, and I don't know of a way to release a version to the forge out of sequence, so I won't be releasing anything that I'm willing to support, so I'm going to close the issue, but hopefully offer a resolution:
After checking out the last version that supported Puppet 3 (v1.0.0), I was able to cherry pick your commit (f38bb37) without any merge conflicts. I'd suggest forking this repository and creating a new branch where you can backport and modify the module as needed.
You can point your Puppetfile at your public or private fork and branch to keep the deploy process the same as modules from the forge (feel free to reply if I can help with that part of the process).

I should have also mentioned that you can tell this module to use a custom template with the conf_template parameter. The module itself doesn't validate many parameters, so you may be able to drop the modified template somewhere in your control repo and tell the old version of the module you're currently using to use that template. Either fix will have the same result since there aren't any other updates supporting Puppet 3.

@pcfens AWESOME !
I used the conf_template with custom template and it's working just fine .
Thanks !


ligthen process with makefile

make all basic operation simplier
improve doc with this

Coverage remained the same at 49.397% when pulling 29dfe318474ed09f7a86b2b64be1ddb3d95811e0 on MalloZup:EASY_TEST into 6284d746e12ed81215adbc5f97ba8d0fed835ba4 on dmacvicar:master.

Coverage remained the same at 49.397% when pulling 9d3116345379353aa1d6edd9866211accb384870 on MalloZup:EASY_TEST into 6284d746e12ed81215adbc5f97ba8d0fed835ba4 on dmacvicar:master.

Coverage remained the same at 49.397% when pulling 6cbcd5e6d1f7d540c603943ea971f293df26b08b on MalloZup:EASY_TEST into 6284d746e12ed81215adbc5f97ba8d0fed835ba4 on dmacvicar:master.

Coverage remained the same at 49.397% when pulling 6cbcd5e6d1f7d540c603943ea971f293df26b08b on MalloZup:EASY_TEST into 6284d746e12ed81215adbc5f97ba8d0fed835ba4 on dmacvicar:master.

Coverage remained the same at 49.397% when pulling 6cbcd5e6d1f7d540c603943ea971f293df26b08b on MalloZup:EASY_TEST into 6284d746e12ed81215adbc5f97ba8d0fed835ba4 on dmacvicar:master.

this is ready for review

Could we rename GNUmakefile to Makefile? That is more common, and even GNU recommends using Makefile if it's not specific to GNU make.

@monstermunchkin thx  done. I took inspiration from this: https://github.com/terraform-providers/terraform-provider-google/blob/master/GNUmakefile.
Since it has gone a while last time i used a Makeifle, i was thinking that they changed some conventions :rofl:

Coverage remained the same at 49.397% when pulling 8abad059dac3f47f46d0387c416f822945c1d264 on MalloZup:EASY_TEST into 6284d746e12ed81215adbc5f97ba8d0fed835ba4 on dmacvicar:master.

Coverage remained the same at 57.836% when pulling 3b93268d4b2ea1e98263b0329a3b21bed5a03ef1 on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.

@monstermunchkin thx i added it.

Coverage remained the same at 57.836% when pulling 19c063474b9315349071995a7909c1d4679dec59 on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.

Coverage remained the same at 57.836% when pulling f9b560db3f411d0e967779cfcc3917896f31410c on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.

Coverage remained the same at 57.836% when pulling f599caafb198f2a23e5ee50b360f3a64e8442aa1 on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.

Coverage remained the same at 57.836% when pulling f599caafb198f2a23e5ee50b360f3a64e8442aa1 on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.

@monstermunchkin  i think i adressed all your comments. thank you for your review. :boat:

Not all comments have been addressed yet.

@monstermunchkin  ok yop i missed to remove 1 line. now is fixed

Coverage remained the same at 57.836% when pulling dcc193193cac4c04dcccd7cbbe97b03ccd9b4ec7 on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.

How about this:
# Where to start?

Look at open issues, especially with label:

- [junior job](https://github.com/dmacvicar/terraform-provider-libvirt/issues?q=is%3Aissue+is%3Aopen+label%3A%22junior+job%22),
- [help wanted](https://github.com/dmacvicar/terraform-provider-libvirt/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)

### Workflow

1. If you have issues, check out the [troubleshooting](https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/doc/TROUBLESHOOTING.md)
2.  Test your code by running the acceptance tests (`make test`)
4. Create a PR

### Writing acceptance tests

Take a look at Terraform's docs about [writing acceptance tests](https://github.com/hashicorp/terraform/blob/master/.github/CONTRIBUTING.md#writing-an-acceptance-test).

Coverage remained the same at 57.836% when pulling e16fa9ee43963c1dbbec43c20e6de609f080d2f8 on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.

@monstermunchkin  copy and pasted the suggestion :dog:

Coverage remained the same at 57.836% when pulling 9f0fe2b4cbdc19fdf8643b1f5f31984a548f5329 on MalloZup:EASY_TEST into 11dca1e8e977948bdb432f87046de9048cacccb1 on dmacvicar:master.


Testing. Ignore

Testing changes to https://github.com/cilium/cilium/pull/3449

Remove DaemonConfigurationStatus.PolicyEnforcement. This was a carry-over and should only be in DaemonConfigurationStatus.Realized.PolicyEnforcement
Made PolicyEnforcement a string enum
Fixes test SSHMeta.SetPolicyEnforcement to set the correct field in the json

test-me-please

test-me-please


feat(CategoryTheory): pushforward pullback adjunction for P.Over Q X

Thanks!
bors merge

Thanks for the review @joelriou!


Can't import DICOMDIR File

Hello,
When I try to import the DICOMDIR File into Blender with the addon, I get this error.
I'm able to import the .dcm Male Head, but not this DICOMDIR file that the dentist gave me.
is this file compatible?

Python: Traceback (most recent call last):
File "C:\Users\Joss\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\blender_org\bioxelnodes\operators\io.py", line 69, in execute
bpy.ops.bioxelnodes.parse_volumetric_data('INVOKE_DEFAULT',
File "C:\Program Files\Blender Foundation\Blender 4.2\4.2\scripts\modules\bpy\ops.py", line 107, in call
ret = _op_call(self.idname_py(), kw, C_exec, C_undo)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Error: Get no vaild series.

Ah man unfortunate to hear that. So this type of file isn't compatible right now, but it will be in the future?

I will let you know when v1.1.0 is released


please make deploy to heroku button

hi plal,
please make this claimer to deployable to heroku with all env value must be set & heroku buildpacks needed
waiting for your response
finest regards

I will be making this as soon as possible my friend. I am debugging some issues and have to migrate to postgreSQL (because sqlite3 is not consistent in heroku).


VersionCounter: support linux build agents

Hi,
I have been using your extension for a while on my personal TFS server - and its working great.
I am now in the process of building some .NET core code that will run on a linux server, so I decided to install a tfs build agent on a linux machine, so I could ensure that tests etc run in the correct environment.
But when I queue a build the extension fails with:
The current operating system is not capable of running this task. That typically means the task was written for Windows only. For example, written for Windows Desktop PowerShell.
I have installed powershell on the linux machine - so is it possible to update the extension so it does not use windows specific powershell like the error message states?

I just looked at the powershell folder for the extension - and my guess is that the problem is that you have a couple of dll's. But I am just guessing.

@maikvandergaag Did you close this because you have fixed the issue, or just because you dont care and do not want to support linux build agents?

There is another one open for Linux support. When I have the time I will try to pick it up


Fix vbox ver 4 detection

Fix version detection so docker-machine would work with VirtualBox 6.

I ran into this issue today (I'm running Virtualbox 6). Would be nice to see it merged.

@praveenkumar this is impacting a lot of people, can you please cut a release?

@praveenkumar Same thing here. When are you guys planing to release?

@zchee @SvenDowideit @pecigonzalo @LalatenduMohanty @gbraad Please either cut a release soon or mark this project as dead so we can fork it and move on. It's very frustrating to keep having to ask people to uninstall VirtualBox on their Macs.

@kalbasit sorry for late. will cut new release version asap

:tada:
@zchee Thank you! You'll probably want to also close out #220 in that case! :beers:

@kalbasit
Released v0.4.0
https://github.com/machine-drivers/docker-machine-driver-xhyve/releases/tag/v0.4.0

@kalbasit
Thanks for mentioned, just closed with comment 🙇♂

Ref https://github.com/Homebrew/homebrew-core/pull/39939

@herrjemand also Thanks :)

@zchee many many thanks!!
@herrjemand wow, that was fast! Thank you very much for that!

You fix here, you break there. Using 0.4.0 lead to Error starting the VM: Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p of type []string`` You use 0.3.3 you get Error creating the VM. Error with pre-create check: "Virtual Box version 4 or lower will cause a kernel panicif xhyve tries to run. You are running version: 6`

You fix here, you break there. Using 0.4.0 lead to
Error starting the VM: Error creating new host: json: cannot unmarshal bool into Go struct field Driver.Virtio9p of type []string
You use 0.3.3 you get
Error creating the VM. Error with pre-create check: Virtual Box version 4 or lower will cause a kernel panicif xhyve tries to run. You are running version: 6

HI, guys, I have gotten the same dilemma and have spent hours to get a solution. Could anyone help me with this ?  I am using 0.4.0 and would like to get a fix for this newest version. Anyone can kindly help me with this ?

@condescendent Got it work on MacOS using xhyve


webview_flutter javascript channel can't communicate in release mode

https://stackoverflow.com/questions/70502892/webview-flutter-javascript-channel-cant-communicate-in-release-mode


one issue  about using Shogun's optimizers in target languages

@karlnapf
In CInference class
virtual void register_minimizer(Minimizer* minimizer);

In Minimizer class
#ifndef MINIMIZER_H
#define MINIMIZER_H
#include <shogun/lib/config.h>
namespace shogun
{

/** @brief The minimizer base class.
 *
 */
class Minimizer
{
public:
        /** Do minimization and get the optimal value
         *
         * @return optimal value
         */
        virtual float64_t minimize()=0;

        virtual ~Minimizer() {}
};

}
#endif

Note that

CInference is a sub-class of SGObject
LBFGSMinimizer class is a sub-class of Minimizer
CSingleLaplaceInferenceMethod is a sub-class of CInference
Minimizer is NOT a sub-class of CSGObject

The following lines of C++ code work.
CSingleLaplaceInferenceMethod* inf = new CSingleLaplaceInferenceMethod();
LBFGSMinimizer* opt=new LBFGSMinimizer();
inf->register_minimizer(opt);

However, the following lines of Python code do not work
inf=SingleLaplaceInferenceMethod()
opt = LBFGSMinimizer()
inf.register_minimizer(opt)

Error output:
TypeError: in method 'Inference_register_minimizer', argument 2 of type 'Minimizer *'

In src/interfaces/modular/Minimizer.i
%include <shogun/optimization/Minimizer.h>
%include <shogun/optimization/FirstOrderMinimizer.h>
%include <shogun/optimization/lbfgs/lbfgscommon.h>
%include <shogun/optimization/lbfgs/LBFGSMinimizer.h>

In src/interfaces/modular/Minimizer_includes.i
%{
 #include <shogun/optimization/Minimizer.h>
 #include <shogun/optimization/demo.h>
 #include <shogun/optimization/FirstOrderMinimizer.h>
 #include <shogun/optimization/lbfgs/lbfgscommon.h>
 #include <shogun/optimization/lbfgs/LBFGSMinimizer.h>
%}

You can only pass sub-classes of SGObject through swig

@karlnapf
Why can I pass the minimizer to a non-SGObject through swig?
the following lines of Python code works!
inf=Dummy()
opt = LBFGSMinimizer()
inf.register_minimizer(opt)

#ifndef DUMMY_H
#define DUMMY_H
#include <shogun/lib/config.h>
#include <shogun/optimization/Minimizer.h>
namespace shogun
{
class Dummy
{
public:
        Dummy()
        {
                m_minimizer=NULL;
        }
        virtual void register_minimizer(Minimizer* minimizer)
        {
                REQUIRE(minimizer, "Minimizer must set\n");
                if(minimizer!=m_minimizer)
                {
                        delete m_minimizer;
                        m_minimizer=minimizer;
                }

        }
        virtual ~Dummy()
        {
                delete m_minimizer;
        }
private:
        Minimizer* m_minimizer;
};

}
#endif /* DUMMY_H */

I think this has to do with the way the typemaps work. Can't you make the minimizer an SGObject? With the soon to arrive plugins, this should be fine

Last time you suggested that minimizers should not be a sub-class of
SG-Object since the minimizers will "copy" the 100+ lines of
the serialization code.
On Tuesday, April 19, 2016, Heiko Strathmann<EMAIL_ADDRESS>wrote:

I think this has to do with the way the typemaps work. Can't you make the
minimizer an SGObject? With the soon to arrive plugins, this should be fine
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/shogun-toolbox/shogun/issues/3174#issuecomment-211848408

--
best,
wu lin

Should I make a minimizer as a sub-class of SGObject now ?

Yes I said that since we have the problem that there are too many shogun
classes which mess with the build. However with the plugin project soon
hopefully being done, we might do it now. See what I mean?
On Tuesday, 19 April 2016, Wu Lin<EMAIL_ADDRESS>wrote:

Should I make a minimizer as a sub-class of SGObject now ?
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/shogun-toolbox/shogun/issues/3174#issuecomment-211851516

Hi @yorkerlin. I am wondering whether the cause may be something different to passing a non-SGObject to an SGObject via swig. CSingleLaplaceInferenceMethod extends the abstract class CInference, while Dummy does not extend an abstract class.
What about changing your experiment so that Dummy extends an abstract class? The method register_minimizer would be the pure virtual in the parent class.
I am wondering whether the issue may be caused by the generation of default constructors of a class that extends an abstract class.
Looking forward to hearing from you!

@iglesias
The following lines of Python code work!
inf=Dummy2()
opt = LBFGSMinimizer()
inf.register_minimizer(opt)

//C++
#ifndef DUMMY_H
#define DUMMY_H
#include <shogun/lib/config.h>
#include <shogun/optimization/Minimizer.h>
namespace shogun
{
class DummyBase
{
public:
        DummyBase() { m_minimizer=NULL; }
        virtual void register_minimizer(Minimizer* minimizer)=0;
        virtual ~DummyBase(){  delete m_minimizer; }
protected:
        Minimizer* m_minimizer;
};

class Dummy2: public DummyBase
{
public:
        Dummy2(): DummyBase()
        {}
        virtual void register_minimizer(Minimizer* minimizer)
        {
                REQUIRE(minimizer, "Minimizer must set\n");
                if(minimizer!=m_minimizer)
                {
                        delete m_minimizer;
                        m_minimizer=minimizer;
                }

        }
        virtual ~Dummy2() {}
};

}
#endif /* DUMMY_H */

Shame, I found it worth trying :-S
It may be interesting to find out why this happens though. Is it something we have configured on purpose for some reason? A bug? Etc.

@iglesias
I am doing experiments. I will post them soon.

@karlnapf  @iglesias
Some findings which may be not related to this issue
The script which generates class_list.cpp, will include a sub-class of SGObject in class_list.cpp  only if:

class name must begin with "C" (for example, CDummy4)

must have a cpp file where there is implementation of CDummy4  (header file is not enough)

have "rename" in the i file (for example, %rename(Dummy4) CDummy4)

the class must be a sub-class of SGObject

class CInference : public CDifferentiableFunction
{
public:
// some functions
virtual void register_minimizer(Minimizer* minimizer); // not a pure function
// rest of function
}

class CExactInferenceMethod: public CInference
{
  public:
// some functions
virtual void register_minimizer(Minimizer* minimizer); // override
// rest of function
 }

class CKLDiagonalInferenceMethod: public CKLLowerTriangularInference
{
//using the  register_minimizer(Minimizer* minimizer)  in CInference
}

  #ifndef CDUMMY_H
  #define CDUMMY_H
  #include <shogun/lib/config.h>
  #include <shogun/optimization/Minimizer.h>
  #include <shogun/machine/gp/KLDiagonalInferenceMethod.h>
  namespace shogun
  {
  class Dummy3: public CKLDiagonalInferenceMethod
  {
  public:
          Dummy3(): CKLDiagonalInferenceMethod() {}
          virtual void register_minimizer(Minimizer* minimizer)
          {
                  REQUIRE(minimizer, "Minimizer must set\n");
                  if(minimizer!=m_minimizer)
                  {
                          delete m_minimizer;
                          m_minimizer=minimizer;
                  }

          }
          virtual const char* get_name() const { return "Dummy3"; }
          virtual ~Dummy3() {}
  };

  class CDummy4: public CKLDiagonalInferenceMethod
  {
  public:
          CDummy4(): CKLDiagonalInferenceMethod() {}
          virtual void register_minimizer(Minimizer* minimizer)
          {
                  REQUIRE(minimizer, "Minimizer must set\n");
                  if(minimizer!=m_minimizer)
                  {
                          delete m_minimizer;
                          m_minimizer=minimizer;
                  }

          }
          virtual const char* get_name() const { return "Dummy4"; }
          virtual ~CDummy4() {}
  };

  class Dummy5: public CKLDiagonalInferenceMethod
  {
  public:
          Dummy5(): CKLDiagonalInferenceMethod() {}
          virtual const char* get_name() const { return "Dummy5"; }
          virtual ~Dummy5() {}
  };

  class CDummy6: public CKLDiagonalInferenceMethod
  {
  public:
          CDummy6(): CKLDiagonalInferenceMethod() {}
          virtual const char* get_name() const { return "Dummy6"; }
          virtual ~CDummy6() {}
  };

  }
  #endif /* CDUMMY_H */

inf3=Dummy3()
opt3 = LBFGSMinimizer()
inf3.register_minimizer(opt3) // ok

inf4=Dummy4()
opt4 = LBFGSMinimizer()
inf4.register_minimizer(opt4) //ok

inf5=Dummy5()
opt5 = LBFGSMinimizer()
inf5.register_minimizer(opt5) // TypeError: in method 'Inference_register_minimizer', argument 2 of type 'Minimizer *'

inf6=Dummy6()
opt6 = LBFGSMinimizer()
inf6.register_minimizer(opt6) // TypeError: in method 'Inference_register_minimizer', argument 2 of type 'Minimizer *'

Hey @yorkerlin, nice analysis. So, if I have interpreted correctly your results, the trigger is overriding register_minimizer. With the classes that do not override it we get the TypeError. Agree?

@iglesias
yes

However,  CExactInferenceMethod does override the method.
The error does appear.
inf7= ExactInferenceMethod()
opt7 = LBFGSMinimizer()
inf7.register_minimizer(opt7) // TypeError: in method 'Inference_register_minimizer', argument 2 of type 'Minimizer *'

Yeah, I agree. I was just checking exactly that :-)

My question now is, is CExactInferenceMethod overriding all the pure virtual methods of CInference?

I think it does indeed. Otherwise, it should not be possible to instantiate it. So that makes sense at least.

@iglesias
yes, CExactInferenceMethod is actual inference method. It must override all the pure virtual methods

@yorkerlin, does taking a look at the file generated by swig help? How does the code for register_minimizer for the different classes look like?

@iglesias
is it possible that some customized swig script do not include the optimization folder?

@iglesias
I think I know the reason.

Looking forward to hear, @yorkerlin ;-)

If I move the Dummy.h from src/shogun/optimization to src/shogun/machine/gp, the error will happen for Dummy4 and Dummy3.

However, the error will occur if Dummy8 is used.
Dummy7 is fine.

@iglesias
do you know how to fix the issue?
I think this is a bug. We should fix it.

@iglesias
my guess is:
Some customized swig script try to rename shogun's class.
However, the script ignore the optimization folder?

i dont see anywhere swig definitions defined for src/shogun/optimization in shogun/src/interfaces/modular

@vigsterkr
are there some swig definitions defined for src/shogun/machine/gp/*  in shogun/src/interfaces/modular ?

I think so, @yorkerlin. Have a look at interfaces/modular/GaussianProcess_includes.i and interface/modular/GaussianProcess.i.

according to git grep machine/gp in shogun/src/interfaces/modular, yes it's defined in GaussianProcess.i and GaussianProcess_includes.i...
anyways if you wanna have classes defined in src/shogun/optimization available via swig interfaces, please create a shogun/src/interfaces/modular/Optimization.i and shogun/src/interfaces/modular/Optimization_includes.i and follow the pattern that are in the other files in shogun/src/interfaces/modular

I think those in the recently included Minimizer.i and Minimizer_includes.i.

Hi all, let me summarize my findings.
You can reproduce the bug locally.
at src/shogun/machine/gp/Dummy2.h
  #ifndef CDUMMY2_H
  #define CDUMMY2_H
  #include <shogun/lib/config.h>
  #include <shogun/optimization/Minimizer.h>
  #include <shogun/machine/gp/Inference.h>
  namespace shogun
  {

  class CDummy8: public CInference
  {
  public:
          CDummy8(): CInference() {}
          virtual const char* get_name() const { return "Dummy8"; }
          virtual void register_minimizer(Minimizer* minimizer)
          {
                  REQUIRE(minimizer, "Minimizer must set\n");
                  if(minimizer!=m_minimizer)
                  {
                          delete m_minimizer;
                          m_minimizer=minimizer;
                  }

          }
          virtual ~CDummy8() {}
          virtual float64_t get_negative_log_marginal_likelihood() {return 0;}
          virtual SGVector<float64_t> get_alpha() { return SGVector<float64_t> ();}
          virtual SGMatrix<float64_t> get_cholesky() { return SGMatrix<float64_t> ();}
          virtual SGVector<float64_t> get_diagonal_vector() { return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_posterior_mean() { return SGVector<float64_t> ();}
          virtual SGMatrix<float64_t> get_posterior_covariance() { return SGMatrix<float64_t> ();}
  protected:
          virtual void update_alpha() {}
          virtual void update_chol() {}
          virtual void update_deriv() {}
          virtual SGVector<float64_t> get_derivative_wrt_inference_method(
                  const TParameter* param) { return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_derivative_wrt_likelihood_model(
                  const TParameter* param){ return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_derivative_wrt_kernel(
                  const TParameter* param){ return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_derivative_wrt_mean(
                  const TParameter* param){ return SGVector<float64_t> ();}

  };

  }
  #endif /* CDUMMY2_H */

at src/interfaces/modular/GaussianProcess.i
rename(Dummy8) CDummy8;
%include <shogun/machine/gp/Dummy2.h>

at src/interfaces/modular/GaussianProcess_includes.i
 #include <shogun/machine/gp/Dummy2.h>

at src/shogun/optimization/Dummy.h
  #ifndef CDUMMY_H
  #define CDUMMY_H
  #include <shogun/lib/config.h>
  #include <shogun/optimization/Minimizer.h>
  #include <shogun/machine/gp/Inference.h>
  namespace shogun
  {
  class CDummy7: public CInference
  {
  public:
          CDummy7(): CInference() {}
          virtual const char* get_name() const { return "Dummy7"; }
          virtual void register_minimizer(Minimizer* minimizer)
          {
                  REQUIRE(minimizer, "Minimizer must set\n");
                  if(minimizer!=m_minimizer)
                  {
                          delete m_minimizer;
                          m_minimizer=minimizer;
                  }

          }
          virtual ~CDummy7() {}
          virtual float64_t get_negative_log_marginal_likelihood() {return 0;}
          virtual SGVector<float64_t> get_alpha() { return SGVector<float64_t> ();}
          virtual SGMatrix<float64_t> get_cholesky() { return SGMatrix<float64_t> ();}
          virtual SGVector<float64_t> get_diagonal_vector() { return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_posterior_mean() { return SGVector<float64_t> ();}
          virtual SGMatrix<float64_t> get_posterior_covariance() { return SGMatrix<float64_t> ();}
  protected:
          virtual void update_alpha() {}
          virtual void update_chol() {}
          virtual void update_deriv() {}
          virtual SGVector<float64_t> get_derivative_wrt_inference_method(
                  const TParameter* param) { return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_derivative_wrt_likelihood_model(
                  const TParameter* param){ return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_derivative_wrt_kernel(
                  const TParameter* param){ return SGVector<float64_t> ();}
          virtual SGVector<float64_t> get_derivative_wrt_mean(
                  const TParameter* param){ return SGVector<float64_t> ();}

  };

  }

  #endif /* CDUMMY_H */

at src/interfaces/modular/Minimizer.i
  /* Remove C Prefix */
%rename(Dummy7) CDummy7;

  /* Include Class Headers to make them visible from within the target language */
  %include <shogun/optimization/Minimizer.h>
  %include <shogun/optimization/Dummy.h>
  %include <shogun/optimization/FirstOrderMinimizer.h>
  %include <shogun/optimization/lbfgs/lbfgscommon.h>
  %include <shogun/optimization/lbfgs/LBFGSMinimizer.h>

at src/interfaces/modular/Minimizer_includes.i
  %{
   #include <shogun/optimization/Minimizer.h>
   #include <shogun/optimization/Dummy.h>
   #include <shogun/optimization/FirstOrderMinimizer.h>
   #include <shogun/optimization/lbfgs/lbfgscommon.h>
   #include <shogun/optimization/lbfgs/LBFGSMinimizer.h>
  %}

Note that I have to manually add the following lines at src/shogun/base/class_list.cpp
  #include <shogun/optimization/Dummy.h>
  #include <shogun/machine/gp/Dummy2.h>

Python code
inf7=Dummy7()
opt7 = LBFGSMinimizer()
inf7.register_minimizer(opt7) //ok

inf8=Dummy8()
opt8 = LBFGSMinimizer()
inf8.register_minimizer(opt8) //TypeError: in method 'Inference_register_minimizer', argument 2 of type 'Minimizer *'

@vigsterkr
I added these i files ( src/interfaces/modular/Minimizer.i and src/interfaces/modular/Minimizer_includes.i)  in my laptop.
@iglesias
No. These i files are in my local branch. I do not send a PR for adding these i files due to this issue/bug.

It looks like they are in develop
https://github.com/shogun-toolbox/shogun/commit/e36cae74867969986776199178d821941748aa0f

@iglesias
Oh. I forgot that.

@vigsterkr
You can checkout the i files that are used locally.
https://gist.github.com/yorkerlin/bb2a9dc1dc8684dae4cb2913a702f657

@karlnapf
Due to this issue, I cannot update the GPC notebook.
Hopefully, you can help me fix this issue.

@karlnapf
should we reopen this issue?

@karlnapf
@iglesias
I know how to fix this issue now.

see
https://github.com/shogun-toolbox/shogun/pull/3175
I will soon send a PR about the GPC notebook


Controls displaying the results from function call

For some function calls, displaying their results is indeed valuable. We use environment variables to control this.
LLM_TOOL_DUMP_RESULT=1: Dump results from all tools.
LLM_TOOL_DUMP_RESULT_<TOOL_NAME>=1: Dump result from the TOOL_NAME tool.
LLM_AGENT_DUMP_RESULT_<AGENT_NAME>=1: Dump results from all tools of the AGENT_NAME agent.
LLM_AGENT_DUMP_RESULT_<AGENT_NAME>_<FN_NAME>=1: Dump results from the FN_NAME tool of the AGENT_NAME agent.

We are unlikely to support the silence function call log (dimmed text like call <tool-name>/<agent-name:agent-action> <json-data>) because they are too important.
After hiding the log, you won't even know whether the function calling was invoked or not.
To address the issue of the <json-data> text being too large, we could trim it and add an ellipsis.

Hehe ok. Just to explain my use case: I am actually experimenting with creating tools that are themselves specialized aichat roles (with a own set of tools). Cool huh? :) Would love to hear if you have tried anything similar. It was in that context that I wanted to limit the output as much as possible, as I wanted to hide "implementation details" from the calling aichat assistant as to save tokens.
But I have also experienced the function call arguments being verbose when using the assistant directly myself, especially when it is doing write to file.
Being able to at least limit the json-data would be useful (...) . I understand that it is of principal importance to show function call invokations. But perhaps not all the arguments.
But I suppose this also has to be a toggle/setting/env var, as in other context you def want to see all arguments!

Currently, we don't see a need to hide the call logs.
If stdout is not a tty, the call logs and result logs are hidden.


Non blocking client 3

Please briefly answer these questions:

what problem are you trying to solve? (or if there's no problem, what's the motivation for this change?)
Add kv client tests

what changes does this pull request make?

are there any non-obvious implications of these changes? (does it break compatibility with previous versions, etc)

Closed because it is included in #13


Corda configuration file guide on readthedocs is not clear

Describe the bug
The Corda configuration file documentation on readthedocs (docs\source\operations\corda_networkyaml.md) is not quite clear to public.
To Reproduce
Steps to reproduce the behavior:

Go to 'docs\source\operations\corda_networkyaml.md'
The document has a large table which is not very intuitive to understand.

Expected behavior
This document needs to be updated to include snapshots from the actual network.yaml and then describe each parameter with examples.
The snapshots must be grouped as they are in the real network.yaml

This is a good first issue for someone who undestands BAF Fabric configuration file.

Closed by #166


dartdocs from previous versions should be kept

Dartdoc is getting close to landing support for dart-lang/dartdoc#739.   For this to work well with Flutter plugins, there needs to be a way for Dartdoc to link to documentation for specific flutter versions rather than only the "latest" version.  Ideally, this should be done for both master branch builds and beta/release builds, similar to how http://api.dartlang.org works.

@Hixie Yes, based on our conversation I'm not planning to do this until there's demand and/or brokenness pushing us in this direction.


Mediator deployment with REDIS

Deployment of an ACA-Py mediator with REDIS persistent queue plugin.

I've got the new persistent queue mediator tuned and stable. All pods in the mix have very low throttling percentages. 8% and lower for the Redis luster pods, and <1% for the mediator pods. I've also turned down the logging levels on ACA-Py to squeeze as much out of it as possible.  Invite provided to team.
I was getting some decent performance out of it this morning until the Locust container started to fall over.

Since then there's a few thousand more connection records in the secure storage and the performance is lower, but so far fairly stable.

I had to add a second CPU the mediator agent with the introduction of the Redis plugin. Without the second CPU the pod was going over allocation and being throttled over 60% of the time. Following the addition of the second CPU, throttling dropped to under 1%.
Longer run test results:

requests_1685035542.126043.csv
failures_1685035543.9566092.csv
exceptions_1685035544.99205.csv

A little bit of cleanup left to do.

@WadeBarnes I believe this is complete. Can you please confirm/close?

Yes, complete now


JavaFX main window

Still work in progress but good for preview

You are removing the module list?
How do you plan to replace it?

Yes, I switched to lazy module initialization - the instance of each module is created when it is needed. It speeds up the startup a bit. And we will have better control over the main menu, which is now defined in the FXML file: https://github.com/tomas-pluskal/mzmine3/blob/javafxgui/src/main/java/io/github/mzmine/gui/mainwindow/MainMenu.fxml


Refactor BroadcastHubClient

@isuda
Depending on how the code was wrapped BroadcastHubClient could fail to be exposed on window

@isuda

Do not expose BroadcastHubClient on window
Use SockJS Client for browsers

:+1:


Example project using rebar3 hooks to run compiler

https://github.com/purerl/purerl_otp_sandbox

Shouldn't need to use hooks now that rebar3 has a new concept of project builders. This is how mix is supported and should work similarly.

That may be the long term solution but it's considerably easier for me to add this to rebar.config than to learn and implement a project builder
{pre_hooks, [{"(linux|darwin|solaris|win32)", compile, "gleam build ."}]}.


unit test to demonstrate issue-28

see: https://github.com/windicss/svelte-windicss-preprocess/issues/28

check https://github.com/windicss/svelte-windicss-preprocess/releases/tag/v2.3.0


Ruby 2.4 support

Updated unicode range definitions, for full support of the new Ruby 2.4.0 release.
This update means ALL possible examples will be considered for named properties, e.g.
/\p{PropertyName}/.examples

Coverage remained the same at 100.0% when pulling 48fd50d2d4eb6a0f8049b322c2ac8f9038f4e432 on ruby-2.4-support into fac919dd85bc76ae79ea20b549ece3fcbf0b51d0 on master.

Coverage remained the same at 100.0% when pulling 16a0bf5aa97d929d0e86236ea607a6e6b070ed5e on ruby-2.4-support into fac919dd85bc76ae79ea20b549ece3fcbf0b51d0 on master.


Improve coverage by merging coverages from different test runs

Take the workflow from FastAPI as an example: https://github.com/tiangolo/fastapi/blob/e96e74ad36c77273018e87932ad1de7a19aeb67b/.github/workflows/test.yml

Closed. Coverages are now merged by codecov


How to install

this might be a really dumb question but how would one get this on their pc

It's not a dumb question because it's currently janky as I started some work on the master branch but have not continued it.
To experiment with what's in master for server side code, you'll need to use bun, and grab bootstrap.js(https://raw.githubusercontent.com/daaku/dak/main/src/bootstrap.mjs) for preloading:
curl -O https://raw.githubusercontent.com/daaku/dak/main/src/bootstrap.mjs
echo '(console.log :hello-world)' > hello.dak
bun --preload=./bootstrap.mjs hello.dak

ah

i see a lot of potential in this btw, however i recommend adding syntactic sugar like haskell or clojure, maybe even fennel if you wanna look like a similar exolisp


Nominations: !talentpool queue command

This would allow queueing a user to be reviewed next rather than using the autoreviewer. A mod could run !tp q<PHONE_NUMBER>68808962 and that user would be reviewed when the reviewer is next ready, returning to the autoreviewer after the queue is empty.
We should also have a !tp queue clear command to clear the queue, and a !tp queue list command to show the current queue members.

Thoughts on what the best way to persist this queue would be?

Thoughts on what the best way to persist this queue would be?

Can't we use a nomination queue that would be a bot variable ?
This would of course disappear once the bot dies, which I don't think is that impactful, but avoids the complexity of having an external tool.

Redis could work, although it's not ideal to rely on it for persistence. It might be fine for this though, unless there's a nice way we can store it in the site database, not entirely sure how would be best to represent a queue in the database though.

I've made a quick research on how this could be done in Postgres, and I've found quite a good example.
Implementation would only depend on how resilient & precise we want it to be (in terms of consistency & persistence)
Using Redis leverages the fact that we don't need to set up this model & endpoints in our site project if we'd go with having a queue in our DB, but also the fact that it's simpler to implement but would die whenever our Redis instance is restarted/redeployed.

@vivekashok1221 Yeah I think Postgres is probably the way to go, I've assigned you 👍

Thank you Wookie.
Just letting you know, I'll need a few days to address this issue as I have some stuff going on right now.


Improve error recovery for unclosed use tree lists.

Previously, given an unclosed use name::{…} would result in the
entire rest of the file being parsed as part of the use_tree_list,
generating errors on virtually every token in the file. This spew of
errors is unhelpful, can slow down editors, and in the case of emacs
lsp-mode + flycheck (my environment), will cause the editor to stop
displaying errors entirely under the assumption that the checker must
be broken.
We solve this by bailing out of the use_tree_list as soon as we
encounter a token that isn't a , or } between or after items.
This has the downside that we now do a slightly worse job of
recovering from syntax errors inside of a balanced use_tree_list,
for instance, in use std::{thread, , mem}. Previously, we would
report one syntax error and then correct emit a use_tree for mem
and close the list; now we'll bail early and emit errors until the
semicolon, at which point we resync.
This represents a fundamental tradeoff (as best I can tell) in doing
error-recover without lookahead; when we encounter that first parse
error, we have to either guess that we should continue the
use_tree_list, or that we should bail. I believe that bailing is
superior because it avoids the unbounded desync, and because it vastly
improves the common case of adding a new use clause from scratch
near the top of an existing file.
We could potentially improve the other case slightly by discarding
tokens until we find something in ITEM_RECOVERY_SET, which would
reduce the number of errors we spew, but that didn't seem to be a
pre-existing idiom in the code base.

Sadly, I still don't have a lot of time to look into this, but let me quickly write down some notes, without looking into the code.

we try to maintain an invariant that for any parse tree {}pairs form the right parse sequence. That means that { and the corrsponding } always are first and last child of the same parent.
the reason we want this invariant is to enable simple heuristic for incremetal reparsing -- as long as the user typed anything which has {} balanced, it's always safe to reparse only the parent {} block
we however have troubles with enforcing this invariant -- we have another pair of delimiters, which is even more strong than {} -- invisible parenthesis (L_DOLLAR & R_DOLLAR) from macro expansion. We def hit bugs where dollars and {} conflicted with each other, but I don't remember details now.
I am actually not sure that, for incremental reparsing, the said invariant is required/sufficient

So, to unblock progress here we need:

to figure out what invariants we actually want
document them
add required asserts for checking them
ideally, add fuzzy/property tests for them

Urgs, sorry for still not getting back to this. This is super-important, but sadly I don't seem able to carve out the time to cleanup the parser. I'll close this PR, but I definetelly won't forget about it, and come back once I start with fixing the paresr :(


Typo under Modify the event handler

I think there's a typo. Under Modify the event handler, Step 1 asks us to open MainPage.xaml.cs. I believe this should be MainWindow.xaml.cs

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

ID: 6dfd5474-49ef-be76-4267-4b1f72692865
Version Independent ID: 6dfd5474-49ef-be76-4267-4b1f72692865
Content: Tutorial: Create Windows App SDK Apps with Visual Studio & C#
Content Source: docs/get-started/csharp/tutorial-wasdk.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @anandmeg
Microsoft Alias: meghaanand

Duplicate of #9672


Unit test that simulate a 500 block reorg

This will also fix the failing tests we had til now

Tried to run the test, but no luck for about 5 minutes (still running). How long is it supposed to run?

Test can run for a while  as it needs to mine 500 blocks, maybe we can make the mining more efficient

OK, it finished after 7 minutes, which is little long, but maybe OK. However, the test passed, which I don't like :-) I would like the test to fail actually until the CheckSync feature is implemented correctly.

We can maybe make it pass faster by making the reorg threshold configurable, we then set it to a lower number and mining less blocks to prevent the reorg

Yes that is a good idea, we can test with 50 instead of 500.

OK, so I've read the whole test now and I think I understand it +-. So yes, it actually tests the behavior that we would like to prevent - at the end this test ends up with all 3 guys synced on the same chain, but we would like two different forks to be there at the end and the nodes diverged forever exactly because the long reorg would be prevented. But fair enough, it gives me enough clues to start with on fixing PR 492.
So in general I'd like to ask you to modify the test accordingly:

use PosConsensusOptions.MaxReorgLength and set it to some lower value, say 25 blocks to have this test finished in much reasonable time (within 30 seconds)
generate those two forks as you do with length of something more than PosConsensusOptions.MaxReorgLength
actually test that the tested node does not accept the longer chain from reorg node and that it considers itself as fully synced

So, I've been testing this a little bit and the test does not use Stratis at all. It rather uses Bitcoin. PosConsensusOptions don't seem to be available and when the blocks are accepted, PosConsensusValidator is not used at all.
The long reorg prevention should only be implemented on Stratis only, so this test should reflect that. Currently, the test is not very useful, as I hoped, for the development of that feature because those nodes are not running on Stratis network.

Also the PR's description should contain Fix #493 because that is what it aims to do.

Ah right the reorg prevention is the POS validator hmm..
We can simulate this, with the pow part of the pos validator, however it will be hard to run a stratis node,
Let me revisit this test and try it to use the POS network.


Windows error codes differ from the UNIX once.

When I am compiling under unix I push all the error codes into enum in C#.
Now I went back to windows and tried to run libuv and found out that the error codes all differ (I guess they use the native once?).
This is very unhandy for FFI bindings, since the error codes will differ on all system (I guess the only difference being on Windows and UNIX systems). Nevertheless, I need to keep now 2 sets of error codes, windows error codes and UNIX error codes.
It did work before as far as I recall (the Windows error codes were probably mapped to the UNIX error codes).
I don't know what to do. Should I create another set of error codes in my C# project so I can use them accordingly under the different systems? Or maybe a libuv function which translates them to UNIX error codes?

Error handling changed between 0.10 and 1.x: https://github.com/libuv/libuv/commit/3ee4d3f183331a123ce35edd0d32268a2bb22aa5
Previously we had our own error codes defined and mapped both Unix and Windows errors to them. Now Unix errors are basically -errno and Windows is just a custom defined set of them.
Now, does C#'s FFI load incomplete enums? If so, you could load this one: https://github.com/libuv/libuv/blob/v1.x/include/uv.h#L172-L177
Python's CFFI and luaJIT's seem to be able to do so. The alternative would be to define the 2 sets of errnos, but I'm afraid there might be some not-so-standard ones that vary across Unixes.

I use a script https://github.com/txdv/LibuvSharp/blob/master/generate.c#L8-L16 to create the errno enum. Now the integer values of fields on windows differ on Unix and Windows.
EAGAIN on windows is -4088 or something(can't check, since changes are at home) while on UNIX it is -11.
How is Pythons CFFI and luaJit handling it?

I use a script https://github.com/txdv/LibuvSharp/blob/master/generate.c#L8-L16 to create the errno enum. Now the integer values of fields on windows differ on Unix and Windows.
EAGAIN on windows is -4088 or something(can't check, since changes are at home) while on UNIX it is -11.

I know, that's intentional.

How is Pythons CFFI and luaJit handling it?

No idea, you'll have to dig into those tools...

Can you link me to the projects? I can search them myself but maybe you know the links directly out of your memory.

http://cffi.readthedocs.org/en/latest/ there are no markers, so search for "enum".
Also http://luajit.org/ext_ffi_semantics.html

Well I don't understand what you want me to search for. This is some generic FFI documentation, not a specific ffi binding for libuv. I mean, the values of the error messages are ultimately encoded in the C headers. Using FFI one won't be able to access them, so assigning a meaning to them if the error codes differ on various systems is impossible.
So if I get an error message and I want to check whether it is an EAGAIN, I currently need to to get the uv_strerror and check whether the string is equal to  "resource temporarily unavailable" ...

Well I don't understand what you want me to search for. This is some generic FFI documentation, not a specific ffi binding for libuv. I mean, the values of the error messages are ultimately encoded in the C headers. Using FFI one won't be able to access them, so assigning a meaning to them if the error codes differ on various systems is impossible.

Python's CFFI module can use a compiler to "fill in the blanks", in the verify phase. As I said, I haven't looked at how it works internally.

So if I get an error message and I want to check whether it is an EAGAIN, I currently need to to get the uv_strerror and check whether the string is equal to "resource temporarily unavailable" ...

No. You can use http://docs.libuv.org/en/v1.x/errors.html#c.uv_err_name and you'll get "UV_EAGAIN" back. That's what luv does, for example: https://github.com/luvit/luv/blob/master/src/util.c#L42-L49

I didn't notice that this one exists, that will be good enough for me.

How is Pythons CFFI and luaJit handling it?

They have a built-in minimalistic C parser and preprocessor.

I don't have that luxury, I am dependent on what my the C functions give me. But they give me enough - I totally forgot that uv_err_name exited, which is enough!


selenium webdriver connection

CONTAINERMODE : webdriverio
WEBDRIVERIO_URL : my_link
WEBDRIVERIO_PROFILE : botbuilder_webchat_v4
WEBDRIVERIO_START_SELENIUM : true
WEBDRIVERIO_START_SELENIUM_OPTS : {
"drivers": {
"chrome": {
"version": "74.0.3729.131"
}
}
}
WEBDRIVERIO_OPTIONS :  {"desiredCapabilities": {
"browserName": "chrome",
"platformName": "Windows 10"
}
}
I have set all these capability in botium box but when I am connecting it to the bot it is showing the error "Chatbot connection failed - not found: java". why is this error coming?

Obviously, there is no Java VM installed.

and it should only be installed in the system right or is there any capability we have too set to make it work?

Java has to be in the PATH as well - so when you are opening a command line window and writing "java", then Java should get executed - if not, then Botium won't work as well. JRE is ok, you don't need JDK.
Did you follow the preparation steps from the instructions ? https://github.com/codeforequity-at/botium-connector-webdriverio

yes I have followed the same steps on given link.
JAVA is set in the PATH - when I am typing java in cmd, it is getting executed. I don't know what is the problem.

java is there and is set in the path.

the following capabilities are set:
CONTAINERMODE : webdriverio
WEBDRIVERIO_URL : my_link
WEBDRIVERIO_PROFILE : botbuilder_webchat_v4
WEBDRIVERIO_START_SELENIUM : true
WEBDRIVERIO_START_SELENIUM_OPTS : {
"drivers": {
"chrome": {
"version": "74.0.3729.131"
}
}
}
WEBDRIVERIO_OPTIONS : {"desiredCapabilities": {
"browserName": "chrome",
"platformName": "Windows 10"
}
}

selenium is running in the command line port 4444.

Is there anything else which I have to set? port 4444 is to be set anywhere?

Try to run an own Selenium Server, and set the capabilitiy WEBDRIVERIO_START_SELENIUM to false.

i set WEBDRIVERIO_START_SELENIUM to false. I am getting
"Chatbot connection failed - connect ECONNREFUSED <IP_ADDRESS>:4444" error

Yes, because you have to run a Selenium server. Please try to make Selenium work on your workstation first before trying to run Botium.

and I tried with phentom also by setting capabilities:
WEBDRIVERIO_START_PHANTOMJS : true
WEBDRIVERIO_START_PHANTOMJS_ARGS : --webdriver=4444
phentom is running is command prompt.
I am getting  "Chatbot connection failed - spawn /app/server/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs ENOENT" error.

own selenium server meaning?
i have run the following command to install selenium server

git clone https://github.com/codeforequity-at/botium-connector-webdriverio.git
npm install
npm run selenium-install
npm run selenium

ok, to be honest, I have no idea why there is no JVM available when you are trying to start the selenium server. There are a lot of possible reasons for it, and no one of them is specific to Botium. Maybe the guys at https://github.com/vvo/selenium-standalone have more experience with this kind of problems, this library is included by Botium for convenience.

Hi, I have same problem. I tried to setup my own Webdriver.io through Botium Box > Chatbots > Register new chatbot. I've filled every field required and tried to run bot in Live chat but got error about WEBDRIVERIO_OPTIONS. So I edited   botium.json from sample and used Import/Export tool on Chatbots page. Now when I try to run Live chat, all I get is  "Chatbot connection failed - not found: java".

Botium Box is not meant to be used as Selenium server, that's why there is no JVM included in the current build. You should setup your own Selenium server, install your required browser drivers there, and then connect Botium Box to it (in Settings / Device Providers) - documentation on this is coming very soon.
Live Chat is currently not supported with Webdriver chatbots - but you found a workaround by manually adding the required capabilities currently missing from the Live Chat :-)

I tried to run Live chat, because when I have Webdriver Bot in Test Project and I tried to run tests with Integrated PhantomJS I got error: "Job failed: Error: spawn /app/agent/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs ENOENT". Thanks for clarification.


"not a dynamic executable"

Hello
Do you plan to add the possibility of building a portable application?
--ldflags '-extldflags "-static"'

I've added provisional support for building against a static PHP 7.x library, but am still fixing some issues with receiver bindings. The plan is to build a binary distribution of go-php that doesn't require building or downloading the PHP library.

Thank you, but
/dev/go/src/php$ ldd php
	linux-vdso.so.1 (0x00007ffea81fa000)
	libphp7.so => /usr/lib/libphp7.so (0x00007fa2f84a9000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa2f82a5000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa2f7fa4000)
	libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fa2f7d3a000)
	libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fa2f78d6000)
	libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007fa2f768c000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fa2f7475000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fa2f7207000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fa2f6fec000)
	libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fa2f6c85000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa2f6a68000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa2f66bd000)
	libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007fa2f6486000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa2f627e000)
	libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fa2f6066000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fa2f8ba4000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fa2f5e3c000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fa2f5c19000)

if build
alex@NFS:~/dev/go/src/php$ go build --ldflags '-extldflags "-static"'
# php
/home/alex/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: cannot find -lphp7.0
/tmp/go-link-026755085/000002.o: In function `_cgo_7a2d42f1a351_C2func_getaddrinfo':
/tmp/workdir/go/src/net/cgo_unix.go:66: warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
collect2: error: ld returned 1 exit status

Please, could you describe process of building a static application?
Debian 8

aptitude install libphp7.0-embed php7.0-dev
go get github.com/deuill/go-php
write a test application.
if go build - ldd not return "not a dynamic executable"
if go build --ldflags '-extldflags "-static"' - return error

And another question, you do not make it possible use a custom php.ini?

If you're building against Debian, you can build using the following:
go build -tags "php7 debian"

You do not need to pass in --ldflags '-extldflags "-static"' etc. By default, Go produces static binaries, but can only statically link against C libraries provided as .a files (which libphp7.0-embed is not).
You can, however, build PHP as a static binary yourself and try to build with:
go build -tags "static"

There are some issues with receiver bindings when statically linking, a bugfix is underway.

Well thank you.
However, please review this information at these links:
_Statically compiled Go programs, always, even with cgo, using musl
https://dominik.honnef.co/posts/2015/06/go-musl/_
_Compile statically linked with musl as an alternative to the non cgo version
https://github.com/hlandau/acme/issues/113_
And yet, if the php is compiled with flags:
--enable-embed=static
--enable-shared=no
--enable-static=yes
we will get libphp7.a
By the way, I did not succeed to build go-php  from source https://github.com/php/php-src
And I was able to compile php fully static binary, but so far with basic modules.
Screen from Debian 8

Built in alpine linux

cat configure.sh
#!/bin/bash
./configure LDFLAGS=-static
--prefix=/opt/php7
--with-config-file-path=/opt/php7/etc
--without-pear
--enable-shared=no
--enable-static=yes
--disable-all
--disable-opcache
--disable-cgi
--disable-rpath
--disable-phpdbg
Fix Makefile
BUILD_CLI = $(LIBTOOL) --mode=link $(CC) -all-static $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS_PROGRAM) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_CLI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $(SAPI_CLI_PATH)
$ cc -v
Using built-in specs.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-alpine-linux-musl/6.3.0/lto-wrapper
Target: x86_64-alpine-linux-musl


fix(sonar): use oauth for git clone

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Typo - default I2C SCL pin was DEFAULT_SDA_PIN but should have been DEFAULT_CLK_PIN

https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/I2C.cpp#L29
should be DEFAULT_CLK_PIN

Thank you my friend.  That was bad :-(
The fix has been entered and committed.  MANY thanks for reporting.

Closing for just now.  If needed, don't hesitate to re-open.


implement array operations methods and simple login system

I implemented methods for each array operation and stored them in their own static class named 'Arrays'. For each of the method in the 'Arrays' class I created an correspondent in the 'Demo' class to demonstrate and test that the methods work correctly.
While I was working on this I discovered how to create XML comments and wrote them for the 'Arrays' class.
For the last part of the homework I created another project called 'LoginSimulator' in which I implemented two methods: one to prompt user for the name and password without showing pressed keys and the other to test credential against stored one.
LE:
I updated the logic for the 'Sort' method to use 'Merge Sort' algorithm, before I used 'Bubble Sort'. Like with the other methods I found the need to test it with different data and in different scenarios so I decided to delve a bit in to unit testing.
The framework I chose is xUnit.
LELE: found out that triple A is not just for battery's 😄

Thank you very much for the detailed review. I really appreciate the feedback you have given me.


Fix warning

Assigning to 'id<CAAnimationDelegate> _Nullable' from incompatible type 'JNWAnimatableWindow *const __strong'
This warning appeared in my own project, too, after including this library via CocoaPods.

Thanks!


Do some visualisation of Economic Skills Survey

https://www.gov.uk/government/statistics/employer-skills-survey-2022

@gilesdring do we need to chat about this? Looks like we could take it into consideration building out the education page so will leave open for now


How to remove everything but the web page content area?

I'd like to make the page full screen, disable F11, and not show the Chrome is being controlled by automated test software notification.

I can get the fullscreen part via:

      options = Marionette.chrome_options(args: ["start-fullscreen"])
      session = Marionette::WebDriver.create_session(:chrome, exe_path: webdriver_path, capabilities: options)

I'm not sure how to disable F11.

This link looks helpful for removing the Chrome is being ... part, but I'm not sure how it translates to marionette:

https://help.applitools.com/hc/en-us/articles/360007189411--Chrome-is-being-controlled-by-automated-test-software-notification

This is a little outside the scope of this project as an automation tool, however if you can figure out how to do the things mentioned please feel free to explain here as it could be helpful for other people.

So this is actually possible using the chrome_options(experimental_options) argument. Here's an example:
options = Marionette.chrome_options(experimental_options: {"excludeSwitches" => ["enable-automation"]})
session = Marionette::WebDriver.create_session(:chrome, capabilities: options)
# ...


opentelemetry-instrumentation-nestjs-core - kills the ability to define interceptors on the handler level

What version of OpenTelemetry are you using?
0.25
What version of Node are you using?
16
What did you do?

Adding the opentelemetry-instrumentation-nestjs-core creates a scenario where using the
@UseInterceptors(WHAT_EVER) on the handler level (meaning a method), doesn't work! Those were 11 hours of evil debugging.
What did you expect to see?
What did you see instead?
Additional context

I see that metadata assigned with the decorator also gets messed up.
export const isPublicMetaDataKey = "isPublic";
export const Public = (): CustomDecorator<string> => SetMetadata(isPublicMetaDataKey, true);

if I have Public() on a handler, this.reflector.get<boolean>(isPublicMetaDataKey, context.getHandler()); doesn't get the value.

Still not working

i think https://github.com/open-telemetry/opentelemetry-js-contrib/pull/796 should have fixed this and similar issues

@danshapir can you confirm that this is fixed by #796 ?


Windows-to-raspi blockchain COPY over SCP is capped at 4.2Mb/s

It seems the copy speed is capped at 4Mb/s (max 4.2Mb/s) using the GIT bash terminal. My LAN is Gigabit and my Raspi hardware is RPi4 4Gb, Samsung 1TB Plus SSD and UGreen USB3 enclosure (the recommended SSD and enclosure). Is there a reason the copy is so slow and what should I do to speed it up? Is the USB bus speed restricting this?

Hi
I'm copying right now over windows7 shell (pscp in command line) im averaging 8000kb.s on gigabit wired.
Rpi4/4g and samsung T5 1gb ssd on USB3 port.
I dont know what the limiting factor is, but it's a bit faster over here, but could be 4, 5x faster.

thanks for your answer. I have an update after googling and finding issues around SCP slowness and windows restrictions. I hence installed WSL2 for Windows 10 with the full Ubuntu Linux Kernel and re-flashed raspiblitz SD card and SDD. Now I ran the setup via the Ubuntu WSL (Windows Terminal) and this time ran the rsync command and now it is copying with ~73Mb/s! Perhaps this can be added in the setup docs as a good solution for Windows 10?


Update invoice_template.py

Allow banned_keywords in templates

Thanks. Looks good and will likely work. Could you also add a test case and sample template?
And cosmetic stuff: one of the lines is quite long. Should be <80. And you can probably make the code simpler by adding an empty list of banned keywords by default instead of one extra check?

The same or very similar feature has been implemented in the https://github.com/invoice-x/invoice2data/pull/330

True. Closing this, since it's resolved by #330.


Declarations+jsDoc for Enumerator, VBArray

Addresses #2740

@DanielRosenwasser When wrapping, how many characters per line, more or less?

i usually do 100

@DanielRosenwasser  @mhegazy RE: newlines -- before each member, or only before each type/declaration (interface,declare var)?

The spacing looks perfect @zspitz.

Fixed @DanielRosenwasser  @mhegazy

:+1:

Thanks!