free energy code for conformational state changes

Description
New function and example for calculating free energy difference between conformational states (folded vs. unfolded or any amount of other states) as a function of temperature. For now the states are generated randomly in the example.
Todos
Add methods for determining the conformational state associated with each frame and energy:

[ ] By native contact fraction (i.e., similarity to folded state)
[ ] By clustering based on RMSD

Status

Working on adding the state classification methods

For randomly assigned states to the output in the native contacts examples folder, we get a plot like this:
free_energy2.pdf

Codecov Report

Merging #61 into master will decrease coverage by 1.02%.
The diff coverage is 0.00%.

More updates:
Updated the plotting functions for replica exchange output.

The replica energies as a function of simulation time is now replaced with state energies as a function of time (legend with temps should have been states in old version)
Added plot for energy histogram / overlap of states
Use subplots to split up data if we have a lot of replicas (not really much better - needs to be separate full page plots I'm thinking)

Added function for writing pdb trajectories by state, rather than by replica. Could also run the rmsd clustering in analyze_foldamers on these, using 1 cluster, to produce the most representative structure (medoid) for each temp.

Can you maybe post examples of plots in the PR?

Yeah, I just want to try to fix some of the plot formatting first.

Yeah, I just want to try to fix some of the plot formatting first.

makes sense.

Ok I think I've finally got the multi-page pdf plots working. I have it plotting 6 replicas per page as the default, but maybe even less would be better.

rep_ex_ener.pdf
rep_ex_ener_hist.pdf
rep_ex_states.pdf
Here are some example plots for 36 replicas.

Figured out why the state pdb trajectories were so weird in VMD - I hadn't assigned units to the positions for each state (which we store as nanometers), and VMD assumed the units were Angstrom.  For the replica pdbs, we were giving the nanometer units to the mdtraj PDB trajectory writer, and it is apparently converting them there to Angstrom.
I also centered the state pdb trajectories so they are not switching back and forth in space. Might need to be updated if we are using multiple different particle masses.

Still working on the example script for the native contacts / free energy, but I've updated the native contacts calculation to use mdtraj to compute the relevant distances for an entire trajectory in one go. I estimate the speedup is about 300x. It takes about 3 minutes to analyze 180,000 frames.

Still working on the example script for the native contacts / free energy, but I've updated the native contacts calculation to use mdtraj to compute the relevant distances for an entire trajectory in one go. I estimate the speedup is about 300x. It takes about 3 minutes to analyze 180,000 frames.

300x is nothing to sneeze at!

This should provide a fix for #66 , by stripping the units off the positions, and adding them back after the distance calculation. We may want to look into why the numpy math on the positions in the random builder example causes the units to get lost.

Added a native contacts test.
Pytest interpreted test_forces and test_force in cg_build as functions it should test, whenever we import cg_build, so I just renamed those to check_force and check_forces to avoid needing extra pytest commands to ignore them.

A lot of important updates here which we've already tested and reviewed in PR #70, so I'll merge. One thing we should verify is the uncertainty in the free energy calculation (such as by comparing with bootstrapping uncertainty) - I'll make it a separate issue.
Also note that we have now switched the replica exchange scheme from 'swap-all' to 'swap-neighbors' due to possible unresolved bug with the former.


Segfault on quitting? [6837]

Environment
Ubuntu 18.04.3 LTS 64-bit
Micro-XRCE-DDS-Agent v1.1.0
Problem
When starting and then quitting the MicroXRCEAgent command, I get a segfault every time. I attempted a fresh install too and get the same result.
rnvandemark@ideapad:~/$ MicroXRCEAgent
A subcommand is required
Run with --help for more information.

Enter command: serial --dev /dev/ttyACM0 -b 115200
Enter 'q' for exit
[1573568617.797831] info     | SerialServerLinux.cpp | init                     | running...             | fd: 3
q
[1573568619.856496] info     | SerialServerLinux.cpp | close                    | server stopped         | fd: 3
Segmentation fault (core dumped)

Even if I do nothing, I get a segfault:
rnvandemark@ideapad:~/$ MicroXRCEAgent
A subcommand is required
Run with --help for more information.

Enter command: q
Segmentation fault (core dumped)

This stems from another issue: ROBOTIS-GIT/ros2arduino#34
Like I said in the other issue, this was working as expected a couple of months ago, but fails now.

Hi @rnvandemark
I am not able to reproduce this issue.
I tried it in a clean Ubuntu container.
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"

Can you provide more info?
It is a clean machine?
Can you test it in a Docker for example?
ldd output?

Hi @rnvandemark, I close this issue. In case it persists, please reopen it.


Lepiter: Sidebar grouped page list should scroll to and select pages

The existing solution results in never-ending Scripter examples.

There is an issue with scrolling and selecting pages.


How to get sentence embedding from last hidden state?

inputs = l2v.tokenizer(doc, return_tensors="pt", padding=True, add_special_tokens=False)
res = l2v.model(**inputs, output_hidden_states=True).last_hidden_state.mean(dim=1)
Is this implementation equivalent to the encode function? Thank you!

Closing as it is stale. Feel free to re-open if you have any further questions.

I have a similar question - is it possible to obtain the the sentence embedding as a whole, (embeddings for each token) without any pooling methods?


Fix hip_mbcnt test typo

Ctest did not catch this test failure. When running this test manually before typo, I got __mbcnt_hi() FAILED! . This fix will fix this test for HCC and HIP clang path.

Before this fix, running the test manually looks like:
System minor 0
System major 3
agent prop name Device 67df
hip Device prop succeeded
__mbcnt_lo() PASSED!
__mbcnt_hi() FAILED!
__lane_id() PASSED!


Stream timeout and playback issues with cv2 and go2rtc

Hello!
I am experiencing stream timeout issues and playback stopping when trying to display the same stream simultaneously using go2rtc and the cv2 library. The error message<EMAIL_ADDRESS>global cap_ffmpeg_impl.hpp:453 _opencv_ffmpeg_interrupt_callback Stream timeout triggered after 30029.631708 ms' appears periodically. Streams sometimes stop as if they reached the end, even though they should be continuous. If I restart the video playback on a separate device, it resumes, indicating that the stream continues running without interruption.
Config:
api:
  listen: ":1234"
rtsp:
  listen: ":1235"
webrtc:
  listen: ":1236"
srtp:
  listen: ":1237"

streams:
  test_1: ffmpeg:video/Test_video_1.mp4#video=h264
  test_2: ffmpeg:video/Test_video_2.mp4#video=h264
  test_3: ffmpeg:video/Test_video_3.mp4#video=h264
  test_4: ffmpeg:video/Test_video.mp4#video=h264
  test_5: ffmpeg:video/Test_video_4.mp4#video=h264

So when I play the same stream on one device or multiple devices, some streams may stop due to the above error, but one may continue working without issues. Any advice or solutions would be appreciated.
Thanks!

You showing error from some external software not related to go2rtc. I don't know how to help you.


Cannot query / pay more than one stash account

it seems that multiple stash accounts cannot be queried
it does not matter if the accounts are passed via command line or config
it looks like only the data of the first account passed is correct, all further accounts take over the status of the first one
Example:
GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d has unclaimed eras 2320, 2319 and 2318
FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 has no unclaimed eras
payctl -c ./default.conf list  GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13

Era: 2321
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 1.255767075386 KSM (claimed)
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 0.209294512564 KSM (claimed)
Era: 2320
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 0.262080569196 KSM (unclaimed)
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 0.157248341517 KSM (unclaimed)
Era: 2319
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 1.820096634906 KSM (unclaimed)
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 0.695919301582 KSM (unclaimed)
Era: 2318
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 0.810994411792 KSM (unclaimed)
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 1.459789941226 KSM (unclaimed)

payctl -c ./default.conf list FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d

Era: 2321
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 0.209294512564 KSM (claimed)
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 1.255767075386 KSM (claimed)
Era: 2320
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 0.157248341517 KSM (claimed)
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 0.262080569196 KSM (claimed)
Era: 2319
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 0.695919301582 KSM (claimed)
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 1.820096634906 KSM (claimed)
Era: 2318
	 FiNuPk2iPirbKC7Spse3NuE9rWjzaQonZmk6wRvk1LcEU13 => 1.459789941226 KSM (claimed)
	 GxxV8DAcHCSzBbspu83AK9UoTYxzSQ6VVfdopjnkXfPtE8d => 0.810994411792 KSM (claimed)

Thanks for reporting.
We are currently working on the version 2, which will make easy to operate more than one validator (even on different networks). It will probably take a couple of weeks from now to be released.

ok, thx for information

I have just pushed an initial refactor for the version 2. You can get it from the brach 'v2' and it would be very useful for us that you test it on your use case.

Ok, I did the first tests:

payout for different accounts seems to work in principle
the values shown in list mode do not match the real rewards
it seems that just executed payouts are not recognized
example: extrinsics 7816008-2 and 7815962-3 in kusama

Thanks.

:-)

I need to investigate a bit on this one.

I know why this happened. I am using a cache system (and I enabled storage cache during my testing). So It identified some pending payouts on the cache data that were already done; AlreadyClaimed. You can fix this by removing line 82 on utils.py.

You're right, of course, I hadn't thought of that.
Then the values will certainly be correct.


chore: update registrar and liveness probe images

Reason for Change:

Updates node-driver-registrar and liveness-probe images

Requirements

[x] squashed commits
[x] included documentation
[x] added unit tests and e2e tests (if applicable).

Issue Fixed:

fixes #294
Please answer the following questions with yes/no:

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

Special Notes for Reviewers:

/azp run pr-e2e-azure


feat: accept decimal and hex as int value inputs

Accept decimal values, not only hexes for ints

The change seems good. One thing that I am worried is do we have some scripts/code/rpc expecting this to be treated as hex and this change might brake it. Because there is a lot of places in the code where jsToInt is used.


Run Build Task... menu with only one item has no configure button

Does this issue occur when all extensions are disabled?: No, you need an extension that generates build tasks to see this.

VS Code Version: 1.81.0-insider
OS Version: macOS 13.4.1

To replicate this you need an extension that generates build tasks. You also need a situation where it will only produce one task. The reproduction steps below use the sswg.swift-lang extension
Steps to Reproduce:

Ensure you have swift installed
Make a new folder and enter it
Run swift package init
Run code .
Wait for extension to load package (Loading package message in bottom bar will disappear)
Press Cmd+Shift+B to bring up Run Build Task... menu
It should only have one entry and it will have no configure button

we now automatically run the task if there's just one


Added a Indian mirror

http://nginx-io.mirror.cdnweb.network/nginx/
is not located in India, it's using AWS Cloudfront

fixed it
now its on a indian server


Start consensus only after all nodes have been initialized

This fixes a bug, where some nodes would not
receive all messages properly, and cause TestConsensus to fail
over a panic when attempting to retrieve a candidate block
from the network. The panic occurs because there are no
CandidateBrokers initialized in this test, and thus the request
message falls on deaf ears. The upward propagation of the error
ultimately leads to a panic.
Fixes #866

Codecov Report

