Fix install on cloudshell

Reinstate check for running in Docker container and don't use sudo if we are
Use virtualenv
Hopefully this addresses #19, but since my own cloudshell environment is set up correctly already it is hard to test. Would appreciate some testing on this PR

@rgardler,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

This should fix #19

@rgardler
This time it fails to create a symlink:
ln: failed to create symbolic link '/home/aleksandar/bin/../simdem/main.py': File exists
How can I remove all traces of simdem and try new installation?
aleksandar@Azure:~$ git clone -b cloudshell https://github.com/rgardler/simdem.git
Cloning into 'simdem'...
remote: Counting objects: 1912, done.
remote: Compressing objects: 100% (195/195), done.
remote: Total 1912 (delta 238), reused 334 (delta 178), pack-reused 1511
Receiving objects: 100% (1912/1912), 290.68 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1131/1131), done.
Checking connectivity... done.
aleksandar@Azure:~$ cd simdem
aleksandar@Azure:~/simdem$ ./scripts/install.sh
Running in a Docker container
W: chmod 0700 of directory /var/lib/apt/lists/partial failed - SetupAPTPartialDirectory (1: Operation not permitted)
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
Using base prefix '/usr'
New python executable in /home/aleksandar/simdem/simdem-env/bin/python3
Also creating executable in /home/aleksandar/simdem/simdem-env/bin/python
Installing setuptools, pip, wheel...done.
Collecting colorama (from -r requirements.txt (line 1))
  Downloading colorama-0.3.9-py2.py3-none-any.whl
Collecting flask (from -r requirements.txt (line 2))
  Using cached Flask-0.12.2-py2.py3-none-any.whl
Collecting flask-socketio (from -r requirements.txt (line 3))
Collecting pexpect (from -r requirements.txt (line 4))
  Downloading pexpect-4.2.1-py2.py3-none-any.whl (55kB)
    100% |████████████████████████████████| 61kB 4.1MB/s
Collecting Werkzeug>=0.7 (from flask->-r requirements.txt (line 2))
  Using cached Werkzeug-0.12.2-py2.py3-none-any.whl
Collecting itsdangerous>=0.21 (from flask->-r requirements.txt (line 2))
Collecting click>=2.0 (from flask->-r requirements.txt (line 2))
  Using cached click-6.7-py2.py3-none-any.whl
Collecting Jinja2>=2.4 (from flask->-r requirements.txt (line 2))
  Downloading Jinja2-2.9.6-py2.py3-none-any.whl (340kB)
    100% |████████████████████████████████| 348kB 5.2MB/s
Collecting python-engineio>=1.0.0 (from flask-socketio->-r requirements.txt (line 3))
Collecting python-socketio>=1.5.0 (from flask-socketio->-r requirements.txt (line 3))
Collecting ptyprocess>=0.5 (from pexpect->-r requirements.txt (line 4))
  Downloading ptyprocess-0.5.2-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->flask->-r requirements.txt (line 2))
  Downloading MarkupSafe-1.0.tar.gz
Collecting six>=1.9.0 (from python-engineio>=1.0.0->flask-socketio->-r requirements.txt (line 3))
  Downloading six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: MarkupSafe
  Running setup.py bdist_wheel for MarkupSafe ... done
  Stored in directory: /home/aleksandar/.cache/pip/wheels/88/a7/30/e39a54a87bcbe25308fa3ca64e8ddc75d9b3e5afa21ee32d57
Successfully built MarkupSafe
Installing collected packages: colorama, Werkzeug, itsdangerous, click, MarkupSafe, Jinja2, flask, six, python-engineio, python-socketio, flask-socketio, ptyprocess, pexpect
Successfully installed Jinja2-2.9.6 MarkupSafe-1.0 Werkzeug-0.12.2 click-6.7 colorama-0.3.9 flask-0.12.2 flask-socketio-2.9.2 itsdangerous-0.24 pexpect-4.2.1 ptyprocess-0.5.2 python-engineio-1.7.0 python-socketio-1.8.0 six-1.10.0
ln: failed to create symbolic link '/home/aleksandar/bin/../simdem/main.py': File exists

If I run main.py directly, I get this:
aleksandar@Azure:~/bin$ ./main.py
Traceback (most recent call last):
  File "./main.py", line 12, in <module>
    from web import WebUi
  File "/home/aleksandar/bin/web.py", line 1, in <module>
    from flask import Flask, send_from_directory
ImportError: No module named 'flask'

Thanks for testing.
Can you try again, I think I resolved the failed symlink issue now.
Note, the new install script creates a Python Virtual environment, this needs to be activated before you can run Simdem. I've updated the readme to reflect this but the short version is to run source simdem-env/bin/activate from within the simdem code directory.

I don't know what I'm doing wrong:
aleksandar@Azure:~$ cd simdem
aleksandar@Azure:~/simdem$ dir
cli.py     demo.py       Dockerfile_cli    environment.py  env.local.json      js       main.py  pre-commit.sh  requirements.txt  simdem-env  templates
config.py  demo_scripts  Dockerfile_novnc  env.json        GETTING_STARTED.md  LICENSE  novnc    README.md      scripts           style       web.py
aleksandar@Azure:~/simdem$ source simdem-env/bin/activate
(simdem-env) aleksandar@Azure:~/simdem$ simdem --version
bash: simdem: command not found

It doesn't look like you are doing anything wrong, it's just that you are the first person I know of trying this install in cloudshell step. You're finding the bugs (I probably did some manual step I forgot about).
Now you are doing the virtualenv you should be able to run using ./main.py --version
Simdem should have been installed into ~/bin/simdem-dev and there should be a symlink to is at ~/bin/simdem
You should also have ~/bin in your $PATH
Can you please see which one of those conditions is not satisfied (my guess would be the last one)

./main.py --version returns "Permission denied."
$PATH inside of a virtualenv is:
(simdem-env) aleksandar@Azure:~/simdem$ echo $PATH /home/aleksandar/simdem/simdem-env/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/opt/mssql-tools/bin

Looks like your path is not setup as needed. Please run PATH=$PATH:~/bin and then try simdem --version
If this works I'll update this PR to make this setting permanent.
(Thanks for persevering with me on this)

after modifying $PATH and starting a virtualenv, it finally works:
(simdem-env) aleksandar@Azure:~/simdem$ simdem --version
0.8.0-dev

I've created a directory simdemos and one .md file with a couple of commands and try to run it with:
$ simdem demo  -p ~/clouddrive/simdemos
What happens is that command clear is typed, screen is cleared, and I'm at prompt.

Yay for getting you up and running - and thanks for your patience. I'll update this PR to make that permanent and merge it soon.
Regarding your second comment, that's expected as you are running in "demo" mode. Hit a key and it should "type" the first command in your .md file. See https://github.com/Azure/simdem#demo-mode
If you want to see descriptive text and instructions run in "tutorial" mode by replacing "demo" with tutorial.
Other modes are available, see the readme linked above.

Those instructions are for running commands in a container and I get an error that docker deamon is not started.
What is the right command in Cloud Shell to start a demo (or tutorial) if I have a README.md file with a couple of commands in the ~/clouddrive/simdemos directory?

