500 at front ( hosts/manage ) page but all other pages working fine

What version of fleet are you using (fleet version --full)?
/ # fleet version --full
fleet - version 2.0.0-rc5
branch: 	modify-user-auth
revision: 	dab8f21d973f81ea455625b975fc8fd99778c5ec
build date: 	2018-09-18T18:57:45Z
build user: 	zwass
go version: 	go1.10.2
What operating system are you using?
We are on OEL 7.5.
What did you do?
We have first experienced the issue on 1.0.8 (in docker) and we performed docker image upgrade to 2.0.0 and ran "fleet prepare db". But still seeing the same behavior.
What did you expect to see?
Working and healthy host page.
What did you see instead?
500 on hosts/manage but all other pages are working fine and ok to even run the queries.
Additional info, not sure if it's related, but we got this error while running api against hosts:
$ curl -X GET https://kolide.iad.ssvcs.ocp.oraclecloud.com/api/v1/kolide/hosts -H “Authorization: Bearer ${API_TOKEN}”
{
“message”: “Unknown Error”,
“errors”: [
{
“name”: “base”,
“reason”: “select nics for hosts, rebound query: Error 1390: Prepared statement contains too many placeholders”
}
]
}

Thanks for reporting this. It looks like the root cause of this is the lack of pagination in the browser UI. This causes the backend to run a query with too many hosts explicitly specified.
There is support for server-side pagination, but we don't currently have the resources to get this implemented in the frontend.
I do have a couple of ideas that I will look into for how we might be able to fix it in the backend.

If you want to hit the hosts API, you can add the paging parameters yourself like
curl -X GET https://kolide.iad.ssvcs.ocp.oraclecloud.com/api/v1/kolide/hosts?per_page=100&page=2 -H “Authorization: Bearer ${API_TOKEN}”

Nice, Zachary, thanks for the quick fix.
When will the new build come out to the docker image?

Hi Zach,
Here is the summary:
Pulled down e6f4dd54 at https://hub.docker.com/r/kolide/fleet/tags/ and tested again. Pagenation works with API, but without using it, it runs for some time and then giving 502 bad gateway.
`# curl -X GET https://kolide.iad.ssvcs.ocp.oraclecloud.com/api/v1/kolide/hosts -H “Authorization: Bearer ${API_TOKEN}”

502 Bad Gateway

502 Bad Gateway

`
Also, at UI, it doesn't show 500 at hosts/manage, it is still trying very hard to render all hosts.
As a user, I suggest the followings...

Not to pull all hosts on the landing page. I am really not quite care to see all the hosts at first anyway.  =)
However, showing number of hosts in different status is very important to me.
If I want to get the list of hosts in certain status, I will click on that and it will bring me to the query page with actual query, "all hosts" pre-occupied values and leads me to hit the RUN button.
Since I am familiar on running queries will take time, I will be patient and wait for it to finish.

We love osquery and kolide fleet! Our host counts are in really large-scale, I think we can partner together and test out your new features.
Hope this help you guys, thanks!
Keith


zsdl: PixelFormat assertion failure

Trying to use PixelFormat produces the following error:
error: reached unreachable code
    if (!ok) unreachable; // assertion failure
             ^~~~~~~~~~~
libs/zsdl/src/zsdl.zig:328:19: note: called from here
            assert(@TypeOf(order) == BitmapOrder);
            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
libs/zsdl/src/zsdl.zig:345:31: note: called from here
    index8 = definePixelFormat(.index8, 0, 0, 8, 1),
             ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~

To reproduce put the following in any code that uses zsdl:
var pixel_format: sdl.PixelFormat = undefined; // This could be any value
_ = pixel_format;

Tested with Zig 0.11.0-dev.3395+1e7dcaa3a
@Jack-Ji any ideas? Did this work before?

PR #315 has been created to fix the issue.


[TEST] Showcase Submission for ml5/6-train-your-own-neural-network/4-regression

Thank you Dipam Sen for your contribution! A member of the Coding Train team will review it shortly.

TEST SUBMISSION
Dipam Sen

#1439


RELATED: RAIL-3086 Remove package links from version index

Build succeeded (check pipeline).

Sonar scan result

No new bug found. Congratulation!

More detail, see in https://sonarqube-dev.intgdc.com/dashboard?id=gooddata-ui-apidocs-gate-PR3

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/compliance/job/gooddata-ui-apidocs-fossa-scanning-zuul-el7/9/ : SUCCESS in 48s (non-voting)
https://checklist.intgdc.com/job/compliance/job/gooddata-ui-apidocs-sonarqube-scan-zuul-gate/14/ : SUCCESS in 51s
https://checklist.intgdc.com/job/compliance/job/gooddata-ui-apidocs-merge-compliance-check/9/ : SUCCESS in 20s


Bump: :lang ruby +rails

Updating to https://github.com/asok/projectile-rails/commit/6a18ada3566ab2cb795129e3dfca2a32cc413fb8

hey! bump commits need to follow a specific template, see here


Fix fully deprecate optimizer.compute_gradient #157

@googlebot I signed it!

Two things:

Maybe we merge this effort with #207? Looks like that one's further along
Agree that automatically testing the examples would be great. That being said...I'm downloading imagenet for the first time and...I can see why imagenet isn't automatically tested! @avital: did you have something else in mind for testing some subset of the imagenet example?

Maybe we merge this effort with #207? Looks like that one's further along
I agree. This PR looks stale (and incorrect as it currently stands). Let's close and push on #207 instead.

Agree that automatically testing the examples would be great. That being said...I'm downloading imagenet for the first time and...I can see why imagenet isn't automatically tested! @avital: did you have something else in mind for testing some subset of the imagenet example?
All TFDS datasets come with a way to generate fake data of the same shape, dtype (and maybe data distibution? not sure about that one) so that would allow us to test one step of our model with the same data preprocessing, but without the dataset. We could also use smaller hyperparameters (e.g. batch size) to make sure they run on CPU.

Maybe we merge this effort with #207? Looks like that one's further along

I agree. This PR looks stale (and incorrect as it currently stands). Let's close and push on #207 instead.

Agree that automatically testing the examples would be great. That being said...I'm
downloading imagenet for the first time and...I can see why imagenet isn't automatically tested! @avital: did you have something else in mind for testing some subset of the imagenet example?

All TFDS datasets come with a way to generate fake data of the same shape, dtype (and maybe data distibution? not sure about that one) so that would allow us to test one step of our model with the same data preprocessing, but without the dataset. We could also use smaller hyperparameters (e.g. batch size) to make sure they run on CPU.


Engine registration and custom options

This was originally part of #151. The short version is that this adds a register function to allow third-party database engines to be registered as URL schemes. It also lets you pass any DATABASES setting options through config/parse (see #116 for example).

This is a breaking change in terms of the backends registered by default. I'm only registering the backends in Django itself, so no Redshift, Cockroach, MSSQL, etc. I could be convinced otherwise, but my thought was we probably want to get out of the business of blessing third-party database engines and just make it as easy as possible for people to use whatever they like.
I should mention, my original intention was to fork the project, so I hadn't written any documentation for this yet. I'm (obviously) inclined to merge this, but would love a second set of eyes on it. I'll also work on corresponding updates to the README to document the registration process, and the breaking change above.

@dcwatson  thanks for the submission, we have had two very similar yet competing PRs come in within a couple of hours of each other. Can I direct you to #171  and see if the changes you made can work along side this PR.
📓 I have put a similar message on #171


CLUSTER constraint validation error with Marathon 1.3.x.

We (@amitbose327 and @miroswan) where currently running Marathon 0.15.3 and wanted to upgrade to Marathon 1.3.6 ( currently the latest).
After upgrading to the latest Marathon version (1.3.6) and tried a new deployment, faced an HTTP Status Code 422 and any other operation (Scale, Kill, Delete) also returned the same status. Here is the error I was getting:
{"path":"/apps(8)/constraints","errors":["Missing value"]}
,
{"path":"/apps(18)/constraints","errors":["Missing value"]}
,
{"path":"/apps(13)/constraints","errors":["Missing value"]}
,
{"path":"/apps(10)/constraints","errors":["Missing value"]}
]}

The request body I was sending had no Constraint field in it. Started looking at Marathon code for 1.3.6 release and found: https://github.com/mesosphere/marathon/blob/v1.3.6/src/main/scala/mesosphere/marathon/state/AppDefinition.scala#L717-L722.
I found a few applications that did not have rvalues set for the CLUSTER when running a TCPDUMP. Also validated this via the v2/apps Marathon endpoint. These applications where deployed previously (when Marathon did not have the constraint validation code).
After the upgrade, this validation caused issues for ALL of the applications in the cluster instead of just the misconfigured applications. Tried deleting the misconfigured apps, but couldn't make adjustments to the applications in the cluster, as the "Object not valid" message was always thrown.
Since we understood which error in the new Marathon code was causing the problem, we decided to move back to the last version (v1.1.5) that did NOT have this validation in it causing the exception. This did the trick.
To conclude, if I have some apps that where already deployed earlier (pre Marathon 1.3.x) that do not satisfy the CLUSTER validation check, after the upgrade to 1.3.x I see the "Object not valid" error when I try any operation (PUT, DELETE, etc) with any other app, that does not have any validation problem.

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-4802. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-4802. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.


