Fix invalid unicode string length

Pull Request Test Coverage Report for Build 20

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 87.606%

Totals

Change from base Build 19:
0.01%

Covered Lines:
668

Relevant Lines:
723

💛  - Coveralls

Hi @dulingzhi, thanks for catching this mistake! As a minor update, would you please update the HexBuffer string test (https://github.com/ChiefOfGxBxL/WC3MapTranslator/blob/master/test/HexBufferTest.js#L15) to demonstrate the unicode functionality? Once that's there I'll be happy to approve this! 😃

Hi @ChiefOfGxBxL I added addString with test cases from other human languages.


user guide > rasa tutorial > unable to run examples

Rasa version:
unknown - whatever the web site is using
Python version:
unknown - whatever the web site is using
Operating system (windows, osx, ...):
I am using ubuntu, with chromium browser.
Issue:
This page https://rasa.com/docs/rasa/user-guide/rasa-tutorial/ has 6 code blocks with a run button. When I click the run button, I expect to the output of the code's execution to be printed in the black box following the code block. Instead I get an error
Error (including full traceback):
Connecting failed. Please reload and try again.

Command or request that led to error:
Clicking the "run" buttons on the page (any of them, from sections 1 through to 6 inclusive).
Reloading the page does not seem to help.

Thanks for raising this issue, @amn41  will get back to you about it soon.

related to https://github.com/RasaHQ/rasa/pull/3850


whats the method to create a levelList seed and seed2 from http://www.boomlings.com/database/uploadGJLevelList.php

^

This is addressed in https://github.com/Wyliemaster/gddocs/pull/35. Waiting for Wylie to merge the PR


Add your profile or repository to the README

Thanks to @WarenGonzaga for the idea of putting example usages in the README.
There is now an 🚀 Example usage section in the README for profiles and repositories that have unique usages of Typing SVGs.
If you have a particularly cool way of using Typing SVGs on your profile, show it off by leaving a link to your profile in the README.
This issue is beginner friendly, if you have any questions, don't hesitate to ask.
Steps to open a PR
Using GitHub website

Click the pencil above the README to fork the repo and start editing

Add a line at the bottom of the list with your name and a link to your profile in the same format as the other examples
Add a message and create a new branch describing your changes

Click "Propose Changes"
Replace the PR description with "Added example to README" and then click "Create pull request"
You're done! Wait for your pull request to be reviewed.

Using GitHub CLI

Fork the repo by clicking the button in the top-right or by running

gh repo fork DenverCoder1/readme-typing-svg

Clone your fork to your computer (if you did not do so by running gh repo fork)

git clone https://github.com/<YOUR USERNAME>/readme-typing-svg.git
cd readme-typing-svg

Create a new branch and switch to it

git checkout -b added-<YOUR USERNAME>-to-readme

Open README.md in a code editor and add a line at the bottom of the list with your name and a link to your profile in the same format as the other examples
Stage, commit, and push your changes

git add .
git commit -m "Added <YOUR USERNAME> to readme"
git push origin main

View your fork on GitHub and you should see an option to compare and pull request.
Compare your branch with DenverCoder1:main and start creating a Pull Request
Replace the PR description with "Added example to README" and then click "Create pull request"
You're done! Wait for your pull request to be reviewed.

Nice work, i would like to contribute :) @DenverCoder1

Hii @DenverCoder1
Can I work on this issue? if yes could you please assign it to me?

Can I work on this issue? if yes could you please assign it to me?

For this issue, you do not need to be assigned, anyone can contribute a pull request for this issue and it will remain open.
Note, however, that since this issue is primarily focused on adding to a list, pull requests for it during October will not be considered for Hacktoberfest.

### BIG Thanks Brother

Thanks very good

hows does this work

Showcase that you are using this project to your README profile or your project repo.

Showcase that you are using this project to your README profile or your project repo.

okay thanks, im new to front end development and i just started learning html css and javascript and also git and github, please can you elaborate some things for me ?

Thak you! Love you!

hello https://github.com/Monk-Codes

Hello, I hope to do well!!!, By the way, great job!!!
https://github.com/Arcos-Mir

Thanks
https://github.com/Koribraide

Great Work


Property initialFocusedDate still not fixed in typescript

This is related with bug report #637 . I've updated the library to it's final version and problem still exists and I need a fix as soon as possible. Thank you.

It is already fixed. But not published yet


New Invoke-Robocopy based on Start-ConsoleProcess

Drop-in replacement for Invoke-Robocopy function.
Based on my Start-ConsoleProcess function.
Removed:

OutputFile parameter

Added:

PassThru parameter

This function doesn't use Start-Process and can get robocopy output without redirecting it to file. Additionally, it correctly handles robocopy exit code, without relying on the log parsing (no localization issues). It can also return full robocopy output including StdOut,StdErr and enum with human-friendly ExitCode if used with PassThruparameter. Unlike the original wrapper, it doesn't return robocopy output by default.

@RamblingCookieMonster ping! :shipit:

Hi!
I like!  On top of handling robocopy, might be able to repurpose for other console processes if other deployment types use them.  Sorry,  keep meaning to dive into the code a little before merging, and end up getting distracted.  Have a talk this coming Wednesday, will be much less busy after that : )
Cheers!
Warren

Alrighty, thanks again, merge time!

Alrighty, thanks again, merge time!


Fix inconsistencies regarding redacted_because

Different portions of the client-server specification referred to redacted_because in Event and in UnsignedData, and having values of type string and Redaction. In practice, Synapse seems to place values of type Redaction at both locations. These changes attempt to standardize on redacted_because being a field of UnsignedData of type Redaction.

thanks for the corrections, a couple of minor comments. Also the changelog needs merging :(

Applied suggested changes and rebased.
re: circularity issue: I actually have no idea how these yaml files work and have just been imitating things as best I can. I got title: Redaction from event-schemas/schema/m.room.redaction.

Looks great, tyvm.


fix(components): add missing font-styles to table fixed row headers

font-size styles weren't being applied to hidden rows, causing larger texts to create a line-break.
Both texts are Product Name, the difference is the hidden fixed row had a larger font-size.

:tada: This PR is included in version 1.0.0-canary.5 :tada:
The release is available on:

npm package (@canary dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Safari iOS bug

Hi,
The slider isn't working on my version of Safari iOS (latest version). It stopped working after version 0.4.1. No errors, so I'm not really sure what's going on. Also tested the demo page (http://stryzhevskyi.github.io/rangeSlider/), but same result.
Just worth checking.
Any ideas?

Hi,
Is it working with version 0.4.4 ? Bug was related to #24's fix

0.4.4 works great. Thanks a lot for a quick fix on this!


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 2278 ms

Resolved: Bofrost.at performance has improved in b8e1989.


NIEP cli not started any guide to start the nodes on it

Import Executor not found
Import Parse not found

Hi jaki300, thanks for the report.
It seems there is some problem with the local libraries importing, maybe some path inconsistency. I installed and executed the platform in a Ubuntu 16 sandbox here, and the error was replicated when I called the CLI.py outside the CLI folder.
This error occurs because there is a relative path defined in the CLI.py file ("path.insert(0, '../TOPO-MAN/')"). Thus if your origin execution folder is different from the CLI folder, it loses the file importing reference. I will fix these relative paths in the next few days to enable the users to call the CLI.py from everywhere. At the moment, there are two possible solutions to your problem:
i) Open the CLI folder in your terminal and then run the CLI.py;
ii) Change the relative importing path in the CLI.py file to make the importing available from your origin execution folder.
Please, remember to execute the platform with python2.7 and superuser privileges.
Regarding the guide, we do not have this particular type of documentation yet. However, in the next few days, I will record a video to demonstrate the NIEP installing process and a simple network service instantiation and management.
For now, if you want to run a very simple sample service, here is very summarized step-by-step:
-> Run the CLI.py
-> Run "define" operation with the sampling service ("define /home/user/NIEP/EXAMPLES/DEFINITIONS/SFCExample.json"
-> Turn on the network service ("topoup")
-> Do management operations (you can use the mininet, VNF, and SFC prompts -- type "help" in the CLI for more information)
-> Turn off the network service ("topodown")
Take care to turn down the service through the NIEP platform. In another case (if you kill the process, for example), to instantiate the same service again, you will need to delete the respective VNF/VM folders in "NIEP/VEM/IMAGES" and also delete the VMs configuration through the virsh CLI or virt-manager.
As soon as I release the tutorial video, I will paste the link here.

HI thanks for the reply .. Python CLI.py is running fine now  but

definition is not working is it necessary to sue super user i am using root user
After error i am exit from NIEP CLI

root@NIEP:~/NIEP/CLI# python CLI.py
niep> define /root/NIEP/EXAMPLES/DEFINITIONS/SFCSingleVNFExample.json
Traceback (most recent call last):
File "CLI.py", line 463, in
NIEPCLI().cmdloop()
File "/usr/lib/python2.7/cmd.py", line 142, in cmdloop
stop = self.onecmd(line)
File "/usr/lib/python2.7/cmd.py", line 221, in onecmd
return func(arg)
File "CLI.py", line 74, in do_define
self.NIEPEXE = execute(platformparser(args))
NameError: global name 'execute' is not defined
root@NIEP:~/NIEP/CLI#

HI thanks for the Answer, still require one demo to work on it.. required to perform some NFV simulation not much familar with the topology of nfv can you guide us on this and when will we expect for the viedo

Hi jaki300, thanks for the report.
Yes, you are right. There are some details in the SFC model that are not straightforward. Thus a guide would be most welcome. This task was included in our TODO list with priority.
Regarding the reported error, it seems to be related to the virtualization of the KVM hypervisor. There are some possibilities to be checked to solve it:
i) Incorrect installation of libvirt or qemu-system
ii) Virtualization support of your CPU is not active (VT-x of Intel, for example)
iii) NIEP is running in a VM and the CPU does not support nested virtualization
iv) You are using an X86 operational system
A simple test would be trying to instantiate a virtual machine by using the virsh CLI or the Virt-Manager GI,  checking if some error occurs.