Sorry, yes, I should update those commands to reflect CLI use but the modes they describe are the same. To run your script in tutorial mode…
simdem -p cloudrive/simdemos tutorial
Demo mode:
simdem -p cloudrive/simdemos demo
Learn mode:
simdem -p cloudrive/simdemos learn
And so on…
From: Aleksandar Nikolić<EMAIL_ADDRESS>Sent: Tuesday, August 15, 2017 4:02 PM
To: Azure/simdem<EMAIL_ADDRESS>Cc: Ross Gardler<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Azure/simdem] Fix install on cloudshell (#20)
Those instructions are for running commands in a container and I get an error that docker deamon is not started.
What is the right command in Cloud Shell to start a demo (or tutorial) if I have a README.md file with a couple of commands in the ~/clouddrive/simdemos directory?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fsimdem%2Fpull%2F20%23issuecomment-322612574&data=02|01|ross.gardler%40microsoft.com|58f1a824b99e409dbda008d4e431a76f|72f988bf86f141af91ab2d7cd011db47|1|0|636384349321455330&sdata=QrrSCBeLpXXakIl9rj2qIjQECTQKZPA0cQiAoQZCy20%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAPRgMp9qWAijoB8yA3o8RbJHN2cyntjks5sYiNugaJpZM4O14du&data=02|01|ross.gardler%40microsoft.com|58f1a824b99e409dbda008d4e431a76f|72f988bf86f141af91ab2d7cd011db47|1|0|636384349321455330&sdata=ykhY0LvIYnsAdemYqkFLco4iGTC2%2FidHcQ%2FYVaMtpVg%3D&reserved=0.

I'm making some progress. :) Commands in my README.md weren't correctly written. I've used an inline single backticks instead of three backticks in new lines.
Now I have a new issue. My echo command works as expected, but simdem bumps on executing Azure CLI command:
$ $ echo "hello world"
hello world

$ az vm list -d -o table
/home/aleksandar/simdem/simdem-env/bin/python: Error while finding spec for 'azure.cli' (ImportError: No module named 'azure')

Can you open up a new issue for this. Can you test that the command you want to run works outside of SimDem.

Yes, a command works outside of simdem. I'll open a new issue.


Add another wechat group of Doris

I'm submitting a PR of config changing.
[ ] Bug Fix
[ ] Feature
[x] Other (Refactoring, Added tests, Documentation, ...)

Checklist

[ ] Commit Messages follow the Conventional Commits pattern

A feature commit message is prefixed "feat:"
A bugfix commit message is prefixed "fix:"

[ ] Tests for the changes have been added

Description
Add another Wechat group "Doris开发者"
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Hi @huan , Could you please check it again? All checks has passed~

No problem, merged!


Notice: Undefined index: thumbnailSizes

Situation
If I understand it correctly, thumbnailSizes became optional after davidyell/CakePHP3-Proffer#83 . I have added the Proffer behavior to my ProjectFiles model table like this:
$this->addBehavior('Proffer.Proffer',[
	'file_name' => [
		'dir' => 'file_dir'
	]
]);

thus, leaving out thumbnailSizes from the configuration array for the behavior.
Problem
On deleting a ProjectFile record that has no thumbnailSizes set, I get this notice:
Notice (8): Undefined index: thumbnailSizes [ROOT\vendor\davidyell\proffer\src\Model\Behavior\ProfferBehavior.php, line 119]
Solution
Looking at the code in ProfferBehavior:119, it could be fixed adding a isset/empty check on $settings['thumbnailSizes'].
Soon I'll try to fix/write the code myself instead of only creating issues.
Thx again!

Argh, that's a regression I've introduced with my PR. I'll have to create a test for this and a fix.


Fix hanging when solver exits with a non-zero exit code

Previously, if the solver quit abruptly with a non-zero exit code (such as for a segmentation fault), Boogie would hang. These changes turn that into a well-behaved solver exception.

Looks amazing. How did you find this?

Looks amazing. How did you find this?

It was a rather frustrating bout of debugging, I must say! I've known that this was an issue for a while, and I expected that the SolverExited code would be run when the solver had a segfault, so I kept putting either breakpoints or print statements there and never having them executed. So, IIRC, I think I read a bunch of the documentation for Process and came across the EnableRaisingEvents property. I actually created this branch a month or so ago and held off creating a PR while I figured out how to create a test that intentionally crashed without needing to compile some C code in the test suite. And then I realized it didn't need to segfault, just return non-zero, so /usr/bin/false does the trick.

Also, I added a commit to increment the version.

Thanks!


Odd-looking scroll bars on tabbed widget

Firefox 66.0 on Windows 10

Unnecessary margin-bottom at .nav-tabs .nav-item
https://github.com/NiceDash/Vibe/pull/2

I am still seeing a horizontal scroll bar on windows. The idea was to make the tabs scrollable for a better mobile responsive experience but it's coming at the expense of the design. Also it's not working properly.
I am removing overflow-x: scroll; from the .nav-tabs class until a better solution for responsive tabs is created.

https://github.com/NiceDash/Vibe/pull/5 Should fix this. 🙂


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Coverage decreased (-0.1%) to 84.173% when pulling efdaf9373fb75dad4843d1f9fa0acbb7809b55ff on analysis-8jN0x2 into ea7875ffbb457af40747bb5018d67ca3daef2858 on master.

Coverage decreased (-0.1%) to 84.173% when pulling efdaf9373fb75dad4843d1f9fa0acbb7809b55ff on analysis-8jN0x2 into ea7875ffbb457af40747bb5018d67ca3daef2858 on master.


Change to c_models?

Ye

These are supposed to be ports of the original weapons, so I guess I can add a ConVar to c_models instead

Added gs_weapons_usecmodels


Add capability to share sim with others

In the legacy cfiresim, a given simulation would be able to be shared by providing a link such as http://www.cfiresim.com/input.php?id=12345.
We need to recreate the ability to load a simulation via the $_GET['id'] variable.  This will also include showing the ID of the simulation in the load screen.

Partially added in https://github.com/boknows/cFIREsim-open/commit/e2389d79b3d078bd3ca5f098a5bf1f7326226896   Loading a sim via ID is done by appending "?id=" and the id number to the cFIREsim URL.   Need to add a way to view ID's of your saved sims before closing this.

This was added in https://github.com/boknows/cFIREsim-open/commit/439c5c45c58354a0cf517810218cd813799faa5c
It isn't obvious, though. In the saved sims dropdown, it now shows the sim ID.  If you reference a URL of htttp://www.cfiresim.com/input.php?id=110, it will load ID 110.


MAINT: Add lint check to PRs (next)

Forward-port of #798 to the next branch.
This PR tests against all three working directories in the repo (React, Vue3, base Vue2), although we can obviously not include some of these if necessary (or just delete the files from the branch).
Note that Vue3 codebase currently has lots of linting issues - fix is #800.
These checks don't block merging PRs.

woot


fix: use rootNavigator = true when close web3 modal

Hi @quetool , I'm opening this pull request to resolve an issue when closeModal is called,
The thing is we open the modal using rootNavigator  = true, it means when we close the modal, we should use rootNavigator = true also, otherwise it may affect to current navigation stack, and returns a blank screen. Please help to take a look and resolve.
What ?

use rootNavigator = true when close web3 modal

Why ?

Navigator.pop without using rootNavigator sometimes make the navigation system returns the blank screen

reference: https://stackoverflow.com/questions/53723294/flutter-navigator-popcontext-returning-a-black-screen

Hello @mthinh! This is now merged! Thank you and sorry for the delay!


401 - Unauthorized in production mode

Hi,
We're trying to switch our client's site to production.
We've used the sdk demo with our own credentials MangoPay credentials.
When processing the payment, during the following call :
$oMangoRegisteredCard = $oMangoPayApi->CardRegistrations->Get('825884503');
(see line 22 : https://github.com/Mangopay/mangopay2-php-sdk/blob/master/demos/paymentDirect/payment.php)
We get a 401 - Unauthorized error from MangoPay. The error is thrown in the following file : \MangoPay\Libraries\RestTool.php, in CheckResponseCode().
The card identifier (825884503 in the example) was created automatically when generating the form earlier, as per the demos.
Everything works absolutely perfectly in development mode (https://api.sandbox.mangopay.com). We only have this issue in production, although our credentials are correct.
Could you please point me to the right direction ? We've already contacted<EMAIL_ADDRESS>but they told us to ask for help here.
Thanks.

Hello @Feloot
Did you try this request on POSTMAN ? Is it work ?
Can I have the user ID linked to this card registration ID (825884503)
Thanks in advance,

Hi @Riwak,
Thank you for your reply.
I'm sorry I did not try with POSTMAN, I've been exclusively working with the PHP SDK, I figured if it works in dev mode then it's probably just a configuration issue with this account somehow ?
Here's an example I've just got right now.
UserId : 835425258 // = $oMangoPayApi->Users->Create($oMangoUserNatural)->Id;
CardId : 835425264 // = $oMangoPayApi->CardRegistrations->Create($oMangoCardRegistration)->Id;
Sadly once again when doing this :
$oMangoPayApi->CardRegistrations->Get(835425264);
I get the 401 - Unauthorized error.
Thank you so much for your guidance.

It's weird, let's try something :

Your temporary directory is accessible and writeable ?
Can you clear it ? and restarting the server ?

Hi,
Thank you for your reply.
I figured out the issue in the end ; in the SDK's demo examples, the API url is only configured on the form but it is not specified on the other pages, for instance : https://github.com/Mangopay/mangopay2-php-sdk/blob/master/demos/paymentDirect/payment.php
Since no url is specified, the default sandbox one is used : https://github.com/Mangopay/mangopay2-php-sdk/blob/master/MangoPay/Libraries/Configuration.php
That is why it is working in dev mode but not in production.
I hope this will help other people in the future.
Thanks and have a good day

Oh thanks for this report ! We will check and correct this behavior !


Add "binfmt-support" and "qemu-user-static" packages

Original issue:
https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/369

also on aarch64 so I think we're good to land this

running on:
ok: [test-packet-ubuntu1604-x64-1]
ok: [test-packet-ubuntu1604-x64-2]
ok: [test-packet-ubuntu1604-armv8-1]
ok: [test-marist-ubuntu1604-s390x-1]
ok: [test-packet-ubuntu1604-x64-3]
ok: [test-scaleway-ubuntu1604-x64-1]
ok: [test-packet-ubuntu1604-x64-4]
ok: [test-osuosl-ubuntu1604-ppc64le-1]
ok: [test-osuosl-ubuntu1604-ppc64le-2]


Bugs encountered while using the inference code "gen_midi_conditional.py" in "src/" folder

Hi, I encountered some bugs while using the "gen_midi_conditional.py" code to generate midi files for a given video. I installed the Python 2 environment given the requirement file "py2_requirements.txt" and then used the "video2npz.sh" to produce a "xxx.npz" file for the given video. But I encountered some problems while using the "gen_midi_conditional.py" code, the program output and error report are pasted below:
Command I used:
python3 gen_midi_conditional.py -f ../inference/LGpwmBqJF1Q_HarryPotter2ChamberOfSecrets.npz -c ../exp/train_exp/loss_70_params.pt
Code standard print:
inference
D_MODEL 512  N_LAYER 12  N_HEAD 8 DECODER ATTN causal-linear
[18, 3, 18, 129, 18, 6, 27, 102, 5025]
[*] load model from: ../exp/train_exp/loss_70_params.pt
new song
[vlog_npz matrix print here]
------ initiate ------
tensor([[[17,  1, 10,  0,  0,  0,  0,  1,  0]]])
Error print:
Traceback (most recent call last):
File "gen_midi_conditional.py", line 104, in
generate()
File "gen_midi_conditional.py", line 85, in generate
res, err_note_number_list, err_beat_number_list = net(is_train=False, vlog=vlog_npz, C=0.7)
File "/data/miniconda3/envs/pt17/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/data/miniconda3/envs/pt17/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 150, in forward
return self.module(*inputs, **kwargs)
File "/data/miniconda3/envs/pt17/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in call_impl
return forward_call(*input, **kwargs)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate/src_mm21_py2/model.py", line 483, in forward
return self.inference_from_scratch(**kwargs)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate/src_mm21_py2/model.py", line 341, in inference_from_scratch
h, y_type = self.forward_hidden(input, is_training=False, init_token=pre_init)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate/src_mm21_py2/model.py", line 216, in forward_hidden
init_emb_linear = self.forward_init_token(init_token)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate/src_mm21_py2/model.py", line 162, in forward_init_token
emb_genre = self.init_emb_genre(x[..., 0])
File "/data/miniconda3/envs/pt17/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate/src_mm21_py2/utils.py", line 80, in forward
return self.lut(x) * math.sqrt(self.d_model)
File "/data/miniconda3/envs/pt17/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/data/miniconda3/envs/pt17/lib/python3.8/site-packages/torch/nn/modules/sparse.py", line 158, in forward
return F.embedding(
File "/data/miniconda3/envs/pt17/lib/python3.8/site-packages/torch/nn/functional.py", line 2183, in embedding
return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
IndexError: index out of range in self
The inference code, trained model and data (including original video and processed .npz file) are attached in Google drive. Here is the link:
https://drive.google.com/drive/folders/1Ch3jjxZrztKAtEvuEhGjxPk2-G0NSYe0?usp=sharing
Could you help me check this? Really appreciate it.
Best regards,

pre_init in model.py are the init tokens for genre(first column), key(unused, second column) and instrument(third column). In your gen_midi_conditional.py you define the embedding size of them as init_n_token = [1, 1, 1] in line 48, so pre_init is out of range.
You can fix it by :

setting init_n_token = [7, 1, 6] in gen_midi_conditional.py (if init_n_token of your trained model is this)
or changing pre_init in model.py as empty array np.array([]) (if init_n_token of your trained model is [1,1,1])

Do you mean I should set the pre_init variable (  pre_init = np.array([[5, 0, 0], [0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 0, 3], [0, 0, 4], [0, 0, 5]])  ) as pre_init = np.array([])?

Yes, set pre_init as np.array([]). You can also try pre_init = np.array([[0, 0, 0]]) if np.array([]) doesn't work well
init_n_token is not the token itself, but the number of embedding classes for genre, key and instrument.

Thanks for your quick reply. After I set pre_init as np.array([[0, 0, 0]]), the inference program can run without no more error message output (Set pre_init as np.array([]) still triggers error). But what makes me feel strange is that the inference program does not seem to stop. It has run about 8 hours after launch for the 2min input video. I wonder is this normal? By the way, I haven't seen a midi output yet. Will the midi file be generated in the src/ folder?

That seems weird. Normally it runs for several minutes for a short video, and stop generating automatically with Beat Timing Encoding. Or it will break from the loop if music length exceed video length (see this).
I am not quite sure about your model setting, but I guess the video2npz pipeline has some problem. You can check the npz file(or vlog in model.py) to see whether its length matches the video length.
For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

As stated in README / Directory Structure, the generated midi files will be stored in the inference/ folder.

I followed the READ instruction and it runs normally. Here are some of the generated and intermediate files: https://drive.google.com/drive/folders/1UtZXXLiY9PNFo-p3lIslQxlEKCQzIcnU?usp=sharing.

I followed the README instruction and it runs normally. Here are some of the generated and intermediate files: https://drive.google.com/drive/folders/1UtZXXLiY9PNFo-p3lIslQxlEKCQzIcnU?usp=sharing.

Hi, Shangzhe, it seems that the link needs access permission. BTW, I indeed followed the detailed instruction provided by the README.md. But as I stated, the inference program could not stop (seems like it ran into an infinite loop) after I corrected the pre_init variable advised by Zhaokai. Did you use the video data, trained model and inference code in this link https://drive.google.com/drive/folders/1Ch3jjxZrztKAtEvuEhGjxPk2-G0NSYe0?usp=sharing](url) and successfully generate midi files?

I used your video, our model, and inference code in this repo without any modification.
Perhaps your inference code or model has problems.

That seems weird. Normally it runs for several minutes for a short video, and stop generating automatically with Beat Timing Encoding. Or it will break from the loop if music length exceed video length (see this).
I am not quite sure about your model setting, but I guess the video2npz pipeline has some problem. You can check the npz file(or vlog in model.py) to see whether its length matches the video length.
For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

Hi, Zhaokai, could you be more specific about what might be wrong when I use the video2npz pipeline? I followed the inference instruction in README.md. I saw there are three sub-steps in the video2npz.sh script. For the first sub-step optical_flow.py, the optical flow npz file was generated. Then for the second sub-step video2metadata.py, a json file was generated. The last sub-step metadata2numpy_mix.py generated a npz data file according to the last-sub-step-generated json file.
Then I used this npz data file together with my self-trained model and also the gen_midi_conditional.py in which the decoder_n_class and init_n_token variables were changed in line with the training data (output by the train.py file). After all these done, the inference program gen_midi_conditional.py can actually run, but the only problem is that it seemed that it ran into an infinite loop.
For your mentioned points:

I am not quite sure about your model setting, but I guess the video2npz pipeline has some problem. You can check the npz file(or vlog in model.py) to see whether its length matches the video length.
I am not quite sure about the video length you mentioned. Do you mean the number of the video frames? Or the dimension of the vlog_npz data?

For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.
Could you clarify which line (or which variable) in the source code you are referring to?

Again, many thanks for your patience and kindness. I really appreciate it.

I used your video, our model, and inference code in this repo without any modification. Perhaps your inference code or model has problems.

Thanks for your clarification.

That seems weird. Normally it runs for several minutes for a short video, and stop generating automatically with Beat Timing Encoding. Or it will break from the loop if music length exceed video length (see this).
I am not quite sure about your model setting, but I guess the video2npz pipeline has some problem. You can check the npz file(or vlog in model.py) to see whether its length matches the video length.
For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

Hi, Zhaokai, could you be more specific about what might be wrong when I use the video2npz pipeline? I followed the inference instruction in README.md. I saw there are three sub-steps in the video2npz.sh script. For the first sub-step optical_flow.py, the optical flow npz file was generated. Then for the second sub-step video2metadata.py, a json file was generated. The last sub-step metadata2numpy_mix.py generated a npz data file according to the last-sub-step-generated json file.
Then I used this npz data file together with my self-trained model and also the gen_midi_conditional.py in which the decoder_n_class and init_n_token variables were changed in line with the training data (output by the train.py file). After all these done, the inference program gen_midi_conditional.py can actually run, but the only problem is that it seemed that it ran into an infinite loop.
For your mentioned points:

I am not quite sure about your model setting, but I guess the video2npz pipeline has some problem. You can check the npz file(or vlog in model.py) to see whether its length matches the video length.

I am not quite sure about the video length you mentioned. Do you mean the number of the video frames? Or the dimension of the vlog_npz variable in gen_midi_conditional.py?

For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

Could you clarify which line (or which variable) in the source code you are referring to?
Again, many thanks for your patience and kindness. I really appreciate it.

you can check the value of n_beat and len(vlog). And also trace the value of cur_vlog to see why this break condition isn't executed

see the output when running inference, it should be like this

[   9   1   6   0   0   3   4  35 216]
[   3   1  10   0   0   5   1  36 226]
[   0   2   0  74  16   5   0  36 226]

the second row from the right (35,36,36) indicates pbeat

That seems weird. Normally it runs for several minutes for a short video, and stop generating automatically with Beat Timing Encoding. Or it will break from the loop if music length exceed video length (see this).
I am not quite sure about your model setting, but I guess the video2npz pipeline has some problem. You can check the npz file(or vlog in model.py) to see whether its length matches the video length.
For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

Hi, Zhaokai, could you be more specific about what might be wrong when I use the video2npz pipeline? I followed the inference instruction in README.md. I saw there are three sub-steps in the video2npz.sh script. For the first sub-step optical_flow.py, the optical flow npz file was generated. Then for the second sub-step video2metadata.py, a json file was generated. The last sub-step metadata2numpy_mix.py generated a npz data file according to the last-sub-step-generated json file.
Then I used this npz data file together with my self-trained model and also the gen_midi_conditional.py in which the decoder_n_class and init_n_token variables were changed in line with the training data (output by the train.py file). After all these done, the inference program gen_midi_conditional.py can actually run, but the only problem is that it seemed that it ran into an infinite loop.
For your mentioned points:

I am not quite sure about your model setting, but I guess the video2npz pipeline has some problem. You can check the npz file(or vlog in model.py) to see whether its length matches the video length.

I am not quite sure about the video length you mentioned. Do you mean the number of the video frames? Or the dimension of the vlog_npz variable in gen_midi_conditional.py?

For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

Could you clarify which line (or which variable) in the source code you are referring to?
Again, many thanks for your patience and kindness. I really appreciate it.

you can check the value of n_beat and len(vlog). And also trace the value of cur_vlog to see why this break condition isn't executed
see the output when running inference, it should be like this

[   9   1   6   0   0   3   4  35 216]
[   3   1  10   0   0   5   1  36 226]
[   0   2   0  74  16   5   0  36 226]

the second row from the right (35,36,36) indicates pbeat

Thanks for your detailed explanation, I will continue to check.

you can check the value of n_beat and len(vlog). And also trace the value of cur_vlog to see why this break condition isn't executed

I checked the value of n_beat and len(vlog). They are not equal, n_beat=940 > len(vlog)=166. And the value of cur_vlog gets stuck at 14 and never proceeds. Does this mean the input npz file of the inference code gen_midi_conditional.py is corrputed?

you can check the value of n_beat and len(vlog). And also trace the value of cur_vlog to see why this break condition isn't executed

I checked the value of n_beat and len(vlog). They are not equal, n_beat=940 > len(vlog)=166. And the value of cur_vlog gets stuck at 14 and never proceeds. Does this mean the input npz file of the inference code gen_midi_conditional.py is corrputed?

n_beat > len(vlog) is normal, the former represents total number of beats, the latter represents Bar and Beat tokens. Can you provide the standard output of inference?

you can check the value of n_beat and len(vlog). And also trace the value of cur_vlog to see why this break condition isn't executed

I checked the value of n_beat and len(vlog). They are not equal, n_beat=940 > len(vlog)=166. And the value of cur_vlog gets stuck at 14 and never proceeds. Does this mean the input npz file of the inference code gen_midi_conditional.py is corrputed?

n_beat > len(vlog) is normal, the former represents total number of beats, the latter represents Bar and Beat tokens. Can you provide the standard output of inference?

I put the newly generated standard output (stdout_new.txt) in this link https://drive.google.com/drive/folders/1Ch3jjxZrztKAtEvuEhGjxPk2-G0NSYe0

For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

Hi, Zhaokai, I observe that my pbeat attribute will be stuck to a number (say 5 or 14) and does not increase any longer when performing inference. I think this is the reason why the loop cannot stop.

For beat timing encoding you can also check the pbeat attribute (see the output when running inference, pbeat is the second column from the right), it should be monotonically increasing from 0 to 99.

Hi, Zhaokai, I observe that my pbeat attribute will be stuck to a number (say 5 or 14) and does not increase any longer when performing inference. I think this is the reason why the loop cannot stop.

It seems that this is due to the inconsistency of init tokens between train and generate, and will appear when using another training set. This should be fixed by 8f7922930aa219aa605246ed67a6f98c5c8df0e1

It seems that this is due to the inconsistency of init tokens between train and generate, and will appear when using another training set. This should be fixed by 8f79229

Thanks, will try it.

It seems that this is due to the inconsistency of init tokens between train and generate, and will appear when using another training set. This should be fixed by 8f79229

Thanks, will try it.

I tried the modified version, now it gives the following error. It seems that it still has the dimension problem.
Traceback (most recent call last):
File "train.py", line 226, in
train_dp()
File "train.py", line 169, in train_dp
losses = net(is_train=True, x=batch_x, target=batch_y, loss_mask=batch_mask, init_token=batch_init)
File "/data/miniconda3/envs/mm21_py3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/data/miniconda3/envs/mm21_py3/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 166, in forward
return self.module(*inputs[0], **kwargs[0])
File "/data/miniconda3/envs/mm21_py3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
return forward_call(*input, **kwargs)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate_new3/src/model.py", line 482, in forward
return self.train_forward(**kwargs)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate_new3/src/model.py", line 450, in train_forward
h, y_type = self.forward_hidden(x, memory=None, is_training=True, init_token=init_token)
File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate_new3/src/model.py", line 213, in forward_hidden
encoder_pos_emb = torch.cat([init_emb_linear, encoder_pos_emb], dim=1)
RuntimeError: Tensors must have same number of dimensions: got 2 and 3

It seems that this is due to the inconsistency of init tokens between train and generate, and will appear when using another training set. This should be fixed by 8f79229

Thanks, will try it.

I tried the modified version, now it gives the following error. It seems that it still has the dimension problem.
Traceback (most recent call last): File "train.py", line 226, in train_dp() File "train.py", line 169, in train_dp losses = net(is_train=True, x=batch_x, target=batch_y, loss_mask=batch_mask, init_token=batch_init) File "/data/miniconda3/envs/mm21_py3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/data/miniconda3/envs/mm21_py3/lib/python3.7/site-packages/torch/nn/parallel/data_parallel.py", line 166, in forward return self.module(*inputs[0], **kwargs[0]) File "/data/miniconda3/envs/mm21_py3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, **kwargs) File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate_new3/src/model.py", line 482, in forward return self.train_forward(**kwargs) File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate_new3/src/model.py", line 450, in train_forward h, y_type = self.forward_hidden(x, memory=None, is_training=True, init_token=init_token) File "/group/30042/shansongliu/Projects/VideoMusicRecommend/VideoBGMGenerate_new3/src/model.py", line 213, in forward_hidden encoder_pos_emb = torch.cat([init_emb_linear, encoder_pos_emb], dim=1) RuntimeError: Tensors must have same number of dimensions: got 2 and 3

I just downloaded the newest version of this repo and directly used the train.py there without further modification.

A typo, just fix it by d4a6c33dbd6e1a6f001ce1ba405d09050cb0df2f, you can try the latest version

A typo, just fix it by d4a6c33, you can try the latest version

It can run now. Thanks. Will check the inference later.


feat: reference crowdin/cli directly in action.yml runs.image

you dont need to have extra dockerfile, you can reference needed image directly and this way dockerfile isn't build on every run, which makes builds slower and less optimal than expected
runs:
  using: 'docker'
  image: 'docker://debian:stretch-slim'

https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#example-using-public-docker-registry-container
https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runsimage
Important: additional code setup like apk and entry point needs to be moved to a base crowdin image
https://github.com/crowdin/github-action/blob/master/Dockerfile#L3C1-L8C30

Unfortunately, it doesn't work that way. See the logs - https://github.com/crowdin/github-action/actions/runs/10060485921/job/27808235845
Also, the Dockerfile installs the required tools on which the action depends.
RUN apk --no-cache add curl git git-lfs jq gnupg;

let me fix that really quick

@andrii-bodnar fixed https://github.com/crowdin/crowdin-cli/pull/827


Failing to build ARM64 snap

Trying to build an arm64 snap, from master.
I've tried building locally on a pi4 (with 8Gb running on Ubuntu 20.10) using the same command from the github action
sg lxd -c 'snapcraft --use-lxd'
but it errors out after some time with.
Building cluster-agent
+ snapcraftctl build
Looking in links: /root/parts/cluster-agent/python-packages
Processing /root/parts/cluster-agent/python-packages/Flask-1.1.2-py2.py3-none-any.whl
Processing /root/parts/cluster-agent/python-packages/PyYAML-5.4.1.tar.gz
  Installing build dependencies ... error

  ERROR: Command errored out with exit status 1:

   command: /root/parts/cluster-agent/install/usr/bin/python3 /root/parts/cluster-agent/install/lib/python3.6/site-packa

ges/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-r9wqoe58/overlay --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links /root/parts/cluster-agent/python-packages -- setuptools wheel Cython
       cwd: None
  Complete output (3 lines):
  Looking in links: /root/parts/cluster-agent/python-packages
  ERROR: Could not find a version that satisfies the requirement setuptools
  ERROR: No matching distribution found for setuptools
  ----------------------------------------
WARNING: Discarding file:///root/parts/cluster-agent/python-packages/PyYAML-5.4.1.tar.gz. Command errored out with exit status 1: /root/parts/cluster-agent/install/usr/bin/python3 /root/parts/cluster-agent/install/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-r9wqoe58/overlay --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links /root/parts/cluster-agent/python-packages -- setuptools wheel Cython Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML
ERROR: No matching distribution found for PyYAML
Failed to run '/root/parts/cluster-agent/install/usr/bin/python3 -m pip wheel --no-index --find-links /root/parts/cluster-agent/python-packages --wheel-dir /tmp/tmpufn7n4lf flask PyYAML netifaces': Exited with code 1.
Run the same command again with --debug to shell into the environment if you wish to introspect this failure.

I've also tried remote build.
and that errors out with.
Building containerd
+ set -eux
+ . /build/snapcraft-microk8s-f74d44/parts/containerd/src/set-env-variables.sh
+ set -eu
/bin/sh: 2: set: Illegal option -
Downloading 'libmnl-1.0.4.tar.bz2'   0%
Downloading 'libmnl-1.0.4.tar.bz2' 100%
Downloading 'libnftnl-1.1.8.tar.bz2'   0%
Downloading 'libnftnl-1.1.8.tar.bz2' 100%
Downloading 'iptables-1.8.6.tar.bz2'   0%
Downloading 'iptables-1.8.6.tar.bz2' 100%
Downloading 'juju-2.8.6-k8s.tar.xz'   0%
Downloading 'juju-2.8.6-k8s.tar.xz' 100%
Failed to run 'override-build': Exit code was 2.
Build failed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 257, in run
    self.pull()
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 223, in pull
    env=env)
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 100, in run_build_command
    return self.backend.run(args, env=full_env, **kwargs)
  File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 537, in run
    subprocess.check_call(cmd, **kwargs)
  File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['lxc', 'exec', 'lp-bionic-amd64', '--env', 'LANG=C.UTF-8', '--env', 'SHELL=/bin/sh', '--env', 'SNAPCRAFT_LOCAL_SOURCES=1', '--env', 'SNAPCRAFT_SETUP_CORE=1', '--env', 'SNAPCRAFT_BUILD_INFO=1', '--env', 'SNAPCRAFT_IMAGE_INFO={"build-request-id": "lp-62642718", "build-request-timestamp": "2021-02-24T15:29:29Z", "build_url": "https://launchpad.net/~tbertenshaw/+snap/snapcraft-microk8s-f74d44/+build/1309800"}', '--env', 'SNAPCRAFT_BUILD_ENVIRONMENT=host', '--env', 'http_proxy=http://<IP_ADDRESS>:8222/', '--env', 'https_proxy=http://<IP_ADDRESS>:8222/', '--env', 'GIT_PROXY_COMMAND=/usr/local/bin/snap-git-proxy', '--', '/bin/sh', '-c', 'cd /build/snapcraft-microk8s-f74d44 && linux64 snapcraft pull']' returned non-zero exit status 2.
Revoking proxy token...
RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=lxd --series=bionic --arch=amd64 SNAPBUILD-1309800
Scanning for processes to kill in build SNAPBUILD-1309800

I can supply more logs if needed.

Thank you for reporting this @tbertenshaw . We should have this fixed soon.


Offline Kaia Community Workshop at Adeyemi Federal University of Education, Ondo State, Nigeria.

Description

The Community Workshop will be a physical event and take place at the School event Hall, at Adeyemi Federal University of Education, Ondo State, Nigeria.

The workshop is about introducing Blockchain Technology, introducing Kaia blockchain, kaia mission and uniqueness in the Web3 space.
In addition, how Kaia can help builders to build Dapp on Kaia, how Non-tech Web3 enthusiasts, writers can contribute to kaia blockchain and a community can be started after the event.
I intend to speak and collaborate with  @PaulElisha as a dev speaker for the workshop.
The Workshop will take place on Saturday, 7th of December, 2024.
BUDGET:
Event Hall - $25
Standee Banner for subsequent events with size 60cm * 160cm: $50
Event Banner & set-up - $20
Sound system — $10
Projector— $10
Logistics - $20
Pastry and coffee for attendees - $85
Speaker @PaulElisha welfare & transport expenses - $20
Total === $240
Others
-$KAIA distribution to participants- $
Bounty track

[Education and Community]

@zxstim LKGTM.  We can proceed for sure

Approved to proceed but I don't want anymore big events after this one. If you need pre-payment to execute, then the event is beyond your capability.
I prefer small coffee meetups (less than 10 people) that can come and build something for this builder program or for the general community to engage in fun activities.

Noted with thanks.
We will work on small coffee meetups with builders after this event.
We've also on-boarded devs and non-devs in the Kaia Africa Online Community from the previous events.
They are presently getting free mentorship and learning all about KaiaChain at the moment.
Thank you.

so in regards to onboarding, i need people to do something for me to know they are onboarded and contributing. Crypto is all about community and how can we empower said community.

For developers, they can join this builder program to contribute and earn (tons of things to build)
For creators, they can create NFTs, memes, host online spaces/meetups and make contents. @kaia-dev-intern will be tipping people onchain.
For just community members, they can try out all the dapps on kaia, write their feedbacks, make tutorials, help others to get onboarded by posting contents on social media. @kaia-dev-intern will see and tip them.

These are great opportunities for us in our community, I've passed the information to community members including devs and creators.
@ayo-klaytn and @PaulElisha will help monitor their contributions.
Thank you.

Hello, the Kaia Community Workshop has been completed as of December 7th. We had a gathering of builders (devs and non-devs) that explored the Kaia ecosystem, the infrastructures and opportunities available.
Here is the link to our X announcement.
[([(https://x.com/samlovework/status/1866120636763983877?t=jrpVgiWNQSN_ZZ_HYIyn6Q&s=19))]
Events pictures below:

Below is my dorahacks build link:
https://dorahacks.io/buidl/20650/

approved for 950 KAIA (meetup cost) + 200 KAIA (for you) + 40 KAIA (community airdrop, equally split among everyone) = 1190 KAIA

closing


Textual definition update:

Guidelines
See http://wiki.geneontology.org/index.php/Guidelines_for_GO_textual_definitions#Use_genus-differentia_patterns_for_definitions
More details at https://douroucouli.wordpress.com/2019/07/08/ontotip-write-simple-concise-clear-operational-textual-definitions/

GO term ID and label for which you request a definition update
GO:0050877 nervous system process

Current definition (genus-differentia pattern, plus additional information if needed)
A organ system process carried out by any of the organs or tissues of neurological system.

New proposed definition (genus-differentia pattern, plus additional information if needed)
An organ system process carried out by any of the organs or tissues of the neurological system.

Reference(s)
N/A

Additional information
This fixes two typos in the definition.

Also fixed several similar typos in the terms directly under GO:0003008 system process. Thanks for the alert.


 Huge drop in velocity since attempting to use React for no observable gain.

This is mostly done now. Closing.


SVC model trained with Sparse matrix cannot be serialized (pickled).

Describe the bug
SVC model trained with a scipy sparse matrix cannot be serialized (pickled).
To Reproduce
#!/usr/bin/env python

import sklearn.svm
from sklearn import datasets
import scipy.sparse
import pickle

X, y = datasets.load_iris(return_X_y=True)

## with numpy array
clf = sklearn.svm.SVC()
clf.fit(X, y)

## OK. no problem
s = pickle.dumps(clf)

## with Sparse matrix
X = scipy.sparse.csr_matrix(X)
clf = sklearn.svm.SVC()
clf.fit(X, y)

# Error
s = pickle.dumps(clf)

Traceback (most recent call last):
  File "**.py", line 24, in <module>
    s = pickle.dumps(clf)
ValueError: Object is not serializable

Environment:

Intel distribution for Python 2022.2.0 (installed via dnf).

Hi @yappyjp
Thanks for pointing out this issue.
I'll check what could be the cause and get back as soon as I can

It appears that internal oneDAL model with sparse data usage is the reason.
Trying to serialize clf._onedal_estimator._onedal_model with fail with same error.

Same error without https://github.com/oneapi-src/oneDAL/pull/2122 fix will appear for any patched SVM model - NuSVC/NuSVR/SVC/SVR.

Hi!
Is there any update on this one? I saw the PR is approved but nor merged yet?

Hi @doganMemory, PR is waiting for additional approval and check

@Alexsandruss The above PR is merged it seems. When can it be merged into the intelex package?

@arijit-s  - this have been released already - you can look for latest package on pypi/conda


Is MaterialTextField InputType Choice have property SelectedIndex/SelectedItem?

Hi,
Does MaterialTextField InputType Choice have property SelectedIndex/SelectedItem?
I try another solution like set text property to one string text (Choices is List of string) but when i click it, the field have that text I have already set not focus or selected. Can you add this property or something like that?
Thank for your library

This would be excellent to have :)

any progress on this ?

@contrix09  please could you implement this feature ?


Isekai Brasil

Source name
Isekai Brasil
Source link
https://www.isekaibrasil.com/
Source language
PT BR
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a title with source name.
[X] I have checked that the extension does not already exist on the website extensions list or the app.
[X] I have checked that the extension does not already exist by searching the GitHub repository and verified it does not appear in the code base.
[X] I will fill out all of the requested information in this form.

It's just a clone of Hinata Soul.


Question: Using DeepEval with HuggingFace LLM

Hello,
Do you have a working example of using DeepEval with HuggingFace LLM without having to download the model to the local environment (like using HuggingFaceEndpoint)?
Thanks.

@nikhilkomakula No we don't, but it should just be an API request. The important thing is the generate method should only accept the prompt (string) and output the generation (string)

@nikhilkomakula If you come on our discord and share some code for your HugginFaceEndpoint i can give you an example: https://discord.com/invite/a3K9c8GRGt


Bot created in Composer doesn't show 'Open In Composer' in Azure

Describe the bug

should be:

Version

Browser

[ ] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Screenshots

Additional context

@cwhitten @luhan2017 do we know whether composer created bot has  "openWithHint" set for "azurebot"? Could you provide a point to the composer code where the property is being set before the request is sent? thanks

@swagatmishra2007 do you know why JS SDK uses https://github.com/Azure/azure-sdk-for-js/blob/33602ffe73abe54cf4c4e232ee60057d0ab3395e/sdk/botservice/arm-botservice/src/models/mappers.ts#L106 to only allow known property names?

I have created  PR https://github.com/Azure/azure-rest-api-specs/pull/15456/files  add the properties to the swagger spec. Once that is published, and when the new JS SDK gets AutoRest generated. The composer can take on the new JS SDK to get the property set. If the composer wants to make the scenario work without waiting, it can issue direct ARM REST PUT on the bot to patch the properties.

https://github.com/microsoft/BotFramework-Composer/search?q=openWithHint&type=code here is the composer code for openWithHint.

Hai's PR needs to get reviewed and checked in for this to be fixed.

Hai's PR just got merged, and I submitted api release request. I will update the package version in composer when the release is done. @MichaelHaydenAtMicrosoft

The package is already released, @zhixzhan, could you help create a PR in composer to update to the new version<EMAIL_ADDRESS>


Add direction and stroke-dash keywords

thank you @pleshevskiy . will merge this when the next release is cut (and direction is widely available)


fix: make the event listener on the window to use the capture option

Overview

What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests / types / typos

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Does this also solve #6084 @ITakayuki?

@wmertens
No, it doesn't seem to have been resolved yet.
The problem with #6084   is that the contents of processReadyStateChange are not executed unless hasInitialized is set back to 0, so I think that needs to be fixed as well.


How to rotate the video ???

In VLC.DotNet
myVlcControl.VlcMediaplayerOptions = new[] { "--quiet",
"--video-filter=transform",
"--transform-type=90"
};

You can use those options in Meta.Vlc too.
Or you can set the Transform property of VlcPlayer to do it easy.

My idea is to use any plugin VLC


[PLACES-462] Integrate backend changes in Auth

Ticket

Corresponding ticket on backend: https://github.com/Path-Check/safeplaces-backend/pull/193
Will merge when you do.


feat: convert universal naviation test to Playwright

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

I will be adding the donation test for the menu in another pr, most likely in #54857

@ahmaxed
https://github.com/freeCodeCamp/freeCodeCamp/pull/54873#issuecomment-2119993373
The signout/signin tests are covered in signout-modal.spec.ts


remove unused symbol from BUILD file.

Warning shown by internal tools in http://cl/560228301.
BUG=cleanup

@mergifyio refresh


Ollama OpenAI compatibility

Adding support for ollama.

@jamesrochabrun neat! Thanks for all your work on this lib


Add tests for tasks

Need to add tests for all the tasks, ideally running in the same container and with the same environment variables as it would in concourse. Should probably move tflint to it's own directory in the process, to keep things tidy:

tflint/task.yml and tflint/tests
terraform/task.yml, terraform/task.sh and terraform/tests

Stale


SRVLOGIC-382: SonataFlow Management Console productization setup in midstream - 2

Add image-env-to-json-standalone and EnvJson.schema.json to sonataflow-management-console-image-999-SNAPSHOT-image-build.zip
Notes:
@ricardozanini

Because I needed the image-env-to-json dependency and the sonataflow-management-console-image/dist-dev, I moved the location for this configuration from sonataflow-management-console-webapp to sonataflow-management-console-image.
the new zip location is packages/sonataflow-management-console-image/target/sonataflow-management-console-image-999-SNAPSHOT-image-build.zip

LGTM.
Inside the zip it has now a folder called app with what existed before + 2 files (EnvJson.schema.json and image-env-to-json-standalone)


Make logo adapt to dark mode; add source code links to documentation

Make logo adapt to dark mode (it currently partly blends into the dark background)
Add source code links to the API in the documentation. These links take the user directly to the range of lines where the function is defined in the source file in the GitHub repository.

Documentation generated by the CI action is all good ✅

Documentation generated by the CI action is all good ✅


Sample Authorization server (login -logout -role-permission ) and mysql

Hi thanks for you great work
please provide some sample that connect to mysql and also have entities like user, role , role_permission,m permission, clinet )
some sample standard for use in comminity
there are several sample that not work properly
kind regards

Thanks @jdev58 !
Please see the Demo sample which provides custom configuration for various features implemented by Spring Authorization Server.
Also, see the How-to guides for common configuration use cases.
If you have any other questions, please ask on Stack Overflow as we prefer to use GitHub issues only for bugs and enhancements.


Different line height between light and dark mode

Describe the Bug
I have noticed that the light and dark modes are displayed with different line heights in code blocks.
Steps to Reproduce

Click Dark Mode
Click Light Mode

Expected Behaviour
Equal line heights.
Screenshots or Additional Context

Browser Details
Vivaldi Browser 6.8
Exact BookStack Version
24.05.3


[Suggestion] Display Warning/Error When Using Proxy Instead of Snapshot for Comparison in useEffect

Sometimes, I mistakenly use a proxy inside useEffect for comparison, which leads to unexpected errors. I wish there were a way to display a warning if I try to use a proxy inside useEffect for comparison.

Thanks for opening up an issue.
Can you write some small code snippets to illustrate the problem?

The plugin doesn’t do cross file scopes so if your proxy comes from a different file the rule would become useless.
we do currently assume that a variable is a proxy if it’s passed to ‘useSnapshot’ but if you use the proxy without the snapshot creation then the rule wouldn’t know what to do.
let me think further if there’s a better way to avoid the issue

@barelyhuman thanks, I hope there's a way!

Oh, so after trying out a few approaches, the only viable cases are

is if the proxy is added to the snapshot
or the proxy import is available in the same file.

Proxy being imported from another file (Cross file references) will create a lot of scoping management which will slow down the plugin and we'd have another typescript language server situation.
Though, if I understand the problem you need something that notifies you of whether you accidentally put the proxy in use effect.
import {proxy, useSnapshot} from "valtio"

const proxyState = proxy({count:1}) // => We now know that `proxyState` is a proxy

function Component(){
const snap = useSnapshot(proxyState) // => Also signifies that `proxyState` is a proxy

useEffect(()=>{
 // can now detect if proxy state is in here.
},[])

return <></>
}

If one of the above is satisfied, we can throw a warning.
also, if there's a function inside the effect that's using the proxy, there's cases where it might be valid and cases where it might not be so that makes it invalid to throw a warning.
function Component(){
const snap = useSnapshot(proxyState)

useEffect(()=>{
 const update = ()=>{
     proxyState.count += 1
  }
  let id = setInterval(()=>{update()}, 1000)
  return () => clearInternval(id)
},[])

return <></>
}

in the above case the usage is valid so that will not have a warning.
@dai-shi want to add any other cases where it might valid/invalid to use the proxy ?

if I understand the problem you need something that notifies you of whether you accidentally put the proxy in use effect.

yes that's correct.

if there's a function inside the effect that's using the proxy, there's cases where it might be valid and cases where it might not be so that makes it invalid to throw a warning.

I'm not sure if eslint could do it but here's one approach:
useEffect(()=>{
// don't show error if operation is mutation
  proxyState.count += 1
},[])

useEffect(()=>{
// show error if operation is comparison
  if(proxyState.count>1){
}
// show error if operation is accessing a value
const usageQuota = proxyState.usageQuota;
},[])

If the above is not possible, one idea is to show a warning (instead of an error) if a proxy is present inside useEffect. This should prevent most mistakes, if not all. The likelihood of a practical scenario where a proxy value needs to be updated inside useEffect is quite low, I suppose.

it is possible to selectively show warning only for comparison, mostly worried about the detection of something being a proxy.
we already do selective warnings for snapshots

  // don't show error if operation is mutation
  proxyState.count += 1

That seems a bit too hard, because it's both read and write...
I understand reading a proxy value directly in useEffect body is almost a mistake, but I'm not sure if there are valid cases. There can be.


reserved identifier violation

I would like to point out that identifiers like "__CACHE_H__" and "__MY_PARAMETERS_H__" do not fit to the expected naming convention of the C++ language standard.
Would you like to adjust your selection for unique names?

@elfring do you have a particular style guide in mind?

How do you think about to make your include guards not only standard-compliant but also really unique by appending a kind of UUID?

I don't know how UUID works, but I guess I can adopt the boost style or the Google style. Basically, it'll look like this: H


v2.0.0 causes display resolution issues

After installing your mod in my custom modpack for version 1.21, when I start the game, my PC interface size greatly increases for a few seconds.
A black screen appears first. Then my screen resolution gets to about 800×600 or so (all fonts and windows become huge) until the main Minecraft menu appears. After that, everything comes back to normal. And this happens every time you start it.
With other Minecraft versions, I didn't have such a problem. Perhaps the presence of the fullscreeNO mod helped. However, it's not yet available for 1.21. I force-installed it, but it doesn't seem to work.
Logs. No crash-report.

So, GLFW doesn't allow you to choose the starting location of a window you create. This is why, previously with CWB installed, you could see Minecraft starting as a small window and only after a few seconds resizing to its full borderless fullscreen glory. In v2.0.0, I decided to circumvent that by creating a "proper" fullscreen window and then immediately turning it into a borderless fullscreen one, to squeeze a smoother startup experience out of this whole ordeal.
However, this also means that a custom video mode may be temporarily applied during that transition, if it is set at all, of course. This shouldn't be the case, honestly, and I'm going to tweak it in a future version. In the meantime, to fix the problem on your end, you need to ensure that there is no custom fullscreen resolution set. To do that, go to the video settings (if you have Sodium installed, press Shift + P to jump from Jelly's settings screen to the original one), and bring the "Fullscreen Resolution" slider all the way to the left until it says "Current," like so:

Alternatively, you can open the .minecraft/options.txt file, locate the fullscreenResolution property, and simply delete it. It should look something like this in your case:
fullscreenResolution:800x600@60:24

Without a custom fullscreen resolution set, the game should use your current one and stop messing up your desktop!

Unfortunately, this temporary solution didn't help. In the in-game settings, "Fullscreen Resolution" has already been set to "Current". However, in options.txt there was no fullscreenResolution line at all.
I've done the steps you described, but fullscreenResolution never appeared in the settings, and the next time I started the computer interface was attacked again.
I'll try again later, saving a different screen resolution first.

Do you start the game with the --fullscreenWidth and --fullscreenHeight flags by any chance? These are an alternative way of setting a custom fullscreen resolution at startup.

I start the game in Modrinth App with default settings for Fabric 1.21. I don't even know how to write these flags here.

If not, this could mean there is something wrong with your current video mode (detection?) in general. In that case, try setting it up manually via the "Fullscreen Resolution" slider.

I don't get about what kind of slider it is. In the settings via Shift + P there are only "Current" (which is set for me but it doesn't help) and the values "X×Y" from "640×480` to "3840×2160".

"Fullscreen Resolution" has already been set to "Current". However, in options.txt there was no fullscreenResolution line at all.

They are the same thing, so if fullscreenResolution is already unset, "Fullscreen Resolution" will display "Current" in the settings.
Do you start the game with the --fullscreenWidth and --fullscreenHeight flags by any chance? These are an alternative way of setting a custom fullscreen resolution at startup.
If not, this could mean there is something wrong with your current video mode (detection?) in general. In that case, try setting it up manually via the "Fullscreen Resolution" slider.

many custom launchers do start with these flags without telling the use i think
also i got the issue too and for me it was worse than just wrong res
it completely broke the fact that i have multiple displays disabling one temporarily and broke other apps than MC permanently until restarted alongside the effect of causing flashes

I guess I have to disable the mod because there's no solutions for now.

I guess I have to disable the mod because there's no solutions for now.

you can rollback to 1.0.0 for now if it's supported on your MC version

you can rollback to 1.0.0 for now if it's supported on your MC version

For my 1.21 modpack, unfortunately, I can't.

Sooooo, I re-read MC's code, and it's just wrong:
this.windowedWidth = this.width = settings.width > 0 ? settings.width : 1;
this.windowedHeight = this.height = settings.height > 0 ? settings.height : 1;

// ...

this.handle = GLFW.glfwCreateWindow(this.width, this.height, title, this.fullscreen && monitor != null ? monitor.getHandle() : 0L, 0L);

The width and height for fullscreen windows are treated as the desired resolution, i.e., 854x480 in our case, which is the default windowed dimensions for Minecraft. Regular fullscreen doesn't mess up your resolution because it quickly patches it afterward (instead of setting the right one upfront), while I didn't expect such a blow from the vanilla logic and didn't account for it.
Give me 5 minutes, and this will be fixed, as currently, it's broken for all versions. Gosh darn it.

It should be fixed now! If some of you affected folks could quickly test this on your machines (I cannot reproduce the problem on mine, even though I can clearly see the root of the problem) before I publish a release, that would be greatly appreciated!
You can grab a pre-built version of the patched mod from here:

1.19.3-1.19-4: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9667358054
1.20.x: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9667369158
1.21: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9667372736

It should be fixed now! If some of you affected folks could quickly test this on your machines (I cannot reproduce the problem on mine, even though I can clearly see the root of the problem) before I publish a release, that would be greatly appreciated!
You can grab a pre-built version of the patched mod from here:
* 1.19.3-1.19-4: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9667358054

* 1.20.x: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9667369158

* 1.21: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9667372736

so i just tested it and noticed a few bad things

when mc launch it now steal your cursor in the middle on it which is extremely annoying on multi-monitor setup as you may be doing smth else
which when i try to use the 1.1.0 or 1.0.0 doesn't happen
when mc launch during the time where the window is black with nothing on it even if you alt-tab to another window to unfocus it and focus a window behind, it does focus it but stay behind so you basically can't use the monitor MC is displaying on

It should be fixed now! If some of you affected folks could quickly test this on your machines (I cannot reproduce the problem on mine, even though I can clearly see the root of the problem) before I publish a release, that would be greatly appreciated!

The problem with messing up the screen resolution has gone, but when a black game loading screen appears (and then a white one), I also lose control of the computer.
I don't have multiple screen, but, I still can't leave the MC to run in the background, because it will take the focus on itself and it also says that the app doesn't respond for 10-15 seconds until the main menu appears.

Sigh, ok, I can turn off the fullscreen startup entirely for the time being. However, it's going to degrade the experience for folks who play Minecraft on a secondary monitor, as GLFW creates non-fullscreen windows only on the primary one.

Sigh, ok, I can turn off the fullscreen startup entirely for the time being. However, it's going to degrade the experience for folks who play Minecraft on a secondary monitor, as GLFW creates non-fullscreen windows only on the primary one.

Can't you just create it on the primary monitor and move it to the right monitor after it's been created ?

idk how borderless mining do it, but when i use borderless mining on 1.19.2 i can easily set it to use monitor x and it does indeed show the little window on my primary screen, but once fully launched is in borderless fullscreen window on the right monitor

Can't you just create it on the primary monitor and move it to the right monitor after it's been created ?

Yep, I can, but it will still appear on the primary monitor first for a few seconds, which is annoying. Admittedly, this is less annoying than losing control over the mouse entirely, so that's a sacrifice I'm willing to make for now.
(Note: Previously, I tried to make the window invisible until the setup was finished to prevent it from jumping all over the user's monitors. However, a call to glfwShowWindow resets the window's position, which is the opposite of what I need. That's why I resorted to using the fullscreen startup method, which allows the window to appear on the chosen monitor immediately.)

The fullscreen startup is gone. Just to check one last time that there are no more obvious issues I might have missed, here are the test builds again:

1.19.3-1.19.4: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9668602876
1.20.x: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9668611134
1.21: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9668619203

The fullscreen startup is gone. Just to check one last time that there are no more obvious issues I might have missed, here are the test builds again:
* 1.19.3-1.19.4: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9668602876

* 1.20.x: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9668611134

* 1.21: https://github.com/Kir-Antipov/cubes-without-borders/actions/runs/9668619203

lgtm

Thanks to everyone involved for your perspective on the problem and for your assistance. Also, apologies for the inconvenience! The new version should be up on Modrinth and CurseForge in a few minutes.

Thanks to everyone involved for your perspective on the problem and for your assistance. Also, apologies for the inconvenience! The new version should be up on Modrinth and CurseForge in a few minutes.

Thank you for dealing with it so fast ! ❤

Thanks to everyone involved for your perspective on the problem and for your assistance. Also, apologies for the inconvenience! The new version should be up on Modrinth and CurseForge in a few minutes.

Thank you!


Make the module translatable and create a Finnish translation

Hm, the two newest commits came accidentally to this same PR. I see now that I should have created separate branches for them, but perhaps it's not bad as the newest commits are so tiny.
And about the translation, if there is any big or small issues, please don't hesitate to let me know. I'll gladly improve this PR if there is any need! :)

Great! Thanks


Investigate and fix documentation to follow maven plugin standard

Summary
Maven plugins have a standard way of their documentation. Decide if we should honor that standard
Proposal
If we decide to adopt the standard documentation structure of Maven plugins, then we should remove the Antora documentation and adopt the standard instead.

We decided to keep our current structure instead of adopting the standard for maven plugins.


Add ZheJiang YueXiu University; Add ShenZhen MSU-BIT University

Website
https://www.zyufl.edu.cn/  (Simplified Chinese)
https://en.zyufl.edu.cn/  (English)
School Name
ZheJiang YueXiu University
浙江越秀外国语学院
Address
浙江省绍兴市越城区群贤中路2801号（镜湖校区）  会稽路428号（稽山校区）
No.428 Kuaiji Road, Yue Cheng District, Shaoxing, Zhejiang, China
Major: Digital Media Arts
Course: Web Design, Digital Image Processing
https://net.zyufl.edu.cn/755/list.htm
Major: Digital Media Technology
Course: Data Structures and Algorithms, Digital Image Processing, Virtual Reality, Mobile App Development, Python Programming, Data Mining and Analysis
https://net.zyufl.edu.cn/szmtjs/list.htm
@ zyufl.edu.cn mail is mainly used by teachers

Website
https://www.smbu.edu.cn/ (Simplified Chinese)
https://en.smbu.edu.cn/ (English)
School Name
ShenZhen MSU-BIT University
深圳北理莫斯科大学
Address
广东省深圳市龙岗区大运新城国际大学园路1号
1 International University Park Road, Dayun New Town, Longgang District, Shenzhen, Guangdong Province, P.R. China
Engineering
https://www.smbu.edu.cn/xkzy/gcx/zy_kcjjxjh.htm
Courses:
Data Structure & Algorithms, Software Engineering,  AI, Embedded System, Information Security
Computer Science & Control
https://www.smbu.edu.cn/xkzy/jssxykzx.htm

@sskaje I am sorry for a delay with processing your request.
Pull request merged. Thank you!


Add config.def.h as a dependency for config.h

config.h ought to be rebuilt when config.def.h changes

Actually, I think it's intentional, so that a user's config.h isn't overwritten by changes in the config.def.h.

Actually, I think it's intentional, so that a user's config.h isn't overwritten by changes in the config.def.h.


Backport #181  to releases/9.0

Backport #181

Included in #188 as there is a circular dependency.


Investigate using prompt_toolkit with litellm

https://github.com/BerriAI/litellm
We want to investigate using litellm with prompt_toolkit. We'd like to stream data that is coming in via the stream option in litellm to update the text in the terminal as it arrives, as opposed to doing it in chunks (where webwright waits until it has the whole thing to display).
As we use a formatter for the text that we get back from the LLM (after it is done) we also need to investigate if we can switch the markup/style on the text as it streams out into the console.
Implement a separate reference application to investigate this. Start by getting a simple terminal prompt running in prompt_toolkit, then wire up litellm to talk to an LLM (probably OpenAI) and then see if you can stream the result into the console when it replies. When it is done, it should return you to the prompt to continue the conversation.
You might also want to investigate capturing the ctrl-c keystroke, and instead of exiting the app, interupt the stream and dump the user back to the prompt. To exit the app, we could type exit (or hit ctrl-c from the active prompt). Aider uses two control cs in a row for this, but we can do something else.

Let me know what else you need!


Warning: Received NaN for the y attribute. If this is expected, cast the value to a string

Getting this error for one of my plots, everything is working fine and the ui is being displayed correctly. How can I get rid of it?
       <FlexibleXYPlot
         margin={{bottom: 100, left: 70,}}
         xType="ordinal"
         height={500}>
         <VerticalGridLines />
         <HorizontalGridLines />
         <XAxis tickLabelAngle={-45} />
         <YAxis />
         <VerticalBarSeries
         colorType="literal"
         data={
           typeof this.state.data.point !== "undefined"
             ? this.state.data.point.total.map((item, index) => {
                 return {
                   x: item.label,
                   y: item.nodes,
                   color: colors[index]
                 };
               })
             : [{ y: "N/A ", x: 0 }]
         }/>
       </FlexibleXYPlot>

It seems like you have a mismatch in types! It looks like some of the time your x's are ordinal type (they're strings) and in the second case it's a number. Are your x and y swapped in the false branch of your ternary?

Yeah they were swapped you can close this issue

Here's an example use case which is analogous to my own (with some complexity removed!):
Show the number of sightings each day for each of 10 different types of birds throughout a given year, as well as the total number of birds sighted on each day.  I thought I could show this in a stacked vertical bar chart with time as the x axis, #sightings as the y axis, and a vertical series for each different bird's data.  However, if any one of the birds has only been sighted on one day, the chart breaks (NaN.)
It's possible I'm going about this all the wrong way (I'm still learning react-vis), or that there's a better way to visualise this use case.  If so - I'm all ears!
In  any case, for those yet to encounter this issue, I think it would be useful if the error reported that the data for a time-based bar axis needs to contain at least 3 coordinates (which would have saved me the better part of a day!)


add gnex into orgs

I added GNEX Ltd. into organizations

Since list is sorted alphabetically, can you move GNEX between Funkwerk and Infognition? Otherwise, the change looks good to me.

Thx, i've fixed order of list, and removed https://, then i re-pushed

@ZombineDev Cool! Can you review to merge this PR?
GitHub says merging is blocked because there is no approved review.

Unfortunately, I can't merge this, because I don't have rights.
Ping @CyberShadow @MartinNowak @JackStouffer.

BTW, can you squash your two commits into one? Individual commits are good for review, but when the code is ready to be merged it is better to squash fix-up commits that don't have add value to the history of the repository.
http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html

@ZombineDev I integrated two commits into one with given URL by you.

Thanks, saying from experience, your PR should be merged in a couple of days max.


How to use remoteFilter update data dynamically?

This is my code example.
$('#add_todo_input').atwho({
                    at: '@',
                    data: ['zoe'],
                    callbacks: {
                        remoteFilter: function (query, test) {
                            console.log(query);
                            $.getJSON(API_HOST + 'user/search?search=' + query, function (resp) {
                                if (resp.code == 0) {
                                    console.log(resp.data);
                                    test(resp.data.username);
                                }
                            })
                        }
                    }
                })

but the data list didn't change dynamically.

resolved.   see this.


:sparkles: Add origin and credentials parameters

Setting "*" in origin parameter doesn't always works.
Especially it doesn't works when credentials are used.
We have the following message:
Access to XMLHttpRequest at 'http://localhost:8010/proxy/...' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

So I added the setting "origin" to set a specific origin, here --origin http://localhost:4200
But it still doesn't work because:
Access to XMLHttpRequest at 'http://localhost:8010/proxy/...' from origin 'http://localhost:4200' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

So I added the setting --credentials.
And it works :tada:
Thank you for this project :pray:

Thank you! :smiley:


"Build with Jekyll" steps does not seem to be building

Experiencing build fail.

Notice that the Setup Ruby step is not executed.
It seems that it is unable to bundle isntall just-the-docs version 0.5.0

Full pages.yml code here
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages

on:
  push:
    branches: ["main"]
    paths:
      - "docs/**"

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# Allow one concurrent deployment
concurrency:
  group: "pages"
  cancel-in-progress: true

jobs:
  # Build job
  build:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: docs
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.1' # Not needed with a .ruby-version file
          bundler-cache: true # runs 'bundle install' and caches installed gems automatically
          cache-version: 0 # Increment this number if you need to re-download cached gems
          working-directory: '${{ github.workspace }}/docs'
      - name: Setup Pages
        id: pages
        uses: actions/configure-pages@v2
      - name: Build with Jekyll
        # Outputs to the './_site' directory by default
        run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
        env:
          JEKYLL_ENV: production
      - name: Upload artifact
        # Automatically uploads an artifact from the './_site' directory by default
        uses: actions/upload-pages-artifact@v1
        with:
          path: "docs/_site/"

  # Deployment job
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    needs: build
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v1

ah i realize my mistake that i misunderstood the docs.
Will close the issue now.

Hi, could you please explain a little bit? I'm facing the same issue... Thx!


fix: Make color_hue on LightAttributes float

IKEA lights that has color support may return the hue as a float. To support this the type on the class must match that.

Thanks for an amazing project!
I just discovered the project and it was super easy to get up and running, however the first thing that happened to me was that I hit an issue with the Pydantic validation. I have a light with color support and the Dirigera will return the color_hue as a float:
Traceback (most recent call last):
  File "/home/simon/git/dirigera-test/./main.py", line 10, in <module>
    lights = dirigera_hub.get_lights()
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/simon/.pyenv/versions/3.11.2/lib/python3.11/site-packages/dirigera/hub/hub.py", line 112, in get_lights
    return [dict_to_light(light, self) for light in lights]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/simon/.pyenv/versions/3.11.2/lib/python3.11/site-packages/dirigera/hub/hub.py", line 112, in <listcomp>
    return [dict_to_light(light, self) for light in lights]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/simon/.pyenv/versions/3.11.2/lib/python3.11/site-packages/dirigera/devices/light.py", line 109, in dict_to_light
    return Light(
           ^^^^^^
  File "/home/simon/.pyenv/versions/3.11.2/lib/python3.11/site-packages/pydantic/main.py", line 164, in __init__
    __pydantic_self__.__pydantic_validator__.validate_python(data, self_instance=__pydantic_self__)
pydantic_core._pydantic_core.ValidationError: 1 validation error for Light
attributes.colorHue
  Input should be a valid integer, got a number with a fractional part [type=int_from_float, input_value=29.999024463361252, input_type=float]
    For further information visit https://errors.pydantic.dev/2.4/v/int_from_float

I only have one of these bulbs (it's a couple of years old) so I don't know if it's unique for this, the old version or something else, however since it obviously can happen I think the value for the hue should be represented as a float. With this fix, this is the output for my lights:
for light in dirigera_hub.get_lights():
    print(f"name={light.id}, hue={light.attributes.color_hue}")

name=222a6c35-337a-4191-801c-e993fdf17259_1, hue=None
name=ede1538a-00c6-445e-9a48-c4c1eb6e65e8_1, hue=None
name=3b1a04db-9abe-4811-b60a-797970f51e8a_1, hue=334.9346923828125
name=86a0fac2-d213-42bb-b1c1-00533ba468cd_1, hue=None
name=e0e35a0c-29e8-4703-b87c-a51e6aef2b94_1, hue=None
name=5050d647-58cc-4bd5-bbc6-40d4d4eaa323_1, hue=None

Awesome thanks for finding this, I assumed there will be bugs with the refactor.
Will merge 👍

Thanks for the super quick turnaround!
I was a bit quick myself with this PR and had not really explored the code fully. Although it will not be an issue and still work I noticed that the methods to set these values are still int: https://github.com/Leggin/dirigera/blob/88b50652b076d4a8715cf91c88f1ac408c6c2f41/src/dirigera/devices/light.py#L77
Just a heads up if you want to squeeze that in in your next PR :) And of course if you want me to I can PR that as well.

Good catch! The CI should have caught this. I will check this.


TO-DO-LIST ui changed

Describe the Feature you want to end

In frontened project to do list is there but with poor frontened though it works fine I have improved the look of it
NOTHING IS CHANGED IN THE WORKING OF IT IT WORKS PERFECTLY FINE.
Screenshots (optional)
(EARLIER):

(NOW):

assign this to me

I think we can make the ui far more subtle and aesthetic. So pls assign me

I would like to work on this

I Would like to work on this project under GSSoC , Assign this issue to me

DONE IN #1306
you can close this now


FrontPlate gets stuck for all buttons if disabled while pressed in far interaction mode

Describe the bug
If a pressable prefab button is pressed in far interaction mode and call an event that SetActive(false) the button (or a parent), the FrontPlate cover GameObject will be stuck at the pushed position when re-enabled. This bug does not happend in near interaction mode.
To reproduce
Steps to reproduce the behavior:

Go to HandInteractionExampes scene from MRTK exemples
Set a button (button 1) event onclick to setActive(false) its own prefab GameObject
Set an other button (button 2) event onclick to setActive(true) button 1 prefab GameObject
Click on button 1 and button 2 alternately many time ( e.g 5).

Expected behavior
The FrontPlate of button 1 should be at the start of the button cage.
Screenshots

Your Setup

Unity Version 2019.2.3f1
MRTK Version v2.0

Target Platform

HoloLens
HoloLens 2
Bug has been tested on Hololens 1

Additional infos
I don't feel like it's a duplicate of #4528 since the button is pressable when reenabled.
Pinging @CDiaz-MS and @thalbern

@umaknow-manu this does sound like #4528. Can you please update to MRTK v2.1 to confirm if that fixes it for you? Thank you!

@Troy-Ferrell  Updated to MRTK 2.1.0 and I can confirm it is fixed now. Thank you and sorry for not digging enough.


Filter VMs based on concerns label

Depends on #779

from UI perspective, I think the screenshots look really nice and useful
there's the part of how to represent the data that we talked about yesterday offline that I need more information on

@yaacov

The VM list is expected to contain large number of VMs, N >> 1000
Dynamically fetching labels in this case is not optimal.

To be precise we do not fetch the labels but only extract them from the VMs that we already have in-memory on the client side. We iterate over this array, filter and sort it i.e. see https://github.com/kubev2v/forklift-console-plugin/blob/e77a33b657037ee0fc1463035e8a28cb25752606/packages/forklift-console-plugin/src/components/page/StandardPage.tsx#L200
IMHO one more iteration to extract the labels won't change much.

Force pushed to rebase on #779

Forced push to rebase + improved error handling
@yaacov  as agreed a constant identifier assigned to each concern would be beneficial. However until it gets implemented I would propose to use the dynamic discovery as-it-is. If we hit any perf issues then we can re-evaluate.


Update swinject, exclude arm64 on simulator

I have tried the project with Xcode 13 RC and I've got Missing path ios-arm64_i386_x86_64-simulator/dSYMs from XCFramework error
seems like main Swinject project excludes the arm64 architecture but SwinjectAutoregistration does not and it was causing this error
I am aware that this should be fixed by https://github.com/Swinject/Swinject/pull/497 but for now, this makes the project compile under Xcode 13

According to this https://github.com/Swinject/Swinject/pull/502  I think it is only need set swinject version to "master" (PR  502 is merged and arch is not excluded anymore in Siwnject) and not excluce archs in swinjectautoregister

Seems to be resolved by Swinject 2.8.1. All works well on Xcode 13. @matopeto  I don't have access to M1 mac so please test it out and feel free to reopen.


[SPARK-25581][SQL] Rename method benchmark as benchmarkSuite in BenchmarkBase

What changes were proposed in this pull request?
Rename method benchmark in BenchmarkBase as benchmarkSuite. Also add comment.
Currently the method name benchmark is a bit confusing. Also the name is the same as instances of Benchmark:
https://github.com/apache/spark/blob/f246813afba16fee4d703f09e6302011b11806f3/sql/hive/src/test/scala/org/apache/spark/sql/hive/orc/OrcReadBenchmark.scala#L330-L339
How was this patch tested?
Unit test.

@wangyum @dongjoon-hyun @cloud-fan

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3602/
Test PASSed.

Test build #96816 has started for PR 22599 at commit 289ee3e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3604/
Test PASSed.

Test build #96818 has started for PR 22599 at commit 78e48ea.

Test build #96816 has finished for PR 22599 at commit 289ee3e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/96816/
Test PASSed.

Test build #96818 has finished for PR 22599 at commit 78e48ea.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/96818/
Test PASSed.

Test build #96855 has started for PR 22599 at commit 1c15c25.

Discuss with @cloud-fan offline. Rename method benchmark as runBenchmarkSuite.  Also add comment to guide developers to use runBenchmark for each scenario in implementations.
@dongjoon-hyun @wangyum Is this OK to you?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/3628/
Test PASSed.

Thanks @gengliangwang I agree with you. It’s a good change.

Test build #96855 has finished for PR 22599 at commit 1c15c25.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/96855/
Test PASSed.


Do not overwrite existing files during unzip

What this PR does / why we need it:
Staring from v1.92.0 provider-alicloud plugin packages not only the plugin binary, but also the CHANGELOG.md, LICENSE, README.md files.
$ wget https://releases.hashicorp.com/terraform-provider-alicloud/1.94.0/terraform-provider-alicloud_1.94.0_linux_amd64.zip

$ unzip terraform-provider-alicloud_1.94.0_linux_amd64.zip
Archive:  terraform-provider-alicloud_1.94.0_linux_amd64.zip
  inflating: CHANGELOG.md
  inflating: LICENSE
  inflating: README.md
  inflating: terraform-provider-alicloud_v1.94.0

Trying to bump our provider-alicloud version in https://github.com/gardener/terraformer/pull/45, fails with:
Creating terraform_0.12.20-bundle2020083107_linux_amd64.zip ...
All done!
Archive:  terraform_0.12.20-bundle2020083107_linux_amd64.zip
  inflating: CHANGELOG.md
  inflating: LICENSE
replace README.md? [y]es, [n]o, [A]ll, [N]one, [r]ename:  NULL
(EOF or read error, treating as "[N]one" ...)
  inflating: terraform
  inflating: terraform-provider-alicloud_v1.94.0
  inflating: terraform-provider-aws_v2.68.0_x4
  inflating: terraform-provider-azurerm_v1.44.0_x4
  inflating: terraform-provider-google-beta_v3.27.0_x5
  inflating: terraform-provider-google_v3.27.0_x5
  inflating: terraform-provider-null_v2.1.2_x4
  inflating: terraform-provider-openstack_v1.28.0_x4
  inflating: terraform-provider-packet_v2.3.0_x4
  inflating: terraform-provider-template_v2.1.2_x4
The command '/bin/sh -c export TF_VERSION=$(cat /tmp/terraformer/TF_VERSION) &&     export KUBECTL_VERSION=$(cat /tmp/terraformer/KUBECTL_VERSION) &&     apt-get update &&     apt-get install -y unzip &&     mkdir -p /go/src/github.com/hashicorp &&     git clone --single-branch --depth 1 --branch v${TF_VERSION} https://github.com/hashicorp/terraform.git /go/src/github.com/hashicorp/terraform &&     cd /go/src/github.com/hashicorp/terraform &&     go install ./tools/terraform-bundle &&     cd /tmp/terraformer &&     ./scripts/fetch-providers &&     curl -LO https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl &&     chmod +x ./kubectl' returned a non-zero code: 1

With unzip -n we can instruct unzip to do not ask for input (and to do not overwrite existing file) in case of conflict.
Release note:

NONE

Isn't an overwrite -o rather what you want if you bump providers?

In the above case the README.md coming from terraformer conflicts with README.md that is packaged in the terraform-provider-alicloud plugin. Is there a case that we would need -o instead of -n?
Alternatively I can add a .dockerignore to workaround the issue.

Isn't an overwrite -o rather what you want if you bump providers?

In the above case the README.md coming from terraformer conflicts with README.md that is packaged in the terraform-provider-alicloud plugin. Is there a case that we would need -o instead of -n?
Alternatively I can add a .dockerignore to workaround the issue.

It was just a thought that corrupted filed would never be overwritten in case you execute the script multiple times (locally), but I'm also okay with this approach.