fix(react-router): clone ViewItem when a location change returns a ViewItem already in the history (#19891)

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[X ] Build (npm run build) was run locally and any changes were pushed
[X ] Lint (npm run lint) has passed locally and any fixes were made for failures

Pull request type

Please check the type of change your PR introduces:

[X ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?
 does not manage routes where the match contains wildcards. the page would not be added to the navigation stack if a page matching the same route already exists.
Issue Number: 19891
What is the new behavior?
See issue description, changes are described in comment 3
Does this introduce a breaking change?

[ ] Yes
[x] No

@elylucas: do you think this pull request (or any other viable fix to #19891) will be included in the next release?
Thanks,
Marco


Update InMemoryAccountRepositoryTest.java

Prevent "Failed to retrieve PlatformTransactionManager for @Transactional" exception

When I run a clean gradle build from the root, I don't see that exception. The transactions work for me. Please send more details.


init.py is empty

the function names should be listed in the init.py
e.g. https://github.com/stnava/siq/blob/main/siq/init.py
this makes them accessible to the user.

fixed


Create Census data mirrors in the top 3 most used geographical locations

Related and blocked by chanzuckerberg/single-cell-analytics#121, once it is completed the Census data should be mirrored to the top ~5~ 3 most used geographical locations.
Please start with this order:

[ ] eu-central-1
~- [ ] us-east-1~
~- [ ] ap-east-1~

@pablo-gar - this seems resolved for now, in that there are no active plans. Can we close this?

Some updates on this from recent discussions:

Still something we want to do, no real date yet
AWS open data has geographical mirrors for some projects, see s3://registry.opendata.aws/roda/ndjson/index.ndjson
Maybe we can use route 53 to automatically redirect people to the correct bucket?


Resolving paths on Windows - Crosspost gogo-protobuf

I have a problem with mapping files on Windows.
https://github.com/gogo/protobuf/issues/251#issuecomment-272939521
This topic lead me here.
If I have imports that are mapped with the "M" setting, like so:
go_out=Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types
This works nice on *nix systems.
But the file will not be found on Windows.
I have verified that the file is indeed at the location specified, but I still get the error when trying to generate.
Currently I solved this by introducing a "google/protobuf" folder in one of the protopath folders.
And placed the relevant protos in there.
I do suspect this is a matter of / vs \
Anyone else having problems with this?

The error message is:
GOPATH is C:\projects
C:\projects\src\github.com\AsynkronIT\protoactor-go\actor>protoc -I=. -I=c:\projects\src --go_out=Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types,plugins=grpc:. protos.proto
google/protobuf/any.proto: File not found.
google/protobuf/descriptor.proto: File not found.
github.com/gogo/protobuf/gogoproto/gogo.proto: Import "google/protobuf/descriptor.proto" was not found or had errors.
github.com/gogo/protobuf/gogoproto/gogo.proto:37:8: "google.protobuf.EnumOptions" is not defined.
github.com/gogo/protobuf/gogoproto/gogo.proto: "google.protobuf.EnumOptions" is not defined.
github.com/gogo/protobuf/gogoproto/gogo.proto: "google.protobuf.EnumOptions" is not defined.
github.com/gogo/protobuf/gogoproto/gogo.proto: "google.protobuf.EnumOptions" is not defined.

By adding another proto path solves the issue
protoc -I=. -I=%GOPATH%\src\github.com\gogo\protobuf\protobuf -I=%GOPATH%\src --gogoslick_out=Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types,plugins=grpc:. protos.proto
e.g. -I=%GOPATH%\src this makes it all resolve the protos included from within the Any.proto.


fix: useScript missing script API's return in proxy

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Calling the script library via use option has no return value
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

This is great, thank you @wckgo. I'll try sort out a release in the next couple of days.


^[ symbol when pasting code from editor into internal IPython console

When I copy multiple lines of code from the editor and paste it into an IPython console in Visual Studio Code, a ^[ is added between each line of code. Copy-pasting two lines of Python code will reproduce the problem. See the screenshot below. When I paste into an external IPython console I started through command prompt, I see a ^M (carriage return?) after every line of code, but in that case the code can still be run.
I also opened an issue in vscode github but it was marked as related to an extension, hence opening it here.
Environment data

VS Code version: Code 1.37.0 (036a6b1d3ac84e5ca96a17a44e63a87971f8fcc8, 2019-08-08T02:33:50.993Z)
Extension version (available under the Extensions sidebar): Python 2019.8.29288
OS version: Windows_NT x64 10.0.17763
Python version (& distribution if applicable, e.g. Anaconda): Anaconda Python 3.7.3
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Relevant/affected Python packages and their versions: IPython 7.4.0
Jedi or Language Server? (i.e. what is "python.jediEnabled" set to; more info #3977): python.jediEnabled set to true

Expected behaviour
The lines are copied and pasted in a way that allows the code to be run after pressing Enter.
Actual behaviour
^[ is added between each copied line.
Steps to reproduce:

Select multiple lines and copy (ctrl + c)
Place cursor in an internal IPython console
Paste the selection (ctrl + v)

The VS Code bot is actually wrong and this has nothing to do with the extension. I would either reply back there disagreeing with the assessment or open another issue there without mentioning that it's specifically Python code.


Create new edition drafts lazily

After trying out creating new draft editions as soon as the user clicks on the
"Create new edition" links  we decided not to use this approach anymore because
views needed to be aware of the current state of the latest edition and show
either a link or a form button. This makes view code more complicated and is
hard to style consistently.
Moving the logic deeper into the back-end makes the code simpler and more
robust (e.g. validations at the model level).
Gotcha: this creates a chance for unlikely race-conditions i.e. if two content
designers click "Create new edition" links at the same time, they will each
create a new draft edition on clicking "Save Draft". This should not be a big
problem as both editions will be visible in history, but only the latest
edition will be editable. Also, publishing-api should soon implement optimistic
locking that would eliminate this problem.

lg


Refine HTML on signup, login, and profile pages

As a user, I want the HTML on each page to be accurate and clean.

link headers
fix profile placeholder icon
adjust sizes of text boxes


shards install not grabbing md5

in lib/pg/src/pq/connection.cr:2: while requiring "crypto/md5": can't find file 'crypto/md5' relative to '/root/cpomf/lib/pg/src/pq'
require "crypto/md5"
the crypto/md5 is not under the lib folder compared to the rest of the things shards installed
running a new version of Crystal compared to Crystal 0.20.4

https://github.com/crystal-lang/crystal/tree/master/src/crypto
md5 is missing from the newest one so might be why

we're currently running Crystal 0.20.4 without any issues; but we'll likely try to update to a newer Crystal version in the near future.
in the meantime i'd recommend just running Crystal 0.20.4, or submitting a pull request.

Switched to Crystal 0.20.4 and had to get shards and it compiles now


Can´t get AL working in VSCode following instructions

On my VM, following this: https://msdn.microsoft.com/en-us/dynamics-nav/newdev-get-started
I can't even do:
2) Type AL: Go (case-insensitive) and select a project folder.
AL: Go does nothing.
EDIT: on other link I see this:

– Getting started in VS Code has been streamlined. Once you’ve installed the visx file, just enter AL: Go! in the command palette (Ctrl+Shift+P) and you’ll be offered a new folder to build a solution in. The preset values are configured for your Azure Gallery instance and if you’re missing the symbols for the project, VS Code will offer to download them for you. Note, we’ve introduced a shortcut for this too – Alt+A, Alt+L. Enjoy!

Where can I get that visx file??

We have seen this a few times if the VM didn't initialize properly. I suggest that you recycle the VM and give it 10-15 minutes before you log in for the first time.

Thanks @StanislawStempin, I did that and now it worked.


⚠ Bofrost.at has degraded performance

In c6c4031, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1494 ms

Resolved: Bofrost.at performance has improved in a2446c5 after 6 minutes.


CONFIG_USB_DEVICE_NETWORK_RNDIS Memory and Stack Overflow Issues on nrf52840 and nrf5340

Background
The CONFIG_USB_DEVICE_NETWORK_RNDIS configuration option enables the USB Remote Network Driver Interface Specification (RNDIS) in Zephyr. This allows a device to appear as a network adapter when connected to a host computer via USB. This functionality is crucial for devices that need to transfer data over a network connection using USB.
This task focuses on resolving memory and stack overflow issues that occur when CONFIG_USB_DEVICE_NETWORK_RNDIS is enabled and the device is subjected to some network traffic. Specifically, we're seeing these issues arise during a 15-minute ping test with 1400-byte packets (ping IP -s 1400).
Problem
When the CONFIG_USB_DEVICE_NETWORK_RNDIS option is enabled and the device is under a light network load (e.g., a long ping test with large packets), it experiences memory and/or stack overflow issues. This can lead to:

System crashes
Unreliable network connectivity
Data loss

This problem impacts users who rely on the RNDIS functionality for stable and reliable network communication over USB.
Goals

Identify and resolve the root cause of the memory and stack overflow issues. This may involve analyzing memory usage, examining stack traces, and reviewing the RNDIS implementation in Zephyr.
Ensure the system remains stable and responsive under sustained network load. The device should be able to handle a 15-minute ping test with 1400-byte packets without crashing or experiencing significant performance degradation.
Optimize memory and stack usage within the RNDIS implementation. This may involve reducing buffer sizes, improving memory management, or refactoring code to minimize stack usage.

Tests

[ ] Reproduce the memory and stack overflow issues using the described ping test (ping IP -s 1400 for 15 minutes).
[ ] Analyze memory usage and stack traces to pinpoint the source of the overflows.
[ ] Identify and implement code changes to address the root cause of the overflows.
[ ] Test the changes to ensure they resolve the issues without introducing regressions.
[ ] Document the findings and the implemented solutions.

Notes and Links
[00:07:47.717,651] <wrn> usb_rndis: Transmit response queue is not empty
[00:07:50.224,884] <wrn> usb_rndis: Transmit response queue is not empty
[00:07:50.244,781] <err> os: ***** USAGE FAULT *****
[00:07:50.252,563] <err> os:   Stack overflow (context area not valid)
[00:07:50.261,871] <err> os: r0/a1:  0x00000002  r1/a2:  0x0003db6d  r2/a3:  0x00000002
[00:07:50.272,674] <err> os: r3/a4:  0x0003d44d r12/ip:  0x00000002 r14/lr:  0x0003d08f
[00:07:50.283,447] <err> os:  xpsr:  0x0003e800
[00:07:50.290,802] <err> os: Faulting instruction address (r15/pc): 0x00000000
[00:07:50.300,811] <err> os: >>> ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0
[00:07:50.310,821] <err> os: Current thread: 0x200039c8 (usbd_workq)
[00:07:50.319,946] <err> os: Halting system

[00:41:54.614,227] <wrn> usb_rndis: Transmit response queue is not empty
[00:41:54.624,420] <wrn> usb_rndis: Unknown USB packet req 0x0 type 0xa1
[00:41:54.637,878] <inf> usb_device: Clear halt ep 0x82
[00:41:54.655,853] <inf> usb_device: Clear halt ep 0x01
[00:41:54.673,736] <inf> usb_device: Clear halt ep 0x81
[00:41:54.884,002] <wrn> usb_rndis: Transmit response queue is not empty
[00:41:54.896,881] <wrn> usb_rndis: Transmit response queue is not empty
[00:41:54.919,921] <err> usb_rndis: Error assembling packet, drop and start over
[00:41:54.930,267] <err> usb_rndis: Wrong data packet type 0x3039313a
[00:41:54.939,483] <err> usb_rndis: Error parsing RNDIS header
[00:41:54.948,242] <err> usb_rndis: Too small packet len 33
[00:41:54.956,634] <err> usb_rndis: Error parsing RNDIS header
[00:41:57.121,917] <wrn> usb_rndis: Transmit response queue is not empty
[00:41:59.631,164] <wrn> usb_rndis: Transmit response queue is not empty
[00:42:02.136,077] <wrn> usb_rndis: Transmit response queue is not empty
[00:42:04.645,507] <wrn> usb_rndis: Transmit response queue is not empty
...
[00:46:04.051,940] <err> usb_rndis: Not enough pkt buffers, len 205, skip 141
[00:46:04.062,011] <wrn> usb_rndis: Skip 64 bytes out of remaining 141 bytes
[00:46:04.071,990] <wrn> usb_rndis: Skip 64 bytes out of remaining 77 bytes
[00:46:04.081,848] <wrn> usb_rndis: Skip 13 bytes out of remaining 13 bytes
[00:46:04.091,735] <err> usb_rndis: Not enough pkt buffers, len 104, skip 40
[00:46:04.101,715] <wrn> usb_rndis: Skip 40 bytes out of remaining 40 bytes
[00:46:04.111,602] <err> usb_rndis: Not enough pkt buffers, len 104, skip 40
[00:46:04.121,551] <wrn> usb_rndis: Skip 40 bytes out of remaining 40 bytes
[00:46:05.559,326] <err> usb_rndis: Cannot get free buffer
[00:46:08.062,683] <err> usb_rndis: Cannot get free buffer
[00:46:10.576,660] <err> usb_rndis: Cannot get free buffer
[00:46:13.086,944] <err> usb_rndis: Cannot get free buffer
[00:46:15.599,304] <err> usb_rndis: Cannot get free buffer

uart:~$ > net mem
net mem
Fragment length 128 bytes
Network buffer pools:
Address         Total   Avail   Name
0x2000203c      16      0       RX
0x2000207c      16      13      TX
0x20002340      64      36      RX DATA (rx_bufs)
0x20002380      64      62      TX DATA (tx_b

This issue is specific to the CONFIG_USB_DEVICE_NETWORK_RNDIS configuration option and its associated functionality.
The ping test with the specified parameters (ping IP -s 1400 for 15 minutes) can be used as a test case for verifying the solution.
Testing occurred on the nrf52840dk as well as the nrf5340dk boards.
CONFIG_NET_MGMT_EVENT_STACK_SIZE=10000  (increasing these two stacks seems to reduce ( makes the crashing take longer) the issues)
CONFIG_USB_NRFX_WORK_QUEUE_STACK_SIZE=10000
perhaps there just needs to be an update to documentation or a better sample project created.

Triaged internally

I found this old issue. but it has the same errors that I am seeing.  I am wondering if the same fix needs to be ported to the nrf usb drivers. https://github.com/zephyrproject-rtos/zephyr/issues/19038

.[00:02:14.847,778] <inf> usb_device: Clear halt ep 0x01 [00:02:14.849,334] <dbg> usb_rndis: rndis_status_cb: USB unknown state 9 [00:02:14.861,755] <inf> usb_device: Clear halt ep 0x81 [00:02:14.863,342] <dbg> usb_rndis: rndis_status_cb: USB unknown state 9 [00:02:14.881,622] <dbg> usb_rndis: rndis_status_cb: USB unhandled state: 1 [00:02:14.939,941] <dbg> usb_rndis: rndis_status_cb: USB unhandled state: 1 [00:02:15.060,089] <dbg> usb_rndis: rndis_status_cb: USB device configured [00:02:15.061,950] <dbg> usb_net: netusb_enable:  [00:02:15.063,415] <dbg> usb_net: netusb_connect_media:  [00:02:15.071,685] <dbg> usb_rndis: rndis_class_handler: len 24 req_type 0x21 req 0x0 enabled 1 [00:02:15.073,944] <dbg> usb_rndis: queue_encapsulated_cmd: queued buf 0x2001e758 [00:02:15.075,958] <dbg> usb_rndis: cmd_thread: got buf 0x2001e758 [00:02:15.077,728] <dbg> usb_rndis: handle_encapsulated_cmd: RNDIS type 0x2 len 24 total len 24 [00:02:15.079,986] <dbg> usb_rndis: rndis_init_handle: req_id 0x1 [00:02:15.081,726] <dbg> usb_rndis: rndis_queue_rsp: Queued response pkt 0x2001f188 [00:02:15.083,740] <dbg> usb_rndis: rndis_notify_rsp: count 0 [00:02:15.087,524] <dbg> usb_rndis: rndis_notify_cb: ep 81 size 8 [00:02:15.089,355] <dbg> usb_rndis: rndis_class_handler: len 0 req_type 0xa1 req 0x1 enabled 1 [00:02:15.091,552] <dbg> usb_rndis: handle_encapsulated_rsp:  [00:02:15.093,688] <dbg> usb_rndis: rndis_class_handler: len 32 req_type 0x21 req 0x0 enabled 1 [00:02:15.095,947] <dbg> usb_rndis: queue_encapsulated_cmd: queued buf 0x2001e758 [00:02:15.097,961] <dbg> usb_rndis: cmd_thread: got buf 0x2001e758 [00:02:15.099,700] <dbg> usb_rndis: handle_encapsulated_cmd: RNDIS type 0x5 len 32 total len 32 [00:02:15.101,959] <dbg> usb_rndis: rndis_set_handle: req_id 0x1 Object ID 0x1010e buf_len 4 buf_offset 20 [00:02:15.104,370] <dbg> usb_rndis: rndis_set_handle: RNDIS_OBJECT_ID_GEN_PKT_FILTER 0xf [00:02:15.106,475] <dbg> usb_rndis: rndis_queue_rsp: Queued response pkt 0x2001f188 [00:02:15.108,489] <dbg> usb_rndis: rndis_notify_rsp: count 0 [00:02:15.111,511] <dbg> usb_rndis: rndis_notify_cb: ep 81 size 8 [00:02:15.113,342] <dbg> usb_rndis: rndis_class_handler: len 0 req_type 0xa1 req 0x1 enabled 1 [00:02:15.115,570] <dbg> usb_rndis: handle_encapsulated_rsp:  [00:02:15.118,408] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.120,361] <dbg> usb_rndis: rndis_bulk_out: To assemble 666 bytes, reading 64 bytes [00:02:15.122,650] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.124,603] <dbg> usb_rndis: rndis_bulk_out: To assemble 602 bytes, reading 64 bytes [00:02:15.126,861] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 19 [00:02:15.128,784] <dbg> usb_rndis: rndis_bulk_out: To assemble 538 bytes, reading 19 bytes [00:02:15.131,103] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.133,056] <dbg> usb_rndis: rndis_bulk_out: To assemble 519 bytes, reading 64 bytes [00:02:15.135,345] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.137,298] <dbg> usb_rndis: rndis_bulk_out: To assemble 455 bytes, reading 64 bytes [00:02:15.139,556] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 39 [00:02:15.141,510] <dbg> usb_rndis: rndis_bulk_out: To assemble 391 bytes, reading 39 bytes [00:02:15.143,798] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.145,782] <dbg> usb_rndis: rndis_bulk_out: To assemble 352 bytes, reading 64 bytes [00:02:15.148,071] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.150,024] <dbg> usb_rndis: rndis_bulk_out: To assemble 288 bytes, reading 64 bytes [00:02:15.152,282] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 16 [00:02:15.154,235] <dbg> usb_rndis: rndis_bulk_out: To assemble 224 bytes, reading 16 bytes [00:02:15.156,555] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.158,508] <dbg> usb_rndis: rndis_bulk_out: To assemble 208 bytes, reading 64 bytes [00:02:15.160,797] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.162,719] <dbg> usb_rndis: rndis_bulk_out: To assemble 144 bytes, reading 64 bytes [00:02:15.165,008] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 36 [00:02:15.166,961] <dbg> usb_rndis: rndis_bulk_out: To assemble 80 bytes, reading 36 bytes [00:02:15.169,219] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.171,173] <dbg> usb_rndis: rndis_bulk_out: To assemble 44 bytes, reading 64 bytes [00:02:15.173,339] <err> usb_rndis: Error assembling packet, drop and start over     <<<<<<<<<<<<<<<<<<<<<<< [00:02:15.175,354] <dbg> usb_rndis: rndis_clean:  [00:02:15.176,971] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.178,894] <err> usb_rndis: Wrong data packet type 0x11010000 [00:02:15.180,755] <err> usb_rndis: Error parsing RNDIS header [00:02:15.182,525] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 3 [00:02:15.184,448] <err> usb_rndis: Too small packet len 3 [00:02:15.186,096] <err> usb_rndis: Error parsing RNDIS header [00:02:15.187,927] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.189,880] <dbg> usb_rndis: parse_rndis_header: Parsing packet: len 151 payload offset 36 payload len 107 [00:02:15.192,443] <dbg> usb_rndis: rndis_bulk_out: To assemble 151 bytes, reading 64 bytes [00:02:15.194,732] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.196,685] <dbg> usb_rndis: rndis_bulk_out: To assemble 87 bytes, reading 64 bytes [00:02:15.198,913] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 23 [00:02:15.200,866] <dbg> usb_rndis: rndis_bulk_out: To assemble 23 bytes, reading 23 bytes [00:02:15.203,033] <dbg> usb_rndis: rndis_bulk_out: Assembled full RNDIS packet [00:02:15.204,986] <dbg> usb_net: netusb_recv: Recv pkt, len 107 [00:02:15.206,909] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.208,862] <dbg> usb_rndis: parse_rndis_header: Parsing packet: len 147 payload offset 36 payload len 103 [00:02:15.211,425] <dbg> usb_rndis: rndis_bulk_out: To assemble 147 bytes, reading 64 bytes [00:02:15.213,745] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64 [00:02:15.215,667] <dbg> usb_rndis: rndis_bulk_out: To assemble 83 bytes, reading 64 bytes [00:02:15.217,926] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 19 [00:02:15.219,848] <dbg> usb_rndis: rndis_bulk_out: To assemble 19 bytes, reading 19 bytes [00:02:15.222,015] <dbg> usb_rndis: rndis_bulk_out: Assembled full RNDIS packet [00:02:15.223,937] <dbg> usb_net: netusb_recv: Recv pkt, len 103 [00:02:15.225,921] <dbg> usb_rndis: rndis_bulk_out: EP 0x1 status 1 len 64
Diving deeper into the issue. after turning on CONFIG_USB_DEVICE_NETWORK_LOG_LEVEL you can see in the log the exact time the bug is exposed.
after this error is shown is the exact time that ping no longer works.
no idea for the fix, but this hopefully helps track down the issue easier.