Thanks for your answer there is a nested virtualization issue with qemu cpu finding a way still not able to run this  in qemu cpu
Let me know if you have any information regarding the qemu nested virtualization  enabling

Hi. I'm Tavares, a vini colleague, and I think I can help. While the
virtual machine is in the OFF state, run the following command on the
Hyper-V physical host. This enables nested virtualization for the virtual
machine.
Set-VMProcessor -VMName  -ExposeVirtualizationExtensions $true
This command can help you
Em sex., 12 de fev. de 2021 às 09:51, jaki300<EMAIL_ADDRESS>escreveu:

Thanks for your answer there is a nested virtualization issue with qemu
cpu finding a way still not able to run this in qemu cpu
Let me know if you have any information regarding the qemu nested
virtualization enabling
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ViniGarcia/NIEP/issues/2#issuecomment-778177409, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQYJV4JCXXDL35RS3W27PLS6UP6NANCNFSM4XMTBV4Q
.

--
Atenciosamente
Tavares

Thales N. Tavares
Tecnólogo em Redes de Computadores
Mestrando do Programa de Pós-Graduação em Ciência da Computação (PPGCC)
Universidade Federal de Santa Maria - UFSM
Skype: tavarestn
Cel.:<PHONE_NUMBER>64
Lattes: http://lattes.cnpq.br/3936087905598280
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
Remetente
notificado por
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
02/12/21,
11:13:27 AM

Thanks for the Answer
I am using eve-ng and in eve-ng and in the lab I am using ubuntu system is running this is not working.
The hierarchy of VM is like this

Centos 7 host physical
eve-ng VM
3) ubuntu NEIP in lab

niep> define /root/NIEP/EXAMPLES/DEFINITIONS/SFCExample.json
niep> topoclean
NO TOPOLOGY DEFINED
niep> define /root/NIEP/EXAMPLES/DEFINITIONS/SFCExample.json
niep> topoup
NO TOPOLOGY DEFINED

Debian 7 was used for implementation
Em sex., 12 de fev. de 2021 às 11:27, jaki300<EMAIL_ADDRESS>escreveu:

niep> define /root/NIEP/EXAMPLES/DEFINITIONS/SFCExample.json
niep> topoclean
NO TOPOLOGY DEFINED
niep> define /root/NIEP/EXAMPLES/DEFINITIONS/SFCExample.json
niep> topoup
NO TOPOLOGY DEFINED
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ViniGarcia/NIEP/issues/2#issuecomment-778227174, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQYJVZGHZKGFWM2BTJG75DS6U3EBANCNFSM4XMTBV4Q
.

--
Atenciosamente
Tavares

Thales N. Tavares
Tecnólogo em Redes de Computadores
Mestrando do Programa de Pós-Graduação em Ciência da Computação (PPGCC)
Universidade Federal de Santa Maria - UFSM
Skype: tavarestn
Cel.:<PHONE_NUMBER>64
Lattes: http://lattes.cnpq.br/3936087905598280

Hi jaki300, thanks for the report.
It seems to be a Mininet error, particularly when the system sets up the network interfaces in the Mininet hosts.  The error during the "topoup" operation undefines the topology, thus causing the "TOPOLOGY UNDEFINED" message. I will explore this Mininet error.
I am right now working on the tutorial video in the Ubuntu 16 environment. Till the end of the weekend, hopefully, I release it. Maybe, some particular doubts could be solved by using it too.
As soon as I get some clue about the Mininet error, I post it here.
PS: Thanks for the previous answers Tavares :)

Hi jaki300.
I exploited the Mininet used in the NIEP platform in the Ubuntu environment. In particular versions, such as 16.04.06, some errors occur when installing an old version of Mininet. Unfortunately, I could not identify why it occurs. Anyway, I committed a new installer.sh using the Mininet version from the standard Ubuntu repository. This version worked in all my tests here, maybe it could solve your problem.
If the error persists, please contact us.

Hi Jaki300,
here is a brief tutorial of NIEP installation and usage with demo videos, hope it helps:
https://docs.google.com/presentation/d/e/2PACX-1vSuS-3_7BMIaioXhqmlGuGkvf36IZvKu8GRQnOle1gYHUOwGxcnAroJi5Y5dJQ4oGABe7uf5RN5GzBw/pub?start=false&loop=false&delayms=3000
Best regards

Thank you very much for the videos I will get back if face any issue, currently not able to up the top-up checking the python versioning issue.

thank you so much...these are soo good demo video to understand the project.One more question which OS is used for the demo..of the viedos
I think its ubuntu16.04 server

Hi jaki300,
Thanks for the reply, I am happy that the demo could help. :)
Yes, I executed the demo experiments using an Ubuntu 16.04 vanilla (except for the Mate interface).
If you have any other doubt, please contact us.
Best regards

HI NIEP is running fine on the  Ubuntu 16.04.7 . want to know more for the router and firewall configuration any guide for the firewall and router stuff..

Hi jaki300,
Do you mean the Click-designed router and firewall (VNFs)? Or is it about the router configurations of Mininet?
Anyway, for this answer, I will assume that you are trying to use the Click functions from VNF-REPO (please, correct me in the next post if it is not).
These both functions are static Click functions.
The firewall only allows the transmission of ARP and TCP packets, dropping anything else. The router uses two Click classifiers: the first one is for network layer three, and the second one is designed for network layer four.
The router, in turn, routes packets based on a static configuration (note that the MACs and IPs are hard-coded -- you can change that takes into account your executing scenario).
You are not limited to network functions in VNF-REPO. You can freely develop other functions based on the Click framework (using the DPDK module for input and output packets) -- you can get some extra information about the framework here: https://github.com/kohler/click
@lmarcuzzo can you provide some extra information to jaki300? In particular, information about the router.

i need create this topology that is mention in the document
http://www.inf.ufrgs.br/~granville/wp-content/papercite-data/pdf/08432239.pdf

Yes, it is possible to instantiate this topology using local NIEP modules with no problems.
I will include some examples of router and firewall usage in the EXAMPLES folder.
As soon as I do it, I post it here.

@ViniGarcia Are you able to add the router and firewall examples

