thread-mgr: Fix spread "wasi proc exit" exception and atomic.wait issues

Raising "wasi proc exit" exception, spreading it to other threads and then
clearing it in all threads may result in unexpected behavior: the sub thread
may end first, handle the "wasi proc exit" exception and clear exceptions
of other threads, including the main thread. And when main thread's
exception is cleared, it may continue to run and throw "unreachable"
exception. This also leads to some assertion failed.
Ignore exception spreading for "wasi proc exit" and don't clear exception
of other threads  to resolve the issue.
And add suspend flag check after atomic wait since the atomic wait may
be notified by other thread when exception occurs.

LGTM

It seems like the pipeline got stuck, should we restart it? @wenyongh


update single-service packages list

update script. replace request with sync-request.
run script for updating the list

What is the time diff between sync-request and async-request?

What is the time diff between sync-request and async-request?


[BUG] Projecteur doesn't seem to work all that well on Gnome with Wayland on Fedora

Description
While trying out Projecteur on Gnome with Wayland on Fedora, I came across a couple of issues. Projecteur is still very useful and I use it with Gnome on X.org with a great success but seeing how Wayland will probably be the only reasonable option in the future, I wanted to note my experience here.
Thanks!
To Reproduce
Just starting projecteur and clicking the main "zoom" button multiple times ends up generating the following log:
[2021-10-09T11:53:08.511][wrn][default] QObject::connect: No such signal QPlatformNativeInterface::systemTrayWindowChanged(QScreen*)
[2021-10-09T11:53:08.525][inf][projecteur.device] Connected device: Logitech Spotlight (USB) (046d:c53e)
[2021-10-09T11:53:08.563][inf][projecteur.HID] HID++ device '/dev/hidraw2' came online.
[2021-10-09T11:53:13.537][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:13.538][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:15.202][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:15.921][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:15.921][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:17.486][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:18.087][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:18.087][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()
[2021-10-09T11:53:19.081][wrn][qt.qpa.wayland] Wayland does not support QWindow::requestActivate()

While all this is happening, the pointer doesn't respond to movement and it also seems that further clicking only generates the Wayland does not support QWindow::requestActivate() message.
Expected behavior
I would expect Projecteur to work the same way as it does on X.org (i.e. clicking and moving with the pointer would work out of the box).
Desktop/Linux Environment (please complete the following information):

Linux Distribution and Version: Fedora 34
Desktop/Window Manager and Version Gnome 40.4
Did you built Projecteur yourself?: n
What is the output of projecteur -f ?:

Projecteur 1.0-alpha.118
 - git-branch: develop
 - git-hash: 21e5e606ff2fb5daf712d66fc2a77cdb7aa3cdde
 - compiler: GNU 10.1.1
 - build-type: Release
 - qt-version: (build: 5.13.2, runtime: 5.15.2)
 - device-scan: (errors: 0, devices: 1 [readable: 1, writable: 1])

What is the output of projecteur -d ?: ...

Projecteur 1.0-alpha.118; device scan

 * Found 1 supported devices. (1 readable, 1 writable)

 +++ name:     'Logitech USB Receiver'
     userName: 'Logitech Spotlight (USB)'
     vendorId:  046d
     productId: c53e
     phys:      usb-0000:00:14.0-3
     busType:   BusType::Usb
     devices:   /dev/hidraw2, /dev/input/event19, /dev/input/event22, /dev/input/event20, /dev/input/event21
     readable:  true
     writable:  true

Joining the "Would love Wayland support." gang.
Just upgraded to Fedora 34, Wayland with Gnome 40.4.

I briefly tested the program with Fedora 34 today. There are three different issues with Projecteur in wayland.

Issues with taking screenshot
Issue with setting the position of overlay window
Issue with setting different window flags

I have opened a new meta issue for discussing these problems (#174 ).

Link to a related issue: https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/issues/288

Just as another Wayland data point: On Debian Bookworm (Projecteur built from today's master), the overlay on my three-monitor system (GNOME, horizontal monitor arrangement, middle monitor holds the menu bar) works as follows:

In "Test" mode, the overlay consists of two rectangles of roughly screen size: The top left position of the first rectangle originates at the top left position of the inside of the preferences window. The other rectangle is to the right of it, slightly offset down (maybe by the difference in the monitor height?)
When using with a LibreOffice presentation (which uses the left two screens), the overlay is only on the rightmost screen, which is also permanently blanked.

It seems that the left two monitors are treated differently than the third?
Anyway, using QT_QPA_PLATFORM=xcb projecteur seems to be a viable workaround…


Not an issue, just a...

He,
I just realized, that MahApps.Metro is maybe used more than once (e.g. Xamarin Inspector).
It can be also used with other awesome third party libs (e.g. Material Design In XAML Toolkit) as well...
So, give us some feedback...
What I mean: give us a short description of your app or lib or something else with a cool nice looking (png) screenshot and put it here as answer, so we can add it to our cool website...
And by the way, thx to all contributors, users and testers and...
THX
Jan

@/all really? no one? ...mh... :disappointed:

Well, I use MahApps.Metro in several small applications but most of them are for internal use only. The only public application I wrote using MA.M is Solutionizer.
Additionally I wrote another small MVVM library, TinyLittleMvvm. I was sick writing the same boilerplate code again and again :laughing:

We have used it in two financial applications internally and they look good, but the company is strict and I am afraid to share any screenshots. It's very pleasant to use WPF after having to deal with Angular and HTML.

I'm using Mahapps for my school project which calls James. It's currently under construction, but you can use my screenshots if you like them ;).
James can help you browsing your files and you can make your ohne workflows for it. Basically something like https://www.alfredapp.com/ for windows ;)

I'm going to use it for www.tvCAD.tv. Today is day zero so I have no bugs. Tomorrow is another day.


Pmail

This pull request is for the JS component for the Pmail exercise. The HTML and CSS components were reviewed several weeks ago.
For this project, I used Grunt as my build tool. I also used icon fonts and SVGs. However, they will not display on the webpage unless it is running on a local server. Here is a link to Github Pages where I've placed the site:
http://paulh16.github.io/level_up_exercises/
If you would like to run the project locally with Grunt, my gh-pages branch is the one that contains all the ancillary Grunt files:
https://github.com/paulh16/level_up_exercises/tree/gh-pages
For this submission, I implemented the following interactivity, all of which are located in js/main.js:

Check and uncheck email messages
Toggle delete button when one or more emails are checked
Delete checked emails and display a flash message
Star and unstar emails
Animate in additional inbox items by clicking "More"
Display Gmail menu items (Inbox; Contacts; Tasks) by clicking "Gmail" on the left-hand side
Close the menu in (6) if you click anywhere except the menu

Thank you for reviewing! Please let me know if you need any clarification on the branches or Grunt files.

@paulh16, this is pretty cool. I have never used Grunt, so I'm not sure what all kind of feedback to provide. The general UI looks fine, and you have already had the actual pmail assignment reviewed previously.
I'm not sure how I can best provide feedback, but I'd like to meet up and maybe have you walk me through the project and the tools and tech used.
As for level-up, yeah you have definitely satisfied the requirements. Now I would just like to have you teach me some stuff ;-)


Slash commands

DJS doesn't seem to have support for this yet, but once it does we should add them for all the bot commands.

This is supported in v13, #252


How to add new loss to the whole network

Hi, I have read https://mmdetection.readthedocs.io/en/latest/tutorials/customize_losses.html.
I know how to modify a predefined loss like FocalLoss.
But I still do not know how to add a totally new loss for faster-rcnn. Could you give me some suggestions? Thanks!

You can refer to the FocalLoss implementation. Implement a loss, add it to the registry with the decorator, add it to the corresponding __init__.py of the directory, then edit the config to use it.


Increment dependencies

The pinned library versions in requirements.txt are old, and based on python 3.7, which is now out of security support. This branch updates the python used by readthedocs for automatic builds from 3.7 to 3.8, and upgrades the pinned versions of the libraries used by sphinx to build the documentation to more recent versions.

This should close #52, #55, #57, #59, #67, and #72.


Feat.Req.: API: showInputBox() user input validation and feedback

It would be nice if we could validate user input before they dismiss with "ok", i.e. show the user they write something we won't accept before they dismiss the inputbox.
This could be a red outline around the inputbox if value doesnt pass validation, ideally would have a message shown underneath telling them what we expect.
A regex and (optional?) default message could work for many cases, ideally a custom validator that allows us to accept/reject (with optional message?) on user input change.
Possible duplicate of this, but this even goes a little further I think:
https://github.com/Microsoft/vscode/issues/426

related to #540.
We could extend the InputBoxOptions to allow to provide a validator

this will be handled by #1795


Investigate flaky com.twitter.algebird.CollectionSpecification test

I'm looking for a good first issue to look at in this repo, and am not able to reproduce:
[info] ScalaTest
[info] Run completed in 14 seconds, 641 milliseconds.
[info] Total number of tests run: 903
[info] Suites: completed 111, aborted 0
[info] Tests: succeeded 903, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[info] Passed: Total 1018, Failed 0, Errors 0, Passed 1018
[success] Total time: 17 s, completed Aug 10, 2022 4:30:48 PM

Under what conditions does this test fail?

some of the tests in this repo are statistical tests about probability data structures. When you make some claim, it can often be false with some small probability. When we run the tests over and over (CI for different versions, or dependency updates) we tend to hit these.
If we weaken the tests so much that never happens, then the tests are also very weak (in some cases trivial, in that they would always pass).
Another alternative is to fix a seed so we don't reseed with the time on these tests.

Maybe @regadas can post a link to a build that failed and triggered this issue, but flaky here means that the failure is random and intermittent due to generative testing. So the task would be to find a build around when this issue was filed that failed this test, and then run a unit test version of the generative test with the generated values that caused the failure. That will help you track down the bug.

Jinx @johnynek !

Got it.  I'll look into fixing a seed: that sounds like a reasonably clean solution to taking care of all these flaky tests if the maintainers are fine without a randomized seed.

Hi, y'all! I believe I did a bad job here since I didn't attach the relevant info and now the build logs are gone so pinpointing this will be hard. Sorry about that! 🙏
Locally IIRC, I wasn't able to replicate it. So... I guess we can wait and see if some build fails again with it and update this accordingly? 🤷

Haven't looked into it yet but got a build failure related to this. Adding this to the issue body as well.
https://github.com/twitter/algebird/runs/7812911450?check_suite_focus=true
[info] - AdaptiveVector[Int] has a monoid *** FAILED ***
[364](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:365)
[info]   GeneratorDrivenPropertyCheckFailedException was thrown during property evaluation.
[365](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:366)
[info]    (CheckProperties.scala:13)
[366](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:367)
[info]     Falsified after 8 successful property evaluations.
[367](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:368)
[info]     Location: (CheckProperties.scala:13)
[368](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:369)
[info]     Occurred when passed generated values (
[369](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:370)
[info]       arg0 = SparseVector(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
[370](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:371)
[info]       arg1 = SparseVector(0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
[371](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:372)
[info]     )
[372](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:373)
[info]     Label of failing property:
[373](https://github.com/twitter/algebird/runs/7226727055?check_suite_focus=true#step:5:374)
[info]       isNonZeroWorksMonoid

Good example, and I bet manually reducing the dimension way down would still trigger a failure. A good case!


pipenv graph is blank

I'm using pipenv at commit e41c0659 (I need recent bugfixes), and the pipenv graph command seems to output nothing.
$ python -m pipenv.help output
Pipenv version: '2018.05.18'
Pipenv location: '/home/user/.local/lib/python2.7/site-packages/pipenv'
Python location: '/usr/bin/python'
Other Python installations in PATH:

2.7: /usr/bin/python2.7

2.7: /usr/bin/python2.7

3.6: /usr/bin/python3.6m

3.6: /usr/bin/python3.6

2.7.15: /usr/bin/python

2.7.15: /usr/bin/python2

3.6.5: /usr/bin/python3

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '0',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.15.17-300.fc27.x86_64',
 'platform_system': 'Linux',
 'platform_version': '#1 SMP Thu Apr 12 18:19:17 UTC 2018',
 'python_full_version': '2.7.15',
 'python_version': '2.7',
 'sys_platform': 'linux2'}

System environment variables:

PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/user/.local/bin:/home/user/bin
SHELL: /bin/bash
LANG: en_US.UTF-8
PWD: /home/user/project

Contents of Pipfile ('/home/user/project/Pipfile'):
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]
requests = "*"

[requires]
python_version = "2.7"

Contents of Pipfile.lock ('/home/user/project/Pipfile.lock'):
{
    "_meta": {
        "hash": {
            "sha256": "9838c8bf3aa442453b393e09e534ba7e1666aab4da1b9b408ecdf3ae58ab273c"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "2.7"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "certifi": {
            "hashes": [
                "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
                "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
            ],
            "version": "==2018.4.16"
        },
        "chardet": {
            "hashes": [
                "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
                "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
            ],
            "version": "==3.0.4"
        },
        "idna": {
            "hashes": [
                "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
                "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
            ],
            "version": "==2.6"
        },
        "requests": {
            "hashes": [
                "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
                "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
            ],
            "index": "pypi",
            "version": "==2.18.4"
        },
        "urllib3": {
            "hashes": [
                "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
                "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
            ],
            "version": "==1.22"
        }
    },
    "develop": {}
}

Expected result
a dependency graph
Actual result
a newline or two
Steps to replicate
@lbenezriravin:~/project $ pipenv install requests > /dev/null 2>&1; pipenv graph

@lbenezriravin:~/project $

Thanks for everything you all do here! I'm extremely happy that this project exists and that maintainers are so active!

Can confirm. I did some bisecting and it seems this was introduced during pip upgrade, between 46a0e79 and 81ae262. /cc @techalchemy


Is it possible to put some text in front of the animation?

For example:
process A: [    =   ]

nevermind, I just looked at the source code, here's an example code:
@animation.wait('bar', text="process A: ")
def func():
    sleep(5)

I think it would be reasonable to put this into the project description.


Gradient pattern to 1 instead of value

Following the example where the progress path goes from red to green on completion, I'd like a gradient that's red at 0 and green at 1. Meaning if the bar stops at 50%, it won't be green. In the example code the circle ends up as green even if the value is only 0.5.

Here's more how to customize animations: https://github.com/kimmobrunfeldt/progressbar.js/blob/master/README.md#custom-animations
You probably mean the "passing in initialization"

Ah perfect thank you very much!


Pagination to show more than 150 responses

User Story:
As a GCForms user,
I want the ability to view more than 150 form responses,
So that I can efficiently manage and analyze large volumes of data.
Acceptance Criteria:

[ ] Implement pagination in Responses, that allows users to navigate through form responses when the count exceeds 150, as per the Figma wireframe designs
[ ] Testing: Test the pagination feature across different web browsers (Edge, Chrome - Desktop, Tablet) to ensure compatibility and consistent user experience.

[ ] Data Integrity: Ensure all form responses are accurately displayed without loss or duplication when navigating between pages - looking into the bug that occurred in testing where we couldn't see some of the confirmed responses in "signed off for removal"

https://github.com/cds-snc/platform-forms-client/pull/3005


Introduction of a simple plugin for nvim

Hi,
for easier integration into nvim, i added a plugin (tested with folke/lazy.nvim) to the repository. To enable automatic resolution of queries, i had to move them to queries/nu.
The plugin sets the comment string, adds filetype detection and adds the parser to treesitters parser config. If you do not want to add a program specific plugin to this repository, please let me know. Thus, i ll host a seperated one for lazy devs like me :D
Kind regards
Alexander

Part of me is saying that it would be better to have it in a separate repository. But since tree sitter is intended primarily for editors, maybe it makes sense to have editor integrations here as well?

Long term should be a direct integration into the treesitter repo imho.
I created the pr to enable easy nvim support short term.
If your goal is to not integrate I would go the seperation of concerns route and create a repo for each editor. Thus, no plugin integration conflicts with others.

Could you also update this markdown with an example based on lazy.nvim?

thanks for updating the doc too. i think this makes things better.

FYI - This PR broke tree-sitter highlight. I'm hoping this fixes it https://github.com/nushell/tree-sitter-nu/pull/75


Feature request: tag search

If I hit t and choose a tag I'm in a view with only feeds with that tag. If I then do a search it should only search those feeds. Alternatively, if I do a search in the main feed view and add something like tag:news only feeds with that tag should be searched.
Thank you

If I then do a search it should only search those feeds.

Makes sense. Thanks for opening an issue!


track2 add cosmos-db/armdocumentdb ci.yml and LICENSE.txt

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

Keep in mind that the Cosmos DB SDK is being worked on the cosmos folder on the track2 branch: https://github.com/Azure/azure-sdk-for-go/tree/track2_cosmos/sdk/cosmos
The naming follows the other Azure SDK repos, like Java: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos


Improving the experience section

In the experience section I would like to add the flip card animation so that on hovering over the cards it would display the animation.

Which cards, in particular, are you referring to?

@smaranjitghose over the volunteer ship one.

Can you show a link or a video demo?

You can get a reference from this @anushbhatia @smaranjitghose


Stickers page with several stickers

@plhnk I've created the stickers page.
As you can see, I've modified a bit the ImageDownload component because I'm linking to the document in Dropbox to reduce the weight on our side. Good and bad because they can then navigate Dropbox.
@MarkusHmr I've plotted in the screen only the ones that are ready to print and that are shared as individual stickers. At the end of the page, I also share a catalog pdf with more. But it would be nice if any comm designer could provide the individual stickers in the ready to print folder, so I can expose all of them.
Good and bad:

Good: we have many stickers
Bad: we have many old ones that we may want to hide as they are outdated

cc: @emilyyoung

I would like to bring our stickers to this page too:

liferay.design
Liferay design logo

You are right :P. I wanted to do something cleaner. But I ended up doing this. I tried yours in a different way that didn't work to me.

Hey Guys,
Can we make this live? :)

Thx for the followup/reminders @MarkusHmr and @drakonux :)
There's a couple issues that we should resolve before publishing:

Please double-check this in the deploy preview, but for me all of the download links are broken — can someone else verify? If these links are broken, we should move these assets to a more stable location, my suggestion would be in the appropriate resources folder in Drive.
Currently the catalog link goes to a 410 — as with above, I suggest we put production-ready files in a more stable location.
I would like to fix the issue I brought up earlier, I can get to that some night this week and send a PR to @victorvalle's branch
It sounds like the content on the page isn't set — would be good to have a list of the ones that we want on there, and maybe some groups as well so it can be a collapsable like we have on other pages.

Hi!

I'm ok with this if d-comm wants to make that movement. (@MarkusHmr )
Maybe there was a pdf modification and re-upload. This could change the url.
Ok.
I like the idea of groupings. I thought years could be a nice option so we know the time they have.

@MarkusHmr @emilyyoung if you guys could find some time to put the stickers in a folder in drive it would be perfect.
When that is done we will modify this PR and merge it :)