Merging #870 (71ca9c6) into master (72c09e2) will increase coverage by 0.32%.
The diff coverage is 80.48%.

@@            Coverage Diff             @@
##           master     #870      +/-   ##
==========================================
+ Coverage   50.30%   50.63%   +0.32%
==========================================
  Files         145      145
  Lines        7498     7521      +23
==========================================
+ Hits         3772     3808      +36
+ Misses       3063     3046      -17
- Partials      663      667       +4

Impacted Files
Coverage Δ

pkg/core/consensus/testing/node.go
100.00% <ø> (+6.45%)
:arrow_up:

pkg/core/chain/chain.go
41.86% <50.00%> (+0.09%)
:arrow_up:

pkg/core/chain/sequencer.go
91.30% <80.00%> (+24.63%)
:arrow_up:

pkg/core/chain/synchronizer.go
81.39% <82.75%> (+18.70%)
:arrow_up:

pkg/core/consensus/key/keys.go
76.00% <0.00%> (-8.00%)
:arrow_down:

pkg/gql/notifications/broker.go
72.58% <0.00%> (-3.23%)
:arrow_down:

pkg/core/data/base58/base58.go
72.22% <0.00%> (+1.38%)
:arrow_up:

pkg/core/loop/consensus.go
79.41% <0.00%> (+2.94%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update afc15fd...71ca9c6. Read the comment docs.

Codecov Report

Merging #870 (71ca9c6) into master (72c09e2) will increase coverage by 0.32%.
The diff coverage is 80.48%.

@@            Coverage Diff             @@
##           master     #870      +/-   ##
==========================================
+ Coverage   50.30%   50.63%   +0.32%
==========================================
  Files         145      145
  Lines        7498     7521      +23
==========================================
+ Hits         3772     3808      +36
+ Misses       3063     3046      -17
- Partials      663      667       +4

Impacted Files
Coverage Δ

pkg/core/consensus/testing/node.go
100.00% <ø> (+6.45%)
:arrow_up:

pkg/core/chain/chain.go
41.86% <50.00%> (+0.09%)
:arrow_up:

pkg/core/chain/sequencer.go
91.30% <80.00%> (+24.63%)
:arrow_up:

pkg/core/chain/synchronizer.go
81.39% <82.75%> (+18.70%)
:arrow_up:

pkg/core/consensus/key/keys.go
76.00% <0.00%> (-8.00%)
:arrow_down:

pkg/gql/notifications/broker.go
72.58% <0.00%> (-3.23%)
:arrow_down:

pkg/core/data/base58/base58.go
72.22% <0.00%> (+1.38%)
:arrow_up:

pkg/core/loop/consensus.go
79.41% <0.00%> (+2.94%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update afc15fd...71ca9c6. Read the comment docs.


Remove supefluous encoding of ArcGIS service parameters

The http client (Typhoeus) should be provided with a UTF-8 payload and handle itself any further encoding required by HTTP.
Fixes #10556

Please @rafatower CR this

:+1:


Very bad audio output/audio doesn't work with the ALSA plugin

Here's my connection string:
$ xfreerdp /fonts /size:1280x800 /bpp:16 /compression /compression-level:9 /sound:sys:alsa /multimedia:sys:alsa /clipboard /sec:rdp /window-drag /encryption /auto-reconnect /u:Administrator /drive:home,/tmp/rdpdisk /v:IP_ADDRESS
Output:
loading channel rdpdr
loading channel rdpsnd
loading channel cliprdr
loading channel drdynvc
Unable to find a match for unix timezone: ocaltime.perm
Loading device service drive (static)
Loading Dynamic Virtual Channel tsmf
registered device #1: home (type=8 id=1)
Warning: requested sound buffer size 8820, got 8192 instead

Playing audio on the remote side makes xfreerdp consume 100% of CPU while there's no sound at all, and playback indicator on the remote side runs three times real time.
This is probably a dupe of #1251.
I use default ALSA configuration with dmix output (it's been default in most distros for a very long time).
Here's some information:
Local PC: CentOS 6.5 running Linux kernel 3.15.6.
alsa-lib-1.0.22-3.el6.i686
alsa-lib-devel-1.0.22-3.el6.i686
alsa-oss-1.0.17-4.fc12.i686
alsa-oss-libs-1.0.17-4.fc12.i686
alsa-plugins-oss-1.0.21-3.el6.i686
alsa-plugins-samplerate-1.0.21-3.el6.i686

freerdp-1.2.0-0.1.beta.1.el6.i686
freerdp-libs-1.2.0-0.1.beta.1.el6.i686

Remote PC: Windows Server 2008 R2.

Programs using WAVE output more or less work.
Programs using DSound don't produce any sound (including Windows Media Player).
$ xfreerdp /sound:sys:alsa /multimedia:sys:alsa

[04:17:01:460] [30344:30347] [ERROR][com.freerdp.channels.legacy] - Warning: requested sound buffer size 8820, got 8192 instead

ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred

I'm using 1.2.0-beta1+android9.tar.gz  from November 12th 16:15

Pulse output also works terribly:
[03:03:29:189] [20361:20364] [ERROR][com.freerdp.channels.legacy] - Warning: requested sound buffer size 8820, got 8192 instead
[03:03:37:779] [20361:20364] [ERROR][com.freerdp.channels.legacy] - Warning: requested sound buffer size 2205, got 2048 instead
[03:03:42:282] [20361:20364] [ERROR][com.freerdp.channels.legacy] - Warning: requested sound buffer size 1600, got 1486 instead
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred

#4453 should address most of these issues.
Create a new issue if still not solved.


SharePoint download/upload file as stream using Powershell Get-PnPFile and Add-PnPFile

I am trying to download file from source SharePoint site using
    $fileSource = Get-PnPFile -Url $filePath -AsFileObject -Connection $sourceConnection

But how to upload the file to another SharePoint site using the returned $fileSource
    $fileDest = Add-PnPFile -FileName $filename -Folder "uploadFolder" -Stream <what goes here?> -Connection $destConnection

I tried
    $fileDest = Add-PnPFile -FileName $filename -Folder "uploadFolder" -Stream $fileSource -Connection $destConnection

and it doesn't work.

This is how I've been doing it using Stream:
$streamResult = (Get-PnPFile -Url '/Shared Documents/Leon01-Square250x250.jpg').OpenBinaryStream()
Invoke-PnPQuery
$stream = $streamResult.Value

$fileDest = Add-PnPFile -FileName "Leon01-Square250x250.jpg" -Folder "Reports" -Stream $stream

This is how I've been doing it using Stream:
$streamResult = (Get-PnPFile -Url '/Shared Documents/Leon01-Square250x250.jpg').OpenBinaryStream()
Invoke-PnPQuery
$stream = $streamResult.Value

$fileDest = Add-PnPFile -FileName "Leon01-Square250x250.jpg" -Folder "Reports" -Stream $stream

Thanks Leon. Works perfectly.

Thanks Leon. Works perfectly.


macOS: Compiler issues.

Describe the Bug
screenshots of the errors in question

To Reproduce
attempt to compile on macOS
Operating System
macOS

I am currently attempting to figure out why this is happening and if I figure out a solution I will detail it here and add compile instructions to the README for MacOS

Closed: Apple Clang is unsupported. Homebrew Clang/LLVM must be used instead


$rose() and $fell() are defined on the LSB of their arguments only

Steps to reproduce the issue
In the following example, both assertions should fail.
(* anyseq *) reg [1:0] X;
always @(posedge i_clk)
if (f_past_valid)
begin
    assert($rose(X) == ((X)&&(!$past(X)));
    assert($fell(X) == ((!X)&&($past(X)));
end

Values causing them to fail should include the sequence 2'h0, 2'h2 for rose, and 2'h2, 2'h0 for fell.
Expected behavior
According to the SVA 2012 specification, section 16.9.3 Sampled Value Functions, page 361,

$rose returns true if the LSB of the expression changed to 1.  Otherwise, it returns false.
$fell returns true if the LSB of the expression changed to 0.  Otherwise it returns false.

Actual behavior
Frontends/ast/simplify.cc tests the entire value against zero, rather than just the LSB.
See this pull request for a suggested change: #688

Thanks! Merged #688.


Add first draft for lab 3 using Prefect

This PR is not meant to be merged immediately. I just wanted to hear your feedback on this first draft.
Should we give them a very simple pipeline to demonstrate the working of @task and @flow or should the be able to do it all themselves? In the lab assignment you'll see that I just point to some documentation and that they need to develop the entire pipeline themselves.
We could also give the a base structure to plug the code into.
Closes #66

I think it is OK to let them try to figure it out for themselves. We just need to be really clear about the miminum requirements we want to see. If it proves to difficult, we can always give hints or explanation during class hours and adjust it for 2025-2026.

Model deployment is now not present in the assignment, since we work locally. Optionally we can provide a Node.js server to try to perform a prediction?

I have merged the PR, Adding the deployment could be nice, but if it is too much of a hassle, we could always leave it open as a possible extension


Pydantic should default to v2, or hera should allow it to be configured

Pre-bug-report checklist
1. This bug can be reproduced using pure Argo YAML

[ ] Yes 👉 Please report a bug to the Argo Workflows GitHub 👈
[ ] No
[x] n/a (it is an issue with how hera imports pydantic)

If yes, it is more likely to be an Argo bug unrelated to Hera. Please double check before submitting an issue to Hera.
2. This bug occurs in Hera when...

[ ] exporting to YAML
[ ] submitting to Argo
[ ] running on Argo with the Hera runner
[x] other: when using hera's pydantic models

Bug report
Describe the bug
A clear and concise description of what the bug is:
When mixing in hera models into my own pydantic models, I get errors like this:
         return cls.model_validate(kwargs, strict=True)
E       TypeError: BaseModel.validate() takes 2 positional arguments but 3 were given

Because I'm using the default in pydantic (V2 models), but hera defaults to the v1 models:
I think this is a bug b/c _PYDANTIC_VERSION gets set to 2 even though the imports are v1.
Error log if applicable:
To Reproduce
Full Hera code to reproduce the bug:
python -c 'from hera.workflows.models import Volume; print(Volume.__mro__)'
(<class 'hera.workflows.models.io.k8s.api.core.v1.Volume'>, <class 'hera.shared._pydantic.BaseModel'>, <class 'pydantic.v1.main.BaseModel'>, <class 'pydantic.v1.utils.Representation'>, <class 'object'>)

Expected behavior
A clear and concise description of what you expected to happen:
I think this should default to import pydantic.v2 first, but given that both versions are supported according to comments in _pydantic.py, I think this could also be a feature request in that there should be some variable like HERA_PYDANTIC_API that defaults to v2, but lets others choose v1 if they're still stuck on that version.
Environment

Hera Version: 5.14.0
Python Version: 3.X.X
Argo Version: 3.X.X

Additional context
Add any other context about the problem here.

Hi @terrykong, thanks for adding the issue. The original PR #795 to add V2 has some history.
The problem is specifically that Hera's codebase was written using Pydantic V1, including the generated Argo model classes. This would require a fairly large time investment to provide models for both versions, and increase the maintenance burden for the two codepaths throughout the codebase (@samj1912 explored this initially but decided against it). Long term we do plan to migrate the codebase to V2, but it should not affect end users at this time.
I'm curious why you would need to mix Hera models with your own? As Hera builds workflows into yaml I'm not sure what missing feature your own V2 "mixin" models would be providing?
Also, the script runner feature lets you use Pydantic V1 or V2 models within your script template functions.

Hi @elliotgunton
So in my use case, I was authoring configuration that used pydantic's BaseModel, but tried to add in hera types as fields, and ran into this issue. So something like this:
from hera.workflows.models import Volume
from pydantic import BaseModel

class MyConfig(BaseModel):
  foobar: str
  volume: Volume

MyConfig.model_validate({"foobar":"a", "volume": {"host_path": {"path": "/mnt"}}})
# Gives
'''
File "/.../venv/lib/python3.10/site-packages/pydantic/main.py", line 509, in model_validate
    return cls.__pydantic_validator__.validate_python(
'''

class H(BaseModel):
  path: str

class V(BaseModel):
  host_path: H

class MyConfigWhichDoesWork(BaseModel):
  foobar:str
  volume: V

MyConfigWhichDoesWork.model_validate({"foobar":"a", "volume": {"host_path": {"path": "/mnt"}}})
# And this works

So basically I want to use pydantic with hera's types but I think the v1 v2 API mismatch is causing pydantic's cryptic error message.

Thank you @terrykong! Using the Hera classes as part of your configs makes sense 👍 The point remains that it will take a significant effort to allow both v1 and v2 classes to be exported from the library, so I can't give an expected timeframe/exact details for the time being.

Seeing a potentially related error
hera generate yaml --to generated/ -e __pycache__/* --recursive _hera/
warning: The `hera` CLI is a work-in-progress, subject to change at any time!
Traceback (most recent call last):
  File "/Users/devgoyal/.pyenv/versions/argo/bin/hera", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/devgoyal/.pyenv/versions/3.11.7/envs/argo/lib/python3.11/site-packages/hera/__main__.py", line 26, in main
    cappa.invoke(Hera, argv=argv)
  File "/Users/devgoyal/.pyenv/versions/3.11.7/envs/argo/lib/python3.11/site-packages/cappa/base.py", line 141, in invoke
    with resolved.get(concrete_output) as value:
  File "/Users/devgoyal/.pyenv/versions/3.11.7/lib/python3.11/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/Users/devgoyal/.pyenv/versions/3.11.7/envs/argo/lib/python3.11/site-packages/cappa/invoke.py", line 65, in get
    result = callable(**finalized_kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/devgoyal/.pyenv/versions/3.11.7/envs/argo/lib/python3.11/site-packages/hera/_cli/generate/yaml.py", line 35, in generate_yaml
    for workflow in load_workflows_from_module(path):
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/devgoyal/.pyenv/versions/3.11.7/envs/argo/lib/python3.11/site-packages/hera/_cli/generate/yaml.py", line 123, in load_workflows_from_module
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/Users/devgoyal/Development/argo/ml-features/dbt-features/_hera/dating_outcomes/rating_matches_daily_cron.py", line 84, in <module>
    "success": LifecycleHook(
               ^^^^^^^^^^^^^^
  File "/Users/devgoyal/.pyenv/versions/3.11.7/envs/argo/lib/python3.11/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error
pydantic.v1.error_wrappers.ValidationError: 1 validation error for LifecycleHook
arguments
  value is not a valid dict (type=type_error.dict)
make: *** [Makefile:11: hera-generate] Error 1

From this code
        Step(
            name="post-processing-step",
            template_ref=matches_etl_ref,
            arguments=[
                Parameter(name="actions", value=["matches"]),
            ],
            hooks={
                "success": LifecycleHook(
                    arguments=[Parameter(name="metro", value="matches_etl")],
                    expression="steps['post-process-step']=='Succeeded'",
                    template_ref=metrics_ref,
                )
            },
        )

Hey @dev-goyal - that error is unrelated as it's because LifecycleHook isn't yet a special Hera class. The error
arguments
  value is not a valid dict (type=type_error.dict)

is because you need to use from hera.workflows.models import Arguments to rewrite it as
    ...
    arguments=Arguments(
        parameters=[
            Parameter(name="metro", value="matches_etl"),
        ],
    ),
    ...

or as a dict without the import
    ...
    arguments={
        "parameters": [
            Parameter(name="metro", value="matches_etl"),
        ],
    },
    ...

Hey @dev-goyal - that error is unrelated as it's because LifecycleHook isn't yet a special Hera class. The error
arguments
  value is not a valid dict (type=type_error.dict)

is because you need to use from hera.workflows.models import Arguments to rewrite it as
    ...
    arguments=Arguments(
        parameters=[
            Parameter(name="metro", value="matches_etl"),
        ],
    ),
    ...

or as a dict without the import
    ...
    arguments={
        "parameters": [
            Parameter(name="metro", value="matches_etl"),
        ],
    },
    ...

Sorry for the noise, that is correct!


Output in RenderDoc varies significantly from actual geometry captured  on Intel hardware

Currently, it appears that for some reason, glMultiDrawIndirect results in significantly altered results in the actual application, vs what RenderDoc displays.  Here's the difference visualized: https://i.imgur.com/VCxFUtC.png
As you can see, the render is mangled, but RenderDoc displays it with no issues; this makes the issue particularly difficult to debug.
Here is the capture: https://my.mixtape.moe/fiiagc.rdc
and here is the code used to generate the inconsistent draw command: https://pastebin.com/6sDCjSFf
Graphics Processor: Intel HD Graphics 620 (Lenovo)
OpenGL version: 4.5 core
RenderDoc version: 1.0 (API v 1.2.1)
OS: Windows 10
Thank you very much for your time.

Unfortunately diagnosing why something works from within renderdoc's replay is a lot harder than diagnosing why something is broken. From the screenshot it looks to me a lot like the index buffer is broken, since all of the vertices rendered seem to be in the right place - just in the wrong order.
I don't see anything in particular in the state or setup of those draws which I'd expect to break, or the code that you pasted, but it's hard to tell without being able to compare against the application itself.
Since you're using GL and Intel, both of those make it more plausible that this is a driver bug, but it's impossible to say without more information. Are you able to share a build of your program with me (either here or privately)?

Dang, that was a fast response!
Sure thing. I've added the debug and release version, as well as debugging symbols, in case that helps at all.
https://my.mixtape.moe/ftxlbx.zip
Also, there was a small typo in the paste in AddMesh; it wasn't in the actual code, but ended up in the paste while cleaning out some comment gore so that my code wasn't horrifying to those looking at it.
Here's the actual version;
https://pastebin.com/QMfhY5gd
I'd be more than willing to supply anything else that might help.

There's definitely something funky going on here. My guess is some invalid behaviour which RenderDoc is normalising or avoiding somehow on replay.
For what it's worth:

On my nvidia machine, the demo plays fine without RenderDoc. Not too surprising since nvidia tends to be extremely lax/forgiving:

On my intel machine I unfortunately can't run the demo, as it requires GL 4.5 and my chip is an HD Graphics 6000 which only supports GL 4.4 at best.
On my AMD machine the draw is completely missing, both running the program on its own, and while capturing and replaying. On AMD it does say that the draw call generates GL_INVALID_OPERATION but unfortunately nothing more than that, I'll see if I can find out any more info here about why it doesn't like the draw as it might lend you a hand.

I still can't see anything that's definitely wrong, but there are a couple of weird points - there's a call to glShadeModel which is deprecated and no longer part of core profile OpenGL which you look to be using. I don't think that's related though. It also seems very weird to bind the same buffer to both GL_DRAW_INDIRECT_BUFFER and GL_ARRAY_BUFFER but I'm not sure if it's technically illegal from reading the spec.

I heard back from AMD. It seems like their driver isn't correctly stripping dead code from your shader, so there's a return; in main(), and the dead code after that refers to a couple of samplers which are unbound (no surprise - since they're only used in dead code). Unfortunately the samplers are of different types, and without anything bound they end up referring to the same binding slot and things blow up from there.
So you could try removing that dead code, but otherwise I'm not sure if AMD's failure is related at all to the Intel problems.
I'm not sure there's much more I can do from my side, this feels like it might just be an Intel driver bug which I can't investigate myself. Closing this issue for now, but if there's more in renderdoc you'd like me to look at or a different repro case, feel free to comment and I can open it up again.

Apologies for dropping off on this end! My laptop actually flat-out died, which was probably the cause of the graphical issue in the first place. Thanks for trying to help out!


Coroutines (RIPD-1043)

Remove all of the existing coroutine code.
Implement a new coroutine class.
All RPC Websocket and HTTP requests use new coroutine.
Implement a new coroutine unit test.

Reviewers: @JoelKatz @vinniefalco

As mentioned during scrum, npm tests fail all over the place with both clang and msvc.

1,387 lines of broken code removed, and 853 lines of new working code put in its place including unit tests. This is absolutely brilliant.

Current coverage is 49.32%

Merging #1374 into develop will increase coverage by +0.20% as of b1562b0

@@            develop   #1374   diff @@
=======================================
  Files           960     957     -3
  Stmts         66698   66572   -126
  Branches          0       0
  Methods           0       0
=======================================
+ Hit           32763   32839    +76
  Partial           0       0
+ Missed        33935   33733   -202

Review entire Coverage Diff as of b1562b0

Powered by Codecov. Updated on successful CI builds.

@vinniefalco The Windows debug build passes the tests with 256KB. David suggested 1MB which gives us additional safety and I think is a good idea. 1K coros in the queue would use up 1GB of ram. Considering our servers have plenty of free ram available (often over 30GB free), it should not be a problem. However I will look into it further.

The allocation size doesn't affect the amount of RAM used anyway. if you allocate 128MB of memory and use 1MB of it, you'll use 1MB of RAM.

@JoelKatz Just to make sure I understand what you're getting at, the allocation size affects the contiguous reserved virtual address space.  That virtual address space won't be given any backing store (RAM) unless there's an access to an unmapped part of that virtual address space.  Am I getting your point?

@miguelportilla Thanks for your patience and understanding while I came at least part way up to speed with coroutines.  I believe any serious concerns I had have been addressed (mostly by educating me).  The comments you've included will be a big help for folks who need to maintain this code in the future.
:+1:

@scottschurr yes precisely (re: David's point)

The comments are not sufficient. Each routine should explain:

What happens to the stack, and
Where execution continues

I'm just about done reviewing this. The new coroutine code exposes a bug in PathRequest::doCreate. The fix is to add
        else
            status = jvStatus;

after:
         valid = isValid (cache);
         if (! hasCompletion())
             status = valid ? doUpdate(cache, true) : jvStatus;

:neckbeard::+1:

Looks great to me.  Thanks for adding all the comments.
:+1:

Needs a squash

@miguelportilla please squash, and mark ask passed.

Merged as 108906cb20a83fca214a24c5a2f5b1fcbf1952d1.


Bump version: 0.2.9 → 0.2.10

Codecov Report

Merging #111 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #111   +/-   ##
=======================================
  Coverage   91.66%   91.66%
=======================================
  Files          13       13
  Lines         384      384
=======================================
  Hits          352      352
  Misses         32       32

Impacted Files
Coverage Δ

neuroglia/__init__.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 591c6dc...bd18680. Read the comment docs.


Generative AI support for Spring Petclinic Microservices

This PR adds a new microservice to support a generative ai chatbot based on Spring AI.
It supports natural language for performing activities like  listing vets, listing owners, adding owners and adding pets to owners.
If the microservice is not booted, the chatbot simply response that chat is not available.
Based on https://github.com/spring-projects/spring-petclinic/tree/spring-ai
The code was adapted to keep domain boundaries - the functions now call the relevant microservice to perform the various activities as needed.
It also include an example of using RAG in the listVets function.
Thank you.

Hi @odedia, thanks for this contribution I have to review.
Since my last email to you and @showpune, I've reworked a bit your spring-ai branch and published it in a brand new repository: https://github.com/spring-petclinic/spring-petclinic-springai
The chatbot is always active. I will push other improvements trough Pull Request.
Over the next few months I plan to make a version with Lanchain4j.

Thanks!
The purpose of this exercise is to show spring ai naturally integrating with a Microservices architecture.
the chatbot will not do anything if the genai microservice is not running.

There are also somme issues detected by the Sonar Quality Gate.

Sonarqube is mostly complaining about Code duplication, because I copied the data classes from existing microservices to the new one.
However this is the correct approach in a microservices architecture, you don't want to have dependencies on other microservices.
A better approach would be to use contract-based DTO generation but that's a rather large undertaking for the entire project.

I don't see a develop branch in the upstream project, is that exposed to all?

Sonarqube is mostly complaining about Code duplication, because I copied the data classes from existing microservices to the new one. However this is the correct approach in a microservices architecture, you don't want to have dependencies on other microservices. A better approach would be to use contract-based DTO generation but that's a rather large undertaking for the entire project.

Putting code duplication to one side.
We can focus on the 12 issues. I can help you if you want.

I don't see a develop branch in the upstream project, is that exposed to all?

I got confused. I meant the main branch

Any help would be appreciated, I will try to implement the other changes towards the weekend.

@arey when should we expect this PR to be merged? We like to use this sample on Azure in docs, demos and workshop.
-- Asir Selvasingh
CC @odedia

Hi @selvasingh
My feedback has been slow to be taken into account. I guess @odedia  needs some help. Would you be willing to help?

Sorry, this was put in my backlog.
There's quite a backlog of tasks here, can you confirm this is what we require?

Sonarqube quality issues (excluding code duplication warnings)
Move API key to an env variable.
Move defaultFunctions() to code instead of properties.
Remove lombok where possible (VisitDetails), use records instead.
Change FallbackController to POST only.
Update spring-petclinic-api-gateway/src/main/resources/application.yml to POST only.
Declare marked as a webjar

Thanks

Sorry for the long to-do list. I will also add:

Move configuration properties of the spring-petclinic-genai-service module to the spring-petclinic-microservices-config/
The aim is for the demo application to work in standalone mode, disconnected from the network, suggest a way to disable the geani-service or provide a local LLM solution
Upgrade the architecture diagram
Test local and Docker deployment

I hope I haven't forgotten anything.
From your PR, I suggest creating a working feature/genai branch on that repository. This allowed many developers to contribute. Personally, I could work on it next week.

I've created the feature/genai branch where I will work on


Snapshot needs a Close()

Hi,
The /snapshot case needs to have:
context.Response.Close();
added after the line:
context.Response.OutputStream.Write(jpegBytes);
Right now it appears to keep the connection open after the image is sent.
Jay

Thanks for finding that.


Update devkit

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 73.86%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
243

Relevant Lines:
329

💛  - Coveralls


MAINT: version bounds for 1.10.0rc1/relnotes fixes

the version bound changes are very easy to mess up; the conversation from the last release is available here:
https://github.com/scipy/scipy/pull/16353

at the moment, I've assumed that NumPy 1.24.0 will be released before SciPy 1.10.0, so that we can perhaps aim to support all the way up to 1.26.0 if we are careful?

one other point of caution--we rely even more on meson now than we did at the start of the 1.9.0 release cycle for things like wheel builds, so if you think of anything else that might need adjusting in that regard let me know

I think I've traditionally left the adjustment of some version strings to include rc1 to the release process proper/REL commit

clean up some release notes issues: remove some empty sections, fix the formatting of various nested lists; this is made a bit easier by pasting sections into online RST interactive preview pages--let me know if you see other parts that need fixing

the full testsuite passed locally, but I'll flush the full CI for now because it it useful to know that the maintenance branch CI doesn't have any surprises waiting

Thanks, Tyler. I submitted tylerjereddy/scipy#63 with some more stats fixes and improvements.

I merged Matt's stats section release notes adjustments and pushed in a commit to address Ralf's comments so far.
If the CI turns green, the docs render looks "ok" for release notes, and I don't see any other change requests, I'll probably proceed with the RC1 release process starting this evening or this weekend.

Release note still has the X in:

SciPy 1.10.0 is the culmination of X months of hard work.

I'll push that fix in, scoping CI to only rebuild docs, then I'll move forward.

1.10.0rc1 wheels are now building at the links below. @andyfaff I noticed a connection issue/failure on 1/4 of the cirrus CI tasks (https://cirrus-ci.com/task/6403987432275968) but restarting manually in the Cirrus CI interface seems to have done the trick.
If I see any areas where we can improve things on the wheel building I'll open an issue, but so far so good.
Ongoing wheel builds:

GHA: https://github.com/scipy/scipy/actions/runs/3665807972/jobs/6197132229
Cirrus: https://cirrus-ci.com/build/5784600870387712

Thanks, Tyler! I noticed one thing I missed in my PR - perhaps we can add it for the final release:

That should have been scipy.stats.mstats.hdquantiles_sd.

ok, I've made a note to fix that on rc2


Application unpublishable

We've noticed that since aecde41956bd469bf9ab8f1e38dc8c202b68d001 widevine_cdm_secured_ios.framework ends up nested inside ShakaPlayerEmbedded.framework. This is not allowed by Apple, so we're getting the following error when trying to upload the app to App Store Connect, similarly to #63.
ERROR ITMS-90205: "Invalid Bundle. The bundle at 'xxx.app/Frameworks/ShakaPlayerEmbedded.framework' contains disallowed nested bundles."

We're using the following configuration command:
../configure --ios --cpu arm64 --release --eme-impl ../prebuilt_cdm/shaka_plugin/release_cdm.json

Is there anything we should do differently since this commit or this is a bug?

I'm having the same issue and Apple has been rejected my app:
ITMS-90338: Non-public API usage - The app references non-public symbols in Tivify: _pb_decode, _pb_decode_varint, _pb_encode, _pb_encode_string, _pb_encode_submessage, _pb_encode_tag_for_field, _pb_encode_varint, _pb_istream_from_buffer, _pb_ostream_from_buffer, _pb_read. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
Any solution?

Just a guess, but those look like protobuf-related functions.  @TheModMaker, are we using protobufs internally?  Any idea why protobuf would be considered a private API to Apple?

Since that error isn't related to this issue, we'll continue in #196.  But we use protobuf in offline storage and the Widevine CDM uses it extensively.


Suppress valgrind error due to gst init of log handler

Summary: Deinitialization of gstreamer isnt required as the resources are freed on termination of the program. So supress the error to do with registering the logger.
Type: Fix
Test Plan: Valgrind Unittests.
Jira: NO-JIRA

Job for AI/job/AI_BUILDS/job/AI-Trigger-PullRequests started: https://pv-jen015.uk2.scp.bskyb.com/job/AI/job/AI_BUILDS/job/AI-Trigger-PullRequests/66/

https://jenkins.code.rdkcentral.com/job/github-triggered/46382/ started

https://jenkins.code.rdkcentral.com/job/build-component/85091/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/11636/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/17336/ started.

build-brcm-refboard2 Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/cae38ff4b1ecae95c773858a50bea66e

build-rpi4-mc Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/57f31080177366030aea0376a203dc99

build-rpi4-hybrid Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/492d7143797f41b9eebdb6d3f421f04f

Job for AI/job/AI_BUILDS/job/AI-Trigger-PullRequests started: https://pv-jen015.uk2.scp.bskyb.com/job/AI/job/AI_BUILDS/job/AI-Trigger-PullRequests/67/

https://jenkins.code.rdkcentral.com/job/github-triggered/46390/ started

https://jenkins.code.rdkcentral.com/job/build-component/85111/ started.

https://jenkins.code.rdkcentral.com/job/build-component/85112/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/11643/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/11644/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/17357/ started.

https://jenkins.code.rdkcentral.com/job/github-triggered/46392/ started

https://jenkins.code.rdkcentral.com/job/build-component/85113/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/11645/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/17358/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/17359/ started.

https://jenkins.code.rdkcentral.com/job/github-triggered/46394/ started

https://jenkins.code.rdkcentral.com/job/build-component/85115/ started.

build-brcm-refboard2 Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/1138d4de42639d6735f7ccd882d2560d

https://jenkins.code.rdkcentral.com/job/github-triggered/46396/ started

https://jenkins.code.rdkcentral.com/job/build-component/85116/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/11646/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/17361/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/11647/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/17362/ started.

build-rpi4-mc Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/85771bffa9e4d9542634d497be2f879a

build-rpi4-mc Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/0b8adb210592a1ba3073324b67122ad5

build-rpi4-hybrid Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/949547cde5a86267f411b6f9e71df05f

build-rpi4-hybrid Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/a4f0db7f0d2af840b506ba11fa1382d5

build-rpi4-mc Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/95dfe72c02ad4b2a0c7cbcd6487e849b

build-rpi4-hybrid Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/128283939b7f1367a08049e4a110b092

Job for AI/job/AI_BUILDS/job/AI-Trigger-PullRequests started: https://pv-jen015.uk2.scp.bskyb.com/job/AI/job/AI_BUILDS/job/AI-Trigger-PullRequests/68/

build-brcm-refboard2 Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/b051f43807af0649a5b1cbb4f5e2b63d

build-brcm-refboard2 Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/9ded91989e0d66e09783cb06421dacc7

build-rpi4-mc Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/1f4974b98b36b3ace8c9b179183e79e4

build-rpi4-hybrid Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/2381e3ca10b42ea5e2f6bf2035b26778

build-rpi4-mc Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/b642a5a3dbea4b4ab977504cf5c65cd3

build-rpi4-hybrid Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/d67dc4769e39c3405ba99d54a01aa0ba


Run package exe file error

Output of the ue4-docker info command:
ue4-docker version:         0.0.27
Operating system:           Windows Server 2019 Datacenter Evaluation Version 1809 (OS Build 17763.379)
Docker daemon version:      18.09.5
NVIDIA Docker supported:    No
Maximum image size:         200GB
Total system memory:        15.95 GiB
Number of processors:       8 physical, 16 logical

I'm run demo.exe in terminal after ue4 package, i meet the follow error. It's missing  dll files?
[2019.04.27-13.30.20:202][  0]LogInit: Computer: 885E507583FB
[2019.04.27-13.30.20:202][  0]LogInit: User: ContainerAdministrator
[2019.04.27-13.30.20:202][  0]LogInit: CPU Page size=4096, Cores=8
[2019.04.27-13.30.20:202][  0]LogInit: High frequency timer resolution =10.000000 MHz
[2019.04.27-13.30.20:203][  0]LogMemory: Memory total: Physical=16.0GB (16GB approx)
[2019.04.27-13.30.20:203][  0]LogMemory: Platform Memory Stats for WindowsNoEditor
[2019.04.27-13.30.20:203][  0]LogMemory: Process Physical Memory: 55.70 MB used, 55.71 MB peak
[2019.04.27-13.30.20:203][  0]LogMemory: Process Virtual Memory: 66.91 MB used, 66.91 MB peak
[2019.04.27-13.30.20:203][  0]LogMemory: Physical Memory: 7648.14 MB used,  8688.25 MB free, 16336.39 MB total
[2019.04.27-13.30.20:204][  0]LogMemory: Virtual Memory: 4433.10 MB used,  134213296.00 MB free, 134217728.00 MB total
[2019.04.27-13.30.20:217][  0]LogInit: Using OS detected language (en-US).
[2019.04.27-13.30.20:217][  0]LogInit: Using OS detected locale (en-US).
[2019.04.27-13.30.20:217][  0]LogTextLocalizationManager: No specific localization for 'en-US' exists, so the 'en' localization will be used.
[2019.04.27-13.30.20:242][  0]LogStreaming: Display: Took  0.026s to InitEngineTextLocalization.
[2019.04.27-13.30.20:250][  0]LogWindowsTextInputMethodSystem: Warning: Initialization failed while creating the TSF thread manager. Unspecified error (0x80004005)
[2019.04.27-13.30.20:255][  0]LogSlate: New Slate User Created.  User Index 0, Is Virtual User: 0
[2019.04.27-13.30.20:255][  0]LogSlate: Slate User Registered.  User Index 0, Is Virtual User: 0
[2019.04.27-13.30.20:260][  0]LogHMD: Failed to initialize OpenVR with code 110
[2019.04.27-13.30.20:260][  0]LogD3D11RHI: D3D11 adapters:
[2019.04.27-13.30.20:261][  0]LogD3D11RHI: Error: Failed to choose a D3D11 Adapter.

The error message Error: Failed to choose a D3D11 Adapter indicates that you have attempted to run the packaged game on a system that does not have a DirectX 11 capable graphics device, most likely a virtual machine without a discrete GPU attached to it. You will need to copy the packaged files to a local machine with an appropriate GPU and run the game there.

Did you ever resolve this?

The user is ContainerAdministrator, so that means it was run in a container, and GPUs were not supported in Docker for Windows before Docker 19.03.
If you're having the same problem now, make sure you're on a version of Docker 19.03 or newer, and add --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 to your docker run. See https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/gpu-acceleration for more details.
If you're still having trouble, you'd be better-off opening a new ticket, since the problem here in 2019 was simply "Docker doesn't support that yet".

If you're having the same problem now, make sure you're on a version of Docker 19.03 or newer, and add --device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 to your docker run.

thank you this solves the issue


Copy-SqlLogin - Login does not appear to be migrated if destination is set to mixed mode auth

What is the current behavior?
When copying a SQL login to a destination which is set to Windows Authentication only (not Mixed Mode) the login never appears to be copied. The output does not appear to make the user aware of this so it may be a bug.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Simply use Copy-SqlLogin with -Destination set to a server which is not set to Mixed Mode, observe the output and check the destination in SSMS to verify the login is not present.
What is the expected behavior?
The login should be copied I believe. You can create SQL logins via SSMS and T-SQL on a server which is set to Windows Authentication only. I have not tried SMO/PowerShell though.
Which versions of Powershell and which OS are affected by this issue? Did this work in previous versions of our scripts?
I have verified this on Windows 7/PowerShell 5.0, SQL Server 2012.

Simply use Copy-SqlLogin with -Destination set to a server which is set to Mixed Mode

I assume you mean 'Which is not set to Mixed Mode'?

Cough, yes, I meant not set to Mixed Mode, amended!

:O It appears there is a Continue on line 158 that should be removed.

Here?
if ($servername -eq $userbase -or $username.StartsWith("NT "))
{
If ($Pscmdlet.ShouldProcess("console", "Stating $username is skipped because it is a local machine name."))
{
Write-Output "$username is skipped because it is a local machine name."
}
continue
}
Does that mean the Write-Output should also be a Write Warning?

Yes I believe this also warrants a change to Write-Warning in my opinion... Feel free to check through the whole thing and adjust where you see fit, if you want ;)

Hmm ill also add the username to the Mixed mode error.

Fixed in #365


Option to turn off NetworkChecker:Dump log output

https://gist.github.com/Dyonovan/2a5a816a33224dff6d100a5c4c150687
Keep getting this in the console more then once per min. Would be nice to be able to turn this off.

Fixed next release


config: remove use of v2 transport in integration/fuzz tests.

Since v2 turndown is imminent, this PR starts to position the code base to disable-always v2. One
step we need to take is remove v2 xDS transport test coverage.
Risk level: Low (but v2 xDS transport functional test coverage will be strictly lower from now on
until we disable v2 within a week or so)
Testing: bazel test //test/...
Signed-off-by: Harvey Tuch<EMAIL_ADDRESS>

CC @auni53 as discussed.


[WIP - Do not merge] 182721080 use toolsmiths envs

[#182721080]

This has been done in https://github.com/cloudfoundry/bosh-disaster-recovery-acceptance-tests/pull/57


VC using failover nodes when retrieving network spec

PR Description

Changed RemoteSpecLoader to retrieve spec when multiple nodes are configured
Added tests to ValidatorClientCommandTest
Added changes to the CHANGELOG

Fixed Issue(s)
fixes #6117
Documentation

[X] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[X] I thought about adding a changelog entry, and added one if I deemed necessary.

I see room for spec consistency check among endpoints here... like query the spec once per endpoint and do a consistency check. This might add a bit of complexity..

Not a bad idea, though definitely not something I'd add in this PR.  Probably worth logging a ticket for it to be considered later.  The key problems I can see would be:

the config for a beacon node might change at a later point anyway
comparing the config is potentially tricky. There are a number of ways we could get equivalent configs that aren't identical and custom comparison is going to be too hard to maintain as new options are added
The config may be different because one node has been updated and has a future hard fork scheduled and the others don't yet.  Staggering the node upgrades is a good idea we wouldn't want to discourage (but at other times, different hard fork schedules would be a red flag).


"Edit this page on GitHub" button broken in workshops

Clicking the "Edit this page on GitHub" button at the bottom of a workshop (I did not test all of them, but I tested a few) gives a 404 page not found error.
Current link for the button on the Personal Website workshop (404):
https://github.com//hackclub/hackclub/edit/master/workshops/personal_website/README.md
Actual link from GitHub's edit button:
https://github.com/hackclub/hackclub/edit/main/workshops/personal_website/README.md
It looks like the issue is due to the button's link targeting a branch named master rather than main.
There is also an extra / in the current link, which does not cause an issue but probably should be removed.

Thanks for the report! Fixed the branch & the slash issue, it’s live now.


CygWin is an unspecified prerequisite

It might help newbies like me save some time if it is stated that something like CygWin tools are needed in order to run npm, which I discovered is a shell script which cannot be run from cmd.exe as far as I can tell.

I have the same issue.  Node works well but npm seems to not install properly.
Cannot find module 'C:\Apps\nodejs\node_modules\npm\bin\npm-cli.js'.
Already tried to reinstall node version and also nvm...every node version give the same npm problem...
npm and npm.bat are there...OS Windows7

Have you tried it in this order ?

Remove all node versions
Remove nvm
Install nvm
Install node versions

Alsa nvm uninstall version doesn't work...
C:\Users\Luca>nvm list

0.10.6 (Currently using ?-bit executable)

C:\Users\Luca>nvm uninstall 0.10.6
node v0.10.6 is not installed. Type "nvm list" to see what is installed.
C:\Users\Luca>node -v
v0.10.6
C:\Users\Luca>nvm root
Current Root: E:\Roaming\nvm
C:\Users\Luca>echo %NVM_HOME%
E:\Roaming\nvm
C:\Users\Luca>echo %NVM_SYMLINK%
C:\App\nodejs
C:\Users\Luca>cd %NVM_SYMLINK%
C:\App\nodejs>dir
Il volume nell'unità C non ha etichetta.
Numero di serie del volume: D424-80BB
Directory di C:\App\nodejs
27/02/2015  10:57              .
27/02/2015  10:57              ..
27/02/2015  10:56         6,508,392 node.exe
27/02/2015  10:56              node_modules
27/02/2015  10:56               274 npm
27/02/2015  10:56               209 npm.cmd
3 File      6,508,875 byte
3 Directory  38,833,328,128 byte disponibili
C:\App\nodejs>cd node_modules
C:\App\nodejs\node_modules>dir
Il volume nell'unità C non ha etichetta.
Numero di serie del volume: D424-80BB
Directory di C:\App\nodejs\node_modules
27/02/2015  10:56              .
27/02/2015  10:56              ..
0 File              0 byte
2 Directory  38,833,324,032 byte disponibili

i have also installed nvm to C:\Users\Luca\AppData\Roaming\nvm ( which is on my settings a symlink to E:\Roaming\nvm) and uninstall command works but npm continues to not..

Ok i resolve...
1 I have installed nvm to C:\nvm
Npm on 0.12.0 works but on 0.10.6 not, so
2 with 0.10.6 in use, i've needed to update npm, so npm install -g 2.6.1 and it works( maybe you have to put the need for npm update on older version in the docs)

I have the same issue, I really don't understand why I get this message:
`C:<path>\emptyFolder>nvm list

0.12.0 (Currently using ?-bit executable)
0.10.30`
The ?-bit seem a bit weird...

The ?-bit is do to a missing command that apparently isn't shipping in all versions of Windows (or at least isn't installed by default in a few use cases). See issue #23 for a temporary fix.
Go had limited support for checking the bitness of a file, thus the need for the file.exe. However; Go v1.4 has much better support for this. In the next version, the file.exe won't be necessary at all. Until I can release the next version (which is a 2.0 release), try the the file.exe mentioned in issue #23.


Lz4FrameEncoder should prefer direct buffers for its output.

Motivation:
We should prefer direct buffers for the output of Lz4FrameEncoder as this is what is needed for writing to the socket.
Modification:
Use direct buffers for the output
Result:
Less memory copies needed.

Cherry-picked into 4.1 (b42a9db8126e1caed4a1e54262fcf23413eeb82b)


[1.18.2] controller void items

**Functional Storage Version:1.1.3
**Titanium Version:3.5.9
When moving the drawer with a piston back and forth with linking, the controller eats the items.
https://drive.google.com/file/d/1I9oh0iiPnE6hTOtJF3B6SoQZ84yr3WZV/view

Are you using a mod that allows piston movement for tile entities?

I am having the same problem.
Once I connected my Drawer controller and linked it to other drawers. All the items stored in the drawers were deleted after I returned from the nether via a warp stone from the Waystones mod.

The Controller is not connected to a storage network.
This happened on 1.20.1
titanium-1.20.1-3.8.23
functionalstorage-1.20.1-1.2.5


Vulnerability roundup 94: php-calendar-7.3.23: 1 advisory [6.1]

search, files

[ ] CVE-2017-6485 CVSSv3=6.1 (nixos-unstable)

Scanned versions: nixos-unstable: 420f89ceb26.
Cc @aanderse
Cc @etu
Cc @globin
Cc @ma27
Cc @talyz

phpExtensions.calendar in nixpkgs isn't the php-calendar pecl, it's the calendar extension provided by upstream.


-help flag

This isn't very compact, but imo a nice feature.

I like the amount of effort put into this, but I would actually like to transition all the documentation to some external place. The program is getting quite complicated so I'd like something more sophisticated than a blob of text. I have already started doing so with the github wiki pages, the flag listing comments are kinda there temporarily while I iron out the wiki


Policy.md

[Enter feedback here]

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

ID: be1e6c9a-9644-6d86-3962-d36bf1efd656
Version Independent ID: 96142d6c-71de-6ea9-0361-dbec82647b15
Content: [Set up multifactor authentication for users - Microsoft 365 admin] (https://learn.microsoft.com/en-us/microsoft-365/admin/security-and-compliance/set-up-multi-factor-authentication?view=o365-worldwide)
Content Source: [microsoft-365/admin/security-and-compliance/set-up-multi-factor-authentication.md] (https://github.com/MicrosoftDocs/microsoft-365-docs/blob/public/microsoft-365/admin/security-and-compliance/set-up-multi-factor-authentication.md)
Service: microsoft-365-business
GitHub Login: @Fiirefox
Microsoft Alias: Rosegold

Fiirefox7 Enterprise


Markdown cell not rendering in python interactive window if no internet connection

Environment data
VS Code Version: 1.37.0-insider
Extension Version: 2019.6.242221
OS - Windows 10 17763.615. Using remote development 0.15.0 to run code on a linux box
Python 3.6.8 64-bit with anaconda (conda env)
Expected behaviour
When I run a markdown code block, it should display the text as markdown in the python interactive viewer.
Actual behaviour
A blank cell loads with no output. Regular python code blocks run as expected. Markdown just comes up blank.
Steps to reproduce:

Create a new file "test.py"
Code block

#%% [markdown]
# Test Print
# This should print out
# ## This should print as a heading

#%%
print("Test")

Logs
Output for Python in the Output panel:
Starting Microsoft Python language server.
Starting Jedi Python language engine.

Output from Console:
workbench.main.js:242 [Extension Host] Info Python Extension: 2019-08-05 11:31:02: Submitting code for 364114ed-361f-4257-8d33-a094d695fea0
workbench.main.js:242 [Extension Host] Info Python Extension: 2019-08-05 11:31:02: Waiting for jupyter server and web panel ...
2
workbench.main.js:242 [Extension Host] Info Python Extension: 2019-08-05 11:31:02: Wait for sys info for 364114ed-361f-4257-8d33-a094d695fea0 0
workbench.main.js:242 [Extension Host] Info Python Extension: 2019-08-05 11:31:02: Finished execution for 62bff78a-274a-4fd2-b722-08b5935188d9
workbench.main.js:242 [Extension Host] rejected promise not handled within 1 second: TypeError: Cannot read property 'version' of undefined
workbench.main.js:242 [Extension Host] stack trace: TypeError: Cannot read property 'version' of undefined
	at f.getLanguageServerFolderName (/home/rlevitin/.vscode-server-insiders/extensions/ms-python.python-2019.6.24221/out/client/extension.js:75:111924)
	at process._tickCallback (internal/process/next_tick.js:68:7)
workbench.main.js:3414 [[object Object]]Cannot read property 'version' of undefined
workbench.main.js:3414 TypeError: Cannot read property 'version' of undefined
	at f.getLanguageServerFolderName (/home/rlevitin/.vsco…ent/extension.js:75)
	at process._tickCallback (internal/process/next_tick.js:68)
workbench.main.js:3038 [Embedded Page] Uncaught ReferenceError: MathJax is not defined
workbench.main.js:242 [Extension Host] rejected promise not handled within 1 second: TypeError: Cannot read property 'version' of undefined
workbench.main.js:242 [Extension Host] stack trace: TypeError: Cannot read property 'version' of undefined
	at f.getLanguageServerFolderName (/home/rlevitin/.vscode-server-insiders/extensions/ms-python.python-2019.6.24221/out/client/extension.js:75:111924)
	at process._tickCallback (internal/process/next_tick.js:68:7)
workbench.main.js:3414 [[object Object]]Cannot read property 'version' of undefined
workbench.main.js:3414 TypeError: Cannot read property 'version' of undefined
	at f.getLanguageServerFolderName (/home/rlevitin/.vsco…ent/extension.js:75)
	at process._tickCallback (internal/process/next_tick.js:68)
workbench.main.js:242 [Extension Host] ApplicationInsights:Sender
Array(2)
DevTools failed to parse SourceMap: https://ticino.blob.core.windows.net/sourcemaps/92da68a…/core/vs/workbench/workbench.main.js.map

I have looked at Issue microsoft/vscode-python#3108. The output looks to be a similar problem but my machine is not offline... not sure why this is happening. It was working fine last week.

Closing as VS Code ships KaTeX for markdown math rendering and doesn't rely on downloading MathJax. The new native interactive window relies on VS Code for markdown rendering. Please file a bug at https://github.com/microsoft/vscode if something isn't working.


Enhancement: Enable whitespace_after_comma_in_array fixer

This PR

[x] enables the whitespace_after_comma_in_array fixer
[x] runs make cs

💁♂ For reference, see https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v2.8.2#usage:

whitespace_after_comma_in_array [@Symfony]
In array declaration, there MUST be a whitespace after each comma.

Yessssssss. Restarted build to see it pass. Looks like Travis ran out of disks. Cool.

Thank you, @mdwheele!


Training

Hi , could you please release your LDM and AutoEncoder training

Hi, you can find the training code from: https://github.com/Project-MONAI/GenerativeModels/tree/main/tutorials/generative/3d_ldm


libcamera_still: Add option to save metadata

Add a --metadata command line option to save the capture image metadata to a
file, or stdout if needed.
Signed-off-by: Naushir Patuck<EMAIL_ADDRESS>

@davidplowman are you happy for this to go through?


Add /src/tests folder

Moved tests.ts files to tests folder to tidy up directory structure.  Edited the path in order for tests to work.  All tests confirmed and past in this PR.
Updated package.json and config.jest still in pull request.

I agree @TalAter I will definitely have a discussion.  Was just trying to get PRs going through too hastily and completely agree they need to be discussed first.


Simple input dialog

I've searched around, tried some of the examples. Very cool stuff!
Is there a way to show a simple input dialog? I am looking for a small window that a user can type into and return the value for use. Something like:
int timerDuration = getInput();
and the user could type 5 so a 5 minute timer could be set.

From what kind of project? A Dart command line app? A traditional Win32 app like the DartNote example? A Flutter app?
There's no single Win32 API that is an input-style equivalent of MessageBox, as far as I know.

Yeah, been researching more into win32 and it seems the answer is "it doesn't exist, make it yourself."
I was thinking it would be useful as something like a replacement for Zenity on Windows.
For example I have a bash script that runs this: inputTime=$(zenity --entry --title "Set Timer" --text "Enter a new timer in minutes")
Which is super fast and easy, simple input box  with no wait. Since I am not a fan of PowerShell I was hoping I could use a dart command line app as a replacement for this bash script on Windows - the popup input dialog being the easy / friendly way to give a quick input.
I threw together a barebones version with Flutter for the popup:

It works fine, and is suprisingly much faster than I expected - but still has a hickup for a second to load that I was hoping to have been ~instant.
I've spent the past few days tooling around with the win32 api for various things, but keep getting hung up on weirdness like it wanting a hIcon, and trying to figure out what data type that actually is and how to actually pass it from dart.. bit harder than I expected.

Yeah, this makes it easy to call Win32 APIs from Dart, but doesn't make Win32 programming easy :)
That said, it would be possible to translate something like this to Dart:
https://docs.microsoft.com/en-us/windows/win32/dlgbox/using-dialog-boxes
This uses the CreateDialogIndirectParam function to display a classic Win32 dialog.

but doesn't make Win32 programming easy :)

Absolutely, I am really impressed with how much of the win32 api you have managed to wrangle! It's actually really interesting.
The biggest headache seems to be translating Microsoft's special variable names into an actual data type. Things like translating "DWORD" -> Uint32, HICON -> ???
I've actually just found this dictionary that lists all the Windows data types, so that should help a lot.
I will give this another try. 😃

Don't hesitate to shout out if you need other APIs wrapped that aren't wrapped today. I've got it down to a fine art :)
HICON maps to an IntPtr, as with all other handles. On 64-bit systems, it's 8 bytes; on 32-bit systems, it's 4 bytes. Dart automatically translates IntPtr as appropriate.

I tried setting this up, not quite there. Not sure what might be wrong at this point.

Details
import 'dart:ffi';
import 'package:ffi/ffi.dart';

import 'package:win32/win32.dart';

void main() {

  final hInstance = GetModuleHandle(nullptr);

  var itemTemplate1 = DLGITEMTEMPLATE.allocate();
  var WS_EX_NOPARENTNOTIFY = 0x00000004;
  itemTemplate1.style = WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_GROUP;
  itemTemplate1.dwExtendedStyle = WS_EX_NOPARENTNOTIFY;
  itemTemplate1.x = 190;
  itemTemplate1.y = 160;
  itemTemplate1.cx = 50;
  itemTemplate1.cy = 14;
  itemTemplate1.id = 0;

  final lpTemplate = DLGTEMPLATE.allocate();
  lpTemplate.style = WS_POPUP | WS_VISIBLE;
  lpTemplate.dwExtendedStyle = WS_EX_TOPMOST;
  lpTemplate.cdit = 1; // Number of child elements, let's start with 1.
  lpTemplate.x = 0;
  lpTemplate.y = 0;
  lpTemplate.cx = 300;
  lpTemplate.cy = 200;
  lpTemplate.itemTemplate1 = itemTemplate1.addressOf;

  var lpDialogFunc = Pointer.fromFunction<DLGPROC>(dialogReturnProc, 0);

  var dwInitParam = WM_INITDIALOG;

  var hwnd = CreateDialogIndirectParamW(
    hInstance,
    lpTemplate.addressOf,
    NULL,
    lpDialogFunc,
    dwInitParam,
  );
}

int dialogReturnProc(int arg1, int arg2, int arg3, int arg4) {
  // This should have the return data from the dialog?
}

final _user32 = DynamicLibrary.open('user32.dll');

/// ```cpp
/// HWND CreateDialogIndirectParamW(
///   HINSTANCE       hInstance,
///   LPCDLGTEMPLATEW lpTemplate,
///   HWND            hWndParent,
///   DLGPROC         lpDialogFunc,
///   LPARAM          dwInitParam
/// );
/// ```
final CreateDialogIndirectParamW = _user32.lookupFunction<
    IntPtr Function(
        IntPtr hInstance,
        Pointer<DLGTEMPLATE> lpTemplate,
        IntPtr hWndParent,
        Pointer<NativeFunction> lpDialogFunc,
        IntPtr dwInitParam),
    int Function(
        int hInstance,
        Pointer<DLGTEMPLATE> lpTemplate,
        int hWndParent,
        Pointer<NativeFunction> lpDialogFunc,
        int dwInitParm)>('CreateDialogIndirectParamW');

/// ```cpp
/// DLGTEMPLATE structure (winuser.h)
///
/// Defines the dimensions and style of a dialog box. This structure,
/// always the first in a standard template for a dialog box, also specifies
/// the number of controls in the dialog box and therefore specifies the number
/// of subsequent DLGITEMTEMPLATE structures in the template.
///
/// typedef struct {
///   DWORD style;
///   DWORD dwExtendedStyle;
///   WORD  cdit;
///   short x;
///   short y;
///   short cx;
///   short cy;
/// } DLGTEMPLATE;
/// ```
class DLGTEMPLATE extends Struct {
  @Uint32()
  int style;

  @Uint32()
  int dwExtendedStyle;

  @Uint16()
  int cdit;

  @Int16()
  int x;

  @Int16()
  int y;

  @Int16()
  int cx;

  @Int16()
  int cy;

  Pointer<DLGITEMTEMPLATE> itemTemplate1;
  // Pointer<DLGITEMTEMPLATE> itemTemplate2;
  // Pointer<DLGITEMTEMPLATE> itemTemplate3;

  factory DLGTEMPLATE.allocate() => allocate<DLGTEMPLATE>().ref
    ..style = 0
    ..dwExtendedStyle = 0
    ..cdit = 0
    ..x = 0
    ..y = 0
    ..cx = 0
    ..cy = 0
    ..itemTemplate1 = nullptr;
  // ..itemTemplate2 = nullptr
  // ..itemTemplate3 = nullptr;
}

final WS_EX_TOPMOST = 0x00000008;

/// DLGITEMTEMPLATE structure (winuser.h)
///
/// Defines the dimensions and style of a control in a dialog box. One or more of
/// these structures are combined with a DLGTEMPLATE structure to form a standard
/// template for a dialog box.
///
/// ```cpp
/// typedef struct {
///   DWORD style;
///   DWORD dwExtendedStyle;
///   short x;
///   short y;
///   short cx;
///   short cy;
///   WORD  id;
/// } DLGITEMTEMPLATE;
/// ```
class DLGITEMTEMPLATE extends Struct {
  @Uint32()
  int style;

  @Uint32()
  int dwExtendedStyle;

  @Int16()
  int x;

  @Int16()
  int y;

  @Int16()
  int cx;

  @Int16()
  int cy;

  @Uint16()
  int id;

  factory DLGITEMTEMPLATE.allocate() => allocate<DLGITEMTEMPLATE>().ref
    ..style = 0
    ..dwExtendedStyle = 0
    ..x = 0
    ..y = 0
    ..cx = 0
    ..cy = 0
    ..id = 0;
}

/// DLGPROC callback function (winuser.h)
///
/// Application-defined callback function used with the CreateDialog and DialogBox
/// families of functions. It processes messages sent to a modal or modeless dialog
/// box. The DLGPROC type defines a pointer to this callback function. DialogProc
/// is a placeholder for the application-defined function name.
///
/// ```cpp
/// INT_PTR Dlgproc(
///   HWND Arg1,
///   UINT Arg2,
///   WPARAM Arg3,
///   LPARAM Arg4
/// )
/// ```
typedef DLGPROC = IntPtr Function(
    IntPtr Arg1, Uint32 Arg2, IntPtr Arg3, IntPtr Arg4);

My conclusion after dealing with the Windows API is that:

The Windows API is terrible. 😆
You've done an amazing thing wrapping it into Dart!

I am not sure beating my head against this particular wall is worth it..
Perhaps I am just too new to programming, and I shouldn't be trying this after only a few months.
On the non-gui side of things, I did manage to create a working dart wrapper to suspend & resume processes that seems to work pretty well. Be happy to make a pull request if you would be interested in that sort of thing.

I'll take a look over the weekend.  Looks like you have the basics right.

Well, good golly, you certainly picked a nasty API surface!
Most everything you did was perfect, but the struct here is barely a struct -- it's more a binary resource that is pseudo-represented by a struct, as this sample demonstrates:
https://docs.microsoft.com/en-us/windows/win32/dlgbox/using-dialog-boxes#creating-a-template-in-memory
That you got this far was impressive. I spent some time this morning making some further progress on your foundation. The code is ugly, but at least displays a dialog:
https://github.com/timsneath/w32scratch/blob/main/bin/input.dart
It's not a million miles away from being useful, now the basics are in place. Feel free to clone and submit pull requests there.

Yeah, that template was seriously challenging trying to understand. I am just getting to grips with what a 'struct' even is, and suddenly this thing is like structs within structs?
I am not even quite sure what you've done with it all to make it work, so I think I'll bow out of this one for now. You sure have a good handle on this API!
I will look into creating a pull request for an API feature I managed to get 100% working instead. 👍

I've had fun playing with this, thank you for the suggestion.
I've added this to the main repo as extension methods on Pointer<DLGTEMPLATE> and Pointer<DLGITEMTEMPLATE>, along with an example here: https://github.com/timsneath/win32/blob/master/example/dialogbox.dart


Wrap content in variables and watch views

#81275
Thanks @kgfly I'll try this one again..

During debugging, my variable names are long and its content is long too. So Variables/Watch/CallStack/Breakpoints windows cannot show all contents.
Please support customized font setting for debugger windows. If possible, I want to use smaller font in these windows.
Another request: if the variable is a list and its content is long, current window just show "...". So can the windows "wrap" the text and show all the contents?

The previous issue was closed, but the issue is high-profile and still remains,
consider this watch list item:
response.headers["set-cookie"].map(x => x.split(";")[0]).join("; ")
that is a 71 character watch expression which is actually reasonable if a developer doesn't want to save the value in a variable.
the only way to see the value of the expression during a breakpoint is either to expand the sidebar to more then 50% of the screen space,
or use the debug console directly, but then the watchlist just becomes useless..
I ask that you reconsider the previous conclusion.

You can just move the watch view to the bottom:


Quy Nhon University - (Viet Nam)

Please add Quy Nhon University to the school list
School Official Website: https://qnu.edu.vn/
School Location: 170 An Duong Vuong street, Quy Nhon City, Viet Nam Country

@DatBui-dev First stage of verification passed, official domain is qnu.edu.vn as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@DatBui-dev Thank you for your patience while waiting for a review and processing your request. Pull request merged.


[Orchestrator] The Orchestrator may delete available packages

Problem
When the package is made available for the first time and the database update fails, V2 will be in an inconsistent state: the package will exist in the public packages container but won't be marked as available in the database. The Orchestrator tries to fix this up by deleting the package if the database commit fails (see MarkPackageAsAvailableAsync). The Orchestrator may do this incorrectly on a package that should be available.
MarkPackageAsAvailableAsync only deletes a package if it believes it copied the package for the first time. This is fine, except, the Orchestrator sometimes believes it copied the package when it hasn't. This happens because CopyFileAsync may not copy anything at all if the source and destination blobs are identical (see this).
This can cause the Orchestrator to delete a package that is available in the following scenario:

A new package is uploaded
A new validation set is created to validate the package
The validation set's message is duplicated
All validations complete successfully
Message 1 copies the package to the packages container
Message 2 attempts to copy the package to the packages container. It sees a package with the same hash is already present, so it does not copy anything. Message 2 believes it has copied the package to the public location
Message 1 marks the package as available and consumes its message
Message 2 attempts to mark the package as available. Committing the transaction fails, so message 2 deletes the package from the public container

Fix
The Orchestrator shouldn't delete the package from the public container if the copy operation was skipped due to the source/destination hash matching.

Never happened. Low priority.


0.3.0 breaks expecting a formatter that isn't present

Going from 0.2.6 to 0.3.0 we see the following:
lib/ruby/gems/2.1.0/gems/activesupport-3.2.22/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- spec/runner/formatter/progress_bar_formatter (LoadError)
	from lib/ruby/gems/2.1.0/gems/activesupport-3.2.22/lib/active_support/dependencies.rb:251:in `block in require'
	from lib/ruby/gems/2.1.0/gems/activesupport-3.2.22/lib/active_support/dependencies.rb:236:in `load_dependency'
	from lib/ruby/gems/2.1.0/gems/activesupport-3.2.22/lib/active_support/dependencies.rb:251:in `require'
	from lib/ruby/gems/2.1.0/gems/rspec-instafail-0.3.0/lib/rspec/instafail/rspec_1.rb:1:in `<top (required)>'

We're on rspec 2.99.0 if it helps?

most likely trying to work with a new rspec version ... are you on rspec 1/2/3 ?

We're on rspec 2.99.0 if it helps?

looks like the defined?(RSpec::Core) check fails :(
https://github.com/grosser/rspec-instafail/commit/c449fdc5ec86e2208e8ec7f3a9295babf8b43205
I think I know how to rewrite this ... stay tuned :)

plz try 0.4.0 ... if that fails with some require foobar I'll have to put the lib hack back, but I think it should work just fine ...

Yep, that's done it. Thank you so much!


Make it work on the whole note box like Excalidraw

Could you make this plugin show up in the whole note box and not just in a small box?
Maybe you could take a look at the Excalidraw plugin code for Obsidian and see how they did it.
https://github.com/zsviczian/obsidian-excalidraw-plugin

Thanks in advance!

Yep. That depends on getting the Styles pop-up to be displayed like it does on tldraw.com (https://github.com/juliusgb/obsidian-tldraw-plugin/issues/47)
That extra space on the right is a workaround for the Styles to pop-up -> https://github.com/juliusgb/obsidian-tldraw-plugin/issues/39


fix: print more log to debug chrome-for-testing binary sync

https://github.com/cnpm/cnpmcore/issues/652

[2024-02-23T16:19:44.903Z] 🚧🚧🚧🚧🚧 Start sync binary "chrome-for-testing" 🚧🚧🚧🚧🚧
[2024-02-23T16:19:45.207Z] 🟢 log: https://r.cnpmjs.org/-/binary/chrome-for-testing/syncs/65d8c5943f3e44e8b54ca5ab/log
[2024-02-23T16:19:45.207Z] 🟢🟢🟢🟢🟢 "chrome-for-testing" 🟢🟢🟢🟢🟢

没数据

https://cnpmcore.oss-cn-hongkong.aliyuncs.com/binaries/chrome-for-testing/syncs/2024/02/240128-65d8d5a203cf2c503fe409f4.log
果然是大量错误


Bottom Sheet wrong height calculating (cutout support)

Please consider making a Pull Request if you are capable of doing so.
Library Version:
3.3.0
Affected Device(s):
Google Pixel 3 with Android 10
Describe the Bug:
During the display cutouts are on, the bottomSheet start height is wrong.
Code:
/**
 * Activity extension function, for preparing and showing MaterialDialog as BottomSheet().
 * @param titleId(optional) - should be a String resource reference.
 * @param layoutMode - the layout mode -
 [LayoutMode.MATCH_PARENT]/[LayoutMode.WRAP_CONTENT], by default
 [LayoutMode.WRAP_CONTENT].
 * @param show - lambda function invoked in show block for future implementation from place of call.
 */
fun Activity.showBottomSheet(
    @StringRes titleId: Int? = null,
    layoutMode: LayoutMode = LayoutMode.WRAP_CONTENT,
    show: (MaterialDialog) -> Unit
) {
    MaterialDialog(this, BottomSheet(layoutMode)).show {
        titleId?.let { title(res = it) }
        cornerRadius(res = R.dimen.content_16)
        hideKeyboard()
        show(this)
    }
}

Place of call:
 activity?.showBottomSheet(layoutMode = LayoutMode.WRAP_CONTENT) { md ->
            md.customView(R.layout.bottom_sheet_custom).apply {
                        //....working with content....
            }
 }

Without any cutouts:

With double cutout:

To Reproduce:

Settings -> Developer Options -> Display cutout -> Double cutout
Open app and show a bottom sheet.

How you will probably fix this issue:
As I understood properly you have to add the support for display cutouts and calculate the height also with the SafeInset.

Hello @afollestad ,
is there some update on this issue?
currently we are using the latest stable version 3.3.0 the problem is still appeared and also we found out another one issue which is probably also connecting with the previous mention.
Here is the description with the code examples and images:
Issue: The bottom sheet is setup on the WRAP_CONTENT, but the result that is the part of sheet is invisible, in the most of cases this part is some button or important content, and this is a bit painful 🙂
here is the example of the code:
showBottomSheet<BottomSheetCancelationBinding>(
    R.layout.bottom_sheet_cancelation,
    layoutMode = LayoutMode.WRAP_CONTENT
) { md, _binding ->
    _binding.docsWarnMsg.text =
        getString(R.string.documents_cancel_instruction_content).highlightParts(
            getString(R.string.documents_cancel_instruction_content_highlighted_part)
        )
    md.customView(R.layout.bottom_sheet_cancelation, _binding.root).apply {
        setOnClickListeners(_binding.docsWarnContinueBtn, _binding.docsWarnCloseBtn) {
            md.cancel()
        }
        _binding.docsWarnSkipBtn.setOnClickListener {
            onSkip()
        }
    }
}

I'm using here also my custom extension function showBottomSheet improve the usage of dataBinding:
/**
 * Activity extension function, for preparing and showing MaterialDialog as BottomSheet().
 * @param titleId(optional) - should be a String resource reference.
 * @param layoutMode - the layout mode - [LayoutMode.MATCH_PARENT]/[LayoutMode.WRAP_CONTENT], by default [LayoutMode.MATCH_PARENT].
 * @param show - lambda function invoked in show block for future implementation from place of call.
 */
fun <B : ViewDataBinding> Activity.showBottomSheet(
    @LayoutRes layoutRes: Int,
    @StringRes titleId: Int? = null,
    layoutMode: LayoutMode = LayoutMode.MATCH_PARENT,
    show: (MaterialDialog, B) -> Unit
) = MaterialDialog(this, BottomSheet(layoutMode)).apply {
    inflateBinding<B>(layoutInflater, layoutRes, view) {
        show {
            titleId?.let { title(res = it) }
            cornerRadius(res = R.dimen.content_16)
            hideKeyboard()
            show(this, this@inflateBinding)
        }
    }
}

Here is the result on the phone (OnePlus 8) the same is happening on the Pixel 5:

What we expected:

@afollestad Please provide some information according to mine issue, maybe we are doing something wrong, but currently as we are understanding this is on your side.
Thank you in advance, and hopefully you will find the time on our issue soon.

Hello @afollestad,
please can you give me the latest feedback to mine issue, probably the issue is on our side and you can describe it.
Thank you in advance.


[csolution] Extend processor attributes

With the advent of CMSIS-DFP where each device is described only with a single superset entry containing all features enabled, for using subset variants the expectation is to leave it to project settings to disable/change features.
For allowing the device features selection I am proposing to extend the processor attributes with the following items:

fpu: dp, sp, off - DfpuEnum
dsp: on, off - DdspEnum
mve: fp, int, off - DmveEnum
endian: little, big (implemented but undocumented) - DendianEnum
branch-protection: bti, bit-signret, off (covered by https://github.com/Open-CMSIS-Pack/devtools/issues/1069)

I would suggest using not only CMSIS enums, but also attributes from pdsc:
Dfpu: NO_FPU, SP_FPU, DP_FPU - DfpuEnum
Ddsp: DSP, NO_DSP - DdspEnum
Dmve: NO_MVE, MVE, FP_MVE - DmveEnum
Dndian: Little-endian, Little-endian - DendianEnum
This has the following advantages:

consistent with pack description
consistent with RTE Model usage
no need to convert name and values => can directly be passed to condition evaluation
future attributes can be also supported without need to change a tool

Implemented in https://github.com/Open-CMSIS-Pack/devtools/pull/1191
@ReinhardKeil can you please update the documentation?

Documented here https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/YML-Input-Format.md#processor
I think this can then be closed.  endian is not documented as I don't know any use case.


Models Updated (AuctionInfo, ItemData, SquadDetails)

Just a couple of changes for some JSON models.
Also updated the URL for club images.
I'm relatively new to pull requests so you might have to double check its all good.

Thanks, will take a look at it asap

Thanks! With this changes I could finally search a player on the market:)

Closed by accident, since i deleted the 2016 branch after i merged it into master.

Have you figured out what type TradeOwner should be? @xtheokles got Error converting value {null} to type 'System.Boolean https://github.com/trydis/FIFA-Ultimate-Team-Toolkit/issues/128#issuecomment-143012868. Should it be bool??

@xtheokles Maybe you can add, that we don't use public static long CalculateBaseId(this long resourceId) anymore and adjust the ResourceID to AssetID for the GetItemInfo method.

You should also add coinsProcessed to AuctionInfo. But I don`t know what type it should be. I just made it object.

I have just now (this afternoon worked well) the problem with PlaceBidAsync(auctionInfo, priceBuy)
The Exception is Internal Error.
I have added in AuctionInfo.cs the public bool? TradeOwner and public object CoinsProcessed.
Any suggestions?

Someperiods like now the function PlaceBidAsync(auctionInfo, priceBuy) returns an Exception: InternalServerError.
Have you the same issue?

@Spettacolo83  I've got the same problem. Have you managed to solve it?

Yes it's a temporary ban. Wait and modify your bot for disconnect or interrupt auto buyer after 30 min and reconnect after 5-10 min.

The changes have been merged, thanks @hfielding.


Please mention progress bar

This Doc starts with mentioning that it works with # and @ fields. What is missing is that in the webclient, progress bars are NOT supported (@ doesn't work). This is mentioned in a note on the Open method's Doc (https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/dialog/dialog-open-method) but I think it should be mentioned explicitly here as well.
I was trying to program a progress bar and obviously it didnt work, and I did not read the Doc about the Open method until someone pointed out to me that it was in there. I think this Doc could be better if you specifically mention that progress bars are not supported in the webclient.

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

ID: 98ecdabb-ee53-0c80-c5b8-0d5244c52f89
Version Independent ID: 91d49318-4682-3e7d-e680-f3da40d6fe75
Content: Update Method - Business Central
Content Source: dev-itpro/developer/methods-auto/dialog/dialog-update-method.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for your feedback. It's a good point, this will be added to the topic with the next doc refresh.


Provide option to choose source and destination

Option should be provided to choose source and destination. This will help using the tool without changing directory

Fixed in d152a7e0


Can't init project

The llama-pack init --manifest https://my-twa.com/manifest.json command produce the following error:
cli ERROR core_1.Config.loadOrCreate is not a function
This is after updating to the latest 0.5.0 version.

Just tested, this is a regression in 0.5.0, in 0.4.3 init works fine. I believe this is because #109.

@andreban @PEConn @NotWoods cc.

I can reproduce. Looking into it.

Apparently something went wrong while publishing. I rebuilt and re-published the same code as v0.5.1. Can you check if it works now?

Just tested, init and update works in v0.5.1 like a charm! @andreban Thanks!


Generated Readme should list Capital Framework dependencies by default

When you generate a new project, there's this great readme template.
We could save work for developers and automatically fill this in with the dependencies and quick start instructions for Capital Framework. Developers can add and remove extra dependencies as needed.

:+1:


Unack message tracker for pre-fetched messages

Rebased of @sboobna PR at #55
Motivation
Currently, when an application consumer gets stuck, the pre-fetched messages remain in the queue forever and might never reach the application again if they are redelivered to the same consumer (since it will keep lying in the pre-fetched queue), until the application restarts.
Modifications
The UnackedMessageTracker will also track the messages lying in the pre-fetched queue in the client.
Result
The messages will never lie in the pre-fetched queue forever, since they will be redelivered after the ack timeout.

CLA is valid!


IllegalStateException

I encountered this crash in the app.
java.lang.IllegalStateException: Cannot start this animator on a detached view!
at android.view.RenderNode.addAnimator(RenderNode.java:812)
at android.view.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:300)
at android.view.RenderNodeAnimator.setTarget(RenderNodeAnimator.java:282)
at android.animation.RevealAnimator.<init>(RevealAnimator.java:37)
at android.view.ViewAnimationUtils.createCircularReveal(ViewAnimationUtils.java:55)
at com.yodle.android.kotlindemo.extension.ViewExtensionsKt$circularReveal$1.run(ViewExtensions.kt:47)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Interesting, it looks like the animation is being calculated before the view is fully inflated (https://github.com/wordpress-mobile/WordPress-Android/issues/2245). I'll put the animation within a view.post().
Does it happen every time you open the page or just sometimes?

It happens sometimes. The crash can be reproduced if you click on a repo, while the detail page is loading go back to the search results, the crash will occur.

Hmm, that makes sense but for some reason I can't reproduce it. I tried opening and closing the page a bunch of times and increasing the delay so that it definitely happens after the page is closed, but I can't get it to crash.
I'm wondering if there's anything that can be done to fix the problem besides try-catching it. It looks like View.isAttachedToWindow() was added in API 19 but the project's min sdk is 16 so I'm leaning away from using that.


Firefox sometimes renders blurry SVGs

This is a Firefox bug but it might be possible to find an workaround.

I'll look into this and open a PR with a fix if I find a solution :)

Fixed by pull request #65