Hi jaki300,
I have been working on new features for NIEP, some of them (such as fine-grained MAC definition for the elements) will help you create your topology.
Anyway, I included an example of the router click function usage in the EXAMPLE folder and preconfigured the router click function to work with it. To set up the router example, you will need to follow the commands in next:
=================================================================================
define /path/to/NIEP/EXAMPLES/DEFINITIONS/SFCSingleRouterExample.json
topoup
vnf x
vnfaction replace /path/to/NIEP/VNF-REPO/router.click
vnfaction start
exit
mininet
HOST01 route add -net <IP_ADDRESS> netmask <IP_ADDRESS> gw <IP_ADDRESS>
HOST02 route add -net <IP_ADDRESS> netmask <IP_ADDRESS> gw <IP_ADDRESS>
HOST01 ping HOST02
Please, let me know if you get any errors in the deployment process.
In the next few days, I will include a firewall example in the repository. As soon as I do it, I post it here.
Best regards

Hi Jaki300,
I updated the firewall example and create a topology for running it, the first one located in the "VNF-REPO" folder, and the second one included in the "EXAMPLE" folder. To set up this topology, you should attempt to the following commands:
define /path/to/NIEP/EXAMPLES/DEFINITIONS/SFCSingleFirewallExample.json
topoup
vnf x
vnfaction replace /path/to/NIEP/VNF-REPO/firewall.click
vnfaction start
exit
mininet
CLIENT01 ping SERVER01
SERVER01 ping CLIENT01
CLIENT01 ping SERVER02
SERVER02 ping CLIENT01
CLIENT01 ping SERVER03
SERVER03 ping CLIENT01
ICMP communication is only allowed between SERVER01 and CLIENT01. In the other cases, firewall rules are dropping the traffic from CLIENT to SERVER. I commented on each filter of the firewall in the .click file. Thus, you can check and change the rules there.
Hope it helps.
Best regards

Hi jaki300,
I have been working on new features for NIEP, some of them (such as fine-grained MAC definition for the elements) will help you create your topology.
Anyway, I included an example of the router click function usage in the EXAMPLE folder and preconfigured the router click function to work with it. To set up the router example, you will need to follow the commands in next:
define /path/to/NIEP/EXAMPLES/DEFINITIONS/SFCSingleRouterExample.json
topoup
vnf x
vnfaction replace /path/to/NIEP/VNF-REPO/router.click
vnfaction start
exit
mininet
HOST01 route add -net <IP_ADDRESS> netmask <IP_ADDRESS> gw <IP_ADDRESS>
HOST02 route add -net <IP_ADDRESS> netmask <IP_ADDRESS> gw <IP_ADDRESS>
HOST01 ping HOST02
Please, let me know if you get any errors in the deployment process.
In the next few days, I will include a firewall example in the repository. As soon as I do it, I post it here.
Best regards

FIrst of all sorry for the late reply bussy in other tasks..
i got this when running rotuter json
ERROR: Invalid vnf configurations provided (DEFINE/PARSER)

Its working fine issue is old created topology not cleared with topoclean commad
I wana say one more thing can we adjust the terminal to gain its values if mistakenly go back to niep> mode
and command history attachment is good for cli users?

Hi jaki300,
Fine! I am glad to be able to help.
Yes, there are updates scheduled for the CLI interface. Recently I have similar difficulties regarding history.
I will adjust a new history schema very soon and post the update notice here.
Good idea about the new tutorial video, as soon as possible, we will release a "developers tutorial" stuff.
Best regards

Hi jaki300,
I have updated the repository with an improved version of CLI.py
Now the NIEP's CLI has an auto-complete system and a persistent history.
I hope it helps with your work. :)
Best regards

HI ii am creating my own topology and issue comes in connection setup as 1host-1router-1firewall-2router-2client.   1firewall-server1,server2,server3  let me know if you can create this i am missed this with the link connections failed all time