An application that uses USB and the network stack can be quite complicated. You have to narrow it down by trying to reproduce it with samples in the tree, such as samples/net/zperf. I cannot reproduce it with the zperf sample built with -DEXTRA_CONF_FILE="overlay-netusb.conf" -DCONFIG_USB_DEVICE_NETWORK_ECM=n -DCONFIG_USB_DEVICE_NETWORK_RNDIS=y, using ping IP -s 1400. Also, what version of Zephyr RTOS are you using?


Did you ban access to local IP's?

That's a huge security risk if you haven't banned local access in the sockets implementation for CCTweaks...

Yes. There is a config option should you need to test with a local machine. Please consult the documentation before coming here as it means you'll get a faster response time and less work for both of us 😄.


Plugin endpoint execution failure should be captured and reported.

Currently, if a plugin endpoint throws an exception, there is no way for the hosting code to know about it. Change this.
Begin with wrapping https://github.com/moolicc/PluginPantry/blob/master/PluginPantry/Util.cs#L75 into a try/catch and bubble the exception outward from there.

Completed with "version2" (587986f664ccd741bbaee7d37ad74630cfbc1424). Running plugin actions now returns an enumerable of results.


[Bug]: Change variable type CA is not provided for ternary expressions

Description
Currently, there is no change variable type CA provided for ternary expressions. Ideally, it should suggest changing the variable type to the determined type of the ternary expression.
https://github.com/ballerina-platform/ballerina-lang/blob/2237ffa3f9578b3a8812c80387cca5b9c4ccc891/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/changetype/ChangeVariableTypeCodeAction.java#L88-L96
The current implementation of the CA considers the properties of the diagnostic to determine the expected type to which the variable should be changed. Although this works for cases where the diagnostic highlights the entire expression, this approach cannot determine the union type when there are multiple diagnostics. Hence, the current implementation struggles to provide the expected type for ternary expressions.
As a solution, we can use the semantic model to determine the expected type (as we are doing in the fix return type CA). However, this affects performance, as the majority of use cases benefit from the existing implementation. Hence, we can discuss on a heuristic to use the semantic model only for specific cases such as ternary and elvis expressions.
Steps to Reproduce
Prompt for CAs at the following cursor position.
boolean flag = false;
() output = flag ? true : <cursor>0;