Hi @victorvalle
you can find all the print files for the stickers here:
HERE

@plhnk this should be now ready to publish
Thanks @MarkusHmr for the links and the images :)

Should we put liferay design stickers here too?

Getting sad with no merging this :( @plhnk

hey @victorvalle — sorry to be an aguafiestas, I checked it out and I see your updated links and images, thanks for doing all that! I think we're still waiting on a few things — hoping @MarkusHmr can weigh in...
Unless I missed it — I looked very quickly, and at the least the catalog issue is still pending. Once the content stuff comes through and is more or less finalized, I'll fix the  component and merge.

If you mean the document with all stickers. That doesn't exist now. I don't think it makes sense to have it as we would have to update the url each time. I removed it in my last PR.
Even we can go ahead without that and if they want to provide later on, we just add it

@plhnk reviewed and updated

Hey @plhnk & @victorvalle ,
do you need anything from me? I'm happy to contibute.


Add dev page to rebuild

closes: #162
Done

Consolidated the logic of the agent in /api/agent
Connected to the front end through the useAgent hooks

Memo
Created the /dev page and produced the necessary files. Duplicate agents and unnecessary code will be removed in a separate PR.
Notes
Edge runtime/Abort issue
There are cases where Signal is not working properly, so it's being detected from ReadableStream.

https://github.com/vercel/ai/issues/90
https://github.com/vercel/next.js/pull/51727
https://github.com/vercel/ai/issues/309

The error in Vercel is due to the influence of unnecessary files, so we will address it in a separate PR.


TOMEE-4023 Comparison pages with wrong specs per profile

Here is an extract of the current visual result :

Thanks @jeanouii !
https://github.com/apache/tomee-site-generator/pull/43 is still pending (same improvements) and https://github.com/apache/tomee-site-generator/pull/48 also pending


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1279 ms

Resolved: Bofrost.at performance has improved in 06147dc.


Modify buzz environment to use env variables to set root server rather than using a different config.yaml inside the Docker image.

At present we have a somewhat complex machinery to place the staging environment root server URL into config.yaml and then bundle that file with the secondary server.
We could instead simply docker service update uuid_secondary --env-add rootServerUrl=root.atsign.wtf and then subsequently start using more consistent images. (Though we may still choose to apply labels like :prod at different times to different images to control the release cycle).

@cpswan - Performed testing on passing root URL to compose file and container.
cat docker-compose.yml
version: "3.8"
services:
secondary:
image: reg.buzz.do-sf2.atsign.zone/atsigncompany/secondary:dev_env
command: "-a @ATSIGN -p PORT -s ATSECRET"
environment:
- root_base_url=${root_base_url}
deploy:
placement:
constraints: [node.role == worker]
resources:
limits:
cpus: '0.25'
memory: '50M'
reservations:
#cpus: '0.01'
memory: '6M'
ports:
- target: PORT
published: PORT
volumes:
- "/gluster/@/secondaries/DIR/NAME:/atsign"
- "/etc/letsencrypt/live/UUID.buzz.do-sf2.atsign.zone:/atsign/certs"
- "/atsign/config"
networks:
second: {}
networks:
second:
external: true
name: secondaries
Stack Deploy command -
env root_base_url='root.atsign.wtf' docker stack deploy  --compose-file docker-compose.yml narendra-test-env  --with-registry-auth
Docker Service Inspect -
983616bc5b8697a79f5",
"Labels": {
"com.docker.stack.namespace": "narendra-test-env"
},
"Args": [
"-a",
"@narendra-test-env",
"-p",
"34447",
"-s",
"88b7cd62c2890539d6778b69eb3ae49d69f181ce8842f02b09974068ad6ab64421b8cd3ef38fb79d29c880f3a7461f257d3d43b17ad7954e39d579439e6b4e94"
],
"Env": [
"root_base_url=root.atsign.wtf"

Thanks @kumarnarendra701
Can you update your test to use the :prod image and confirm that it's still connecting to the staging root.

@cpswan -
I have modified the image with prod and setup "root_server.url" variable as env.
Steps 1
"
services:
secondary:
image: reg.buzz.do-sf2.atsign.zone/atsigncompany/secondary:prod
command: "-a @ATSIGN -p PORT -s ATSECRET"
environment:
- root_server.url=${root_server_url}
"
Steps 2
./create-env narendra-test54-env 34454 176c4fb8-1525-test54-83ac-58569691e1b4 86/14/f2/69/8614f26943fb3c2e0e6c7a919fb80d82 88b7cd62c2890539d6778b69eb3ae49d69f181ce8842f02b09974068ad6ab64421b8cd3ef38fb79d29c880f3a7461f257d3d43b17ad7954e39d579439e6b4e94 buzz
Steps 3
docker inspect c662c433f0f8
"Env": [
"root_server.url=root.atsign.wtf",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"-a",
Steps 4
docker logs -f c662c433f0f8
INFO|2021-11-07 07:32:01.233576|StatsNotificationService|StatsNotificationService is enabled. Runs every 15 seconds
INFO|2021-11-07 07:32:01.233587|AtCertificationValidation|Certificates reload job scheduled to run at 8 hours and 20 hours
INFO|2021-11-07 07:32:01.320882|AtSecondaryServer|Secondary server started on version : null on root server : root.atsign.org
INFO|2021-11-07 07:32:01.320925|AtSecondaryServer|Secure Socket open for @narendra-test54-env !
FINER|2021-11-07 07:32:01.320948|AtSecondaryServer|serverSocket _listen : SecureServerSocket
I have configured stage URL "root.atsign.wtf" for prod image as env variable("root_server.url" ) but it still trying to connect to the prod root server but env is available for the container. Can you please confirm which variables calling inside the cotainer?

@kumarnarendra701 the env variable should be called rootServerUrl (per the opening comment on this ticket)

@cpswan
# docker inspect f84de053a975
"Env": [
"rootServerUrl=root.atsign.wtf",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
# docker logs -f  f84de053a975
INFO|2021-11-07 18:11:59.528748|AtSecondaryServer|signing keypair generated
FINEST|2021-11-07 18:11:59.529205|AtRefreshJob|scheduleKeyRefreshTask runs at 16 hours
INFO|2021-11-07 18:11:59.612293|StatsNotificationService|StatsNotificationService is enabled. Runs every 15 seconds
INFO|2021-11-07 18:11:59.612361|AtCertificationValidation|Certificates reload job scheduled to run at 10 hours and 22 hours
INFO|2021-11-07 18:11:59.628531|AtSecondaryServer|Secondary server started on version : null on root server : root.atsign.wtf
INFO|2021-11-07 18:11:59.628562|AtSecondaryServer|Secure Socket open for @narendra-test55-env !
FINER|2021-11-07 18:11:59.628585|AtSecondaryServer|serverSocket _listen : SecureServerSocket
I have passed stage root URL on prod image and now stage root URL is coming from env. so it is working as expected.

Thanks @kumarnarendra701
Can you please make this change across the buzz swarm and then we're done with this issue
My plan is to continue using the :dev_env tag for staging, but for those images to no longer have a staging root URL.

@cpswan - Implemented on buzz and raised PR for review. Please let me know if any changes are required,
https://github.com/atsign-company/secondaries-scripts/pull/6

@kumarnarendra701 that change is approved

This has now been done


Not working over a PAC system proxy

Version
1.8.4
Details

Steps to reproduce
Anything that are pasted in the search bar will result in such an error.is

If the proxy is configured on your system correctly (i.e., in Internet Options), it should work. Otherwise, I'm afraid this is outside of this project's domain.


Implemented Recursive Criticism and Iteration in Task Creation to Verify the output of the agents

RCI Documentation
Documentation for Recursive Criticism and Iteration (RCI) Methods
Overview
Recursive Criticism and Iteration (RCI) is a systematic process used to iteratively enhance the quality of outputs generated by a language model (LLM). It involves three main steps: Critique, Validate, and Improve. Each step is designed to ensure that the final output is accurate, logically sound, and free of factual errors.
This documentation explains the implementation of RCI in CrewAI library using LangChain and Ollama LLM. The code defines three methods: critique, validate, and improve. Each method leverages prompt templates to interact with the LLM and achieve the desired processing at each stage.
Methods
1. critique
This method generates a critique of the given output based on the task description. The critique focuses solely on logical or factual inaccuracies, avoiding grammatical rephrasing or paraphrasing.
Parameters:

agent: The agent performing the task, which includes the agent's backstory.
task: The task description provided to the model.
output: The output generated by the LLM for the given task.
llm: The language model used to process the prompt and generate the critique.

2. validate
This method determines if the critique suggests significant changes to the output. It analyzes the critique to see if it indicates that substantial revisions are necessary.
Parameters:

task: The task description provided to the model.
critique: The critique generated by the critique method.
output: The original output generated by the LLM.
llm: The language model used to process the prompt and validate the critique.

Returns:

validate_response: A single word response, either "True" or "False", indicating whether significant changes are required.

3. improve
This method refines the original output based on the critique. It rewrites the output to address the errors identified in the critique, ensuring the format specified in the task description is maintained.
Parameters:

task: The task description provided to the model.
output: The original output generated by the LLM.
critique: The critique generated by the critique method.
llm: The language model used to process the prompt and improve the output.

Returns:

improve_response: The improved output generated by the LLM.

Summary
The RCI methods (critique, validate, and improve) form a robust framework for iteratively refining LLM outputs. By identifying and correcting logical or factual errors and validating the significance of required changes, this approach ensures high-quality and accurate outputs tailored to specific task requirements.
To test the functioning RCI in the modified CrewAI
Note: The test code written is suited for local development scenario, kindly modify the code in necessary ways for your working.

Move the src directory
Run the crew_ai_base_test.py to check if your initial setup works
Run this Python notebook for advanced test case: YT_Email_Reply_Llama3_CrewAI_+_Groq.ipynb

For the above code to work, Groq API is required, make sure you have one before starting

To try out custom test cases, RCI can be enabled while creating an instance of the Task Class

Set rci=True if you want to use RCI, the default value is True.
The # of iterations can be modified using the rci_depth parameter, which takes an integer value. The default value is set to 1.

Example:
task = Task(
    description= """ Your Task Description""",
    agent= your_agent,
    expected_output= "However you wish",
    rci=True
    rci_depth=3
)

As @mbarnathan pointed out to make the code more generic, I have modified the code to use the existing LLM from the user provided which would usually be initialized using crew.kickoff().
As I have access only to local LLMs, it would be great if anyone can run the internal tests. I tried using the local LLMs but it eventually came to do modifying the test cases to setup for local LLMs.
I will probably try to modify the test cases to even work with local LLMs.

Hi @chandrakanth137 thanks for the PR.
I just wanted to touch base about the project—there have been quite a few changes since June, like removing poetry.lock and Langchain, among others. It would be great to see these updates reflected in a new pull request.
If this is still on your radar, just let us know how we can help make it happen!
Thanks!


No upload happening..

Really appreciate this detailed description of possible routes to go. I was able to upload once to this board over usb-c, not doing anything special. The second time I tried, I ran into the issue you describe.
My board came with a jst-connector, and I'm connecting pin 0 to gnd to get a boot switch. This makes my board show up on com23 instead of 22 when it's running the sketch. The problem is that nothing will upload. esptool just hangs after Serial port COM23, no errors, nothing.
I've tried pressing reset while boot is low, then releasing reset and lastly releasing boot. I've also tried holding boot the whole time while trying to upload.
CURRENT: upload_protocol = esptool
Looking for upload port...
Auto-detected: COM23
Forcing reset using 1200bps open/close on port COM23
Waiting for the new upload port...
Uploading .pio\build\WT32-SC01-PLUS\firmware.bin
esptool.py v4.5
Serial port COM23

Usually, releasing RESET then releasing BOOT works for me.
I'm on MacOS/Linux so I can't help with Windows -- be even on Linux the ESP 32 will show up as two serial devices and only one works. Can you switch back to COM22?


How to override device_class upon one entity

I've a device with MAC A4:C1:38:3C:00:16, which have a entity sensor.a4c1383c0016_formaldehyde with device_class formaldehyde:
state_class: measurement
native_value: 0.01
unit_of_measurement: mg/m³
device_class: formaldehyde
friendly_name: xiaofei Formaldehyde

but ha's homebridge does not support this yet, so I have to override device_class to volatile_organic_compounds, and change unit from mg/m3 to ug/m3 with a multiplication of 1000, I tried this configuration:
xiaomi_gateway3:
  devices:
    "a4c1383c0016":
      entities:
        formaldehyde: "volatile_organic_compounds"

I inspect this entity in ha's developer tool, however there is no difference, device_class is still formaldehyde.

using homeassistant native override features is enough. I also used unit conversion.
template:
  - sensor:
      - name: "sensor.a4c1383c0016_ch2o"
        unique_id: "sensor.a4c1383c0016_ch2o"
        unit_of_measurement: "µg/m³"
        device_class: "volatile_organic_compounds"
        state_class: "measurement"
        state: >
          {{ (states('sensor.a4c1383c0016_formaldehyde') | float * 1000) | int }}
        availability: "{{ states('sensor.a4c1383c0016_formaldehyde') not in ['unknown', 'unavailable', 'none'] }}"
        attributes:
          friendly_name: "bedroom formaldehyde"


Carto logo disappears after moving the map (Firefox)

Another Firefox special. Open any builder embed with Firefox, the logo appears. Move the map a bit and release the mouse button. Wait for a second and the logo will disappear.

cc @xavijam

i'll take care @javitonino :*


change env for gitlab instance url

SSIA
gitlab crate needs GitLab URL without protocol or port. For example gitlab.example.com, not https://gitlab.example.com:8000

Codecov Report

Merging #25 (7901660) into main (3b063b9) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main      #25   +/-   ##
=======================================
  Coverage   60.98%   60.98%
=======================================
  Files           7        7
  Lines         446      446
=======================================
  Hits          272      272
  Misses        174      174

Impacted Files
Coverage Δ

src/notifier/gitlab.rs
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Changed Renovate Schedule to Wednesday, fixed commit message suffix/prefix

Since oncall switches on Tuesday, it makes more sense for dep updates
to be Wednesday, so it's once per oncall rotation
Commit message suffix is set to '[SECURITY]' by default, so we want to
switch that to nothing so it's only prefixed by '[SECURITY]'
Commit message suffix/prefix is string typed, so removed the
surrounding brackets of prefix

Signed-off-by: Brady Siegel<EMAIL_ADDRESS>

/approve


Checking in latest codegen

Also, how do you feel about checking in the files, generally?
Against checking-in, on principle version control systems really only ought to track human-generated content.
However, the idiosyncrasies of a build system sometimes lend to more convenience. For example, my workflow (VScode + RLS) fails on a clean checkout if I haven't run the cargo spatial codegen command. I'm not sure if this would work differently if the generated code were managed by a build.rs script. What good looks like, in my opinion, is Pants Java Protobuf which seamlessly links generated code to your classpath (and IDE) without requiring the generated code to be checked-in.

I actually have a (very) long-running refactor going on to make it so that code is generated in the build.rs for a crate in order to address this issue! Unfortunately, my work on that has slowed down due to a lack of personal time and my company moving away from looking at SpatialOS :cry: In the meantime, keeping the generated code in the repo up-to-date is probably for the best 🙂


Can not produce a message

Hi,
When I try to produce a message, I got the following issue:
Content schema with key or id "http://unknown.unknown" already exists

when I run the unit test "npm test" I'm getting failed unit test! could you help me with the injection of ClientKafka?


Broken many0! example in README

I was trying to test out the many0! example you have in the README:
#[macro_use]
extern crate nom;
use nom::IResult::{Done};
fn main() {
    named!(multi, many0!( tag!( "abcd" ) ) );
    let a = b"abcdef";
    let b = b"abcdabcdef";
    let c = b"azerty";
    assert_eq!(multi(a), Done(b"ef", vec![b"abcd"]));
    assert_eq!(multi(b), Done(b"ef", vec![b"abcd", b"abcd"]));
    assert_eq!(multi(c), Done(b"azerty", Vec::new()));
}

However, I get this:
<std macros>:5:22: 5:33 error: mismatched types:
 expected `nom::internal::IResult<&[u8], &[u8]>`,
    found `nom::internal::IResult<&[u8; 2], collections::vec::Vec<&[u8; 4]>, _>`
(expected slice,
    found array of 2 elements) [E0308]
<std macros>:5 if ! ( * left_val == * right_val ) {
                                    ^~~~~~~~~~~
src/main.rs:9:5: 9:54 note: in this expansion of assert_eq! (defined in <std macros>)
<std macros>:5:22: 5:33 help: run `rustc --explain E0308` to see a detailed explanation
<std macros>:5:22: 5:33 error: mismatched types:
 expected `nom::internal::IResult<&[u8], &[u8]>`,
    found `nom::internal::IResult<&[u8; 2], collections::vec::Vec<&[u8; 4]>, _>`
(expected slice,
    found array of 2 elements) [E0308]
<std macros>:5 if ! ( * left_val == * right_val ) {
                                    ^~~~~~~~~~~
src/main.rs:10:5: 10:63 note: in this expansion of assert_eq! (defined in <std macros>)
<std macros>:5:22: 5:33 help: run `rustc --explain E0308` to see a detailed explanation
<std macros>:5:22: 5:33 error: mismatched types:
 expected `nom::internal::IResult<&[u8], &[u8]>`,
    found `nom::internal::IResult<&[u8; 6], collections::vec::Vec<_>, _>`
(expected slice,
    found array of 6 elements) [E0308]
<std macros>:5 if ! ( * left_val == * right_val ) {
                                    ^~~~~~~~~~~
src/main.rs:11:5: 11:55 note: in this expansion of assert_eq! (defined in <std macros>)
<std macros>:5:22: 5:33 help: run `rustc --explain E0308` to see a detailed explanation
<nom macros>:6:38: 6:41 error: mismatched types:
 expected `&[u8]`,
    found `collections::vec::Vec<&[u8]>`
(expected &-ptr,
    found struct `collections::vec::Vec`) [E0308]
<nom macros>:6 } $ crate:: IResult:: Done ( input , res ) } ) ; ( $ i : expr , $ f : expr )
                                                    ^~~
<nom macros>:20:1: 20:34 note: in this expansion of many0! (defined in <nom macros>)
src/main.rs:5:5: 5:46 note: in this expansion of named! (defined in <nom macros>)
<nom macros>:6:38: 6:41 help: run `rustc --explain E0308` to see a detailed explanation
error: aborting due to 4 previous errors
Could not compile `cookie`.

To learn more, run the command again with --verbose.

rustc 1.6.0-nightly (9303055f3 2015-11-19)
nom = "1.0.0"
I was able to get the intended functionality (I think?) by changing the example to:
#[macro_use]
extern crate nom;
use nom::IResult::{Done};
fn main() {
    named!(multi<&[u8], Vec<&[u8]> >, many0!( tag!( "abcd" ) ) );
    let a = b"abcdef";
    let b = b"abcdabcdef";
    let c = b"azerty";
    assert_eq!(multi(a), Done(&b"ef"[..], vec![&b"abcd"[..]]));
    assert_eq!(multi(b), Done(&b"ef"[..], vec![&b"abcd"[..], &b"abcd"[..]]));
    assert_eq!(multi(c), Done(&b"azerty"[..], Vec::new()));
}

It's syntactically heavier than your example, so hopefully there's a less verbose way of accomplishing this.

Unfortunately, that's the common representation for byte slices from static strings. I can add a conversion to&str,  though, that would be nicer.

Fixed in fae037a. Is the example alright for you?

LGTM, thanks for fixing it. Also, thanks for a great project!


Updated dependecies and fix error in the backend

Change introduced in broadlink_service.py. Our change allows the discover of devices if one device is locked.
Also updated python depedencies

I think the changes are made, could you please check?

Thank you so much!

Thank you so much!


Code Quality: Async all the way down

Resolved / Related Issues

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #12310

Validation
How did you test these changes?

[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[ ] Did you implement any design changes to an existing feature?

[ ] Was this change approved?

[x] Are there any other steps that were used to validate these changes?

Open app ...
Click around to make everything still works

If we do this, we should probably add this to the coding conventions on the website.

If we do this, we should probably add this to the coding conventions on the website.

Can you open a PR for this?

The update of Files.App.Launcher.exe and its hash should be reverted.
Additionally, should we even append Async to the methods of UI events? (e.g. Window_Closed)

The update of Files.App.Launcher.exe and its hash should be reverted.

I missed that in the review, sorry!

@hishitetsu I reverted that on main

Thank you! How do you think about this?

Additionally, should we even append Async to the methods of UI events? (e.g. Window_Closed)

Usually those are left alone, but I don't have a preference either way.

If we do this, we should probably add this to the coding conventions on the website.

Can you open a PR for this?

Will do!


Update Add-TeamUser.md

Updated the Inputs into a single line.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

teams/teams-ps/teams/Add-TeamUser.md
:white_check_mark:Succeeded
View (teams-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Thank you for this fix!


[Diagnostics] Make -diagnostic-style swift the default when outputting in color

The goal is to use the newer style for 'interactive usage' without breaking compatibility for tools that try and parse the compiler output. I'm going to post about this on the forums before landing the change

@swift-ci please ASAN test

@swift-ci please smoke test


Load Model MvcUser

Hi, is possible  load model user in a controller for manage email first name e last name in a view '/my-account/'?

Yes, see documentation
On Wed, 6 Apr 2022 at 14:03, Marcello Mastellone @.***>
wrote:

Hi, is possible load model user in a controller for manage email first
name e last name in a view '/my-account/'?
—
Reply to this email directly, view it on GitHub
https://github.com/tombenner/wp-mvc/issues/259, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFJLZLHL2O5TWKHVJ4DUMLVDWDSNANCNFSM5SV6ZRUA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Sent from Gmail Mobile

I found this load_model.. but if I passed MvcUser.. Not works i have an issue
http://wpmvc.org/documentation/controllers/controller_methods/load_model.html

@marcelmastel try this instead.
$user_model = mvc_model('MvcUser');  $user = $user_model->find_by_id(1);
If you want to use the other way you need to do a mapping to a model in your Project say Member like in this link
https://wpmvc.org/documentation/wordpress_data_integration/models_for_wordpress_tables.html
Good luck!


Stryker fails to run on an Angular 6 project which has a library.

Summary
Hello again, it seems to still not work with new versions (as of today).
Related to Issue #1272. Still the same issue.
Stryker fails to run on an Angular 6 project which has a library.
How to recreate
Create a new cli project with ng new mutation
Add a library in the root dir of that project with ng generate library my-lib
Install local versions of Stryker npm install --save-dev stryker stryker-api
./node_modules/.bin/stryker init
select the angular-cli and npm options
./node_modules/.bin/stryker run
14:53:14 (3220) TRACE ChildProcessProxy Schema validation failed with the following errors:   Data path ".progress" should be boolean.
Stryker config

module.exports = function(config) {
  config.set({
    mutate: [
      "src/**/*.ts",
      "!src/**/*.spec.ts",
      "!src/test.ts",
      "!src/environments/*.ts"
    ],
    mutator: "typescript",
    testRunner: "karma",
    karma: {
      configFile: "src/karma.conf.js",
      projectType: "angular-cli",
      config: {
        browsers: ["ChromeHeadless"]
      }
    },
    reporters: ["progress", "clear-text", "html"],
    maxConcurrentTestRunners: 4, // Recommended to use about half of your available cores when running stryker with angular.
    coverageAnalysis: "off"
  });
};

Stryker environment

    "stryker": "^0.34.0",
    "stryker-api": "^0.23.0",
    "stryker-html-reporter": "^0.17.0",
    "stryker-karma-runner": "^0.23.0",
    "stryker-typescript": "^0.17.0",

"dependencies": {
    "@angular/animations": "^6.1.0",
    "@angular/common": "^6.1.0",
    "@angular/compiler": "^6.1.0",
    "@angular/core": "^6.1.0",
    "@angular/forms": "^6.1.0",
    "@angular/http": "^6.1.0",
    "@angular/platform-browser": "^6.1.0",
    "@angular/platform-browser-dynamic": "^6.1.0",
    "@angular/router": "^6.1.0",
    "core-js": "^2.5.4",
    "rxjs": "~6.2.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.8.0",
    "@angular-devkit/build-ng-packagr": "~0.8.0",
    "@angular/cli": "~6.2.5",
    "@angular/compiler-cli": "^6.1.0",
    "@angular/language-service": "^6.1.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.3.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "ng-packagr": "^4.1.0",
    "protractor": "~5.4.0",
    "stryker": "^0.34.0",
    "stryker-api": "^0.23.0",
    "stryker-html-reporter": "^0.17.0",
    "stryker-karma-runner": "^0.23.0",
    "stryker-typescript": "^0.17.0",
    "ts-node": "~7.0.0",
    "tsickle": ">=0.29.0",
    "tslib": "^1.9.0",
    "tslint": "~5.11.0",
    "typescript": "~2.9.2"
  }

Your Environment

software
version(s)

node
8.11.0

npm
5.6.0

Operating System
Win 10

Add stryker.log
PS C:\git\spikes\mutation> ./node_modules/.bin/stryker run --logLevel trace
14:53:11 (3220) INFO ConfigReader Using stryker.conf.js in the current working directory.
14:53:11 (3220) DEBUG ConfigReader Loading config stryker.conf.js
14:53:11 (3220) DEBUG PluginLoader Loading stryker-* from C:\git\spikes\mutation\node_modules
14:53:11 (3220) DEBUG PluginLoader Loading plugins stryker-html-reporter (matched with expression stryker-)
14:53:11 (3220) DEBUG PluginLoader Loading plugins stryker-karma-runner (matched with expression stryker-)
14:53:11 (3220) DEBUG PluginLoader Loading plugins stryker-typescript (matched with expression stryker-)
14:53:11 (3220) DEBUG PluginLoader Loading plugins stryker-html-reporter
14:53:12 (3220) DEBUG PluginLoader Loading plugins stryker-karma-runner
14:53:12 (3220) DEBUG PluginLoader Loading plugins stryker-typescript
14:53:12 (3220) DEBUG TypescriptConfigEditor No 'tsconfigFile' specified, not loading any config
14:53:12 (3220) DEBUG Stryker Using config: {"mutate":["src/**/.ts","!src/**/.spec.ts","!src/test.ts","!src/environments/.ts"],"logLevel":"trace","fileLogLevel":"off","timeoutMS":5000,"timeoutFactor":1.5,"plugins":["stryker-*"],"port":9234,"reporter":[],"reporters":["
clear-text","html"],"coverageAnalysis":"off","testRunner":"karma","mutator":"typescript","transpilers":[],"maxConcurrentTestRunners":4,"symlinkNodeModules":true,"thresholds":{"break":null,"high":80,"low":60},"allowConsoleColors":true,"karma":{"configFile":"src/karma.conf
.js","projectType":"angular-cli","config":{"browsers":["ChromeHeadless"]}},"configFile":"stryker.conf.js"}
14:53:12 (3220) DEBUG TestFrameworkOrchestrator The coverageAnalysis setting is "off", not hooking into the test framework to achieve performance benefits.
14:53:12 (3220) INFO InputFileResolver Found 4 of 45 file(s) to be mutated.
14:53:12 (3220) DEBUG InputFileResolver All input files: [
"C:\git\spikes\mutation\projects\my-lib\karma.conf.js",
"C:\git\spikes\mutation\projects\my-lib\ng-package.json",
"C:\git\spikes\mutation\projects\my-lib\package.json",
"C:\git\spikes\mutation\projects\my-lib\src\lib\my-lib.component.spec.ts",
"C:\git\spikes\mutation\projects\my-lib\src\lib\my-lib.component.ts",
"C:\git\spikes\mutation\projects\my-lib\src\lib\my-lib.module.ts",
"C:\git\spikes\mutation\projects\my-lib\src\lib\my-lib.service.spec.ts",
"C:\git\spikes\mutation\projects\my-lib\src\lib\my-lib.service.ts",
"C:\git\spikes\mutation\projects\my-lib\src\public_api.ts",
"C:\git\spikes\mutation\projects\my-lib\src\test.ts",
"C:\git\spikes\mutation\projects\my-lib\tsconfig.lib.json",
"C:\git\spikes\mutation\projects\my-lib\tsconfig.spec.json",
"C:\git\spikes\mutation\projects\my-lib\tslint.json",
"C:\git\spikes\mutation\stryker.conf.js",
"C:\git\spikes\mutation\.editorconfig",
"C:\git\spikes\mutation\.gitignore",
"C:\git\spikes\mutation\README.md",
"C:\git\spikes\mutation\angular.json",
"C:\git\spikes\mutation\e2e\protractor.conf.js",
"C:\git\spikes\mutation\e2e\src\app.e2e-spec.ts",
"C:\git\spikes\mutation\e2e\src\app.po.ts",
"C:\git\spikes\mutation\e2e\tsconfig.e2e.json",
"C:\git\spikes\mutation\package-lock.json",
"C:\git\spikes\mutation\package.json",
"C:\git\spikes\mutation\src\app\app.component.css",
"C:\git\spikes\mutation\src\app\app.component.html",
"C:\git\spikes\mutation\src\app\app.component.spec.ts",
"C:\git\spikes\mutation\src\app\app.component.ts",
"C:\git\spikes\mutation\src\app\app.module.ts",
"C:\git\spikes\mutation\src\assets\.gitkeep",
"C:\git\spikes\mutation\src\browserslist",
"C:\git\spikes\mutation\src\environments\environment.prod.ts",
"C:\git\spikes\mutation\src\environments\environment.ts",
"C:\git\spikes\mutation\src\favicon.ico",
"C:\git\spikes\mutation\src\index.html",
"C:\git\spikes\mutation\src\karma.conf.js",
"C:\git\spikes\mutation\src\main.ts",
"C:\git\spikes\mutation\src\polyfills.ts",
"C:\git\spikes\mutation\src\styles.css",
"C:\git\spikes\mutation\src\test.ts",
"C:\git\spikes\mutation\src\tsconfig.app.json",
"C:\git\spikes\mutation\src\tsconfig.spec.json",
"C:\git\spikes\mutation\src\tslint.json",
"C:\git\spikes\mutation\tsconfig.json",
"C:\git\spikes\mutation\tslint.json"
]
14:53:12 (3220) DEBUG InputFileResolver Files to mutate: [
"C:\git\spikes\mutation\src\app\app.component.ts",
"C:\git\spikes\mutation\src\app\app.module.ts",
"C:\git\spikes\mutation\src\main.ts",
"C:\git\spikes\mutation\src\polyfills.ts"
]
14:53:12 (3220) INFO InitialTestExecutor Starting initial test run. This may take a while.
14:53:12 (3220) DEBUG Sandbox Creating a sandbox for files in C:\git\spikes\mutation.stryker-tmp\sandbox8218056
14:53:12 (3220) DEBUG Sandbox Creating test runner 0 using settings {port: 9234}
14:53:12 (3220) DEBUG ChildProcessProxy Starting C:\git\spikes\mutation\node_modules\stryker\src\test-runner\ChildProcessTestRunnerWorker.js in child process 13452
14:53:14 (3220) TRACE ChildProcessProxy Schema validation failed with the following errors:
Data path ".progress" should be boolean.
14:53:14 (3220) ERROR StrykerCli an error occurred Error: Error: ng test command failed with exit code 1. Please run with logLevel 'trace' to see the angular-cli console output (actual command was ng test --progress=false --karma-config=C:\git\spikes\mutation\node_modu
les\stryker-karma-runner\src\starters\stryker-karma.conf.js)
Error: ng test command failed with exit code 1. Please run with logLevel 'trace' to see the angular-cli console output (actual command was ng test --progress=false --karma-config=C:\git\spikes\mutation\node_modules\stryker-karma-runner\src\starters\stryker-karma.conf.j
s)
at C:\git\spikes\mutation\node_modules\stryker-karma-runner\src\starters\angularStarter.js:44:31
at
at process._tickCallback (internal/process/next_tick.js:188:7)
at ChildProcess. (C:\git\spikes\mutation\node_modules\stryker\src\child-proxy\ChildProcessProxy.js:108:69)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at emit (internal/child_process.js:772:12)
at _combinedTickCallback (internal/process/next_tick.js:141:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
You can drag and drop it here. -->

Hi @jameshmread, sorry we didn't get back to you. Did you get it solved?

I believe I am experiencing a similar problem. I will try to create a simple reproducer and post back here.


NT8 broker execution issues with OnOrderUpate and OnExecutionUpdate - Rithmic and Interactive Brokers

Feedback received with thanks and Reported by Sidlercom
https://github.com/MicroTrendsLtd/NinjaTrader8/discussions/41#discussioncomment-290550
The crux is that NT8 is not 100% compatible or broker neutral for rithmic and Interactive brokers from within a strategy.
OnOrderUpdate and OnExecutionUpdate and OnPoisitonUpdate may or may not be called in sequence or if at all.
Broker centric workarounds are required to make NT8 it work explicitly in the derived strategy classes instead of being handled in the plumbing below internally within NT8.
This is a debug trace supplied by Sidlercom
13.05.2021 19:44:39:177 > SidiSystemBase > OnStrategyTradeWorkFlowUpdated > GoLongSubmitOrderWorking
13.05.2021 19:44:39:177 > SidiSystemBase > OnOrderUpdate > Flat > ↑LE.MKT#3.ST | state=Working | limitPrice=0 | stopPrice=0 | qty=10 | filled=0 |avgPrice= 0 | time=13.05.2021 19:44:39 | Id=1193980675 | error=NoError
13.05.2021 19:44:39:187 > SidiSystemBase > OnOrderUpdate > Flat > ↑LE.MKT#3.ST | state=PartFilled | limitPrice=0 | stopPrice=0 | qty=10 | filled=1 |avgPrice= 13017.5 | time=13.05.2021 19:44:39 | Id=1193980675 | error=NoError
13.05.2021 19:44:39:187 > SidiSystemBase > OnExecutionUpdate > Long > ↑LE.MKT#3.ST > execution='123673936|1193980675|1193980675' instrument='MNQ 06-21' account='' exchange=Globex price=13017.5 quantity=1 marketPosition=Long orderId='1193980675' time='2021-05-13 19:44:39' sod=False statementDate='2021-05-13'
13.05.2021 19:44:39:188 > SidiSystemBase > OnExecutionUpdate > Long > ↑LE.MKT#3.ST > execution='123673937|1193980675|1193980675' instrument='MNQ 06-21' account='' exchange=Globex price=13017.75 quantity=6 marketPosition=Long orderId='1193980675' time='2021-05-13 19:44:39' sod=False statementDate='2021-05-13'
13.05.2021 19:44:39:188 > SidiSystemBase > OnOrderUpdate > Long > ↑LE.MKT#3.ST | state=PartFilled | limitPrice=0 | stopPrice=0 | qty=10 | filled=7 |avgPrice= 13017.71428571 | time=13.05.2021 19:44:39 | Id=1193980675 | error=NoError
partiall fill
13.05.2021 19:44:39:189 > SidiSystemBase > OnExecutionUpdate > Long > ↑LE.MKT#3.ST > execution='123673938|1193980675|1193980675' instrument='MNQ 06-21' account='' exchange=Globex price=13018 quantity=3 marketPosition=Long orderId='1193980675' time='2021-05-13 19:44:39' sod=False statementDate='2021-05-13'
13.05.2021 19:44:39:265 > SidiSystemBase > OnOrderUpdate > Long > ↑LE.MKT#3.ST | state=Filled | limitPrice=0 | stopPrice=0 | qty=10 | filled=10 |avgPrice= 13017.8 | time=13.05.2021 19:44:39 | Id=1193980675 | error=NoError
it doesn't go on here because Rithmic no longer calls the OnExecutionUpdate()
Initial Solution  draft
Pattern be implemented within the ATSQuadroStrategyBase that can handle these scenarios so the strategy is broker neutral and works the same for any connection etc Order Routing etc
It could be it detects Interactive Brokers and Rithmic and handles workflow processing
or a generic solution will one with the option for a parameter on/off to engage a monitor to check back on the state of the execution after an interval and then move the workflow forwards  - if CEP event driven model fails to move it forwards.
Risk mitigation with NT8 we are best to avoid multithreading and timers - due to deadlocks etc
A reliable pattern is to use events to drive the workflow forwards and use the tick/market flow to drive a virtual monitoring/timer interval/timeout  to check on the order/execution state.. This kind of pattern is used within the system already and so it should be easy to implement without risk of breaking the system.
In summary  if events dry up or are missed due to connectivity the market data will call a method to call back into the workflow to check the executions are filled and then move forwards.
https://github.com/MicroTrendsLtd/NinjaTrader8/blob/main/ATSQuadroStrategyBase/NinjaTrader 8/bin/Custom/Strategies/AlgoSystemBase.cs
For partial fills
Checks OnOrderUpdate also to fire OnExecutionUpdate
protected override void OnMarketData(MarketDataEventArgs marketDataUpdate)
is used to check back in after an interval
//call back in to workflow  - Monitor for Workflow events or for Error State
Assessment of workflow changes and when to set the call back to workflow pattern.

HI Tom,
Saw this issue posted.   Just wanted to check if you have seen the significant work NT_Jim put in to address at least some of these issues.   Reply if not and I will do find some links to those conversations and sample templates.
James

I did not quickly find links to those conversations but did locate a key sample file I was looking to post.
In the attached .cs file by NT team member NT_Jim ...
.. from within OnMarketUPdate()  calls a function "private void InlineExecutionUpdate(Order order, double AvgFillPrice, int quantity, MarketPosition marketPosition, string orderId)" to act as a pseudo OnExectutionUpdate() event manager and attempts to address at least some of the same concerns you list above.
Note the attached file is NOT an NT8 export file.  I just zipped the *.cs file in place so that GitHub would let me attach it to this message.
SampleUnmanagedRithmicInteractiveBrokersNonNTOnOrderUpdate2020.zip
`

I did not quickly find links to those conversations but did locate a key sample file I was looking to post.
In the attached .cs file by NT team member NT_Jim ...
.. from within OnMarketUPdate() calls a function "private void InlineExecutionUpdate(Order order, double AvgFillPrice, int quantity, MarketPosition marketPosition, string orderId)" to act as a pseudo OnExectutionUpdate() event manager and attempts to address at least some of the same concerns you list above.
Note the attached file is NOT an NT8 export file. I just zipped the *.cs file in place so that GitHub would let me attach it to this message.
SampleUnmanagedRithmicInteractiveBrokersNonNTOnOrderUpdate2020.zip
`
awesome no i have not even looked  sounds like i was thinking along the same lines a psuedo onExec  - excellent  i will have to try find time i hope in the next few weeks to get into this

HI Tom,
Saw this issue posted. Just wanted to check if you have seen the significant work NT_Jim put in to address at least some of these issues. Reply if not and I will do find some links to those conversations and sample templates.
James

i hadnt even looked to be honest but i will now you have posted the example excellent

I did not quickly find links to those conversations but did locate a key sample file I was looking to post.
In the attached .cs file by NT team member NT_Jim ...
.. from within OnMarketUPdate() calls a function "private void InlineExecutionUpdate(Order order, double AvgFillPrice, int quantity, MarketPosition marketPosition, string orderId)" to act as a pseudo OnExectutionUpdate() event manager and attempts to address at least some of the same concerns you list above.
Note the attached file is NOT an NT8 export file. I just zipped the *.cs file in place so that GitHub would let me attach it to this message.
SampleUnmanagedRithmicInteractiveBrokersNonNTOnOrderUpdate2020.zip
`

AWESOME thank you -   sounds like i was thinking along the same lines a psuedo onExec  - excellent  i will have to try find time i hope in the next few weeks to get into this  - bogged down with asp.net core and blazor SignalR atm  to buikld a cloud based correlation gui and api for a product - ETA 2 weeks

Ok I had a brief look some caveats are
OnOrder doesnt always fire
Position tally cannot safely be done and left  within in scope OrderFills due to caveats external and internal
So we might look to quiz the connection or via parameter turn on a different workflow that would push through a call to onExec or other method to finalize the order enrty cycle.
i would also like to examine the executions collection and quiz as to how it can be accurate if it does not  fir or trigger an update/add event  - so this could might be utilized to push through -  but care needs to be taken not to upset executions and trade calculations -   I have already seen NT8 completely  mis-report trades and executions with CQG Continuum  and so therefore have a different P&L stats on live trading versus live trading brokerage fills  - the whole thing is a bit delicate for sure.

Sorry but still far off from being able to address this myself due to other obligations kidnapping my time 24/7 almost coding for months on end etc

Unable to find time to investigate meanwhile waiting for  NT to fix this in the platform   as this is clearly just an omission their end and no doubt with no fiscal reasons to fix it as a priority.
Please note there are other projects as above that have fixed this issue by adding code to the engine - for all other broker users this wont be required etc
Time permitting will wheel back to this if this projects becomes active as a dependency on other projects etc

One way to look at this is:
This type of engine is only really good for backtesting and limited in live trading for attended and non fault tolerant commercial swing - but excellent for rapid algo design and testing.
After the algo design phase is complete in backtest,sim realtime it would be ready to add to a system that uses a realtime only engine and bypasses all the overheads and limitations of a NTY Strategy - such as the type we use here: https://algofuturestrader.zendesk.com/hc/en-us/articles/360055568611-NinjaTrader-7-AFT7-day-trading-futures-system-overview-of-components
have not migrated to NT8 due to lack of time - 3 years over due!...
But do have a server and cloud based system for NT8 that cant be brought to retail or open source -
looking for a way to do this... it might well be the bare bones and it gets its data points from a webapi et.... so we dont lose any really secret sauce etc...

So much in the market has shifted .. and a huge amount of liquidity has shifted to crypto that rather than lights-out auto-trading I am presently more interested in first in automation assisted trading, then leading toward human assisted auto-trading and finally some lights-out algo execution again.
These images demonstrate the depth of complexity to be managed and in general what I am working to build with an eye toward crypto and classic futures for deployment.  https://algofuturestrader.zendesk.com/hc/en-us/articles/360055568611-NinjaTrader-7-AFT7-day-trading-futures-system-overview-of-components
If for no other reason than to respect the NinjaTrader Terms of Service for me NT8 needs to be an optional companion to the core platform.
For the interface stack I have been investigating

non-NT8 WPF, WinUI 3 (including for the server side) and a few other Windows centric things.

A few high speed bi-directional C# <> Javascript webhook interface scheme caught my eye:

2.1) One depends upon cref chromium, and another broad Javascript.   cref might be a little old but the author claims the integration is very light.. and can be free from asyc dependencies etc.     This would open up the possibility to leverage nice fast and responsive existing React and Vue UIs.
2.2)  I saw another bi-directional C# <> Javascript webhook interface for integrating the slower-and-less-sexy-than-React Microsoft Blazor web UI ... another variant using Microsoft's not yet mature replacement for cref.
3).  Regarding WinUI 3..  Third Party dependencies are a path that raises concerns for me but the three (WinUI3, Maui, Xamarin)  free forever libraries on this page have caught my eye.. they do simplify the work to build a UI..   https://www.devexpress.com/Products/Try/
Your thoughts?
James

im a  long  fan of devexpress and have an active annual sub
raw WPF in Visutal studio works great
NT8 WPF yes i try to avoid it as much as possible.
the only caveat is for things like  property girds if you need them the one in nt8 is not good to work with.
devexpress and others might be better or use a winforms host etc...
so this convo we can put into a discussion on uis  as this is about rithmic and so on...
point being im not going to resolve it as the best layer for a UI is not in a strategy as NT8 strategy is not the best thing for hybrid algo trading in NT8 - this will demonstrate exactly how soon  as i can drop onto it- http://algofuturestrader.com


Container rescheduling does not work when a container uses an image from a private repository because of authentication

Issue
When a node failure occurs and containers have to be rescheduled, the rescheduling fails if the image the container uses is NOT on its new node AND requires a private registry. The image is not being successfully pulled because of authentication issues. In some cases, the private image may be on the new node the container is scheduled to run on, but this shouldn't be relied upon.
 if (isPrivate(container.Image) && !imageOnNode(container.Image, new_node) -> rescheduling fails
Versions
Using a Swarm binary wrapped in a container from the commit fecbcff2385984157c6bcf71c7fbdf6c948b9c7e (latest commit at the time of this posting)
Docker
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 21:39:14 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 21:39:14 2016
 OS/Arch:      linux/amd64

Logs

container logs when rescheduling fails

Dec 14 23:04:40 ip-X-X-X-X [swarm][swarm_manager][d1cd08b016ad][708]: time="2016-12-14T23:04:40Z" level=error msg="Failed to reschedule container 89b73e09f1ebfc46ac3fe28ac0b77111011b07696abf2f66f193ca4a0645b063: unauthorized: authentication required"
Notes
When using a private registry for images, you must ensure the correct authentication header is passed when making requests to the Swarm Swarm Authentication.
This header is correctly used when making requests against the exposed Swarm API on a Manager. An example can be seen when creating a container here. It correctly extracts and forwards the header so the Node/Swarm_Agent that will run the container, can actually pull the image.
However, when a container is deemed fit to reschedule because of a node failure, this authentication token for private registries is not stored or retrieved. The top-level call where you can see this is at Link This nil  auth config pervades all the way down until the engine the scheduler deems fit for the container, tries to create it. Seen here.
The authConfig being passed around is nil, and is never populated in the rescheduling case. However, there is support to use one, but its not being leveraged. This is largely because the only existing method to retrieve said authentication token has been from incoming requests, and not from a local file. The Docker-CLI seeks credentials from $HOME/.docker/config.json as seen here
Workarounds

For an image you want to run on the Swarm, ensure it exists on all Swarm-Agent nodes

This would require extra work to ensure all private images that can be run on node, will be. For Swarms that run different versions of images, or whose required images change rapidly, this requires custom work (but not impossible)
For simple cases, you can perform this before deployment and it works. However, in case you want to automate this, it still requires rolling your own solution.

Potential Solutions

Read authentication credentials when needed. Essentially, emulate how the Docker CLI does it (with the one of the solutions reading from ~/.docker/config.json). When using the Swarm Docker image, just mount said folder structure into the container so it has access.

There is only one spot I believe this is necessary mentioned before: here
Rereading the file each time may not be the most performant, but the authentication tokens for specific private registries expire (AWS-ECR tokens have 12 hour expiration). Reading each time prevents having update logic to reread the token at a specific frequency

Same solution as above but caching the authentication credentials that live somewhere (maybe at the cluster or engine level) and periodically updating them atomically
Enable the Swarm-Agents that receive commands from the Managers to look for local authentication credentials.

When receiving requests from the Swarm API, if no token is present in the header, check locally. If no token locally, same behaviour as before.
Modify certain handlers like ContainersCreate to perform this local lookup step
This goes against the architecture of the Swarm, but might be the simplest option

My quick solution can be seen at the fork here : https://github.com/dang3r/swarm

@dang3r thanks for the report. This seems reasonable and should be considered a bug that must be fixed soon. We might need to think a little more to agree upon the right way to retrieve the auth config, but in the meantime please feel free to submit a PR.

I would also like to through out there during the consideration of this fix AWS and the recent release of Docker for AWS.  If the private repo is ECR the credentials are only good for 12 hours.  So Docker Swarm would need to implicitly authenticate via the aws docker-login command or some other means.

So, do you guys plan to fix that in future versions? Are you going to apply one of solutions proposed by @dang3r ?
Thanks!

I think this might be a dupe. See:

https://github.com/docker/swarm/issues/1484
https://github.com/docker/for-aws/issues/5#issuecomment-315865628


RPi Face Recognition

Hello,
I am doing a project using your project: https://github.com/Qengineering/Face-Recognition-Raspberry-Pi-64-bits/tree/main/src
I would like to ask about this MTCNN model. How was it trained? How many faces were trained with this model?

With modifications, I've used this repo for the MTCNN code.
I don't know how they trained their network. Here is the original paper.


Adding function breakpoint through plugin API does not result in DAP call to add breakpoint

Does this issue occur when all extensions are disabled?: No - relates to behavior of plugin API.

VS Code Version: 1.87.2
OS Version: RHEL8

Steps to Reproduce:

I have a plugin with code like this:

    commands.registerCommand("add-a-function-breakpoint", () => {
		debug.addBreakpoints([
			new FunctionBreakpoint("get_char", true)
		]);
	});

that I am running together with the CDT-GDB VSCode plugin. When this code is run, a breakpoint does appear in the breakpoints widget, but the breakpoint is not sent to the debug adapter, and so it is not set with GDB and cannot be hit.
When the builtin 'Add Function Breakpoint' command is invoked, it isn't until the user enters the name of the function that a chain of calls is set off that leads to a transmission to the adapter. When a breakpoint is added via the extension API, no further input is required, so after the event for a new breakpoint is fired, there is no path leading to actually setting the breakpoint with a debug adapter.

May for verification

Hi @colin-grant-work ! Are you able to verify this fix is resolved? You can do so by using vscode insiders and making sure you are on the newest version of insiders. Please let me know if you are able to see that the bug is resolved. Thank you!


Fix HSV conversion

lv_color_rgb_to_hsv currently converts to HSV in the range 0..255 (for each of hue, saturation and value), except hue is declared as a uint16_t, so if rgb_max == r then hsv.h = 0 + 43 * (g - b) / (rgbMax - rgbMin); can underflow to 65535.
This change fixes the issue by changing the type of lv_color_hsv_t.h to uint8_t so the underflow wraps properly. It also adjusts the arguments of lv_color_hsv_to_rgb to expect the range of 0..255 to match up with lv_color_rgb_to_hsv.

Just noticed https://github.com/littlevgl/lvgl/pull/1233. This appears to do the same as that PR except using uint8_t instead of floating point numbers. I haven't addressed his issue with rounding issues around the 43 point, but I also haven't noticed an issue in my admittedly very limited testing.

so if rgb_max == r then hsv.h = 0 + 43 * (g - b) / (rgbMax - rgbMin); can underflow to 65535.

Good catch!

This change fixes the issue by changing the type of lv_color_hsv_t.h to uint8_t

Unfortunately, we can't add this change in the next minor version (v6.1) because the minor version should be compatible.
As a temporal solution, I suggest using an uint8_t d = g - b to handle the underflow as expected.
I also suggest using one PR for updating the HSV functions. Let's continue in #1233

FYI, @tgillbe, I'm a huge fan of your change (https://github.com/littlevgl/lvgl/pull/1211#issuecomment-537678809, https://github.com/littlevgl/lvgl/pull/1196#issuecomment-536162322).
Let's get it in the next major version.
My desire would be to make it better interop w/ FastLED (https://github.com/FastLED/FastLED/wiki/FastLED-HSV-Colors).
kisvegabor said:

We can update lv_color_hsc_to_rgb to work with these corrected curves.

@kisvegabor What is this project's preferred branching strategy to get this change and maybe an 2nd PR of an option to include "rainbow" HSV curve? I would prefer to only do the latter after converting to strictly 255 based values (I would prefer not to have to port the code to 360/100/100 and then back to 255/255/255 after the changeover.
FYI: FastLED is MIT licensed, https://github.com/FastLED/FastLED/blob/master/LICENSE

@paulpv
I'll announce feature stop for dev-6.1 soon (probably next week). Only the WIP features will be included and the new ones can go to dev-7.0 (also will be opened soon). As the next version will be a major release we can make API breaking changes (like changing 360/100/100 to 255/255/255).
So I suggest merging the current fixes with 360/100/100 and add FastLED to dev-7.0.
Is it ok for you?

@paulpv
I'll announce feature stop for dev-6.1 soon (probably next week). Only the WIP features will be included and the new ones can go to dev-7.0 (also will be opened soon). As the next version will be a major release we can make API breaking changes (like changing 360/100/100 to 255/255/255).
So I suggest merging the current fixes with 360/100/100 and add FastLED to dev-7.0.
Is it ok for you?

I wouldn't say that it's strictly a breaking change. In the current code, lv_color_rgb_to_hsv assumes 255/255/255 and lv_color_hsv_to_rgb assumes 360/100/100.
I fixed the issue by changing the range of lv_color_hsv_to_rgb to 255/255/255.
@paulpv fixed the issue by changing the range of lv_color_rgb_to_hsv to 360/100/100.
Both are equally valid changes and a matter of preference, but I wouldn't say either one is breaking as I would argue it was broken before!
On reflection, maybe this HSV conversion doesn't belong in LVGL, or at least in the core library. LVGL doesn't call these functions, and as @paulpv has pointed out, there is already decent support for this in FastLED. Just a thought.

I wouldn't say either one is breaking as I would argue it was broken before!

Technically, it's breaking, as it changes the existing behavior (whether the existing behavior was broken or not). But from a practical standpoint I agree with you that the old way was broken to some extent.
In terms of consistency, I think @paulpv's change breaks things less than yours. I think people are more likely to want to convert HSV to RGB than the other way around, so less people should be affected by his change (I think it could go to dev-6.1).

On reflection, maybe this HSV conversion doesn't belong in LVGL, or at least in the core library.

It makes it easier for people to use HSV if it stays in LittlevGL though.

In terms of consistency, I think @paulpv's change breaks things less than yours. I think people are more likely to want to convert HSV to RGB than the other way around, so less people should be affected by his change (I think it could go to dev-6.1).

I think you're right, I agree with the idea to merge #1233 into dev-6.1. Hopefully we can revisit this for 7.0.
On an unrelated note, I want to express my appreciation for the great work you've all done on lvgl! It's really a great library.

I think you're right, I agree with the idea to merge #1233 into dev-6.1. Hopefully we can revisit this for 7.0.

Forgive me if I'm saying non-sense but now #1233 and #1236 also uses 255/255/255 for lv_color_hsv_to_rgb. And it's definitely a breaking change. Now every theme_init functions get a hue value to set the color of the theme. If someone set hue=120 (green) so far, he will get 120/255*360=169 after the update. So for v6.1 we should go with the 360/100/100 ranges. And we can decide what to do in v7.0 but I had some concerns about the 255 hue range. Besides it less user-friendly because you see 360/100/100 everywhere, so if you mix a color you can't simply copy the hsv values into the code. But let's clarify it for v6.1 first and figure out what to do next.

I think you're right, I agree with the idea to merge #1233 into dev-6.1. Hopefully we can revisit this for 7.0.

Forgive me if I'm saying non-sense but now #1233 and #1236 also uses 255/255/255 for lv_color_hsv_to_rgb. And it's definitely a breaking change. Now every theme_init functions get a hue value to set the color of the theme. If someone set hue=120 (green) so far, he will get 120/255*360=169 after the update. So for v6.1 we should go with the 360/100/100 ranges. And we can decide what to do in v7.0 but I had some concerns about the 255 hue range. Besides it less user-friendly because you see 360/100/100 everywhere, so if you mix a color you can't simply copy the hsv values into the code. But let's clarify it for v6.1 first and figure out what to do next.

#1233 uses 360/100/100 for hsv.
Yes, this pull request is no good as lv_color_hsv_to_rgb is used throughout the themes system.  I agree that it's a breaking change.
I understand your concern about limiting hue to 255, but isn't it also a concern that saturation and value are limited to 100? I'm personally just keen on efficient use of storage and efficient calculation. If we store hue in a uint16_t I'd like to see it go from 0-65535 and if it's stored in a uint8_t I'd like it to go from 255, but I can see how it's not very user friendly. Maybe internally it can be stored like that and we can have a define to wrap lv_color_hsv_to_rgb with arguments in the range 360/100/100 and it converts to the internal range? That would possibly be best of both worlds.

#1233 uses 360/100/100 for hsv.

Ups, sorry, my bad.

I understand your concern about limiting hue to 255, but isn't it also a concern that saturation and value are limited to 100?

What about storing them with 0.1% resolution? (see below)

I'm personally just keen on efficient use of storage and efficient calculation.

For example in the case of  cpicker object hsv_to_rgb is called ~120 times when the object is refreshed. So it really would be great to have a faster and more "computer-friendly" function too.

If we store hue in a uint16_t I'd like to see it go from 0-65535 and if it's stored in a uint8_t I'd like it to go from 255, but I can see how it's not very user friendly.

We can make it fit 23 bits like below but won't win too much. Ultimately it will be packed to 4 or 8 bytes.
uint32_t h :9; //0..511
uint32_t s :7; //0..127
uint32_t v :7; //0..127

Or 29 bits with 0..1000 hue and saturation.
uint32_t h :9; //0..511
uint32_t s :10; //0..1024
uint32_t v :10; //0..1024

Maybe internally it can be stored like that and we can have a define to wrap lv_color_hsv_to_rgb with arguments in the range 360/100/100 and it converts to the internal range? That would possibly be best of both worlds.

What about heving lv_color_hsv_to_rgb which has 360/1000/1000 and compatible with lv_color_rgb_to_hsv.  And lv_color_hsv10_to_rgb which accepts (1024/1024/1024). This way the internal format can be (1024/1024/1024) becasue it can losslessly store (360/1000/1000).
lv_color_hsv_to_rgb can use lv_color_hsv10_to_rgb internally.
What do you think?

I'm game for whatever you feel appropriate, and I don't have much experience w/ bit packing, so you would know better than I, but may have to implement it yourself.

What about having lv_color_hsv_to_rgb which has 360/1000/1000 and compatible with lv_color_rgb_to_hsv. And lv_color_hsv10_to_rgb which accepts (1024/1024/1024). This way the internal format can be (1024/1024/1024) becasue it can losslessly store (360/1000/1000).
lv_color_hsv_to_rgb can use lv_color_hsv10_to_rgb internally.
What do you think?

I think this idea makes a lot of sense.
Where we seem to differ in opinion is our preference for the internal storage of the HSV values. I'm personally not drawn to having HSV values greater than 255 - lv_color_t is going to be using at most 8 bits for each of RGB (24 bits total) which is going to actually be seen. I use 16-bit color depth so the effect is even more pronounced. It seems a little weird to be storing the HSV values with higher precision than lv_color_t.
On the other hand, there is minimal run time penalty to the bit packing you suggest. As you say, the struct is going to be padded to at least 4 bytes anyway, so why not use all the available memory for extra precision.
This has been a long way of saying that I don't have a strong preference for either suggestion, so I'm happy to go with whichever solution you prefer!

Great, then let's merge #1233 to dev-6.1. Do you agree?
I've opened dev-7.0. @tgillbe can you send a new PR to that branch?


Issue when using explicitly implemented interface

When you create an interface such as
	interface IFoo
	{
		string Bar { get; set; }
		string Baz { get; set; }
	}

and create a class implementing the IFoo and IFreezable interfaces such as
	class FooImpl : IFoo, IFreezable
	{
		bool _isFrozen;

		string IFoo.Bar { get; set; }
		public string Baz { get; set; }

		public void Freeze()
		{
			_isFrozen = true;
		}
	}

the generated code becomes
	internal class FooImpl : IFoo, IFreezable
	{
		private volatile bool _isFrozen;

		string IFoo.Bar { get; set; }

		public string Baz
		{
			[CompilerGenerated]
			get
			{
				return this.<Baz>k__BackingField;
			}
			[CompilerGenerated]
			set
			{
				this.CheckIfFrozen();
				this.<Baz>k__BackingField = value;
			}
		}

		public void Freeze()
		{
			this._isFrozen = true;
		}

		protected void CheckIfFrozen()
		{
			if (this._isFrozen)
			{
				throw new InvalidOperationException("Attempted to modify a frozen instance");
			}
		}
	}

As you can see, when using an explicitly implemented property, the CheckIfFrozen call is not added to the set method on the Bar property.
So, the following code would not throw the exception
	void Test()
	{
		IFoo foo = new FooImpl
		{
			Bar = "bar",
			Baz = "baz"
		};
		(foo as IFreezable)?.Freeze();
		foo.Bar = "buzz";
	}

I'm guessing this is done because the property has a private scope, but is there a way to be able to check if the property is explicitly implementing an interface and add the CheckIfFrozen call?

I looked into the code and found that it is skipping weaving when the property's scope is private.
Looks like line 36 of TypeProcessor.cs could be changed to
  if (setMethod.IsPrivate && -1 == property.Name.IndexOf('.'))

I forked the project and made this change.  Want a PR?

Sure , send me a pr

should be on nuget now


eCarePlanner 3.1.1 - Patient ID not displayed

Patient ID is not displayed:

@swmuir to ask matt for the specific patient.

Being addressed with #349

Remove all the crossed out fields and everything "under the fold". Move Race/Ethnicity into the place where Patient ID currently is.


Fix "CVE_2016_0751" issue in Gemfile.lock

Rails 4.2.4 is vulnerable to denial of service via mime type caching (CVE-2016-0751). Upgrade to Rails version <IP_ADDRESS>
https://codeclimate.com/github/MasterRoot24/cloudiary/Gemfile.lock#issue_574b70e8af005100010d6e13

Looks to have been fixed... 🤔


Write Documentation

Guides describing how new instances should be created is required.
Ideally this would use Docusaurus, and hopefully version 2 will be out by the time we need to write this.

closing since this is just on clickup