Hi jaki300,
Can you provide me a graph drawing of your topology? (you can do that by e-mail --<EMAIL_ADDRESS>Thus I can better understand your connection problem and try to create a generic topology that solves it.
If I understood well, it is not possible to create an interaction with different networks with the click firewall provided in the project. However, it is natural to use the firewall function connected to a router function, creating a small service chain to do both filtering and routing actions.
Please, when you send the topology image, let me know here in the GitHub topic (sometimes e-mails from new addresses are redirected to spam, so I need to check it carefully).
Best regards

topology picture uploaded over the email either you can solve over picture topolofy or below mention flow.
C1> R1> F1>S1   allowed
C2 > R1> F1> S2  allowed
C3 > R1> F1> S3  disallowed
where C1 and C2 are in one network
c3 have different network and S1, S2,S3 have different network
3 networks in total

Hi jaki300,
I received your e-mail, the image made very clear the aimed topology. My feeling is that it is possible to create it with the current version of NIEP.
If I understood well, C in your description is H in the image, and S is SV. In the image S is a switch, right?
As soon as possible, I will try to create this topology and push it as part of NIEP examples. I let you know about the update on this topic.
Best regards.

If I understood well, C in your description is H in the image, and S is SV. In the image S is a switch, right?
yes in image H is host,S is switch,FW firewall, R Router and SV is server, hopefully you will create this topo and it gives better understanding on routing and connections setup.

Hi Jaki300,
Thanks for confirming the notations. As soon as possible, I will create the topology.
Best regards

Hi Jaki300,
I updated the repository with the topology that you requested. The new environment is named ComplexTopology, and it is in the EXAMPLES/DEFINITIONS folder.
The topology is structured as follows (consider # as white spaces):
H1 (HOST01 .122.01/24)  ---- \   ###############################################   / ----  SV1 (SERVER01 122.03/24)
###################### ---------  S1 (SWITCH01)  ----  FW (z)  ----  S3 (SWITCH03)  ---------
H2 (HOST02 .122.02/24)  ---- /   ###############################################   \ ----  SV2 (SERVER02 122.04/24)
H3 (HOST03 .123.01/24)  ---- \
###################### ---------  S2 (SWITCH02)  ----  R1 (x)  ----  SV1 (SERVER03 124.01/24)
H4 (HOST04 .123.02/24)  ---- /
I did a single modification in the topology sent by e-mail: insertion of S3 after FW. Once there are two servers, if there is no switch after the network function, it will be necessary to create a particular virtual network interface to communicate each of the servers, besides adjusting the traffic steering, in the firewall function. Actually, a firewall tackling the network steering is a very unusual and kind of weird scenario. Anyway, this scenario is possible by removing S3 and reprogramming the firewall click function.
With the complex topology, you can execute your scenario just by adjusting the click functions with your rules and routes. For the routing function, you should adjust the hosts routes too.

HI have you run this topo in your env if yes can you share the run steps i think these are three different scenarios merged in one topo right?

Hi jaki300,
Yes, I deployed the topology in my local NIEP environment. Actually, your configuration, taking into account the NIEP's operations, looks fine.
Did you configure the .click functions to the ComplexTopology scenario?
Anyway, as soon as possible I will post a brief tutorial about the topology in this topic.

When I was configuring the firewall rules I did note that your sketch and your description did not match.
Note that the sketch shows which I call "Complex Topology #1" and your description seems like "Complex Topology #2". Can you confirm which one is the aimed topology?

thank you very much for your support

You're welcome :)


how can I export to PDF through typora?

Hello, thanks for your theme which is so awesome ! I got some trouble, howerver, which it is wrong when I export the content to PDF through typora. I wish you could help me and thanks for your great work !

Fixed here


fix: change action type to instance property (#128)

Define a static action type property can cause action type overriding when dispatching multiple actions at the same time. It needs to be changed to instance property to avoid the issue.
Fix #128
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/ngxs/store/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?
[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
Issue Number: #128
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

@thvu could you write a test that shows that the problem is being solved?

@splincode I added a test but it did not pass linting, chicken-egg alike initialization problem. Do you have any ideas for writing same kind of test that passes linting?

@arturovt what do you think?

@thvu Thank you for your contribution, that looks great!
But we need more tests to cover that incosistent behavior, wouldn't you mind writing tests for that fix?

@thvu Do not think that Rx is asynchronous. Its API is synchronous. It can emit events asynchronously only in cases of using setTimeout/setInterval/requestAnimationFrame/Promise/XHR. Non of this is used under the hood in NGXS.

The copy of this PR is #316 as this PR seemed to be inactive for a while. I fixed tests there. Thanks for your contribution! :tada:


console is garbled when booting with spice graphics

Version
v0.5.0 and greater
Architecture
x86_64
Describe the bug
Garbled console when using spice/qxl:

To Reproduce
Run Qemu with Spice graphics:

https://rancher-users.slack.com/archives/CJ75F6WJ3/p1574874763383200
#245

Expected behavior
The console should not be garbled.
Actual behavior
The console is garbled
Additional context
n/a

Easy solution for KVM/QEMU screen issue:
I've switched the gfx card from spice/qxl to spice/vga and the console does not get garbled anymore.
This works for k3os v0.5.0, v0.6.0 and v0.7.1.

I also similar issue. Changing the video driver as pagong suggested help. It seems works for all other driver except default one.

Unfortunately, if you're using oVirt as your virtualization platform, VGA+SPICE isn't an option :(

Yeah this is a major PITA. In a lot of situations it is not an option to change the graphics used (DigitalOcean console).

Looks like we are completely lacking in qxl driver support as per the upstream ubuntu kernel. I'll get this into the k3os-kernel and update master soonish.

@pagong @liyimeng @stove-panini @stablecube have you tried forcing the qxl kernel module to load (or other module relevant to your virtualized rendering setup) via a k3os.module=qxl kernel parameter or the config.yaml below:


Planing new release labels? Semantic version numbers?

Hi. The last release was 5 Sep 2017. After it, there have been a lot of changes... Planning a new release?
PS: about use of the versioning numbers, as DemocracyEarth/paper is a DigitalDocument, a CreativeWork,  you can use semantic versioning (Major.Minor.Patch  for CreativeWorks).

Hi, thanks for the semantic versioning link.  We released the 2.0 version on January 25th https://github.com/DemocracyEarth/paper/blob/master/The Social Smart Contract.pdf as a PDF the next release will be in July-August timeframe.


Update DISM.md

Docs Build status updates of commit b019fcc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/connect-your-device/DISM.md
:white_check_mark:Succeeded

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.


<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142

npm i json-server no longer works now that request is deprecated. Any workarounds?

I don't think you could ignore the warning? It won't let me install JSON server because of the warning.

I can install normally.

os win10x64
node v11.0.0
npm v6.4.1

Thank you wll8! I tried it again, it works now!


Want add the pictures Dynamically

Want add the pictures Dynamically  via Javascript

Want add the pictures Dynamically via Javascript

Go Ahead 🚀


How to converge the model?

The model is difficult to converge, and the parameters are exactly the same as what you set up.
How to solve  it?
thank you!

@qianchen94 please make sure the initialization of each layer parameters is followed by the gaussian distribution when you train your model.


Warnings during application build (Xcode 16.0)

@milanvarady Thank you for making the tweaks for Xcode 16.0. While the build is successful, there are several  warnings shown during the build process.
Are we able to fix and solve them?
 Processing Info.plist
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                                     ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                               ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
                 ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
                            ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                                     ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                               ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
                 ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
▸ Linking Workflow\
▸ Linking Workflow\
▸ Generating 'Workflow\ Extension.appex.dSYM'
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Other/ExportDestinationPicker.swift:106:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
                            ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:356:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:357:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:359:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Label/OverlaySettingsView.swift:143:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:116:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:117:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:55:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:56:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:138:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:139:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:141:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:146:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:184:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:185:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:187:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Image/SwatchSettingsView.swift:94:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
                            ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                               ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                                     ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Extract/Extraction Model/ExtractionModel_DropDelegate.swift:54:29: mutation of captured var 'filesToProcess' in concurrently-executing code; this is an error in the Swift 6 language mode
                            filesToProcess.append(fileURL)
                 ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Other/ExportDestinationPicker.swift:106:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
                            ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:356:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:357:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ExtractView.swift:359:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Label/OverlaySettingsView.swift:143:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:116:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/FileSettingsView.swift:117:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:55:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/General Settings/NotificationSettingsView.swift:56:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:138:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:139:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:141:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var extractionModel = ExtractionModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Main/ContentView.swift:146:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:184:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:185:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var databaseManager = DatabaseManager(settings: settings)
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/QueueView.swift:187:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var queueModel = QueueModel(
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Views/Detail Views/Image/SwatchSettingsView.swift:94:5: '@StateObject' used inline will not work unless tagged with '@Previewable'
    @StateObject var settings = SettingsContainer()
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:49:34: main actor-isolated property 'loadingInProgress' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
                            self.loadingInProgress = false
    ^~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Roles/RolesManager+DropDelegate.swift:62:29: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
                            self.setRoles(extractedRoles)
                   ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:11:1: extension declares a conformance of imported type 'ExportFolderFormat' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportFolderFormat: Codable, Identifiable {
                            ^
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:28:1: extension declares a conformance of imported type 'MarkerIDMode' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerIDMode: Codable, Identifiable {
^                                      ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:45:1: extension declares a conformance of imported type 'AlignHorizontal' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignHorizontal: Codable, Identifiable {
^                                ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:62:1: extension declares a conformance of imported type 'AlignVertical' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension MarkerLabelProperties.AlignVertical: Codable, Identifiable {
^                                                         ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Settings/MarkersExtractorModelExtensions.swift:79:1: extension declares a conformance of imported type 'ExportField' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'MarkersExtractor' introduce this conformance in the future
extension ExportField: Codable, Identifiable {
^                                                       ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Color Swatch/ColorsExtractorService/DeltaEFormulaExtension.swift:29:1: extension declares a conformance of imported type 'DeltaEFormula' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'DominantColors' introduce this conformance in the future
extension DeltaEFormula: CustomStringConvertible {
^                               ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Utilities/Extensions/RoleExtension.swift:11:1: extension declares a conformance of imported type 'AnyRole' to imported protocol 'Identifiable'; this will not behave correctly if the owners of 'DAWFileKit' introduce this conformance in the future
extension FinalCutPro.FCPXML.AnyRole: Identifiable, Codable {
^                        ~~~~~~~~~~~~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Workflow Extension/WorkflowExtensionView.swift:82:26: call to main actor-isolated instance method 'handleDrop(data:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
                    self.handleDrop(data: data)
^                                     ~~~~~~~~~~~~
⚠  /Users/runner/work/MarkerData/MarkerData/Source/Marker Data/Marker Data/Models/Extract/Extraction Model/ExtractionModel_DropDelegate.swift:54:29: mutation of captured var 'filesToProcess' in concurrently-executing code; this is an error in the Swift 6 language mode
                            filesToProcess.append(fileURL)

@orchetect The warning mentions MarkersExtractor and DAWFileKit? Should the libraries need to be updated for Xcode 16.0 compatibility?
Thank you.

The new tooling only came out this week, I haven't had a chance to check MarkersExtractor. But most of these warnings are relating to the Marker Data codebase.
From the logs it looks like you're adding some conformances in Marker Data to types imported from MarkersExtractor. Things like Identifiable could be refactored into MarkersExtractor instead. Those particular warnings are only showing because it's unrecommended practice to conform types you don't own to protocols you don't own.

I've done the appropriate refactors and released MarkersExtractor 0.3.10.
I have also pushed a PR with changes for Marker Data in response to the refactors: #107
I only touched Marker Data code that was affected by MarkersExtractor. I will leave the remaining build warnings for @milanvarady to resolve, as they all deal with the Marker Data codebase.

@milanvarady
@latenitefilms Have shared some details for setting up Workflow Extensions in Xcode 16 https://fcp.cafe/#18th-september-2024
Thanks.

Based on this apple developer forum post, this is a known issue in Xcode 16.
I believe this '@StateObject' used inline will not work unless tagged with '@Previewable'  it would be fixed in future versions of Xcode.


osx builds failed

=========================== short test summary info ============================
FAILED test/test_transforms.py::test_randomperspective_fill[L] - assert (255,...
FAILED test/test_transforms.py::test_randomperspective_fill[RGB] - assert (25...
FAILED test/test_transforms.py::test_randomperspective_fill[F] - assert (255....
= 3 failed, 16890 passed, 15458 skipped, 240 deselected, 56 xfailed, 599321 warnings in 929.52s (0:15:29) =
Tests failed for torchvision-0.11.2-py38h992ef89_1_cpu.tar.bz2 - moving package to /Users/runner/miniforge3/conda-bld/broken
WARNING:conda_build.build:Tests failed for torchvision-0.11.2-py38h992ef89_1_cpu.tar.bz2 - moving package to /Users/runner/miniforge3/conda-bld/broken
WARNING conda_build.build:tests_failed(2970): Tests failed for torchvision-0.11.2-py38h992ef89_1_cpu.tar.bz2 - moving package to /Users/runner/miniforge3/conda-bld/broken
TESTS FAILED: torchvision-0.11.2-py38h992ef89_1_cpu.tar.bz2
#

https://github.com/conda-forge/torchvision-feedstock/commit/c3c0b29011b098e2fa864840848ee42febff46bf
https://github.com/conda-forge/torchvision-feedstock/runs/4913224109

[x] I read the conda-forge documentation and could not find the solution for my problem there.

Issue:

Environment (conda list):

$ conda list

Details about  conda and system ( conda info ):

$ conda info

Thanks for monitoring, but I restared the builds to ensure that some linux  builds passed.
The OSX ones were succesful on the first round

We can add these to the skip list.

Not sure if this related: https://github.com/conda-forge/torchvision-feedstock/pull/37

Thanks @hmaarrfk just keeping an eye and help out where I could. Btw, I was trying to find the place where you were talking about aarch64 builds --- I think I can run those locally relatively fast so I am happy to help out. Maybe it was in the pytorch feedstock

yeah, i'm not sure about aarch builds. I probably mentionned it in a few locations. I think the new thing now is trying to cross compile on azure.

Through multipass.run, that is, on an M1 machine. Closing this for now since you're on it :)

yeah, i'm not sure about aarch builds. I probably mentionned it in a few locations. I think the new thing now is trying to cross compile on azure.

Ah, I see. I think that would be a good idea. I am not sure why we have a 6-hour limit anyway. Maybe we can use the aarch github VMs? I have no idea what goes into these considerations.


Server Exception With StatKilledByBear

Side: Server
Mod Version: v1.1.1
Game Version: v1.19.7
Some Extra Details:
This is the only server exception I've experienced from the mod so far, specifically relating to the bear stat.
The same player threw this exception twice, the second time after respawning and returning to the same spot.
They claim that they didn't die to a bear and that there wasn't actually a bear anywhere nearby but I'd take that with a grain of salt.
Here's the full error report:
Exception: Object reference not set to an instance of an object.
   at scoreboard.StatKilledByBear.OverrideCB(Entity entity, DamageSource damageSource) in vintage_story_scoreboard\scoreboard_new\killedByBear.cs:line 50
   at Vintagestory.API.Common.Entities.Entity.Die(EnumDespawnReason reason, DamageSource damageSourceForDeath) in VintagestoryApi\Common\Entity\Entity.cs:line 1706
   at Vintagestory.API.Common.EntityAgent.Die_Patch1(EntityAgent this, EnumDespawnReason reason, DamageSource damageSourceForDeath)
   at Vintagestory.API.Common.EntityPlayer.Die(EnumDespawnReason reason, DamageSource damageSourceForDeath) in VintagestoryApi\Common\Entity\EntityPlayer.cs:line 1176
   at Vintagestory.GameContent.EntityBehaviorHealth.OnEntityReceiveDamage_Patch1(EntityBehaviorHealth this, DamageSource damageSource, Single& damage)
   at Vintagestory.API.Common.Entities.Entity.ReceiveDamage(DamageSource damageSource, Single damage) in VintagestoryApi\Common\Entity\Entity.cs:line 813
   at Vintagestory.API.Common.EntityAgent.ReceiveDamage_Patch2(EntityAgent this, DamageSource damageSource, Single damage)
   at Vintagestory.API.Common.CollectibleObject.tryEatStop_Patch3(CollectibleObject this, Single secondsUsed, ItemSlot slot, EntityAgent byEntity)
   at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStop(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1351
   at Vintagestory.Server.ServerSystemInventory.HandleHandInteraction(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\Inventory.cs:line 252
   at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138

The scoreboard was missing a section for killedbybear, I'm not sure if this caused this or not but it is in the mod now.


Incorrect Java Code Example in Registry for aws.iam.GroupMembership resource

What happened?
I tried to deploy the Java example on this page and received the following error:

Example
Deploy the Java example on this page
Output of pulumi about
N/A
Additional context
The issue seems to be that we need to create a single output that is a List containing both outputs. Here is a version of this resource that works (courtesy of @cnunciato):
package myproject;

import com.pulumi.Pulumi;
import com.pulumi.aws.iam.User;
import com.pulumi.aws.iam.UserArgs;
import com.pulumi.aws.iam.Group;
import com.pulumi.aws.iam.GroupArgs;
import com.pulumi.aws.iam.GroupPolicy;
import com.pulumi.aws.iam.GroupPolicyArgs;
import com.pulumi.aws.iam.GroupMembership;
import com.pulumi.aws.iam.GroupMembershipArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import com.pulumi.core.Output;
import java.util.List;

public class App {
    public static void main(String[] args) {
        Pulumi.run(ctx -> {

            var jane = new User("jane", UserArgs.builder().build());
            var mary = new User("mary", UserArgs.builder().build());

            // Create a single output from the two other outputs.
            var userIds = Output.all(jane.id(), mary.id()).applyValue(ids -> List.of(ids.get(0), ids.get(1)));

            // Define a group and assign a policy for it.
            var devs = new Group("devs", GroupArgs.builder()
                .path("/users/")
                .build());

            new GroupPolicy("my_developer_policy", GroupPolicyArgs.builder()
                .group(devs.name())
                .policy(serializeJson(
                    jsonObject(
                        jsonProperty("Version", "2012-10-17"),
                        jsonProperty("Statement", jsonArray(jsonObject(
                            jsonProperty("Action", jsonArray("ec2:Describe*")),
                            jsonProperty("Effect", "Allow"),
                            jsonProperty("Resource", "*")
                        )))
                    )))
                .build());

            new GroupMembership("dev-team", GroupMembershipArgs.builder()
                .group(devs.id())
                .users(userIds)
                .build());
        });
    }
}

Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Yeah this landed in java bypassing pulumi-aws but I think it goes through the conversion pipeline, LMK if it's helpful to pull out the PCL/HCL phases here for this example. Thank you!


Doc

@yehiyam

[ ] DS
[ ] hkubectl
[ ] Sync
[ ] Local debug
[ ] Jupyter
[ ] Streaming code-api

@golanha

[x] TensorBoards
[x] CodeAPI - JAVA
[x] Debug - JAVA
[ ] Output
[ ] hyperParams

@maty21

[x] Streaming spec
[ ] Experiment
[ ] Observabilty (metrics, tracing, logging)

@NassiHarel

[ ] Builds and Versions
[ ] Search
[ ] Algorithm

[ ] All features
[ ] New section - params (minHotWorkers, maxWorkers, quotaGuarantee.....)
[ ] exec algorithm

[ ] Streaming Gateway

@tamir321

[x] Caching
[x] Debug
[x] CodeAPI - (Python)
[ ] Pipeline params

intro
this feature is.....
screenshots

Template  proposal

Feature name
Introduction
here we will write in a few sentences a short explanation about the feature  and what is good for
Use Cases (Optional)

here we can add one or two use cases that demonstrate how or in which cases the feature helps you

Feature List(Optional)

A features  grocery list with a short explanation of every feature, for example,  Data Set
store data on top of DVC  the ability to create snapshots, save a version and use it while creating a pipeline
we can write it with  '-' or using '#### as an H4 title'

How to work with

a step by step guidance that demonstrates how to work with the feature we can use the use cases that we talked about earlier to explain how to work with the feature for example again data sets
First section how to store update delete  via UI(add snapshots)  CLI(add a code) or a code(add a code) and create a snapshots
Second how to use it  for creating a job that starts from data set
Third how to use it inside the code

Advnaced (Optional)

Other things  that we want to mention for example a configuration to do something

we can use k8s style guide  k8s style guide

streaming

Streming
Introduction
While Batch processing is need for some cases, such as gathering and data enrichment, there are other cases where the data is generated continuously, which typically send in the data records simultaneously. Streaming data includes a wide variety of data such as log files generated by customers using your mobile or web applications, eCommerce purchases, in-game player activity, information from social networks, financial trading floors, or geospatial services telemetry from connected devices or instrumentation in data centers.
HKube's data streaming is an extension to hkube batch processing pipeline architecture that handles millions of events at scale,
In real-time. As a result, you can collect, analyze, and store large amounts of information.
That capability allows for applications, analytics, and reporting in real-time.
Use Cases - Stream Tweets in real-time
So where are hkube data streams good for? we can take a look on stream from Twitter as an example on this particular case we want to enrich the data from other resources for example Facebook or  Linkedin and other internal databases before saving it

Use the Twitter API and Hkube Streaming to get and analyze real-time twitts for your research

"twitt" node subscribe to Twitter API and receiving real-time twitts

"sort" node sorting and sending the twitts according to their language

"A" and "B" nodes analyze the twitt messages and save them to DB

Features
Hkube streaming pipeline supports :
Unique data transportation
hkube as its own data transportation which allows sending data directly between nodes in that way we can ensure the follows

The data will keep its order
highly throughput low latency
highly scalable

Autoscaling
The throughput of streaming can be varied over time so we will able to handle bursts and also free resources for other jobs in case it's not needed
With its own unique heuristic system hkube able to recognize changes in throughput and to act pretty fast to support the needs
To understand it lets look at a scenario the demonstrate how hkube handle pressures
conditional data flows
On streaming data in the majority of the time, we want that the data will move on a specific flow but there are scenarios when we want to change the flow dynamically.
To understand it let take the twitter use case for example, in the majority of the cases we just want to enrich the data with more data from other resources but for example, in case that we cant recognize the post writer for some reason we want to create other prerequisites before the enrichment.
Hkube helps you to handle that situation with conditional data flow we will explain later how to create and work with this feature
How to work with

Streaming pipelines are built from Stateful and Stateless algorithms

Stateful algorithm

A stateful algorithm is coupled for a specific execution

The stateful algorithm must use hkube's SDK to decide on which flow the data should continue the default one or one of the conditionals

Only one stateful algorithm can be executed for each algorithm kind on a specific execution

There can be multiple stateful algorithms with different   node names

The stateful algorithm will be closed if one of the following occurred:

The execution is closed by the client using HKube's API
On algorithm main function return

Stateless algorithm

A stateless algorithm can serve its life multiple executions

The stateless algorithm can scale (up/down) dynamically according to the job’s needs

On failure, Hkube will skip the current execution (performance needs)

Stateless algorithm doesn't need to use hkub's API to continue the flow those will happen after the return command

Scaling up stateless is depended on:

Sending Node queue size

Queue size increase/decrease rate

Receiving node process time

Streaming Flow

The Flow is representing the flow of data through the pipeline Nodes (Flow mast start with Stateful Node/Algorithm)

Define streaming flows in simple syntax example: node A stream to B and C, node B stream to D. it will be: A >> B&C | B >> D

e.g: "streaming":{
"flows":{
"analyze":"sort>>A"
"master":"twitt >>sort>>B"
}
"defaultFlow":"master"
}
Advnaced
HKUBE API STREAMING METHODS for Stateful algorithm

sendMessage(msg,flowName)

Passing on a message to the next node in the pipeline-flow.

parameters:

msg - A created message as desired to be obtained by the next node.

flowName: The name of the flow of nodes defined in the pipeline definition. This parameter should be given only if a new flow is initiated. (Not if the processing is already in the middle of a flow.) In case no flow name is given and the node is not in the middle of a flow initiated earlier, the default flow defined in the pipeline definition will be used as a flow name.

registerInputListener(onMessage=handleMessage)

Used only within a stateful algorithm. registerInputListener allows registering a method written by the algorithm implementor, which will be invoked upon each message that arrives.

The onMessage signature is onMessage(msg, origin) where the origin is the name of the previous node.

startMessageListening()

Used only within a stateful algorithm. Once all message handlers had been registered using registerInputListener, startMessageListening needs to be invoked to start getting the messages upon arrival.

CodeAPI
Introduction
HKUBE Code API is a set of JAVA/PYTHON/JavaScript API that you can invoke in your algorithm code in order to start sub-pipeline or algorithm
Python
 Start algorithm
Starts algorithm execution with input within the current pipeline and waits for results

start_algorithm(algorithmName, input=[], includeResult=True)

Args
-  algorithmName (string): The name of the algorithm to start.
-  input (array): Optional input for the algorithm.
-  includeResult (bool): if True, returns the result of the algorithm execution.
-  default: True
Returns
-  Returns the result of the algorithm.

Start stored sub pipeline
Starts sub-pipeline execution with input and waits for results

start_stored_subpipeline(name, flowInput={}, includeResult=True)

Args
-  name (string): The name of the pipeline to start.
-  flowInput (dict): Optional flowInput for the pipeline.
-  includeResult (bool): if True, returns the result of the pipeline execution.
-  default: True
Returns
-  Returns the result of the pipeline.

Start raw sub pipeline
Starts sub-pipeline execution with input, nodes, options, and waits for results

start_raw_subpipeline( name, nodes, flowInput, options={}, webhooks={}, includeResult=True)

Args
-  name (string): The name of the pipeline to start.
-  nodes (array): array of node definitions (like in the pipeline descriptor)
-  options (dict): pipeline options (like in the pipeline descriptor)
-  webhooks (dict): webhook options (like in the pipeline descriptor)
-  flowInput (dict): Optional flowInput for the pipeline.
-  includeResult (bool): if True, returns the result of the pipeline execution.
-  default: True
Returns
-  Returns the result of the pipeline.

Code example
def start(args, hkubeapi):
    input = args['input'][0]
    if input and input["action"] == "start_alg":
        ret = hkubeapi.start_algorithm("black-alg", [7], includeResult=True)
        return ret

    if input and input["action"] == "start_stored_subpipeline":
        ret = hkubeapi.start_stored_subpipeline("simple", {"files": {"link": "links-1"}}, includeResult=True)
        return ret

    if input and input["action"] == "start_raw_subpipeline":
        subPipeOp = {
            "batchTolerance": "100",
            "concurrentPipelines": {
                "amount": "10",
                "rejectOnFailure": "true"
            },
            "progressVerbosityLevel": "info",
            "ttl": "3600"
        }
        flowInput = {
            "files": {
                "link": "links-1"
            }
        }
        nodes = [{"nodeName": "one",
                  "algorithmName": "green-alg",
                  "input": []},
                 {"nodeName": "two",
                  "algorithmName": "black-alg",
                  "input": ["@one"]}]
        ret = hkubeapi.start_raw_subpipeline("raw-sub-pipeline", nodes, flowInput, options=subPipeOp, webhooks={},
                                             includeResult=True)
        return ret

return 42

Java
 Start algorithm
Starts algorithm execution with input within the current pipeline and waits for results

startAlgorithm(algorithmName, input, includeResult=True)

Args
-  algorithmName (string): The name of the algorithm to start.
-  input (List): Optional input for the algorithm.
-  includeResult (bool): if True, returns the result of the algorithm execution.
Returns
-  Returns the result of the algorithm (Map).

####Start stored sub pipeline
Starts sub-pipeline execution with input and waits for results

startStoredPipeLine(name, flowInput)

Args
-  name (string): The name of the pipeline to start.
-  flowInput (Map): Optional flowInput for the pipeline.
Returns
-  Returns the result of the pipeline.

Start raw sub pipeline
Starts sub-pipeline execution with input, nodes, options and waits for results

startRawSubPipeLine( name, nodes, flowInput, options, webhooks)

Args
-  name (string): The name of the pipeline to start.
-  nodes (INode[]): array of node definitions (like in the pipeline descriptor)
-  options (Map): pipeline options (like in the pipeline descriptor)
-  webhooks (Map): webhook options (like in the pipeline descriptor)
-  flowInput (Map): Optional flowInput for the pipeline.

Returns
-  Returns the result of the pipeline (Map).

####Code example
import hkube.algo.wrapper.IAlgorithm;
import hkube.api.IHKubeAPI;
import hkube.api.INode;
import org.json.JSONObject;
import java.util.*;
public class javaCodeApi implements IAlgorithm {
@Override
public void Init(Map args) {

}

@Override
public Object Start(Map args, IHKubeAPI hkubeAPI) throws Exception {

    Collection<Object> input = (Collection<Object>)args.get("input");
    Map action = (Map) input.iterator().next();

    String act = (String)action.get("action");

    if(act.equals("startAlg")){
        List<String> list=new ArrayList<String>();
        list.add("4");
        Object res =  hkubeAPI.startAlgorithm("green-alg",list ,true);
        return res;
    }

    if(act.equals("startStored")){
        Object res =   hkubeAPI.startStoredPipeLine("simple",new HashMap());
        return res;
    }

    if(act.equals("startRaw")){
        INode jnkNode = createNode("one","green-alg" , "42");
        INode[] nodes ={jnkNode};
        Object res =   hkubeAPI.startRawSubPipeLine("raw-pipe",nodes,new HashMap(),new HashMap(),new HashMap());
        return res;
    }

    return  42;
}

private INode createNode(String nodeName,String algName,String nodeInput) {
    JSONObject obj=new JSONObject();
    obj.put("input",nodeInput);
    JSONObject[] obj1 =new JSONObject[1];
    obj1[0]=obj;

    INode node = new INode() {
        @Override
        public String getName() {
            return nodeName;
        }

        @Override
        public JSONObject[] getInput() {
            return obj1;
        }

        @Override
        public void setInput(JSONObject[] input) {

        }

        @Override
        public String getAlgorithmName() {
            return algName;
        }

        @Override
        public void setAlgorithmName(String algName) {

        }

    };
    return node;
}

@Override
public void Stop() {

}

@Override
public void Cleanup() {

}

}
Node JS
 Start algorithm
Starts algorithm execution with input within the current pipeline and waits for results

startAlgorithm(algorithmName, input=[], includeResult=True)

Args
-  algorithmName (string): The name of the algorithm to start.
-  input (array): Optional input for the algorithm.
-  includeResult (bool): if True, returns the result of the algorithm execution.
-  default: True
Returns
-  Returns the result of the algorithm.

####Start stored sub pipeline
Starts sub-pipeline execution with input and waits for results

startStoredSubpipeline(name, flowInput={}, includeResult=True)

Args
-  name (string): The name of the pipeline to start.
-  flowInput : Optional flowInput for the pipeline.
-  includeResult (bool): if True, returns the result of the pipeline execution.
-  default: True
Returns
-  Returns the result of the pipeline.

Start raw sub pipeline
Starts sub-pipeline execution with input, nodes, options, and waits for results

startRawSubpipeline(name, nodes, flowInput, options = {}, webhooks = {}, includeResult = true)

Args
-  name (string): The name of the pipeline to start.
-  nodes (array): array of node definitions (like in the pipeline descriptor)
-  options : pipeline options (like in the pipeline descriptor)
-  webhooks : webhook options (like in the pipeline descriptor)
-  flowInput : Optional flowInput for the pipeline.
-  includeResult (bool): if True, returns the result of the pipeline execution.
-  default: True
Returns
-  Returns the result of the pipeline.

Code example
const start = async (args, api) => {
let ret="did zero action"

input=args['input'][0]
if (input.hasOwnProperty("action")){
    if (input.action == "startAlg"){
         ret = await api.startAlgorithm("green-alg",[4]);
    }
    if (input.action == "startStored"){
         ret = await api.startStoredSubpipeline("simple",{"files": {"link": "links-1"}});
    }
    if (input.action == "startRaw"){
      const subPipeOption={
           "batchTolerance": "100",
           "concurrentPipelines": {
               "amount": "10",
               "rejectOnFailure": "true"
           },
           "progressVerbosityLevel": "info",
           "ttl": "3600"
       }
      const flowInput = {
                     "files": {
                          "link": "links-1"
                     }
       }
      const nodes = [{"nodeName": "one",
                     "algorithmName": "green-alg",
                     "input": []},
                {"nodeName": "two",
                     "algorithmName": "black-alg",
                     "input": ["@one"]}]

      ret = await api.startRawSubpipeline("raw-pipe",nodes,flowInput,subPipeOption);

      }
}
return ret;

}
module.exports = {
start
}

Caching / Run Node
Introduction
Hkube pipeline execution can be long and complex
Hkube Caching allows you to run job from a specific node and getting the data of the predecessors from caching of the previous run, saving time and resources  enable you to monitor or debug the relevant Node without the need to wait for previous prosses to complete
Note: the Caching is only relevant to the batch pipeline
Use Cases
After executing the following job you suspect that the "yellow" node does not calculate its output properly and you wish to rerun the job with the same input while monitoring the yellow node during execution, to avoid rerunning the "red" and the "green" process you can select the yellow node and run it using the caching.

The "red" and "green" output will be taken from storage saving  processing time and resources

How to activate cash
UI

Open the job you wish to execute cache from
Select the relevant node
Click on the play button

Rest API

POST "https://{HKUBE URL}/hkube/api-server/api/v1/exec/caching" -H  "accept: application/json" -H  "Content-Type: application/json" -d "{"jobId":"{jobId}","nodeName":"{node name}","debug":false}"

Setup a  run debug java configuration
a. Main class.
Java main class is hkube.algo.wrapper.Main from artifact io.hkube:wrapper:2.0-SNAPSHOT (also found in https://oss.sonatype.org/content/repositories/snapshots)
b. Runtime ClassPath
   1) io.hkube:wrapper:2.0-SNAPSHOT and its dependencies.

   2) The written algorithm module.

c. Environment variables:
When running the algorithm locally you need to set 2 environment variables:
  1) ALGORITHM_ENTRY_POINT - The name of the class you wrote implementing IAlgorithm.

  2) WORKER_SOCKET_URL - path obtained from a the debug algorithm defined on hkube deployment. (example ws://<IP_ADDRESS>/hkube/debug/something)

  Instead of setting these environment variables, you can also add a config.properties file to the running classpath root directory and set these environment variable names as keys.

            WORKER_SOCKET_URL=ws://cd.hkube.io/hkube/debug/green-alg
            ALGORITHM_ENTRY_POINT=Algorithm

d. Program argument 'debug'
To avoid the program attempting to load the algorithm from a jar, 'debug' should be given as a program argument.

Debug algorithm
Introduction
Hkube enable debugging algorithm on your local IDE as part of a pipeline executed on the cluster
Use Cases
After executing the following job you suspect that the "yellow" node does not calculate its output properly and you wish to debug it in your local IDE

How to Debug your algorithm
HKUBE has three options for debug algorithm:

Debug  Pipeline - execute the pipeline from start

In the pipeline descriptor change the node type from "algorithm" to "debug"

Debug from cache , debug  specific node and while getting the data of the predecessors from caching of the previous run

In the dashboard open the relevant job select the algorithm you wish to debug click the icon

Debug algorithm (without pipeline)

Select the algorithm from the algorithm list and click the  icon

Obtaining the debugging URL
TBD
###On your IDE
In order to debug your algorithm locally, install the "HKUBE wrapper" package

Python: pip install hkube-python-wrapper
nodeJS: npm i @hkube/nodejs-wrapper

After installing the "HKUBE wrapper" package
add the following code to your project and start debugging :
###Python:###

from hkube_python_wrapper import Algorunner

import algorithm.main as algorithm #the path of you "start" function

def main():

        print("starting algorithm runner")
        Algorunner.Debug("<the debugging URL>",algorithm.start)

if __name__ == "__main__":
    main()

###NodeJS###
const NodejsWrapper = require('@hkube/nodejs-wrapper');
const alg = require("./hkubeApiImage") //the path of you "start" function
const main = async () => {
    NodejsWrapper.debug("<the debugging URL>",alg)
}

main()

Tensorboard integration
Hkube allows to view data generated by tensorflow of users algorithm in Tensorboard UI.
logdir
An algorithm using tensorflow generates tensorboard log data. In the algorithm code when creating Tensorboard object a logDir parameter is passed. For integration with Hkube the logDir value passed, must first be obtained from the environment variable : ALGO_METRICS_DIR.
log_dir = os.environ['ALGO_METRICS_DIR']
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(x=x_train,
              y=y_train,
              epochs=5,
              validation_data=(x_test, y_test),
              callbacks=[tensorboard_callback])

Loading metrics in Tensorboard

In hkube ui pipelines tab, its possible to identify which pipline have ran and created tensorboard metrics by the orange label "metrics"
Hovering over the actions icon pops up a "Create tensorboard for selected nodes" window. You can now select which nodes to create the tensorboard for, and click "create board".
Link to Tensorboard UI

Once board is created a label "boards" is added. Hovering over the "boards" pops up the link to the board displaying the data of the collected metrics.

hyperParam Node
hyperparams node invokes an objective pipeline with a range of different hyperparams values - according to configuration, and helps to determine the optimal hyperparm

{
"kind": "hyperparamsTuner",
"nodeName": "optimizerNode",
"spec": {
"numberOfTrials": 9,
"objectivePipeline": "Green",
"hyperParams": [
{
"suggest": "uniform",
"name": "x",
"low": -10,
"high": 10
}
],
"mem": "512Mi",
"cpu": 0.5
}
}`

numberOfTrials - Is the number of times the objective pipeline will be invoked.
hyperParams - a set of hyperparams definitions,
For each hyperparam:
  suggest - The hyperParams node suggests different values.

   There are five different suggestion methods:
  - uniform          *also need to define low and high numbers
  - loguniform      *also need to define low and high numbers
  - int                   *also need to define low and high numbers
  - discrete_uniform  *also need to define low and high numbers
  - categorical        *also need to define choices array.


Should use save instead of update

If you save the model instead of doing an update query then you benefit from model validation and events.

The underlying implementation for update on Eloquent models, fills the model and calls save.
public function update(array $attributes = [], array $options = [])
{
    if (! $this->exists) {
        return false;
    }

    return $this->fill($attributes)->save($options);
}

Any events or validations relying on save should work just fine.

apologies was looking at several of these resource controller implementations late last night and got mixed up.

No problem at all.. Thanks for taking the time to share your thoughts anyways.


Docs: JSON vs Shell clarification

Signed-off-by: John Howard<EMAIL_ADDRESS>@thaJeztah I got caught out by this easy mistake earlier today while working on another PR. Adds a clarification about needing to escape backslash in the JSON form.

@neilpeterson FYI.

LGTM 🐯

oh, nice one! Yes, I was thinking about that after posting, but wasn't at a computer - thanks!
LGTM


Video uploading feature is not supported in Firefox or safari browser.

Video uploading feature is not supported in Firefox or safari browser.
Any have solution to render video in Firefox or safari.
In google chrome this feature working fine.

I am not sure if this link will help.
https://support.mozilla.org/en-US/questions/1048378


Implement async commit in ratbagd

We get timeouts on commit and we should be using async anyway. So client calls commit which finishes immediately and then gets a "yay, I'm done, let's go party" dbus signal when the commit is complete.

see #296 -> I don't think it's a ratbagd issue, but a client one

See the new commit set in https://github.com/libratbag/piper/pull/158, this is fixable on the client siade alone, was you said.


Vertical profiles/cross section plots

Vertical cross section along a line between two points.

There is interest in doing this using CSET for the ML intercomparison project, where we will be analysing a case study comparing ML predictions of storm Ciaran to dynamical models. Cross sections would be really nice to examine some of the frontal structures in this too. I had my name down in that sprint to work on this, so wondered if there was already plans to do this in April during the 'quest'? Otherwise would be happy in taking this on (I've done this quite a bit for the Turkana Jet work for example, looking at cross sections).

Cross sections plots would be prime April string terratory, especially if you are interested.

#494 works on vertical profile


Adjust for upcoming split db change

Adjusts esqueleto to work with upcoming split read and write DBs. https://github.com/yesodweb/persistent/pull/546

I think this should be good to go now? Does it all make sense?

Okay, bumped to use the newly released persistent-2.5.

Turns out, this allows to build with GHC-8.0.1 (with some warnings which I do not know if were present previously). Would be great to have it merged then.


Split up matchmaker_config.yaml

This proposes a solution to #130.
The configuration of core Open-match components ('services') is split into 3 files:

/config/component_config.yaml - contains a per-component configuration
/config/openmatch_config.yaml - configuration that must be shared by all components
/config/openmatch_constants.yaml - configuration that must be shared but is more dangerous to modify (so it's built into docker images)

File "openmatch_config.yaml" is also mounted to MMF and Evaluator Job's containers.
Original "matchmaker_config.yaml" is removed along with all its symlinks.
Also moved config package under internal/.
Also I placed the contents of "component_config.yaml" and "openmatch_config.yaml" inside the values.yaml file of Helm chart. So in theory one could even override some parts of Open-match configuration at chart installation time (didn't test how it works yet).
Note that configuration watching and reloading is not implemented at the moment. (Because of merging of several files in Viper and usage of "subPath")

Those should be my last comments on this change.

Well go test reports a data race: https://console.cloud.google.com/cloud-build/builds/c2a4b933-405e-4440-b52a-e6d21c872c6c?project=open-match-build#step_15
I'm not sure about how to deal with that because the issue seems to originate inside Viper, similar issues:
https://github.com/spf13/viper/issues/174
https://github.com/spf13/viper/issues/268

Were you able to get rid of the race condition?
I think for the purpose of the change we should break out the file move first and then add the split if the race condition still is there.

I think the easiest thing to do is bring back the wrapper and add a lock to use each method. We don't read from the config often enough for it to hurt perf.

Merge conflicts. CI via Make just got submitted should provide better regression coverage.

Okay I'm still fighting with data races. What's weird is that "go1.12.1 darwin/amd64" does not report races on this branch for me any more (after my attempt to fix races). However I sometimes can reproduce it on clean instances in GCE.
I'll open a new PR with only files move.

https://github.com/GoogleCloudPlatform/open-match/issues/213

There's a lot of conflicts here. Is this change still going in?

I'm closing this, let's try to get #204 working at first.


Cannot debug with chrome adapter missing chromeDebug.js

Sublime is a fresh install
tested on Windows 11 and Macos
⟸ process/starting :: ['/opt/homebrew/bin/node', '/Users/user/Library/Application Support/Sublime Text 3/Packages/Debugger/data/adapters/chrome/extension/out/src/chromeDebug.js']
⟸ process/started ::
⟸ request/initialize(1) :: {'clientID': 'sublime', 'clientName': 'Sublime Text', 'adapterID': 'chrome', 'pathFormat': 'path', 'linesStartAt1': True, 'columnsStartAt1': True, 'supportsVariableType': True, 'supportsVariablePaging': False, 'supportsRunInTerminalRequest': True, 'supportsMemoryReferences': True, 'locale': 'en-us'}
⟸ process/stderr :: node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module '/Users/user/Library/Application Support/Sublime Text 3/Packages/Debugger/data/adapters/chrome/extension/out/src/chromeDebug.js'
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

Node.js v17.3.0

They removed the old debugger but getting the new one working is going to be a lot of work

Resolved in 0.6.4


size of tile

Hi,
Thanks for your work for implementing and summarizing the NAFLD/NASH related methods. It is fun and helpful.
I just wondering why the size of Small tiles are 0.44 µm/px and Big tiles are 1.32 µm/px ，Is there any specific meaning like corresponding to magnification levels of 5 ×, 10×？
Thanks.

Hi,
The tile dimensions are empirical with a couple of boudary conditions from NASH morphology:

Big tiles had to show sufficient mesoscopic context for Fibrosis classification
Small tiles had to show sufficient detail for Steatosis, Inflammation, Ballooning classification

The input dimension of 299 px was given by our CNN (Inception.V3).
We chose to make big tiles an integer multiple (3x) of the small tiles, so you can create both simultaneously.
However, the dimension is not directly related to a specific magnification of a microscope.

Hi,
The tile dimensions are empirical with a couple of boundary conditions.
NASH morphology:

Big tiles had to show sufficient mesoscopic context for Fibrosis classification1.32µm/px *299 px = 394 µm
Small tiles had to show sufficient detail for Steatosis, Inflammation, Ballooning classification 0.44µm/px *299 px = 131 µm

Technical conditions:

The input dimension in pixels of 299 px was given by our CNN (Inception.V3).
We chose to make big tiles an integer multiple (3x) of the small tiles, so you can create both simultaneously.
The Pixel Resolution of 0.44 µm/px are 2x the pixel resolution of an AxiosScan Z1 at 20x, which we use a lot (note, other 20x systems might have different µm/px, since it depends on the whole system).

However, the dimension is not directly related to a specific magnification of a microscope.

Thanks for your reply.