Affected Version(s)
Ballerina 2201.8.4 (Swan Lake Update 8)
OS, DB, other environment details and versions
OS: macOS 14.2.1 23C71
JDK: openjdk 17.0.8 2023-07-18
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Duplicate of #38258


Preserve Whitespace bug, missing final returns

When preserving whitespace in an element, the final return is removed.

Was on vacation. Will pick this up next.

I was considering using the sourceCodeLocationInfo attributes to solve this issue, but I'm unsure if this is the right approach. If you have any suggestions or thoughts on this, I'd appreciate your input.

The original indentation and returns shouldn't be touched if tagsWithWhitespacePreserved: true. The only place where we would add returns and indentation would be on the HTML attributes.
So in the example, the input would be:

    Void and Attributes per line Example:
    <input>
    <input type="range">
    <input type="range" max="50">
    <input type="range" max="50" id="slider">

Empty attribute example

Link text on same line

and the output would be something like this:

    Void and Attributes per line Example:
    <input />
    <input type="range" />
    <input
      type="range"
      max="50"
    />
    <input
      type="range"
      max="50"
      id="slider"
    />

Empty attribute example

Link text on same line

I'm not sure on implementation for this. It's mainly just skipping formatting. So that's easy, but then when we try to add in indentation on the attributes, you need to know how indented to make them. And that's when it gets complex. sourceCodeLocationInfo may actually be the best approach.
A simpler way would be to continue counting tags and indent based on tag depth, but that would look weird. Example:

  text

  text

So clearly the simpler way isn't going to work. I think sourceCodeLocationInfo is worth a try.

Closing this, as was related to true setting, which is now removed.


Pressing Back button while recording

if the user press back button while recording, screen goes black and suspends but it still records background. i checked the file on sd card. (it recorded image+sound until pressing back, and just sound was recorded after pressing back.)
i tried with Galaxy S3 + 4.4.2.
i didn't check with other device and android versions.
is it possible to stop recording if user presses the back button or disable back event?
here is my settings;
    new MaterialCamera(this)
            .saveDir(saveDir)
            .defaultToFrontFacing(true)
            .showPortraitWarning(false)
            .autoSubmit(true)
            .allowRetry(false)
            .countdownSeconds(30f)
            .countdownImmediately(false)
            .primaryColorAttr(R.attr.colorPrimary)
            .start(CAMERA_RQ);

https://github.com/afollestad/material-camera/releases/tag/0.2.2

https://github.com/afollestad/material-camera/releases/tag/0.2.4


LEAN-3902 Update @reach/tabs dependency

Closing, since the branch is outdated and I have pushed new implementation in the following branch LEAN-3902-1


MOTR-122 Minor fixes for prior pull request

Key Changes:

Updated 🐀icon
Hide 🙈the published meta-analysis button link for animal analysis
Fixed 🐛in which some exponential notations of P-values can't be converted to numbers and so being rendered as NaN in the UI.

merged MOTR-122


Casting and width promotion

Currently, we define the following casts with as_... methods:
define_casts!(
    (f32x2, f64x2, as_f64x2),
    (f32x2, u32x2, as_u32x2),
    (f32x2, i32x2, as_i32x2),
    (u32x2, f32x2, as_f32x2),
    (u32x2, i32x2, as_i32x2),
    (i32x2, f32x2, as_f32x2),
    (i32x2, u32x2, as_u32x2),
    (u16x4, i16x4, as_i16x4),
    (i16x4, u16x4, as_u16x4),
    (u8x8, i8x8, as_i8x8),
    (i8x8, u8x8, as_u8x8),
);

simd_cast<T> can be used to cast between types of different widths, where each lane gets promoted. For example, for some ARM implementations I've needed:
define_casts!(
    (i8x8, i16x8, as_i16x8),
    (i16x4, i32x4, as_i32x4),
    (i32x2, i64x2, as_i64x2),
    (u8x8, u16x8, as_u16x8),
    (u16x4, u32x4, as_u32x4),
    (u32x2, u64x2, as_u64x2)
);

@BurntSushi how do you envision these casts? When should we add an as_... function? Should we use simd_cast in the library internally? Or should we do all the casts using calls to the intrinsics that perform them ?

I think it personally makes sense to have all these casts. For any source/target pair I think the we can pretty easily define the semantics of the cast, right? If there's the same number of lanes then the elements are converted lane-wise and otherwise the bit sizes are the same and it's effectively a transmute, right?

Although now that I say that we may wish to call these two operations different things... For example u64 as f64 in Rust code is not a transmute-style cast

What's the win of implementing all these .as_... methods over just exposing simd_cast<T> ?

I am thinking from the POV of writing a high-level wrapper over the SIMD instructions in stable Rust once stdsimd is stabilized. The first thing I would do is implement simd_cast there.
I could do that by either providing impls that call the .as_... methods manually, or by calling the intrinsics directly.
The problem there is, if there isn't an intrinsic for a particular conversion on an architecture, what do I do? The simd types are portable. So either stdsimd provides .as_... methods for all conversions that I might want to do, or... I am going to end up needing nightly again to be able to use simd_cast.

AFAIK simd_cast is riddled with LLVM assertions and compiler segfaults if you call it the wrong way, so it's not at all a stable interface which we'd want to expose.

So for the cases that I've tested:

same number of lanes, different element type: simd_cast<T> just behaves like as-element wise.
different number of lanes, different element type, but same vector width: simd_cast<T> behaves like mem::transmute

I don't know if simd_cast works like this for all possible combinations (maybe we should test this), but maybe it would be better to provide an API "like this" instead of all those .as_... casts.
For example, we could provide:

simd_as<T>: does element-wise as-like cats.
simd_transmute<T>: does element-wise mem::transmute.

As soon as we update this crate on crates.io, I'd like building these functions in a third-party crate. But if they cannot be built from stdsimds API then we will need to do something about it.

I don't think we'll ever provide generic functions, these will always be concrete in the stable surface area of the standard library. This is sort of like generic numeric operations in libstd, we just don't have them and have explicit typed operations instead.

IIRC, the intent here is for the as methods to be isomorphic to Rust's as operation, while the From impls are meant to be bitcasts (where the latter specifically doesn't support float<->int). And yeah, I'd guess that we just add as many as methods that we need.
It seems like we should just use simd_cast to implement them, unless there is a reason not to?

Sounds good, I think we should write this down in the docs somewhere.

So what's the reason that we currently do not provide bitwise transmutes between floating-point and integer vector types ?

So thinking about how to do this in a form suitable for an RFC. I'd like to do the following.
Make From/Into do simd_cast instead of transmutes. Add two traits FromBits/IntoBits, that allows doing the transmutes by just doing .into_bits() (similar to the f{32,64}::from_bits API).

@gnzlbg SGTM!

Superseded by https://github.com/gnzlbg/packed_simd/issues/4


Bump Python test versions 2020-05-26

Coverage remained the same at 81.767% when pulling 48688e308087c9164154160f1397cd10970fe532 on arcivanov:py_ver_bump_20200526 into 494919a4cee8a46a7b682e89d275418ae03fdd51 on pybuilder:master.


DBT doesn't want to replace an external table

Describe the bug
Dbt doesn't want to replace an external table
database and schema are obfuscated but they have the exact same value between "Searched for" and "Found"
Actual results
16:57:57  Running with dbt=1.4.1
16:57:57  1 of 1 START external source "schema"."table_name"
16:57:58  Encountered an error while running operation: Compilation Error
  When searching for a relation, dbt found an approximate match. Instead of guessing
  which relation to use, dbt will move on. Please delete "database"."schema"."table_name", or rename it to be less ambiguous.
  Searched for: "database"."schema"."table_name"
  Found: "database"."schema"."table_name"

  > in macro snowflake__get_external_build_plan (macros/plugins/snowflake/get_external_build_plan.sql)
  > called by macro get_external_build_plan (macros/common/get_external_build_plan.sql)
  > called by macro stage_external_sources (macros/common/stage_external_sources.sql)
  > called by <Unknown>

System information
The contents of your packages.yml file:
packages:
  - package: dbt-labs/dbt_external_tables
    version: 0.8.2

Which database are you using dbt with?

[ ] snowflake

The output of dbt --version:
Core:

installed: 1.4.1
latest:    1.4.1 - Up to date!

Plugins:

snowflake: 1.4.1 - Up to date!

The operating system you're using: : linux
The output of python --version: Python 3.8.16

Hey @BenoitLF - typically this happens when there's a table that closely resemble the target table... for example - dbt resolves to db.schema.table_name but in your Snowflake, there exist a table like db.schema.Table_Name (notice the casing here).
Can you confirm the casing of the existing table in Snowflake plus your exact source yaml file where you're trying to use this package on? :)

Hello @jeremyyeo
Yes I can confirm it. In fact it happens when I run the command twice, with no manual input nor modifications

Maybe I have informations regarding that matter @jeremyyeo .
I tried with a different schema name, test , and now it works. Before that it was 1_RAW, meaning that I had to in fact "\"1_RAW\"" to make it work


Added typst-plotting

Added typst-plotting to readme. It's a library to create a variety of plots and graphs, that a friend and I are currently developing.
Repo URL: typst-plotting

Thanks for the awesome contribution @Pegacraft !


update ICU site link

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
https://github.com/yiisoft/yii2/issues/19195

👍🏻


Minimum supported Gradle version is 2.14.1. Current version is 2.14. Android build Error

I experienced the following error building the app for android:
Unzipping /Users/herve76/.gradle/wrapper/dists/gradle-2.14-all/t7wfomcrmv8dmyii9c9waem8/gradle-2.14-all.zip to /Users/herve76/.gradle/wrapper/dists/gradle-2.14-all/t7wfomcrmv8dmyii9c9waem8
Set executable permissions for: /Users/herve76/.gradle/wrapper/dists/gradle-2.14-all/t7wfomcrmv8dmyii9c9waem8/gradle-2.14/bin/gradle

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/herve76/Desktop/Fishii/android/app/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin [id 'com.android.application']
   > Minimum supported Gradle version is 2.14.1. Current version is 2.14. If using the gradle wrapper, try editing the distributionUrl in /Users/herve76/Desktop/Fishii/android/gradle/wrapper/gradle-wrapper.properties to gradle-2.14.1-all.zip

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED

I fixed it by changing in android/gradle/wrapper/gradle-wrapper.properties
distributionUrl=https://services.gradle.org/distributions/gradle-2.14-all.zip
by
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

You're absolutely right, I'll change it in the docs as well.

@avishayil : sir i have follow same procedure and change gradle version but in my case however,when i build android gradle version chnage to old version instead of new version. can you helpw me what the issue?


[WordPress] API Update

Related to #5493, the API Update has been split out into its own PR, to reduce the demand on the maintainers. This should also fix #5428
The API change, required a couple of changes to schema and request, and related testing in platform tester. I also took this chance to split the plugin and theme schemas into their own separate entities to make adding the new badges from #5493 easier, however it doesn't introduce any of the schema required for those badges.
I have also .required() the schema as we should always receive those items for the current badge set, however I am open to exploring the option of not requiring them at the schema but dealing with errors in the badges instead.
I will handle converting service classes to static props as I continue to submit PR's for other aspects of #5493

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @JoeIzzard!

  Generated by :no_entry_sign: dangerJS against f78f0b5d69bbeb60d8c1958fbd7df1c10714d0ab


Create close pane hotkey.

I wanted to have an ability to close panes as easily as creating them, so I created a simple shortcut for it.

Thanks a lot!

Thanks for the merge. Is there a way I can self-release a mac dmg so I can run this without engaging another terminal? How often do you cut releases?

Generally, just every now and then. I've just started the Alpha 74 build, but in the future you can follow the steps here: https://github.com/Eugeny/terminus/blob/master/.travis.yml#L29

@all-contributors add @mezner for code


Handle arrays properly, plus other enhancements.

This PR does the following:

Out-of-bound array access now comes back with an error instead of panicing
for statement is added (shamelessly lifted from stevedonovan/rhai)
range function is added to be used with for statement (shamelessly lifted from stevedonovan/rhai)
register_box_fn added to Engine to register functions that return a Box<dyn Any> (using register_fn will box the Box.
Augment arrays with len, push, pop, and shift functions.
Expand the standard library functions with print, debug, and string concat operators.

@schungx this looks great! Thanks for all the effort you put into it.


Issue/compiler cycle breaking on functions

Description
Fixes a very particular bug on the compiler, where cycle breaking fails, because plugins calls (FunctionUnit) are inadvertently dropped from the all_waiters set when being re-scheduled.
closes #2787
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

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

In general, could you give a bit more context on why these changes are required? I've looked at the model but I don't really understand how it fails (and it would probably take me a long time to dig it up myself). I also don't understand why the waiters need to keep track of the additional "requirements". What are those used for?

To answer these questions:

this model requires the find_wait_cycle codepath in the scheduler
find_wait_cycle requires accurate tracking of all unresolved statements (all_waiters)
find_wait_cycle requires accurate tracking of all ResultVariables required by these statements

Point 2 was broken due to the premature exception catching, allowing the failed statement to be removed from all_waiters
Point 3 was broken because FunctionUnits can get additional, new, requires that are discovered on the go.
(and the secondary bug on the listeners was also triggered by this example.

it is basically 3 one-line fixes at once

Processing this pull request

Merged into branches master in 3c11c3cf900eb3f05b59e5898d2eb47434066244

Processing #2798.

Processing #2797.


Is run macro set to use the universal arguments?

It doesn't work on my system so I am assuming not but I just wanted to check to make sure.

It is not. The macros you are using are built-in facility, which frankly I have never been able to get working properly. I think part of the problem is: not every key stroke goes through the sublime engine by default. E.g., on Macs ctrl+f is built-in to the text widget. At least I am pretty sure that’s the case.

Yeah I assumed so from looking at the command from the command log after I posted this. Didn't have sbp prefix. I found a plug-in to repeat the macro anyway.
On the other note, I had disabled on Mac any textmate bindings for certain applications such as sublime, terminal, emacs using karabiner. I don't seem to have any issues with the OsX capturing the keys instead of Sublime where I am assuming your issues come from.

I also don’t think you can capture individual keys that are, for example, just inserted into the text. All the normal keys are not bound to “self-insert” command for example.

So I've written two chain commands that I'm just curious if you thought about implementing. One is to comment everything to the mark. The second is to paste and reindent just like super+shift+v for the default sublime setup. I often need to paste and reindent if taking anything not copied in Sublime.
       "keys": ["ctrl+;", "ctrl+;"],
	"command": "chain",
	"args": {
		"commands": [
			["sbp_swap_point_and_mark", {"toggle_active_mark_mode": true}],
			["toggle_comment", {"block": false}],
			] }
			},
			{
	"keys": ["ctrl+shift+y"],
	"command": "chain",
	"args": {
		"commands": [
			["sbp_yank"],
			["sbp_swap_point_and_mark", {"toggle_active_mark_mode": true}],
			["reindent"],
			] }
			},

Ah yeah that makes sense but I rarely use macros as well but I've never had any problems thus far.

I have a comment everything between point and mark. But I require the region be highlighted.
I think the idea of the yank and indent.

Yeah that is basically what the chain command does is first it toggles the region between the point and the mark so it is highlighted and then it performs the comment on the highlighted region.
You will think about yank and indent is that what you mean?
It does the same thing as the other one it first yanks the region and then toggles the mark to be highlighted and performs reindent on that region. I've never had any issues with it working properly. Sometimes the comment region between point and mark acts a bit funky with the toggle active region.


Add ability to disable oci client init on startup

What this PR does / why we need it:
Add ability to disable OCI client init on startup
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #244

unit test
KUBEBUILDER_ASSETS="/home/ubuntu/.local/share/kubebuilder-envtest/k8s/1.24.2-linux-amd64" go test -coverprofile=coverage.out ./...
?   	github.com/oracle/cluster-api-provider-oci	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/api/v1beta1	37.635s	coverage: 23.9% of statements
ok  	github.com/oracle/cluster-api-provider-oci/api/v1beta2	0.038s	coverage: 16.3% of statements
?   	github.com/oracle/cluster-api-provider-oci/cloud/config	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/cloud/ociutil	0.004s	coverage: 19.6% of statements
ok  	github.com/oracle/cluster-api-provider-oci/cloud/scope	230.734s	coverage: 77.3% of statements
?   	github.com/oracle/cluster-api-provider-oci/cloud/scope/mocks	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/base	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/base/mock_base	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/compute	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/compute/mock_compute	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/computemanagement	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/computemanagement/mock_computemanagement	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/containerengine	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/containerengine/mock_containerengine	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/identity	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/identity/mock_identity	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/loadbalancer	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/loadbalancer/mock_lb	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/networkloadbalancer	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/networkloadbalancer/mock_nlb	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/vcn	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/vcn/mock_vcn	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/cloud/util	0.029s	coverage: 60.0% of statements
ok  	github.com/oracle/cluster-api-provider-oci/controllers	25.853s	coverage: 67.5% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/api/v1beta1	26.821s	coverage: 21.8% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/api/v1beta2	0.024s	coverage: 11.0% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/controllers	0.729s	coverage: 56.3% of statements
?   	github.com/oracle/cluster-api-provider-oci/feature	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/version	[no test files]
go tool cover -func=coverage.out -o coverage.txt
go tool cover -html=coverage.out -o coverage.html

e2e test
------------------------------

Ran 6 of 25 Specs in 3711.202 seconds
SUCCESS! -- 6 Passed | 0 Failed | 0 Pending | 19 Skipped


grpc protocol support provider chain

#464

Pull Request Test Coverage Report for Build 1514

0 of 0   changed or added relevant lines in 0 files are covered.
12 unchanged lines in 5 files lost coverage.
Overall coverage increased (+0.05%) to 63.572%

Files with Coverage Reduction
New Missed Lines
%

core/lager/lager.go
1
76.71%

core/registry/servicecenter/cache.go
2
45.05%

core/invoker.go
2
50.0%

core/config/config.go
3
68.33%

core/registry/util.go
4
60.71%

Totals

Change from base Build 1513:
0.05%

Covered Lines:
5040

Relevant Lines:
7928

💛  - Coveralls


Alignment issue with the STDAllocator

System info:
Windows 11 (10.0.22621.0)
Clang 18.1.8
Diligent Engine v2.5.5 (cf6d15fa38)
I believe there's a problem with the alignment of memory allocated via the STDAllocator.  I apologize for not having a minimal reproducible example, but this depends on the memory address returned by the OS and it has been quite a nightmare to reproduce.  But I'm going to try my best to explain it.
Lately, my application has been crashing when being built in Release mode and using the Direct3D12 backend.  I don't think the issue is actually related to that configuration, but it has been the only one that was able to consistently crash.  This is the stack frame from the debugger (I built with Release + debug-info), interestingly enough, so far it has only ever happened while creating a uniform buffer and not with anything else:
[Inline Frame] app.exe!Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator>::construct(Diligent::BufferD3D12Impl::CtxDynamicData * p, const Diligent::BufferD3D12Impl::CtxDynamicData & args) Line 149 (...\DiligentEngine\DiligentCore\Common\interface\STDAllocator.hpp:149)
[Inline Frame] app.exe!std::_Normal_allocator_traits<Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator>>::construct(Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator> & _Al, Diligent::BufferD3D12Impl::CtxDynamicData * _Ptr, const Diligent::BufferD3D12Impl::CtxDynamicData & _Args) Line 588 (c:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\include\xmemory:588)
[Inline Frame] app.exe!std::_Uninitialized_backout_al<Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator>>::_Emplace_back(const Diligent::BufferD3D12Impl::CtxDynamicData & _Vals) Line 1780 (c:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\include\xmemory:1780)
[Inline Frame] app.exe!std::_Uninitialized_fill_n(Diligent::BufferD3D12Impl::CtxDynamicData * _First, unsigned __int64 _Count, const Diligent::BufferD3D12Impl::CtxDynamicData & _Val, Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator> & _Al) Line 1957 (c:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\include\xmemory:1957)
[Inline Frame] app.exe!std::vector<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator>>::_Construct_n(const unsigned __int64 _Count, const Diligent::BufferD3D12Impl::CtxDynamicData & _Val) Line 2076 (c:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\include\vector:2076)
app.exe!std::vector<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator>>::vector(const unsigned __int64 _Count, const Diligent::BufferD3D12Impl::CtxDynamicData & _Val, const Diligent::STDAllocator<Diligent::BufferD3D12Impl::CtxDynamicData,Diligent::IMemoryAllocator> & _Al) Line 619 (c:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\include\vector:619)
app.exe!Diligent::BufferD3D12Impl::BufferD3D12Impl(Diligent::IReferenceCounters * pRefCounters, Diligent::FixedBlockMemoryAllocator & BuffViewObjMemAllocator, Diligent::RenderDeviceD3D12Impl * pRenderDeviceD3D12, const Diligent::BufferDesc & BuffDesc, const Diligent::BufferData * pBuffData) Line 67 (...\DiligentEngine\DiligentCore\Graphics\GraphicsEngineD3D12\src\BufferD3D12Impl.cpp:67)
app.exe!Diligent::MakeNewRCObj<Diligent::BufferD3D12Impl,Diligent::FixedBlockMemoryAllocator>::operator()<Diligent::FixedBlockMemoryAllocator &,Diligent::RenderDeviceD3D12Impl *,const Diligent::BufferDesc &,const Diligent::BufferData *const &>(Diligent::FixedBlockMemoryAllocator & CtorArgs, Diligent::RenderDeviceD3D12Impl * && CtorArgs, const Diligent::BufferDesc & CtorArgs, const Diligent::BufferData * const & CtorArgs) Line 671 (...\DiligentEngine\DiligentCore\Common\interface\RefCountedObjectImpl.hpp:671)
[Inline Frame] app.exe!Diligent::RenderDeviceBase<Diligent::EngineD3D12ImplTraits>::CreateBufferImpl<const Diligent::BufferData *>::<lambda_1>::operator()() Line 414 (...\DiligentEngine\DiligentCore\Graphics\GraphicsEngine\include\RenderDeviceBase.hpp:414)
app.exe!Diligent::RenderDeviceBase<Diligent::EngineD3D12ImplTraits>::CreateDeviceObject<Diligent::IBuffer,Diligent::BufferDesc,`lambda at ...\DiligentEngine\DiligentCore\Graphics\GraphicsEngine\include\RenderDeviceBase.hpp:412:28'>(const char * ObjectTypeName, const Diligent::BufferDesc & Desc, Diligent::IBuffer * * ppObject, Diligent::RenderDeviceBase<Diligent::EngineD3D12ImplTraits>::CreateBufferImpl<const Diligent::BufferData *>::<lambda_1> ConstructObject) Line 375 (...\DiligentEngine\DiligentCore\Graphics\GraphicsEngine\include\RenderDeviceBase.hpp:375)
[Inline Frame] app.exe!Diligent::RenderDeviceBase<Diligent::EngineD3D12ImplTraits>::CreateBufferImpl(Diligent::IBuffer * * ppBuffer, const Diligent::BufferDesc & BuffDesc, const Diligent::BufferData * const & ExtraArgs) Line 411 (...\DiligentEngine\DiligentCore\Graphics\GraphicsEngine\include\RenderDeviceBase.hpp:411)
app.exe!Diligent::RenderDeviceD3D12Impl::CreateBuffer(const Diligent::BufferDesc & BuffDesc, const Diligent::BufferData * pBuffData, Diligent::IBuffer * * ppBuffer) Line 556 (...\DiligentEngine\DiligentCore\Graphics\GraphicsEngineD3D12\src\RenderDeviceD3D12Impl.cpp:556)
app.exe!app::graphics::create_buffer(const Diligent::BufferDesc &, const Diligent::BufferData *) Line 966
...

And if you look at the disassembly you get this:

You can see the compiler is utilizing AVX instructions to (I think) optimize the copying of the CtxDynamicData structure.  The ymmword operand indicates this is an AVX instruction, trying to write into the memory addressed by the RAX register.  The value of RAX here is 0x0000014F49106F90.  Now, for AVX operations you need the memory to be aligned to 32 bytes, however 0x0000014F49106F90 / 32 = 0xA7A48837C + 16/32 which is not.
I know that the CtxDynamicData structure is aligned to 64 bytes here (https://github.com/DiligentGraphics/DiligentCore/blob/v2.5.5/Graphics/GraphicsEngineD3D12/include/BufferD3D12Impl.hpp#L132).  However, that information is lost when the STDAllocator allocates here (https://github.com/DiligentGraphics/DiligentCore/blob/v2.5.5/Common/interface/STDAllocator.hpp#L128).  As you can see, the allocator instance has the type information, but when calling m_Allocator.Allocate(size, ...) that is lost and there's no guarantee that the OS is going to align this to T.  It'll probably be aligned to std::max_align_t, which is generally 16.
For testing purposes, I'm assigning my own allocator that inherits from Diligent::IMemoryAllocator when creating the DRD12 device and contexts, and always allocate aligned to 32 bytes.  With this it works correctly.
If my analysis here is correct, I believe fixing this would be quite simple by just extending the IMemoryAllocator::Allocate interface to take an alignment parameter so we have some of the type information when deriving our own allocators.  And using aligned_malloc or similar in the default raw allocator.

Thanks for analysis, it does makes sense to me.
I will take a look at the allocator.


Recommendation: Training failed with error "Index was outside the bounds of the array" when using metric "RMSE" and "MSE".

System Information (please complete the following information):
Windows OS: Windows-11-Enterprise-21H2
ML.Net Model Builder 2022: <IP_ADDRESS>2604 (Main Build)
Microsoft Visual Studio Enterprise: 2022(17.3.6)
.Net: 6.0
Describe the bug

On which step of the process did you run into an issue:
Training failed with error "Index was outside the bounds of the array" when using metric "RMSE" and "MSE".

Data Source
https://testpass.blob.core.windows.net/test-pass-data/wikipedia-detox-250-line-data.tsv
To Reproduce
Steps to reproduce the behavior:

Select Create a new project from the Visual Studio 2022 start window.
Choose the C# Console App (.NET Core6.0) project template.
Add model builder by right click on the project.
Select Recommendation scenario.
On Data page, select the data source.
On the Train page, choose metric "RMSE" or "MSE", you will see that training fail with error "Index was outside the bounds of the array".

Expected behavior
Training successful.
Screenshot

Additional context:
The bug is not repro when using metric "RSquared".

This issue is related with #https://github.com/dotnet/machinelearning/issues/6361

we can either

disable MSE && RMSE for recommendation
provide another implementation of metric manager on MSE && RMSE to exclude nan from score until this mlnet issue  gets in.

I vote for the second option @luisquintanilla @JakeRadMSFT @beccamc @zewditu thought?

@LittleLittleCloud  are we going to revert this PR after this  issue gets fixed  https://github.com/dotnet/machinelearning/issues/6361


allow multisig for non value transfer

When using the multisig wallet for non value transfer purposes, it always requires only one signature since even with a daily limit of 0, a 0 value transfer transaction is "under the daily limit".
Using < instead of  <= solves the problem.
The only downside is that the real daily limit which can be spend per day is m_dailyLimit - 1 wei.

Wouldn't a better solution be to always require multiple signatures if the data field was not empty? Otherwise all one would need to approve would be to send a non transfer transaction with a few wei.

hm, but calling a fallback function of another contract might also be something someone wants to do.

The daily limit feature is not really useful once we have currency abstraction. I agree that with a daily limit of 0, every call (including send) should require multisig.

another option would be to make m_dailyLimit an int, instead of an uint . This way one could set it to a negative number. By doing this m_dailyLimit could still be the real maximum daily limit you can actually spent, and you have the possibility to let any transaction be signed by multiple signatures by setting it to -1.
But then you have a max m_dailyLimit of 2**128 , which should be enough ;-)

@CJentzsch that sounds like a hack in order to do something that would be better as a parameter.
I don't think the parameter should even exist, if you want to do something like signing a transaction to prove something then it's reasonable to require multiple signatures, since we can't really detect it.
Another way to do it would be to create a more complex function that would analyze calls and allow or disallow them in a case by case question, but at that point it's so much complexity that we should simply adopt a DAO and you could add a "auto-manager" as one of the members. The future of the contract wallet is being a dao anyway.

ok, but using < instead of <= is actually intuitive. When I set daily limit to 0, I want everything coming from the multisig wallet signed by m_required members of the multisig.

Yes we should merge that. though it means a daily limit of 100 is actually only 99.9999999999...

@tgerring @vbuterin

Daily limit of 100 but only allowing 99.99999 can be confusing for the user, who will want to send 100.
I am in favor with @alexvandesande to always require multiple signatures when the data field is non empty, since using the value to check is no longer "safe" (may be tokens of greater value). That way we also satisfy @CJentzsch's point that a daily limit of 0 should mean "everything coming from the wallet signed by m_required members".
I'll make this change and submit a pull request.

Thanks @bencxr !


Service contraints not being honoured in a swarm

Output of docker version:
Client:
Version:      1.12.0-rc2
API version:  1.24
Go version:   go1.6.2
Git commit:   906eacd
Built:        Fri Jun 17 20:45:29 2016
OS/Arch:      linux/amd64
Server:
Version:      1.12.0-rc2
API version:  1.24
Go version:   go1.6.2
Git commit:   906eacd
Built:        Fri Jun 17 20:45:29 2016
OS/Arch:      linux/amd64
Output of docker info:
Containers: 4
Running: 3
Paused: 0
Stopped: 1
Images: 7
Server Version: 1.12.0-rc2
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 47
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: host null bridge overlay
Swarm: active
NodeID: 8ptf9fd6phpss2qy15a5c6frm
IsManager: Yes
Managers: 1
Nodes: 3
CACertHash: sha256:255d696a217a06801576ddf2a19f2b38487d007c6b470e545bf659e170a969ad
Runtimes: default
Default Runtime: default
Security Options: apparmor seccomp
Kernel Version: 4.4.0-28-generic
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 32
Total Memory: 251.9 GiB
Name: xxxx
ID: ....
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
Insecure Registries:
<IP_ADDRESS>/8
Additional environment details (AWS, VirtualBox, physical, etc.):
Installed docker on fresh Ubuntu-16 baremetal boxes.
Steps to reproduce the issue:

On node 1 - create a swarm: swarm init
On node 2 - update /etc/systemd/system/docker.service file with label:
ExecStart=/usr/local/bin/dockerd -H fd:// --label foo="bar"
On node 2 - Restart daemon
On node 2 - verify label has taken:
$ docker -D info
....
Labels:
foo=bar
....
On node 2- join swarm:
$ d swarm join XXX:2377
On node 1- create service with constraint:
$ docker service create --constraint foo="bar" --name testconstraint --replicas 5 -p 8889:80 httpd:2.4

Describe the results you received:
7. On node 1- verify new service is running on node 1:
$ docker ps
CONTAINER ID        IMAGE                  COMMAND              CREATED              STATUS              PORTS                    NAMES
7e52cca2ec86        httpd:2.4              "httpd-foreground"   About a minute ago   Up 58 seconds       80/tcp                   testconstraint.2.1t257nejusprq9toos441a1ah
0f0d75d2057d        httpd:2.4              "httpd-foreground"   About a minute ago   Up 57 seconds       80/tcp                   testconstraint.4.2jujh8pg5pl2t3cgb0109kl33
Describe the results you expected:
I was expecting the service to only run on node 2, where the label was applied to the daemon.
Additional information you deem important (e.g. issue happens only occasionally):
I've tried this with variations of the label like:
--constraint foo=bar, --constraint foo==bar
with no luck. Happens consistently.
Am I creating the label in the engine incorrectly?
thanks

There's some work being done on this right now in swarmkit. I believe docker/swarmkit#893 is one PR with some fixes to constraints in it. There may be others.

I can verify a similar issue with docker 1.12 rc3:
docker service create --constraint node=worker1 --replicas 5 --name hello alpine ping docker.com
Results in empty node value when running docker service tasks hello.
Tried with name, node, id, hostname with same result..
also node.hostname etc.
Don't know if docker/swarmkit#893 was included in rc3?

/cc @stevvooe @aaronlehmann

cc @dongluochen

@hipposareevil: Constraints changed from -rc2 to -rc3, so I would upgrade to -rc3 and try this again.
I believe the syntax to match an engine label is engine.labels.foo == bar.
We probably need to add documentation around this. It may also make sense to add client-side constraint validation for service create and service update.

https://github.com/docker/swarmkit/pull/1114 adds constraint validation at the API level, which may help make this less confusing.

@aaronlehmann   I upgraded to -rc3 with same results:
$ d --version
Docker version 1.12.0-rc3, build 91e29e8
I applied the following label to my 2nd node:
$ grep label /etc/systemd/system/docker.service
ExecStart=/usr/local/bin/dockerd -H fd:// --label foo==bar
Created new service:
$ docker service create --constraint foo=bar --name testconstraint --replicas 5 -p 8889:80 httpd:2.4
(tried with 'foo==bar' and 'foo="bar"' as well)
The service is then brought up on both nodes.

The constraint needs to be formatted like engine.labels.foo = bar (see https://github.com/docker/docker/issues/24192#issuecomment-230533775).
I think we are not covering this well in our docs - ping @sfsmithcha

@aaronlehmann this isn't covered yet in docs, which are WIP, I'll need to cover this in service creation docs.

@aaronlehmann
Apologies if I'm missing the gist here, but I've tried the various combos and it still fails:
1: with space between the "="
$ docker service create --constraint engine.labels.foo = bar --name testconstraint ....
Error response from daemon: rpc error: code = 3 desc = ContainerSpec: "=" is not a valid repository/tag
2:  with "==", fails silently
$ docker service create --constraint engine.labels.foo==bar --name testconstraint ....
3: service starts, but runs on all nodes
$ docker service create --constraint engine.labels.foo=bar --name testconstraint .....
I've also updated the docker.service file with both "foo=bar" and "foo==bar" with same result.

@hipposareevil Constraints on labels are not working on RC3 (there was some confusion on how to define labels). We have reached agreement on syntax as defined in docker/swarmkit, see constraint section. It supports == and != comparisons. This change has not merged into docker/docker yet and we are working on that.

@dongluochen Thanks for the update.  I'll wait til it's merged and give it a whirl then.

Sorry for the misinformation on this. I thought this had made it into -rc3, but was wrong about this.

Fixed by #23312
@aaronlehmann please confirm that this issue was fixed in https://github.com/docker/swarmkit/pull/1114

@tiborvass: I would point to https://github.com/docker/swarmkit/pull/893

@tiborvass #23312 doesn't fix this issue. We need to vendor docker/swarmkit#893 and docker/swarmkit#1114.

@dongluochen: It looks like both of these have been vendored now.
I wish we had vendored a current copy of swarmkit instead of a slightly outdated one, because it would make reasoning about this stuff a lot easier.

Thanks, yes, docker/swarmkit#893 has been vendored with #23312

Note I see this fixed in master: Docker version 1.12.0-dev, build 10d5d08

Sidenote: this seems to be a worrying trend in the Docker project now (my other issue with docs: https://github.com/docker/docker/issues/24277#issuecomment-244533638) - shipping stuff with missing, or even worse: incorrect documentation. docker service create --constraint node==nodename does not work even though it's documented here: https://docs.docker.com/swarm/scheduler/filter/#/how-to-write-filter-expressions (example: node==node1 "matches node node1")

@joonas-fi , the doc you refer to on filters refers to "Docker Swarm." It is called out at the top of the page. The information is correct within the context of Docker Swarm. For Swarm Mode, the documentation is included with the Docker Engine docs as follows:
The 1.12 Docker Engine command line reference documents how to do constraints for Docker Engine swarm mode:
https://docs.docker.com/engine/reference/commandline/service_create/#/specify-service-constraints
It's also mentioned here: https://docs.docker.com/engine/swarm/services/#/control-service-scale-and-placement
Sorry for the confusion.


In-step highlighting of multiple code fragments

I am looking the ability to highlight code fragments simultaneously in two separate code blocks on the same slide.
My use cases include:

Compare and contrast equivalent code in two different languages
Relate source code to the output it generates

(In the latter case one of the blocks isn't really source code.)
Do you think that this might ever be supported?

Hi @jacg thanks for yet another interesting feature request. It so happens I am in the early stages of working on major new GitPitch release. That release will introduce a number of new features, including some subscription-only features, one of which I've provisionally named synchronized code-presenting.
I believe this new sync feature will give you the kind of behavior you have described. For example, what I envisage for synchronize code-presenting would support the following types of scenarios:
1. Input -> Output
Stepping through a shell script and simultaneously seeing the corresponding console output being automatically updated.
2. Code -> State
Stepping through code and simultaneously seeing state changes or corresponding console output.
3. Code - > Code
Stepping through simultaneous code blocks, loops, functions for side-by-side comparison, discussion.
As you can see these are all variations on a theme, what I call (for want of a better name) synchronized code-presenting. And I think this will handle your uses cases as long as the outputs you referred to are text-based outputs.
I do not yet have a date for this upcoming relase but I will update this thread and the GitPitch blog with further news as it becomes available. Just fyi, this same release will also be adding support for a number of subscription-only features built around GitPitch presentations being served from within private repos which may also be of interest? Cheers, David.

Hi David, (I'm assuming that you get these without being @mentioned explicitly)
The features you mention look very interesting, and indeed closely related to what I wanted.
Presenting from private repos is not of particular interest for me at present. Indeed, my current needs are mostly towards the other end of the openness spectrum, so much so that I'm just slightly worried by hearing about subscription-only features.
I do not mean this to be critical in the slightest, and respect your choice of business model; I'm merely mentioning how it relates to my current needs, which may evolve in the future.
Could you point me to some info on how your subscription model works?

Hi @jacg thanks for this great feedback. In truth one of the reasons I mentioned some of the upcoming subscription-only features was to start having this type of conversation with my users.
I think the single, most important clarification I need to make right now is this:

All of the features you freely enjoy today on gitpitch.com will continue to be free. Free as in beer. For everyone. Just like today.

I hope understanding this alone will help calm some of your initial concerns.
Having worked full-time and entirely gratis on GitPitch for almost two years now, covering all costs of development, maintenance, and hosting of the service itself on gitpitch.com, I believe I have made a reasonably large contribution to open-source and to the broader developer community on Git. A contribution happily made.
But I now need to pivot some of my efforts towards something that will deliver a sustainable income stream. Without this, I simply can not continue. And if I can not continue, neither can GitPitch.
So my main focus today is to make sure GitPitch can continue to delight an ever growing community of presentation geeks on Git, now and long into the future.
Rather than just flipping-a-switch and saying free-no-more-time-to-pay for the current feature set I am building new and enhanced features. These new features will obviously be above and beyond the current feature set. And this approach ensures I can offer-real-added-value to users who choose to become subscribers. This approach also ensures that I can do this without taking anything away from users who decide to remain on the free plan.
I'm not in a position to announce further details of the subscription model today as it remains a work-in-progress, but as with many offerings online, there will be a number of plans, providing real choice for users.
And of course, one choice will be to simply continue as today, happily and freely enjoying all that GitPitch has to offer right now.
So I'm not sure where you will eventually land when GitPitch Pro rolls out, but at the very least I hope you will continue to enjoy using the service at some level, long into the future.
I recommend you keep an eye on the GitPitch Blog for further announcements. Or of course, you can follow me on Twitter for the same news updates.

Hi David,
While I suspect that it is unlikely that I will be signing up for GitPitch Pro myself on the day it rolls out (other tools currently still seem better suited for my current needs, overall), I really do wish you success in this endeavour: you have made something useful, worthwhile and beautiful, and from my perspective, cosmic justice would be done if you could make it a financial success too.
As an aside, have you considered somehing like a Kickstarter campaign? I mention this because I was really grateful that the Kickstarter campaign for Magit gave me an opportunity to offer financial support for the effort behind one of my most useful tools.
On a sociological note: the author embedded a subtle and easily permanently-suppressable (with visible instructions on how to do it) heads-up note about the existence of the campaign, in the software itself. This got one or two very negative reactions, even though most seemed to thnk it was a reasonable thing to do.
I seem to recall from browsing the issues here, that your need for visibility sometimes causes minor friction with users' needs, so I wish you the best of luck in navigating this minefield.
It's a shame that creators of value must, all too often, divert much of their effort into monetizing their product. I suspect that both you and your users would be happier if you could concentrate on making GitPitch even better, rather than on coming up with schemes for ensuring that you can pay your bills.
I wonder whether society will come up with better solutions to this general problem, any time soon.

Thanks again for this useful feedback and helpful suggestions. Here's to navigating minefields and cosmic justice :)


Add Open ID Connect Support to authentication-service

Is your feature request related to a problem? Please describe.
The authentication-service is missing many of the features of an OIDC provider.
Describe the solution you'd like
Find and integrate a library that will expose the features needed for the authentication-service to become a full OIDC provider.

Pushed demo code in branch - oidc-test
Also more detailed specification -
https://sourcefuse.atlassian.net/wiki/spaces/SOURCEFUSE/pages/3107389441/SourceLoop+OIDC+Service+DRAFT


Fix wk web view navigation delegate on page callbacks

Xamarin.Auth Pull Request
Fixes 1.
Checklist

[ ] I have included examples or tests
[ ] I have updated the change log
[ ] I am listed in the CONTRIBUTORS file
[ ] I have cleaned up the commit history (use rebase and squash)

Changes proposed in this pull request:

Call WebAuthenticator.OnPageLoading from DidStartProvisionalNavigation
Call  WebAuthenticator.OnPageLoaded from DidFinishNavigation

Fix for : https://github.com/xamarin/Xamarin.Auth/issues/411

any chances of merging this and releasing it on nuget?

@Abhirasmanu-Trimble
Any chance of fixing the issues and trying to get this merged ?

@Abhirasmanu-Trimble
Any chance of fixing the issues and trying to get this merged ?

I do not have write access to this repository.

Approved now - please can someone merge


Set the public path to the asset manifest entries

As mentioned by this comment, if you set the homepage in your package.json the entries in your asset-manifest.json are still relative. This is a fix for that

This looks good to me but it's technically a breaking change, so we'll merge it together with other breaking changes later.

Oops I should have merged this into next, not master. Will revert on master and cherry-pick onto next.


stage v0.14.0

Codecov Report

Merging #295 (c9830f7) into main (b2a41d3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #295   +/-   ##
=======================================
  Coverage   80.74%   80.74%
=======================================
  Files          42       42
  Lines        3536     3536
=======================================
  Hits         2855     2855
  Misses        564      564
  Partials      117      117

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Initial support for VeriStand 2024

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Adds initial support for LabVIEW and VeriStand 2024.
Why should this Pull Request be merged?
Needed for a future release.
What testing has been done?
PR build.

I think the tests will fail for this since the dummy dependencies are not updated to new locations in the new LV version, but you can point other custom devices to use this build tools branch in the pipeline build to test those.

@rtzoeller I think the tests will fail for this since the dummy dependencies are not updated to new locations in the new LV version, but you can point other custom devices to use this build tools branch in the pipeline build to test those.
Edit: You should also be able to get to the dependencies step at least, to see if the first parts of the build are working.

I copied the 2023 assets to a 2024 directory for now to get unblocked.


Sorting templates

Create some sort of templating system for allowing users to configure how imports are sorted.

Going to say that https://github.com/agrc/AmdButler#amd_butler_params_one_line is good enough for now. After you start using AMD Butler you stop paying attention to the format of the sorting anyway.


Adjust logic for virtio driver download setup

Wraps the driver download for virtio into a conditional to avoid performing the download on every build.

the current implementation works-on-my-machine:
$ make drivers
make: 'drivers' is up to date.

what is the output in your machine?

Ok, I'm not sure what was going on, and I no longer have the shell history to share.  What I was noticing was that attempts to build any Libvirt machine would re-download the virtio iso.  If that's not what happens for anyone else I'll delete my fork and you can close the PR.


🚧Refactor code docs

I have done the items below . . .

[X] I have updated the title without removing the 🚧 emoji.

Description
Make a simple code documentation change for grammar related purposes.
Refactor the EnsureThat class code docs as suggested below
/// <summary>
- /// Performs analysis on particular values to ensure that a value meets a criteria,
+ /// Performs analysis on particular values to ensure that they meet a criteria,
- /// then invokes behavior based on result.
+ /// then invokes behavior based on a result.
/// </summary>
internal static class EnsureThat

Acceptance Criteria
This issue is finished when:

[ ] Class level code docs refactored
[ ] Unit tests added

ToDo Items

[X] Priority label added to this issue.  Refer to the Priority Type Labels section below.
[X] Change type labels added to this issue.  Refer to the Change Type Labels section below.
[ ] Issue linked to the correct project.
[X] Issue linked to the correct milestone.
[ ] Draft pull request created and linked to this issue.

Issue Dependencies
No response
Related Work
No response
Additional Information:
Change Type Labels

Change Type
Label

Bug Fixes
https://github.com/KinsonDigital/Velaptor/labels/🐛bug

Breaking Changes
https://github.com/KinsonDigital/Velaptor/labels/💣breaking changes

Enhancement
https://github.com/KinsonDigital/Velaptor/labels/enhancement

Workflow Changes
https://github.com/KinsonDigital/Velaptor/labels/workflow

Code Doc Changes
https://github.com/KinsonDigital/Velaptor/labels/📑documentation%2Fcode

Product Doc Changes
https://github.com/KinsonDigital/Velaptor/labels/📝documentation%2Fproduct

Priority Type Labels

Priority Type
Label

Low Priority
https://github.com/KinsonDigital/Velaptor/labels/low priority

Medium Priority
https://github.com/KinsonDigital/Velaptor/labels/medium priority

High Priority
https://github.com/KinsonDigital/Velaptor/labels/high priority

Code of Conduct

[X] I agree to follow this project's Code of Conduct.

Can you assign me this?

@CalvinWilkinson  kindly remove me from this issue.


File opened with Harpoon can't be folded (E490: No fold found)

I reallyyyyyy want to use harpoon (or harpoon2 if you will 😅) as I love it so much, but I can't get around this issue.
I use oil.nvim as my file explorer (my config here) overriding netrw.
When I enter Neovim and are presented with oil's file explorer, I fire harpoon to take me to x file. When doing so, folds don't seem to appear. As soon as I go into insert mode, the folds appear out of nowhere and I'm off to the races. But I gotta do this on a per-file basis and it get's quite overwhelming.
You can find my entire config here. Could I be missing something that's not harpoon related maybe?

Here's a recording of what I mean
https://github.com/ThePrimeagen/harpoon/assets/25900010/88c8e371-91e8-458f-8b7d-55473a4b2e31

Harpoon simply opens a buffer. It doesn't do anything special. If there's something special you wish to have happened upon opening a file, you need to override the configuration, check out the select command on the default list config

@ThePrimeagen thanks for the reply! I solved it by doing this:
harpoon:setup({
  ufo = {
    select = function(list_item, list, option)
      local bufnr = vim.fn.bufnr(list_item.value)
      local set_position = false

      if bufnr == -1 then
        set_position = true
        bufnr = vim.fn.bufnr(list_item.value, true)
      end
      if not vim.api.nvim_buf_is_loaded(bufnr) then
        vim.fn.bufload(bufnr)
        vim.api.nvim_set_option_value('buflisted', true, {
          buf = bufnr,
        })
      end

      vim.api.nvim_set_current_buf(bufnr)

      if set_position then
        vim.api.nvim_win_set_cursor(0, {
          list_item.context.row or 1,
          list_item.context.col or 0,
        })
      end

      vim.cmd('UfoEnableFold') -- Custom behavior
    end
  }
})

Basically I head to the default config, copy/pasta it, and added the vim.cmd('UfoEnableFold') at the end. Would that be a correct approach? What I don't like about this is that if the default config changes I won't get any of that :/
Also, I don't see a way to leverage items from this list on the :extend() method:
harpoon:extend({
  UI_CREATE = function(cx)
    km(
      '<C-v>',
      function() harpoon.ui:select_menu_item({vsplit = true}) end, -- How can I select items from the 'ufo' list here?
      {desc = 'Open as vertical split', buffer = cx.bufnr}
    )
    km(
      '<C-x>',
      function() harpoon.ui:select_menu_item({split = true}) end,
      {desc = 'Open as split', buffer = cx.bufnr}
    )
    km(
      '<C-t>',
      function() harpoon.ui:select_menu_item({tabedit = true}) end,
      {desc = 'Open in new tab', buffer = cx.bufnr}
    )
  end,
})

What do you need for me to extend harpoon for you? I could add a new method

https://github.com/ThePrimeagen/harpoon/blob/31701337377991c66eebb57ebd23ef01eb587352/lua/harpoon/config.lua#L92
I just have to add a new event in this function that emits out the buffer, I believe

I'm not really sure what'd be the right approach, not that experienced on vim plugin development 😅 I think I'm ok with how it got solved, but in essence all I need is for ufo to be enabled every time I enter a buffer with harpoon. I figured this can also be done with an autocommand, but (to the best of my knowledge) that'd be triggered on every BufEnter, not just harpooned files.
Maybe a BufEnter method on the list config is an valid option?

@ThePrimeagen awesome, works like a charm ✨ thanks a lot for adding this!
Could it maybe have broken the other events being emitted with :extend? For example, opening files with vsplit ain't working anymore.
How my config looks:
harpoon:extend(extensions.builtins.command_on_nav('UfoEnableFold'))
harpoon:extend({
  UI_CREATE = function(cx)
    vim.keymap.set(
      'n',
      '<C-v>',
      function()
        harpoon.ui:select_menu_item({vsplit = true})
      end,
      {desc = 'Open as vertical split', buffer = cx.bufnr}
    )
    vim.keymap.set(
      'n',
      '<C-x>',
      function() harpoon.ui:select_menu_item({split = true}) end,
      {desc = 'Open as split', buffer = cx.bufnr}
    )
    vim.keymap.set(
      'n',
      '<C-t>',
      function() harpoon.ui:select_menu_item({tabedit = true}) end,
      {desc = 'Open in new tab', buffer = cx.bufnr}
    )
  end,
  -- Also tried using NAVIGATE event here instead of extensions.builtins, same luck
})

Logger shows this:
config_default#select { context = { col = 0, row = 1 }, value = "nvim/lua/plugins/harpoon.lua" } __harpoon_files
ui#toggle_quick_menu#opening __harpoon_files
ui#select_menu_item selecting item 2 from { "nvim/lua/plugins/harpoon.lua", "nvim/lua/plugins/oil.lua" } options { vsplit = true }
config_default#select { context = { col = 0, row = 1 }, value = "nvim/lua/plugins/oil.lua" } __harpoon_files { vsplit = true }
toggle by BufLeave
ui#toggle_quick_menu#closing
ui#close_menu name: __harpoon_files win and bufnr { bufnr = 5, win = 1002 }
ui#close_menu name: nil win and bufnr {}

Never mind, nuked harpoon and restarted everything and now it works. @ThePrimeagen thanks a lot again! By the way I love your stuff man, you are the reason I started learning vim this year so I have a lot to be thankful from you 🙏


Use Lens Extension Store to store user preferences

You can create your own "store" for your extension that gets persisted by Lens somehow. e.g. ExtensionStore is used in the telemetry extension: https://github.com/lensapp/lens/blob/master/extensions/telemetry/src/telemetry-preferences-store.ts
Right now, we're using the local storage API, which just happens to work, because the code was ported from a web app, but it doesn't always work. Like it won't survive a Lens upgrade, for example.

Work started on store branch. To be continued later.

NOTES: I was unsuccessful in using the Telemetry extension as an example to create a store -- Lens kept telling me it was trying to read a property off an undefined object (crash) and there was no practical way of debugging. Also the code in the telemetry extension's store class doesn't make sense given the store base class. It shouldn't work either. And yet it works.
After chatting with Sebastian about it: So maybe there's a bug in init() when autoLoad is true, then, because the telemetry extension leave it false (its default). Maybe I didn't need to set it, but it seemed like I would want the store to be auto-loaded. And the Telemetry extension is using the base store correctly, apparently.


Include hashes from local artifacts

Also prioritize remote artifacts from non-pypi sources
Fixes #2394
Fixes #3145

Signed-off-by: Dan Ryan<EMAIL_ADDRESS>

included in #3147


Map jumping when scrolling beyond the bounds when tileLayer noWrap = true

I am experimenting with Leaflet for use with a map from a fictional video game world, sorta like how people have made maps for Minecraft or other games.  The map is just a flat map.  It does not represent a planet or spherical body.  The map has a top, bottom, left and right sides.  It does not stretch on forever.  It's just a square map.
Here is a basic example of what I'm doing:
(I'm using some custom earth tiles for this example)
http://jsfiddle.net/CumhN/1/
If you start panning the map around, you will see that the map jumps to the next tiled map to the left and right.  The tileLayer has noWrap true, so the images are not wrapping, but it's still there.
Is it possible to disable this behavior and get what I want?  I just want a plain, flat, square map.  I want to allow the user to pan/zoom anywhere they want, but I don't want the wrapped maps to appear on the sides when they get too close to the edge of the map.
Also I notice sometimes when scrolling near the edge, it makes a snapping jump to the map next to it.
Is it possible to do what I want?
I did read through this issue:  #105  But I'm not exactly sure what the original user is doing or if they solved the problem I'm having or not...
Any help would be greatly appreciated.

worldCopyJump: false will help to solve the second issue