initial working version of cargo fix --clippy

closes https://github.com/rust-lang/cargo/issues/7006

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

The argument pass-through logic doesn't currently work and I dont know why. When I make it output the command that it is running before shelling out to clippy-driver it has the arguments that I added. And if I copy paste that command and run it manually the arg works and it suppresses the warning I was trying to allow. But when it runs via cargo fix it still outputs the warning.
I initially assumed it was something clippy was doing to force allowed lints to output, but trying to pass --help through to clippy-driver likewise fails to do anything.

Actually I think it is doing stuff, just very silently. When I put poorly formatted arguments into the passthrough list it silently fails and doesnt apply any changes, and instead warns on everything. My guess is that there is a final step after applying all fixes where it doesn't capture json output and instead just lets it output the remaining warnings to the user, and that the args im passing through aren't being applied to that step.

It seems to be outputting leftover lints at least twice, possibly equal to the number of times it is invoked.

@ehuss RE: Metadata fingerprint concerns
The metadata already includes a hash of Rustc::verbose_version which resolves to something like
master ✗ $ clippy-driver -vV
rustc 1.35.0 (3c235d560 2019-05-20)
binary: rustc
commit-hash: 3c235d5600393dfe6c36eeed34042efad8d4f26e
commit-date: 2019-05-20
host: x86_64-unknown-linux-gnu
release: 1.35.0
LLVM version: 8.0

master ✗ $ rustc -vV
rustc 1.35.0 (3c235d560 2019-05-20)
binary: rustc
commit-hash: 3c235d5600393dfe6c36eeed34042efad8d4f26e
commit-date: 2019-05-20
host: x86_64-unknown-linux-gnu
release: 1.35.0
LLVM version: 8.0

Is it fair to say this should be sufficient for our needs and that I don't need to add the path and timestamp of the rustc binary to the metadata hash?

Seems like all that's left is resolution on the fingerprint requirement and the clippy-driver error handling requirement and if any changes are needed along with final code review and approval.
Lets hope the current version passes CI :)

Sorry for the delay in response.  I've been a bit busy lately, and I'll be gone most of this week.  I'll try to check in later, just beware if it takes me a while to respond.

Thanks, this looks like it is getting closer. I would still like to see using a single option in BuildConfig. The following changes should be able to get us there:

Remove rustc_wrapper from BuildConfig.  (Or to phrase this another way, rename rustc_wrapper to primary_unit_rustc and change it to a ProcessBuilder). The rest is mostly fixing the fallout from that:
Change clippy to set primary_unit_rustc.
Just clone primary_unit_rustc here  (instead of calling process_with) and also call .arg(&bcx.rustc.path) to give it the first argument.
Change fix to set primary_unit_rustc here to Some(wrapper).

With fix changed to use primary_unit_rustc, you can remove the CARGO_PRIMARY_PACKAGE everywhere, and primary_package from FixArgs.  Also remove the comment about "Non-primary" at the end of fix_maybe_exec_rustc (and maybe double check if there are any other out-of-date comments).

Change fix to call clippy instead of rustc here if CLIPPY_FIX_ARGS is set.  Just check if the env var is set, and if it is, use util::config::clippy_driver() instead of args.rustc.

And remove these lines, since the clippy-driver decision is in a different location.  I'd also just remove CLIPPY_FIX_ENV completely, and combine those two if clauses.

rustc_wrapper and primary_unit_rustc are doing different things though. In the context of a Rustc object rustc_wrapper is an override for its wrapper member and primary_unit_rustc is an override for its path member.
Clippy could use primary_unit_rustc instead of wrapper because it just discards the first arg if its rustc but rustfix relies on rustc_wrapper to invoke the cargo subprocess. All the work I did was to get the invocation of the subprocess to change from cargo rustc ... for primary crates to cargo clippy-driver ....

rustc_wrapper and primary_unit_rustc are doing different things though.

Yea, but I don't think it is necessary.

rustfix relies on rustc_wrapper to invoke the cargo subprocess

If primary_unit_rustc is changed to a ProcessBuilder, then fix should be fine.  That is, fix would have:
opts.compile_opts.build_config.primary_unit_rustc = Some(wrapper);

This means the dependencies will be built like in a normal build. That's all that is necessary for fix.  The "cargo as a wrapper" only needs to happen for primary units.
Making fix work with clippy then becomes a relatively simple change of something like:
    let rustc = if env::var(CLIPPY_FIX_ARGS).is_ok() {
        util::config::clippy_driver()
    } else {
        args.rustc.as_ref().expect("fix wrapper rustc was not set").clone()
    };

instead of encoding clippy-driver into the wrapper.

So for non primary crates we never go into the subprocess cargo and rely on the fall through path? Didn't know that was allowed and in that context everything you've been saying makes way more sense.

So for non primary crates we never go into the subprocess cargo and rely on the fall through path?

Yes.  I believe the current design is just an artifact of how it evolved (using the existing wrapper machinery).

Ok I think I did everything correctly but now its failing
    fix::do_not_fix_non_relevant_deps
    fix::only_warn_for_relevant_crates

I'll try digging into the behavior and tracing where everything is going tonight.

Thanks!!
@bors r+

:pushpin: Commit 22b430d4561d6a9fdb58b82cc70a6f677287dc6f has been approved by ehuss

:hourglass: Testing commit 22b430d4561d6a9fdb58b82cc70a6f677287dc6f with merge 9f7bd62103daeae4811a19805bd2e2fd64ec0a5c...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: ehuss
Pushing 9f7bd62103daeae4811a19805bd2e2fd64ec0a5c to master...

Would it be possible to add back CARGO_PRIMARY_PACKAGE in some form so that non-clippy rustc wrappers can get this useful information? I love the tooling, but imho, the rust-lang[-nursery] ones occupy a far too blessed position in the ecosystem.

I think a blessed position is good, these are official tools and totally could be just maintained as a single unit if we wanted to. Creating good APIs for this requires a lot of consensus building, for an area that doesn't have many users. Y'all are free to RFC for more wrapper functionality, but here we're blocked on getting important cargo fix/cargo clippy functionality out

I think a blessed position is good

Sorry if my initial frustration leaked out; I really do appreciate the few people who are making everything good. I guess I'm just being idealistic when hoping for the apis to be general and extensible :)
I'll make a PR real quick. Thanks!


Experimenter instructions should be added to an exp branch's readme

E.g. one thing we talked about today is what to do in the case of aeon-db2 being down, such that the Subject GUI dropdown would fail (in this case the experimenter should know how to access / setup a colony csv file)

[ ] https://github.com/SainsburyWellcomeCentre/aeon_experiments/issues/302

Have a current ongoing version of the experimenter checklist and troubleshooting tips in a discussion here: https://github.com/SainsburyWellcomeCentre/aeon_experiments/discussions/440
We should review all together before merging into README

Consider also where to merge the checklist in #440


Change first point in trajectory to commanded position

Same as https://github.com/RethinkRobotics/baxter_interface/pull/77

Ping @wkentaro

Ping @wkentaro

Is this tested with real robot?

Yes. With master branch of jsk_apc.

With this PRj, gazebo simulation is not working, joint_trajectory_action do not generate command because of errors,
$ rosrun baxter_interface joint_trajectory_action_server.py --interpolation minjerk
[ERROR] [WallTime:<PHONE_NUMBER>.406211] [2142.279000] /rsdk_position_w_id_joint_trajectory_action_server: Exceeded Error Threshold on left_s1: 0.999433532707
[ERROR] [WallTime:<PHONE_NUMBER>.407546] [2142.279000] /rsdk_position_w_id_joint_trajectory_action_server: Exceeded Error Threshold on right_s0: 0.653352615824

If we revert following lines, we can solve the problem.
-            first_trajectory_point.positions = self._get_current_position(joint_names)
+            first_trajectory_point.positions = self._get_commanded_position(joint_names)

Why you have to use comanded_position the first trajectory point??? @pazeshun

current_position comes from /robot/joint_states which may be different from the commanded_position.
Please see https://github.com/jsk-ros-pkg/jsk_robot/issues/738#issue-193413329 and https://github.com/RethinkRobotics/baxter_interface/pull/77#issue-193695002 for detailed information.

I've also heard simulator problem like https://github.com/start-jsk/jsk_apc/issues/2106#issuecomment-304183748.
Perhaps we have to stop using commanded_position...

thank you for information, Yes I just fixed this problem by writing as same code as https://github.com/start-jsk/jsk_apc/issues/2106#issuecomment-304184560 ...

A robot in gazebo shaking, but the data is clean, need to check on real robot

rqt_plot -b pyqt /robot/limb/left/joint_command/command[0],/robot/limb/left/joint_command/command[1],/robot/limb/left/joint_command/command[2],/robot/limb/left/joint_command/command[3],/robot/limb/left/joint_command/command[4],/robot/limb/left/joint_command/command[5],/robot/limb/left/joint_command/command[6]  /robot/limb/left/follow_joint_trajectory/goal/goal/trajectory/points[0]/positions[0]  /robot/limb/left/follow_joint_trajectory/goal/goal/trajectory/points[0]/positions[1]  /robot/limb/left/follow_joint_trajectory/goal/goal/trajectory/points[0]/positions[2]  /robot/limb/left/follow_joint_trajectory/goal/goal/trajectory/points[0]/positions[3]  /robot/limb/left/follow_joint_trajectory/goal/goal/trajectory/points[0]/positions[4]  /robot/limb/left/follow_joint_trajectory/goal/goal/trajectory/points[0]/positions[5]  /robot/limb/left/follow_joint_trajectory/goal/goal/trajectory/points[0]/positions[6]


Fixed compilation error due to unreachable code with tsc 1.8.2

borrowed from https://github.com/pyrho/opty

Thanks, could we have a release pretty please


📃:  Recipe Finder Web App

🔴 Title: Recipe Finder Web App
🔴 Tech stack:
Frontend: HTML, CSS, Bootstrap
Backend: Node.js or Python (Flask)
API: Spoonacular or Edamam API
🔴 Objective:
To create a web app that allows users to search for recipes based on ingredients or cuisine type and view detailed recipe information.
🔴 Summary:
The Recipe Finder allows users to find recipes using ingredients they have on hand or search for recipes based on a specific cuisine. It provides detailed information such as ingredients, cooking instructions, and preparation time. Users can also save their favorite recipes for easy access later.
📸 Screenshots:
N/A
✅ Details to Include When Taking the Issue:
Name : Rahul Bamaniya
Participant gssoc-extd, GSSOC, Hacktoberfest .

Happy Contributing! 🚀
Wishing you all the best on your open source journey. Enjoy! 😎

Sorry, someone is already working on this. Do not be demotivated and raise a new issue.


Support for csv data in data preprocessing

Hello Dear all,
Thanks again for the great work.
I have added some changes to pre_grey_rgb2D.py file so that it can support data formats in which the images and gt_masks are both in the same folder with annotations contained in a csv file.
Here are the few changes i made:

I added a --csv CLI argument

parser.add_argument(
    "--csv",
    type=str,
    default=None,
    help="path to the csv file",
)

Moved all the pre-processing logic to a function process()

def process(gt_name: str, image_name: str):
    if image_name == None:
        image_name = gt_name.split(".")[0] + args.img_name_suffix
    gt_data = io.imread(join(args.gt_path, gt_name))
    # if it is rgb, select the first channel
    if len(gt_data.shape) == 3:
        gt_data = gt_data[:, :, 0]
    assert len(gt_data.shape) == 2, "ground truth should be 2D"
    # ....

If the --csv argument is provided we will read the csv to a dataframe and process every row
if args.csv != None:
    # if data is presented in csv format
    # columns must be named image_filename and mask_filename respectively
    try:
        os.path.exists(args.csv)
    except FileNotFoundError as e:
        print(f"File {args.csv} not found!!")

    df = pd.read_csv(args.csv)
    bar = tqdm(df.iterrows(), total=len(df))
    for idx, row in bar:
        process(row.Tumor_mask_filename, row.Image_filename)

else:
    # get all the names of the images in the ground truth folder
    names = sorted(os.listdir(args.gt_path))
    # print the number of images found in the ground truth folder
    print("image number:", len(names))
    for gt_name in tqdm(names):
        process(gt_name)

Awesome.
Your code style is much more beautiful than mine:)
Thanks again for your great pull @FrexG

Thanks sir, :)


Transportation Permits ETL Error

OpenGrid's #308
Point ETL ingest of transportation_department_permits dataset has been failing due to the following error:
Traceback (most recent call last):
  File "/opt/python/run/venv/local/lib/python3.4/site-packages/celery/app/trace.py", line 367, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/opt/python/run/venv/local/lib/python3.4/site-packages/celery/app/trace.py", line 622, in __protected_call__
    return self.run(*args, **kwargs)
  File "/opt/python/bundle/24/app/plenario/tasks.py", line 77, in update_dataset
    PlenarioETL(meta).update()
  File "/opt/python/bundle/24/app/plenario/etl/point.py", line 50, in update
    self.add()
  File "/opt/python/bundle/24/app/plenario/etl/point.py", line 43, in add
    with self.staging_table as s_table:
  File "/opt/python/bundle/24/app/plenario/etl/point.py", line 95, in __enter__
    self.cols = self._from_inference(text_handle)
  File "/opt/python/bundle/24/app/plenario/etl/point.py", line 188, in _from_inference
    col_type, nullable = iter_column(col_idx, f)
  File "/opt/python/bundle/24/app/plenario/utils/helpers.py", line 62, in iter_column
    for row in reader:
  File "/opt/python/run/venv/lib64/python3.4/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 4799: ordinal not in range(128)

Source dataset: https://data.cityofchicago.org/api/views/pubx-yq2d/rows.csv?accessType=DOWNLOAD

#331 Closes this


feature(nyz): add new middleware distributed demo

Description

[x] DataParallel demo
[x] DistributedDataParallel demo
[x] tb logger example
[x] Distributed RL demo (Ape-X type)
[ ] Distributed RL demo (APPO type)
[ ] Distributed RL demo (R2D2 type)
[ ] Distributed RL demo (IMPALA type)
[ ] Distributed RL demo (SEED RL type)

Related Issue
#102
#176
TODO
Check List

[ ] merge the latest version source branch/repo, and resolve all the conflicts
[ ] pass style check
[ ] pass all the tests

What is the throughput of this? Does this beat SampleFactory? @PaParaZz1 @sailxjx

@zxzzz0 This is not to compare the speed with sample factory, because you know that the bottleneck of RL training may appear in any one of the collecting, training, and evaluation, for example, too fast collecting may lead to too much generation difference and underfitting of the model, and because of the existence of GIL, the deserialization of data on the training process will also slow down the overall training efficiency, and there are many points that we need to consider in this project.
This issue will provide a new design pattern for global RL training, starting from the idea that users can easily scale from single-computer studies to large-scale distributed systems without very large code modification costs or performance losses.
If you are really very very concerned about environment-side collecting, then you can use sample factory inside the di-engine to achieve the collecting efficiency you expect.

If you are really very very concerned about environment-side collecting

No. To clarify, we only care about overall performance, which means the time it will take to reach certain reward in the end.
Usually if you can squeeze every drop of performance out of the CPU/GPU, you can learn faster. Environment-side collecting is just one indicator and there are many other indicators as well. You will also have to pay attention to the learner FPS, GPU utilization and other indicators for you to understand the throughput of the whole system.
When doing benchmarking, it's not targeted for the collector side but the overall growth speed of reward.

No. To clarify, we only care about overall performance, which means the time it will take to reach certain reward in the end.

Yeah, that's right, the purpose of the distributed version is to maximize overall performance while not requiring too much effort to write code on multiple tasks.
Another consideration is that we need to go design-first. Only after the upper layer interface is unified and stable, it will be possible to gradually optimize all aspects of performance without disturbing the user. You can see that from version 0.x to version 1.0, we have gradually developed a definite interface style example, and the purpose of this branch is to extend this interface style to distributed operation.


Android CI is failing

Our CI is failing on Android with:
Build WGPU example for Android
  Warning: You use environment variable ANDROID_HOME that is deprecated. Please, remove it and use ANDROID_SDK_ROOT instead. Now ANDROID_HOME is used
  Error: Android NDK is not found. Please set the path to the Android NDK with $ANDROID_NDK_ROOT environment variable.
  Error: Process completed with exit code 1.

Example: https://github.com/EmbarkStudios/rust-gpu/runs/7635577970?check_suite_focus=true
May be related to the following GitHub Action ubuntu image updates:

https://github.com/actions/virtual-environments/issues/5930
https://github.com/actions/virtual-environments/issues/5879

This is how we fixed it in the physx repo just now: https://github.com/EmbarkStudios/physx-rs/pull/155
@eddyb can you try similar here, or @oisyn next week when back from vacation

This is https://github.com/actions/virtual-environments/issues/5879#issuecomment-1195156618, ndk-bundle was deprecated and removed but these useful symlinks were removed by "accident" as well. Should be fixed soon!

This is how we fixed it in the physx repo just now: https://github.com/EmbarkStudios/physx-rs/pull/155

That repo's CI seems to have been setting ANDROID_NDK_ROOT before, but here we didn't.
Hoping that the GHA fixes @MarijnS95 linked have already been propagated, I forced a re-run of the failing CI job, but before it can even get to the part where it uses the NDK, it now fails building cargo-apk because libc 0.2.127 is broken for the nightly we use.
Even if we unblock cargo-apk specifically, we'll have to be careful to avoid bumping libc: https://github.com/EmbarkStudios/rust-gpu/blob/0866cf591a7fdbbd15bdb3468e192bb9b6189fd0/Cargo.lock#L1183-L1185
(until we rustup again, that is)
I'll try see what I can do for now, maybe cargo +stable install ... will be enough.


Provide a standard "version" command line parameter

What about providing a easy parsable and de-facto standard verison command line parameter ?
Something like:
$ mailhog --version
0.1.8

+1

+1
We installed mailhog via bashscript, which just checks if the binary exists, and then installs or not.
Now i want to update it, and cant check the current version... and i don't wanna go manual to each server to update it!

Sounds good, I'll add it for the next release!

+1


Warning if get_post_meta (and siblings) is used with exactly two parameters.

Preamble: Even i talk about get_post_meta for better readability, this also applies to get_user_meta, get_term_meta, get_comment_meta (list might not be complete).
Is your feature request related to a problem?
I frequently ran into forgetting the third parameter when using get_post_meta(), or found this issue when working with other developers. The third parameter is optional and defaults to false. If you forget to add the third parameter you'll receive an array of all entries with the given meta_key, which will be in most cases a single element, and in the majority of cases this is an oversight of the developer resulting in different kinds of unexpected behavior. Where a failing condition is the worst case, which actually could break logic in applications.
Example, developer wants to do something if a certain condition is met.
$meta = get_post_meta( $post_id, $meta_key );
if ( is_string( $meta ) && strlen( $meta ) > 5 ) {
    very_important_function();
}

In the given example the developer made some conditions which will always fail for the return of an array, empty or not, but even if his post_meta is as expected, the developer will not reach the inside of the condition, and it will take him a while to figure out why.
Since changing the default value of the third parameter a breaking change, this is not an option, and I just mention it, to underline that I'm not arguing to change it. But it could be an idea to add additional functions to core, which only allow to get a single meta.
Describe the solution you'd like
$all_meta = get_post_meta( $post_id ); // This is fine
$one_meta = get_post_meta( $post_id, $meta_key, true ); // Fine
$array_of_meta = get_post_meta( $post_id, $meta_key, false ); // Fine
$array_of_meta = get_post_meta( $post_id, $meta_key ); // This is where I would love to have the warning

I would like to have a sniff that encourages you to use the get_post_meta() with either 1 or 3 values, since in my experience, using it with 2 parameter, is most likely an oversight of the developer and rarely by design, see below for further context.
Additional context (optional)

https://developer.wordpress.org/reference/functions/get_post_meta/
https://developer.wordpress.org/reference/functions/get_user_meta/
https://developer.wordpress.org/reference/functions/get_term_meta/
https://developer.wordpress.org/reference/functions/get_comment_meta/

I've checked multiple WordPress installations and a number of frequently used plugins, and the vast majority of uses were either using 1 parameter or 3, with the third mostly being true. So the sniff will in most cases just stay unnoticed for users of WPCS.
Old Slack Communication: https://wordpress.slack.com/archives/C5VCTJGH3/p1608538230036200
As discussed with Juliette, this is would be most suitable for Extra.

[ ] I intend to create a pull request to implement this feature.

As we discussed during WCEU, I will try to create a sniff to throw a warning when get_*_meta() is used with exactly two parameters.

@rodrigoprimo Heads-up: don't think in terms of parameter count. With named parameters available since PHP 8.0, parameter count has become irrelevant. You need to look for the specific parameters (and PHPCSUtils has helper functions for that).

Thanks for the input, @jrfnl. I already have a working version of this sniff that I will polish a bit next week before creating a PR. I used the PregQuoteDelimiter sniff as a reference. Thanks to this sniff, I learned about PassedParameters::getParameterFromStack() which I believe is one of the helper functions that you are referring to.

@rodrigoprimo How about GetMetaUnclearIntention which no longer uses a count for naming.
And following @jrfnl 's comment about PHP8, while it is true that the parameter count has become irrelevant, but since the function comes from an area before PHP8, the meta_key parameter is kind of mandatory, if you want to use the single which should not be part of this discussion or sniff, but this likely could need some attention.

@apermo, I created a first version of this sniff in a branch in my fork: https://github.com/rodrigoprimo/WordPress-Coding-Standards/tree/new-get-meta-key-param-no-single-param-sniff. Let me know if you have time to check and test it. Any feedback that you have is welcome. If needed, I'm happy to provide detailed instructions on how to test the new sniff using my fork.
Next, per @jrfnl, I plan to run this sniff against the WP.org plugins (or a subset of those plugins) to see if we can get some data to confirm that it would actually help WP developers.
I haven't created the XML documentation for the sniff yet. I will do this after we check the data and confirm that we want to add this sniff to WPCS.
For now, I'm calling the sniff GetMetaKeyParamNoSingleParam. It is a bit long and I'm not super happy about it, but it is the best I could think so far.

@rodrigoprimo
As for the statistics, as mentioned before I've checked WordPress Core and a selection of Plugins at WordPress.org for the amount of parameters on the get_*_meta().
The outcome was roughtly 95-99% of all usages either using 1 or 3 parameters. The majority using 3 parameters, and I found a bunch using false als third parameter as well.
I would not be surprised to find some developers using a hardcoded [0] and no further use of the array, if one actually does omit the $single, like in this example.
$meta = get_*_meta( $id, $meta_key);
//...
echo $meta[0]; // Or some other use.

In best case you should expect the sniff to barely throw a warning for whatever you throw at it, if so, the plugins are well written.
As mentioned, my need came from my days when I was less experienced and less used to the existance of the $single parameter. That is my intended use case, to warn developers of an unclear intention.
Have you considered using GetMetaUnclearIntention as name for the sniff?
I'll try to verify it tomorrow if I can.

Have you considered using GetMetaUnclearIntention as name for the sniff?

I like it, thanks. I will wait to see if other have any input regarding the sniff name.
@jrfnl, today I ran the sniff against the 20 plugins listed on the first and the last page of the popular plugins section (https://wordpress.org/plugins/browse/popular/ and https://wordpress.org/plugins/browse/popular/page/49/): elementor, contact-form-7, wordpress-seo, classic-editor, woocommerce, akismet, wpforms-lite, all-in-one-wp-migration, litespeed-cache, wordfence, really-simple-ssl, jetpack, google-site-kit, duplicate-post, wp-mail-smtp, updraftplus, wordpress-importer, duplicate-page, all-in-one-seo-pack, google-analytics-for-wordpress, disable-feeds, sb-elementor-contact-form-db, simply-schedule-appointments, auto-upload-images, rara-one-click-demo-import, block-options, bnfw, woocommerce-payfast-gateway, password-protect-page, wc-hide-shipping-methods, fullwidth-templates, gallery-by-supsystic, whatshelp-chat-button, protect-uploads, zero-spam, persian-gravity-forms, wp-custom-admin-interface, persian-elementor, spicebox, and seraphinite-accelerator.

Here are the results
$ XDEBUG_MODE=off php ../../wpcs/vendor/bin/phpcs --report=summary,full -p --parallel=12 --standard=WordPress --sniffs=WordPress.WP.GetMetaKeyParamNoSingleParam elementor contact-form-7 wordpress-seo classic-editor woocommerce akismet wpforms-lite all-in-one-wp-migration litespeed-cache wordfence really-simple-ssl jetpack google-site-kit duplicate-post wp-mail-smtp updraftplus wordpress-importer duplicate-page all-in-one-seo-pack google-analytics-for-wordpress disable-feeds sb-elementor-contact-form-db simply-schedule-appointments auto-upload-images rara-one-click-demo-import block-options bnfw woocommerce-payfast-gateway password-protect-page wc-hide-shipping-methods fullwidth-templates gallery-by-supsystic whatshelp-chat-button protect-uploads zero-spam persian-gravity-forms wp-custom-admin-interface persian-elementor spicebox seraphinite-accelerator
...WWW..WWWW 12 / 12 (100%)

PHP CODE SNIFFER REPORT SUMMARY
------------------------------------------------------------------------------------------------------------------------------
FILE                                                                                ERRORS  WARNINGS
------------------------------------------------------------------------------------------------------------------------------
akismet/class.akismet.php                      					       0       1
all-in-one-seo-pack/app/Common/Admin/Dashboard.php  				       0       1
contact-form-7/includes/form-tag.php         				  	       0       1
gallery-by-supsystic/src/GridGallery/Galleries/Attachment.php  			       0       1
gallery-by-supsystic/src/GridGallery/Photos/Model/Photos.php  			       0       2
google-site-kit/includes/Core/Storage/User_Options.php  			       0       1
jetpack/class.jetpack-post-images.php          					       0       1
jetpack/class.jetpack.php                      					       0       1
jetpack/_inc/lib/class.media.php               					       0       1
jetpack/jetpack_vendor/automattic/jetpack-publicize/src/class-publicize-base.php       0       1
jetpack/jetpack_vendor/automattic/jetpack-publicize/src/class-publicize.php  	       0       1
jetpack/jetpack_vendor/automattic/jetpack-stats/src/class-wpcom-stats.php  	       0       1
jetpack/jetpack_vendor/automattic/jetpack-videopress/src/class-attachment-handler.php  0       1
updraftplus/includes/updraftclone/temporary-clone-auto-login.php  		       0       1
woocommerce/includes/data-stores/class-wc-coupon-data-store-cpt.php  		       0       3
------------------------------------------------------------------------------------------------------------------------------
A TOTAL OF 0 ERRORS AND 18 WARNINGS WERE FOUND IN 15 FILES
------------------------------------------------------------------------------------------------------------------------------

Time: 1 mins, 50.42 secs; Memory: 14MB

FILE: akismet/class.akismet.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 830 | WARNING | Passing the $key parameter to get_comment_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: google-site-kit/includes/Core/Storage/User_Options.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 68 | WARNING | Passing the $key parameter to get_user_meta() without the $single parameter is not recommended. An array will
    |         | be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: gallery-by-supsystic/src/GridGallery/Galleries/Attachment.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 101 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: jetpack/class.jetpack-post-images.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 365 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: gallery-by-supsystic/src/GridGallery/Photos/Model/Photos.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
------------------------------------------------------------------------------------------------------------------------------
 564 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
 565 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: jetpack/jetpack_vendor/automattic/jetpack-stats/src/class-wpcom-stats.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 435 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: jetpack/jetpack_vendor/automattic/jetpack-publicize/src/class-publicize-base.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 896 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: jetpack/jetpack_vendor/automattic/jetpack-publicize/src/class-publicize.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 711 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: jetpack/jetpack_vendor/automattic/jetpack-videopress/src/class-attachment-handler.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 197 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: jetpack/class.jetpack.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 6158 | WARNING | Passing the $key parameter to get_user_meta() without the $single parameter is not recommended. An array
      |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: jetpack/_inc/lib/class.media.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 244 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: woocommerce/includes/data-stores/class-wc-coupon-data-store-cpt.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 3 WARNINGS AFFECTING 3 LINES
------------------------------------------------------------------------------------------------------------------------------
 146 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
 315 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
 380 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: updraftplus/includes/updraftclone/temporary-clone-auto-login.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 72 | WARNING | Passing the $key parameter to get_user_meta() without the $single parameter is not recommended. An array will
    |         | be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: all-in-one-seo-pack/app/Common/Admin/Dashboard.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 170 | WARNING | Passing the $key parameter to get_user_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

FILE: contact-form-7/includes/form-tag.php
------------------------------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------
 371 | WARNING | Passing the $key parameter to get_post_meta() without the $single parameter is not recommended. An array
     |         | will be returned, but a string might be expected.
------------------------------------------------------------------------------------------------------------------------------

Is this more or less what you wanted to see when you mentioned running a draft of the sniff against a number of plugins to see if it would actually help people? Happy to run it against a bigger number of plugins.

But it could be an idea to add additional functions to core, which only allow to get a single meta.

@apermo I do think that would be a good idea and if this would be accepted in Core, the sniff can always be updated in the future.
If you do open a ticket for this, could you please link it in this thread ?

... comment about PHP8, while it is true that the parameter count has become irrelevant, but since the function comes from an area before PHP8, the meta_key parameter is kind of mandatory, if you want to use the single which should not be part of this discussion or sniff, but this likely could need some attention.

@apermo Agreed, but sniffs should function independently of PHP versions. That's the point of my remark. A custom company-specific plugin may use PHP 8.2+ specific code and be fine. An open source plugin in the plugin directory will need to support multiple PHP versions and generally cannot use named parameters (yet).
Sniffs should handle both situations correctly and to do so, we need to take named parameters into account when writing the sniff ;-)

The outcome was roughtly 95-99% of all usages either using 1 or 3 parameters. The majority using 3 parameters, and I found a bunch using false als third parameter as well.

I agree with that expectation as those plugins will be published already and if they'd still contain a bug related to the use of these functions, I would have expected that to have been flagged/reported to the author by now.
This is mostly an error prevention sniff for a particularly confusing parameter default.
Other than that, @rodrigoprimo and me discussed the WIP for this sniff a little today in a call.
Findings:

Let's make the name a little more generic. Maybe something along the lines of "FunctionNameParamName" and then have the error code be the more specific thing with an indication of what's "wrong" ?
This will allow for potentially adding extra checks related to that function group/parameter to the sniff without the need for renaming the complete sniff.
We also did a search of the WP Core source code and found a few more functions which will need to be examined by the sniff, including things like _wp_preview_meta_filter() and get_metadata_raw(). (I believe Rodrigo still has some feedback on that first one ?)
I have shared my search results with Rodrigo so he has the list.
We also had a brief look at the principle of the code abstraction, nothing much to share about that without the PR being public, but you'll see the result of that in the PR.

I implemented the changes that I discussed with Juliette and opened a PR adding the new sniff: https://github.com/WordPress/WordPress-Coding-Standards/pull/2465.

We also did a search of the WP Core source code and found a few more functions which will need to be examined by the sniff, including things like _wp_preview_meta_filter() and get_metadata_raw(). (I believe Rodrigo still has some feedback on that first one ?)

I opened a WP core ticket suggesting an update to the documentation of the _wp_preview_meta_filter() function: https://core.trac.wordpress.org/ticket/61645.

Since #2465 is now merged, can this be closed?

@GaryJones Indeed, the PR description was missing the "fixes ..." comment to auto-close. I've added the ticket to the milestone and will close it now.


install nvm/npm if one does not exist

fix #2
Note:

I am unable to run the tests until I change test/pnpm to test/_global and run the following command:

devcontainer features test --global-scenarios-only .

Not sure if devcontainer cli changed, so I didn't commit that change. See the code.
2. Neither installsAfter nor installAfter actually works, see this issue. Therefore I have to add overrideFeatureInstallOrder to make sure node is installed before pnpm. Otherwise, pnpm installation would be hided by node, which fails the test.

Thank you very much!
This looks good to me, I will merge, fix the tests and release a new version shortly.
But I have a few follow-up questions, if I may:
The code is generated in a style which was formed by/for https://github.com/devcontainers-contrib/features, right? You also adjusted other things to match that style. Considering this, wouldn't it be a good idea to transfer the feature into that repository instead of having a different one just for pnpm in my user space?
One concern I have (which is not heavy right now) is, that the org devcontainers-contrib is currently controlled by only one user, which would be a single-point-of-failure for a community thing like this. That's why I would like to have your opinion on that, because you seem to have some experience with community and project :)

:smile: Actually I was just using vscode's "Create Dev Container" prompt and found your pnpm feature, but I didn't check how those features were registered in vscode's prompt (although most of them were from devcontainer-contrib). Therefore, I simply assumed there were some standard procedure to register features in devcontainer-contrib and pnpm was not merged yet.
Anyway, I think SPOF is not that bad, because we are treating features independently, so although we can make them decentralized, each one would still be centralized. Moreover, those features are following the same template, so it is much easier to navigate to potential bugs and fix all of them in a similar way. If the maintainer stops to maintain the codebase, someone could easily fork it and continue the work, it is better than having multiple repos and you will never know when someone would stop maintaining.
To summarize, my point is, try to make them stay in one repo, the count of actual maintainers doesn't matter.

Besides, does installsAfter work? That should be the right name but I didn't see it work.

As far, as I could see it works... sometimes. In my experience it works, if you don't specify a version on the other package in the feature list. Which is unfortunate, because this seems to be the default way to specify those.
I reported that already, but sadly the issue was closed:
https://github.com/devcontainers/cli/issues/269


Add user-friendly message for maxLength validation

The error message "should not have fewer than 5 items" feels weird for a string of characters. I think we should revert back to v6 terminology and say "characters" instead of "items".

It's actually accidental wrong change from v6 - it's simply incorrectly copied from maxItems - thank you!

in 7.0.1


add k8s v1.31 repository

This PR adds the repository for Kubernetes v1.31 in installation scripts

Create new PR #131, this PR upgrade all charts and runtime versions, add e2e tests for new version, remove old unsupported kubernetes version from repo.


Support set instance properties in json format

Support set instance properties in json format: agent.instance_properties_json

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes https://github.com/apache/skywalking/issues/7762.
[x] Update the CHANGES log.

Recommend to use INSTANCE_PROPERTIES_JSON into e2e case, and verify this feature. I think it is easy to add now.


SVG height should increase as the number of bars increases

Hmm, maybe. I think there's something to day for the inverse too: that the size of the bars is based on the available intended output image size.
Of course, at some points, more space is needed.
Feel free to investigate this; if it really improves something then maybe!


Do you accept pull requests?

Looking to add capture support to the library and I was wondering if you accept pull requests.

Looking to add capture support to the library and I was wondering if you accept pull requests.

Yep, PRs welcome and will be reviewed by members of the embedded-linux subteam.


Database Connection Missing error instead SQL Exception page.

If you would like to propose new Laravel features, please make a pull request, or open an issue at https://github.com/laravel/ideas/issues. Alternatively, you may message Taylor Otwell on the Laravel Discord server's #internals channel (https://discordapp.com/invite/mPZNm7A).

Hi there,
Welcome to Laravel and we are glad to have you as part of the community.
Unfortunately this GitHub area is not a support area for general application issues. This is only for issues/bugs with the framework code itself.
I will be closing your ticket here. Instead please try asking your question on one of the many great community support areas that will likely give you a better answer more quickly:

Laravel Slack (https://larachat.co/)
Laravel.io Forum (https://laravel.io/forum)
Laracasts Forum (https://laracasts.com/discuss)
StackOverflow (http://stackoverflow.com/questions/tagged/laravel)

If you feel I've closed this issue in error, please provide more information about how this is a framework issue, and I'll reopen the ticket.
Thanks in advance.


Send User-Agent information with metrics

Codecov Report

Merging #15 (3c204d1) into master (747feed) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #15   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           68        69    +1
  Branches        16        17    +1
=========================================
+ Hits            68        69    +1

Impacted Files
Coverage Δ

packages/express/src/index.ts
100.00% <ø> (ø)

packages/next/src/index.ts
100.00% <ø> (ø)

packages/core/src/index.ts
100.00% <100.00%> (ø)

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 747feed...3c204d1. Read the comment docs.


feat: implement vector logs aggregator

Description:
This PR finalizes v0 of centralized logging over Docker. Specifically, it makes the following changes:

Adds LogsAggregator component in accordance with new centralized logging architecture
Implements a LogsAggregator using Vector
Configures fluentbit log collectors to send logs to vector log aggregators (as opposed to loki log database)

Is this change user facing?
NO
References (if applicable):
First PR reactivating fluentbit log collectors: https://github.com/kurtosis-tech/kurtosis/pull/1064

Shouldn't we remove the loki code? Or are you keeping that for a future PR?

Initially was gonna remove loki stuff in future PR, but I'll just do that right now.


proc: clarify that ProcessManager.run returns a task signature

Adjust API to make it more obvious that ProcessManager.run was not intended run a process, it returns a celery task signature which needs to be scheduled.
Also allows the user to specify whether or not the generated signature is immutable (useful when using celery chaining)

Codecov Report

Merging #48 (c516694) into main (fed89bd) will decrease coverage by 4.54%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #48      +/-   ##
==========================================
- Coverage   86.86%   82.31%   -4.55%
==========================================
  Files          19       19
  Lines         708      707       -1
  Branches       98       75      -23
==========================================
- Hits          615      582      -33
- Misses         74       97      +23
- Partials       19       28       +9

Impacted Files
Coverage Δ

src/dvc_task/proc/manager.py
67.82% <100.00%> (-8.90%)
:arrow_down:

tests/test_utils.py
71.42% <0.00%> (-28.58%)
:arrow_down:

tests/proc/test_manager.py
88.88% <0.00%> (-11.12%)
:arrow_down:

src/dvc_task/utils.py
38.09% <0.00%> (-7.94%)
:arrow_down:

src/dvc_task/worker/temporary.py
77.58% <0.00%> (-6.90%)
:arrow_down:

src/dvc_task/proc/exceptions.py
86.66% <0.00%> (-6.67%)
:arrow_down:

tests/worker/test_temporary.py
93.93% <0.00%> (-3.04%)
:arrow_down:

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 fed89bd...c516694. Read the comment docs.


BLOCK parsing does not stop when ENDBLK is encountered

I have a dxf file with the following BLOCKS section, and it seems to confuse/break parsing. Stepping through the code, it looks like, after encountering an ENDBLK, it continues parsing the block, until it finally encounters a AcDbBlockEnd, which does not occur in my file.
BLOCKS
0
BLOCK
8
0
2
$MODEL_SPACE
70
0
10
0.0
20
0.0
30
0.0
3
$MODEL_SPACE
1
0
ENDBLK
5
21
8
0
0
BLOCK
67
1
8
0
2
$PAPER_SPACE
70
0
10
0.0
20
0.0
30
0.0
3
$PAPER_SPACE
1
0
ENDBLK
5
1D
67
1
8
0
0
ENDSEC

Hmm interesting. I don't believe the dxf-parser looks at class names like AcDbBlockEnd as markers for where it is in the parsing process. It should have stopped reading the block at
0
ENDBLK

so something else must be going on. Thanks for posting the issue!

Yeah, if you take a look, you'll see that when it encounters a 0 it calls parseEntities, and then continues to loop. It only breaks the loop when it gets to AcDbBlockEnd: https://github.com/gdsestimating/dxf-parser/blob/master/lib/DxfParser.js#L178.
I actulally have a fix for this as well as #2, though I don't have them in a state where I can submit a pull request. I'll work on this tonight.

Ah, you're right. Looks like block parsing is actually quite messed up. I was too hasty in testing that functionality. I'll post a fix for it soon. One thing I noticed in your example is that you have no handles for your blocks. I was using handles as property names in the output. Without handles, it outputs a single block with property name undefined.
I think AutoCad requires handles, but I could be wrong. If not, then I suppose we could use the name as the property name instead, or we could generate handles when they are missing.

::shrug:: Not sure if they're required or not. This bit is output from OnShape, and loads fine into other software that I'm using. I'd vote either switch to name or create an new anonymous handle of some sort.


Feat/pull interval

Coverage decreased (-64.3%) to 0.0% when pulling 1476aae7956e727cc49cff0404ef6938fd2abb0c on feat/pull-interval into 17b42a8d81a54f7d1f33dda9ff1ab0101df3451c on master.

Coverage decreased (-64.3%) to 0.0% when pulling 1476aae7956e727cc49cff0404ef6938fd2abb0c on feat/pull-interval into 17b42a8d81a54f7d1f33dda9ff1ab0101df3451c on master.


not an issue but a doubt

just wanted to know like we can use external interrupt ,can we use timer interrupt too in beagle?

Well, that depends what kind of accuracy and resolution you need. There's plenty of ways to do timed tasks in GNU/Linux, like cron, or event-driver frameworks (e.g. Twisted or Tornado for Python).

actually i was working on implementing a rpm-encoder on beagle using PyBBIO, but for that i needed external interrupt and timer interrupt , although i got to know how to use external interrupt in PyBBIO, but still stuck on how to use timer interrupt in PyBBIO. any direction from you?

Have you looked at using the eQEP modules? They can very precisely count steps from an encoder.


[merge addon] Alignment issues with line widgets

When there are line widgets that are wider than the editor, or have a margin set, the alignment gets offset a bit.
Scroll down a bit here: https://jsfiddle.net/5v5h991r/

I think attached patch will solve this.


Stable version 404 error

Environmental Info:
K3s Version:  stable

Node(s) CPU architecture, OS, and Version:

Cluster Configuration:

Describe the bug:

Run curl -sfL https://get.k3s.io/ | K3S_KUBECONFIG_MODE=777 sh -
installing stable version, but i got this error

Steps To Reproduce:

Installed K3s:

Expected behavior:

Actual behavior:

Additional context / logs:

Likely duplicate of https://github.com/k3s-io/k3s/issues/10578


Error while setting up platform brunt - hass update hasn't solved

Home Assistant release with the issue:

0.76.2
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):

Hassbian
Component/platform:

https://www.home-assistant.io/components/cover.brunt/
Description of problem:
brunt cover does not appear in HASS after adding to configuration.yaml
as per other users' errors I've gone into my venv and tried pip3 install brunt - it is already installed. I've tried both username and assosciated email address in the config, and confirmed my password is correct.

**Traceback (if applicable):**

2018-08-22 13:42:45 ERROR (MainThread) [homeassistant.components.cover] Error while setting up platform brunt
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for
    return fut.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/cover/brunt.py", line 45, in setup_platform
    from brunt import BruntAPI
  File "/srv/homeassistant/lib/python3.5/site-packages/brunt/__init__.py", line 1, in <module>
    from .brunt import *
  File "/srv/homeassistant/lib/python3.5/site-packages/brunt/brunt.py", line 39
    url = f"{ data['host'] }{ data['path'] }"
                                            ^
SyntaxError: invalid syntax

Hi, I built that and I noticed that the f-string that I use is Python 3.6, I'm meaning to make the update to my SDK so that it works with more Python versions, for now the work around is upgrading python, but that might not be possible for you.

@eavanvalkenburg thanks so much for the response!
I will investigate the update process for python on my hassbian setup - it's currently running 3.5
Can you offer any estimate of your timeframe for updating your sdk?
thanks again for the response - I can mark this as closed

I just made those changes and update the package, and the PR is also there #16130 so should be fixed soon!

amazing! thanks @eavanvalkenburg

@danpowpow it was just merged, so next release (major or minor) it should be fixed.

@danpowpow in .77 the fix was included, give it a try!


Consideration: Make all data types conform to Hashable

This might already be something already being considered and worked on, but I figured I would weigh in if not. As of right now, not having types such as PostView, CommentView, etc. conform to hashable can be a bit limiting for iteration and usage within the NavigationStack. I'm willing to take this on and commit, but I wanted to get your guys thoughts before doing so.

@creekdrops I'm all for it. Feel free to make a PR.

@fishcharlie PR is available here. Let me know if you have any suggestions or feedback. 😄


Add .editorconfig file

I've asked about it on slack, and was told that we mostly rely on prettifier --fix in the precommit hook.
So I've continued struggling with it, but can't do it anymore. I think this small file won't harm anybody.
What I did
I've added .editorconfig file with the basic setup

So do we have to keep that in sync with prettier options now? Maybe your editor have some eslint/prettier integrations you could use instead?

On the other hand, if it ever goes out of sync, we will notice it immediately, so maybe it's not a problem

I use webstorm, so it has this integration =) I am working on a few projects that has different configurations (different from nowadays standards), and the editorconfig is very useful.. (I don't want to override webstorm defaults from project to project)


Any Fluid into Mariculture tanks.

Hi,
Couldn't find this anywhere so thought I would submit it just in case.  Doesn't cause any issues I could see.  This log is from just one bucket of lava put into a mariculture tank.
http://pastebin.com/FX9DAqnm
Any liquid put from bucket to tank, or tank to bucket creates these reports.  Tried lava, water, creosote, oil, and fuel.
I am using FTB Regrowth pack for reference.
Only mods other than stock i have is Optifine and updated Buildcraft, Enderzoo, and Storage Drawers.
However could reproduce under the stock pack as well.
I don't see any messages with piped liquids though.
Xy.

An extra issue is the following which occurs when you place a tank with any liquid down as a block.
http://pastebin.com/gxXc1Xx1

Also found this in the forge log.  Related ??
http://pastebin.com/mC94dcTM

Did you update Mariculture as well? Regrowth has the non fixed fluids version.

I considered that before posting but since we are only using Forge 1291, rather than 1355+, I posted first before updating.
Updated to latest and just tested.  Tanks and buckets work fine now.. But the TConstruct error still occurs..  Will update Tconstruct and see if thats the issue.

Ok cannot update any further on TConstruct.. Its not a game breaking or stopping error, just thought I would post it incase you had not seen it.
Really enjoying Mariculture in regrowth..

If it was 1291 those errors wouldn't have been ocurring at all.

Definately 1291.  Just rechecked forge.

Just to be sure.
Checking local assets file, for MC version1.7.10 Please wait!
Setting up native libraries for Regrowth v Recommended Version MC 1.7.10
Syncing Assets:
Java Path: C:\Program Files\Java\jre1.8.0_40\bin\javaw.exe
Pack: Regrowth 1.7.10
Setting MinMemory to 256
Setting MaxMemory to 4096
Additional java parameters: -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+AggressiveOpts
Adding Optimization Arguments: -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CICompilerCountPerCPU -XX:+TieredCompilation
[19:46:03] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[19:46:03] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[19:46:03] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[19:46:03] [main/INFO] [FML]: Forge Mod Loader version <IP_ADDRESS>1 for Minecraft 1.7.10 loading
[19:46:03] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_40, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre1.8.0_40
[19:46:03] [main/INFO] [FML]: [AppEng] Core Init

Maybe on client, not neccessarily on server

Server as well.
GUI] The server is starting...
[GUI] Server started...
8:40:57 PM [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker
8:40:57 PM [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLServerTweaker
8:40:57 PM [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLServerTweaker
8:40:57 PM [main/INFO] [FML]: Forge Mod Loader version <IP_ADDRESS>1 for Minecraft 1.7.10 loading
8:40:57 PM [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_40, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre1.8.0_40

You can't connect to mismatched forge versions can you ?  I can't say I have tried recently.. I know you couldn't way back when.

Yes you can.

Ok after further testing. It still happens with latest version using Forge 1291, but only in SMP.  When I originally posted that it was fixed I was in SP same world (copied direct from server) and the errors stopped.  Now that I have updated the server (even going so far as creating a new server with all files copied direct from client) the error persists.  Went back to SP.  Error gone..  Don't know what to add now.  Have triple checked forge version on both server and client.. Both are definitely 1291. All configs and mods the same.
Its a client side error too.. I cannot get it to appear in any logs on server when it occurs.
Here is error log for latest version.
http://pastebin.com/2m56YCFh

Ok I just tested dedicated server. And was unable to recreate this. I'll try some more testing.

I did manage to get the crash after trying to load a SSP world after testing in SMP though.


Implement interface to UnitsDB data and UnitsML schema

This gem should hold the UnitsML class representation and also provide an interface to access UnitsDB data.
It should also incorporate the XSD generation functionality (using UnitsDB, i.e. unitsml/schemas#2).

In this gem, we have to fully model UnitsML with Ruby classes.
The classes are provided here:
https://github.com/plurimath/asciimath2unitsml/blob/main/lib/unitsdb_ruby/unitsdb.rb
https://github.com/plurimath/asciimath2unitsml/blob/main/lib/asciimath2unitsml/unit.rb
Need your help in cleaning them up to real Ruby classes...
We need these Ruby classes:

Unit
Dimension
UnitSymbol
UnitSystem
Quantity
Prefix
UnitsDB (to model the data provided in https://github.com/unitsml/unitsdb)
UnitSet (a set of Units) (not sure if we need it)

Inside UnitsDB, you will re-use the above classes.
Each of these classes can have a to_xml and to_yaml method, as well as a from_yaml method (so that you can import UnitsDB).
This gem should have a submodule to download UnitsDB data.

Need to support something like this:
Unitsml.find_unit(ascii: 'mL') => Unitsml::Unit::SomeUnitName
# or:
Unitsml::Unit.find_symbol(ascii: 'mL') => Unitsml::Unit::SomeUnitName

Unitsml::Unit:SomeUnitName.to_latex => "\something{m}{L}"

This issue is a prerequisite to https://github.com/plurimath/asciimath2unitsml/issues/9

As @w00lf raised, perhaps we should just do a single class for a class of units (and quantity, etc):
Unitsml.find_unit(ascii: 'mL') => Unitsml::Unit (with unit attributes)
# or:
Unitsml::Unit.find_symbol(ascii: 'mL') => Unitsml::Unit (with unit attributes)

(Unitsml::Unit (with unit attributes)).to_latex => "\something{m}{L}"


Remove intermediate zip file from image

Zip file is 15MB and is not needed in the final image.

Thanks for the PR @flicken ! Will merge this in


FINERACT-821 Added FallThrough Checkstyle

Refer: https://issues.apache.org/jira/browse/FINERACT-821

@thesmallstar resolve merge conflict?

@thesmallstar resolve merge conflict and I'll merge this (trivial) one ASAP
PS What you could do to avoid this is to "cheat" a little bit and just add new lines a little "higher up", so that not all new checks appear in the same line to git diff, that way there won't be any conflicts - do you know what I mean?

@vorburger understood! will do it from next time :)

Build failed, looking into it.


ckjm/wmc calculates method count, not weighted method count

Running ckjm for org.jfree.data.general.DatasetUtils (or any other class, https://github.com/jfree/jfreechart/blob/master/src/main/java/org/jfree/data/general/DatasetUtils.java)  it returns wmc=58, but running https://github.com/mauricioaniche/ck on source code, I get wmc=336 and it looks indeed more like complexity-weighted method count.
I can see cm.incWmc in https://github.com/jazzmuesli/ckjm/blob/master/src/gr/spinellis/ckjm/ClassVisitor.java  is called before visiting every method, but it doesn't do any complexity-counting.
Are there any plans to fix it - or is it by design?
Thanks for the tool!

WMC is calculated according to the Chidamber and Kemerer's assumption "If all method complexities are considered to be unity, then WMC = n, the number of methods."


Adds meta files for 3 Japan-region games

Guilty Gear X, King of Fighters 2002, Capcom vs SNK2

Thank you for contributions!


General usage documentation missing from README

We do not have a general usage example with parameters available in the README. Should cover installation and configuration variables.

Closed for inactivity.


Re-factor the toHexUtil helper (PR 17862 follow-up)

We can re-use the hexNumbers structure, since that allows us to directly lookup the hexadecimal values and shortens the code.

/botio unittest


Adding Some more formulae in Solution of triangle section

I would like to add some more formulae in Solution of triangle as many are missing:-
I would like to add following Formulae;-

radius of incircle
length of angle bisector
length of median
length of altitude
relation between length of three medians and three sides
relation between area of inscribed and excribed circle
relation between angles of a triangle and its incircle radii and circumcircle radii
incentre
position of circumcentre for acute,right and obtuse angled triangle
position of incentre and centroid
position of orthocentre for acute,right and obtuse angled triangle

@sairish2001 I would like to work on this. can you please assign it to me.

Go ahead!
Deadline 30 March,2021 (11:59 PM IST)


Update overwrites personalized configs

For example if nodeDbPath value in launcher-config.yaml was changed to another path, the update replaced the entire file with default values.
not sure what would be a good way to allow and store personalized settings and "re-inject" them after an upgrade.

Hello @gufmar,
Modifying launcher-config.yaml is not something you should do. This is not considered to be a "normal" usage and thus it is not something the update mechanism expects.
I believe you will have to update the path again manually in order to restore your custom nodeDbPath.
@cleverca22 do you have any suggestions here?
Thanks!

Modifying launcher-config.yaml is not something you should be doing.
If you are interested in changing the paths of where chain data is stored, I suggest you to follow these steps: https://github.com/input-output-hk/daedalus/issues/605#issuecomment-771782614


Test how and if Suspense works

Works - not out of the box - workaround with a remote suspense wrapper that can be removed once remote-dom fully supports suspense


Robonomics IO read launch panics when idle

Performing local tests with robonomics --dev network I noticed that robonomics io read launch crashes after some idle time
How to reproduce
One terminal window:
robonomics --dev --rpc-cors all

Another terminal window
robonomics io read launch

Expected result
rio read launch is alive as long as robonomics --dev works
Actual result
After some uncertain time
% ./robonomics io read launch
====================

Version: 0.21.0-31a135b-x86_64-linux-gnu

   0: sp_panic_handler::set::{{closure}}
   1: std::panicking::rust_panic_with_hook
             at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libstd/panicking.rs:530
   2: rust_begin_unwind
             at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libstd/panicking.rs:437
   3: core::panicking::panic_fmt
             at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libcore/panicking.rs:85
   4: core::option::expect_none_failed
             at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libcore/option.rs:1273
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   6: std::thread::local::LocalKey<T>::with
   7: async_task::raw::RawTask<F,R,S,T>::run
   8: multitask::Ticker::tick
   9: async_executor::Executor::run
  10: core::ops::function::FnOnce::call_once{{vtable.shim}}
  11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
             at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/liballoc/boxed.rs:1081
      <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
             at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/liballoc/boxed.rs:1081
      std::sys::unix::thread::Thread::new::thread_start
             at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libstd/sys/unix/thread.rs:87
  12: start_thread
  13: __clone

Thread 'async-std/runtime' panicked at 'called `Result::unwrap()` on an `Err` value: Codec(Error("No such variant in enum Phase"))', robonomics/io/src/source/virt.rs:94

This is a bug. Please report it at:

        https://github.com/airalab/robonomics/issues/new

I got the same bug on macOS, so I'll share it with you
❯ robonomics io read launch

====================

Version: 0.21.0-31a135b-x86_64-macos

   0: backtrace::backtrace::trace
   1: backtrace::capture::Backtrace::new
   2: sp_panic_handler::set::{{closure}}
   3: std::panicking::rust_panic_with_hook
   4: _rust_begin_unwind
   5: core::panicking::panic_fmt
   6: core::result::unwrap_failed
   7: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   8: std::thread::local::LocalKey<T>::with
   9: async_task::raw::RawTask<F,R,S,T>::run
  10: multitask::Ticker::tick
  11: async_executor::Executor::run
  12: core::ops::function::FnOnce::call_once{{vtable.shim}}
  13: std::sys::unix::thread::Thread::new::thread_start
  14: __pthread_start

Thread 'async-std/runtime' panicked at 'called `Result::unwrap()` on an `Err` value: Codec(Error("No such variant in enum Phase"))', robonomics/io/src/source/virt.rs:94

This is a bug. Please report it at:

	https://github.com/airalab/robonomics/issues/new

Got the same issue after making 2 transactions during 2 sequential blocks. After the 3rd block is calculated, bug appears

@PaTara43 could you attach the error log here?

@akru, sure
`Version: 0.21.0-31a135b-x86_64-linux-gnu
0: sp_panic_handler::set::{{closure}}
1: std::panicking::rust_panic_with_hook
at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libstd/panicking.rs:530
2: rust_begin_unwind
at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libstd/panicking.rs:437
3: core::panicking::panic_fmt
at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libcore/panicking.rs:85
4: core::option::expect_none_failed
at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libcore/option.rs:1273
5: <core::future::from_generator::GenFuture as core::future::future::Future>::poll
6: std::thread::local::LocalKey::with
7: async_task::raw::RawTask<F,R,S,T>::run
8: multitask::Ticker::tick
9: async_executor::Executor::run
10: core::ops::function::FnOnce::call_once{{vtable.shim}}
11: <alloc::boxed::Box as core::ops::function::FnOnce>::call_once
at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/liballoc/boxed.rs:1081
<alloc::boxed::Box as core::ops::function::FnOnce>::call_once
at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/liballoc/boxed.rs:1081
std::sys::unix::thread::Thread::new::thread_start
at /rustc/d7f94516345a36ddfcd68cbdf1df835d356795c3/src/libstd/sys/unix/thread.rs:87
12: start_thread
13: __clone
Thread 'async-std/runtime' panicked at 'called Result::unwrap() on an Err value: TypeSizeUnavailable("Moment")', robonomics/io/src/source/virt.rs:94
This is a bug. Please report it at:
https://github.com/airalab/robonomics/issues/new

`

@PaTara43 thank you, looks like an undefined type than should be imported before sending transactions to the network. Is it happens on dev network?

@akru, yep, on --dev
The full mise-en-scene:
I launch the listener with
program = "<path_to_binary_file>/robonomics io read launch"
process = subprocess.Popen(program, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

listen to the network and do stuff if there is an "ON" transaction to a specific address:
while True:
        output = process.stdout.readline()
        if output:
            if (">> " + <address> + " : true") in output.strip().decode('utf-8'):
                logging.warning('Transaction to start for ' + <address>)
                do_stuff_thread = Thread(target=do_stuff, args=(args,))
                do_stuff_thread.start()
            elif ('>> ' + <address> + " : false") in output.strip().decode('utf-8'):
                logging.warning('Transaction to stop for ' + <address>)
                class_instance.stop_flag = True

Inside the thread I do stuff with an instance of a class while the class_instance.stop_flag is not set. When it is set, I stop doing stuff and try to send class_instance.data_string to datalog with
program = "echo \"" + <class_instance.data_string> + "\" | " + <path_to_binary_file> + "/robonomics io write datalog -s " + <key>
process = subprocess.Popen(program, shell=True, stdout=subprocess.PIPE)
output = process.stdout.readline()
logging.warning("Published data to chain. Transaction hash is " + output.strip().decode('utf8'))

The code is obviously simplified, but the main pattern of how I do it with robonomics is decribed. When i send an echo "ON" | ... transaction, I launch the thread, when I send an echo "OFF" | ... transaction, I stop the thread and instantly try to put some data to the network. It works fine, but when the next block is calculated, the bug appears.
I tried to catch the bug with:
bug_catcher = Thread(target=catch_bugs, args=(args,))
bug_catcher.start()

...

def catch_bugs(args):
    error = process.stderr.readline()
    if error:
        logging.warning("Error in listener occurred, rebooting listener")
        listener() #reboot listener, calling the function with the code written above

Since it relaunches immediately, it catches the bug for 8 more seconds, rebooting the listener again and again, then it's ready to listen normally.
The problem is, if I send some transaction within the block, at the end of which the listener crashes, I lose the transaction.

New error got. When listening to some remote test network, after some time:
Version: 0.21.0-eb82a27-aarch64-linux-gnu
0: sp_panic_handler::set::{{closure}}
1: std::panicking::rust_panic_with_hook
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/panicking.rs:530:17
2: rust_begin_unwind
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/panicking.rs:437:5
3: core::panicking::panic_fmt
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/panicking.rs:85:14
4: core::option::expect_none_failed
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libcore/option.rs:1269:5
5: robonomics_io::source::virt::launch::{{closure}}
6: std::thread::local::LocalKey::with
7: <core::future::from_generator::GenFuture as core::future::future::Future>::poll
8: async_task::raw::RawTask<F,T,S>::run
9: <core::future::from_generator::GenFuture as core::future::future::Future>::poll
10: <core::future::from_generator::GenFuture as core::future::future::Future>::poll
11: async_io::driver::block_on
12: async_global_executor::init_with_config::{{closure}}
13: std::sys_common::backtrace::__rust_begin_short_backtrace
14: core::ops::function::FnOnce::call_once{{vtable.shim}}
15: <alloc::boxed::Box as core::ops::function::FnOnce>::call_once
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/liballoc/boxed.rs:1081:9
<alloc::boxed::Box as core::ops::function::FnOnce>::call_once
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/liballoc/boxed.rs:1081:9
std::sys::unix::thread::Thread::new::thread_start
at /rustc/04488afe34512aa4c33566eb16d8c912a3ae04f9/src/libstd/sys/unix/thread.rs:87:17
16: start_thread
Thread 'async-std/runtime' panicked at 'called Result::unwrap() on an Err value: Codec(Error("No such variant in enum Phase"))', robonomics/io/src/source/virt.rs:94

When listening simultaneously from 2 different devices, error throws at the same time on both of them

I've noticed that this error is thrown when GRANDPA algorithm is applied. Maybe listener can't handle GRANDPA messages?

It probably not affected to GRANDPA but something happens in the event handler, we should check carefully unwrap() methods.

Feel free to open when happens on latest release


changed check for ios to ios7 or less

Extracted headers to their own function to make integrating with framework responses easier
Example laravel response (utilising symphony components)
return Response::make($this->vCard->getOutput(), 200, $this->vCard->getHeaders(false));

This is a fix for https://github.com/jeroendesloovere/vcard/issues/18
I am sure it can be cleaned up - this is tested and working on desktop and ios8, but not 7 or less

read guidelines, I will fix and re-make


[Bug]: Kured communication gets timeout when talking to Kubernetes service

Description
I'm using the Terraform provider version v2.12.0 with Cilium v1.15.1 and K3s v1.28.6+k3s2.
I don't really get my head around, why the Kured pod can't communicate with the kubernetes service running on https://<IP_ADDRESS>:443 in my cluster, but it results in a restarted pod due to timeout.
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Binding node-id command flag to environment variable: KURED_NODE_ID"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Kubernetes Reboot Daemon: 1.15.0"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Node ID: k3s-01-agent-small-nbg1-vvj"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Lock Annotation: kube-system/kured:weave.works/kured-node-lock"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Lock TTL not set, lock will remain until being released"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Lock release delay not set, lock will be released immediately after rebooting"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="PreferNoSchedule taint: "
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Blocking Pod Selectors: []"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Reboot schedule: SunMonTueWedThuFriSat between 00:00 and 23:59 UTC"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Reboot check command: [test -f /sentinel/reboot-required] every 5m0s"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Concurrency: 1"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Reboot method: command"
2024-02-22T09:30:20+01:00 time="2024-02-22T08:30:20Z" level=info msg="Reboot signal: 39"
2024-02-22T09:37:31+01:00 time="2024-02-22T08:37:31Z" level=fatal msg="Error testing lock: timed out trying to get daemonset kured in namespace kube-system: Timed out trying to get daemonset kured in namespace kube-system: Get \"https://<IP_ADDRESS>:443/apis/apps/v1/namespaces/kube-system/daemonsets/kured\": dial tcp <IP_ADDRESS>:443: i/o timeout"

Kube.tf file
module "kube-hetzner" {
  source  = "kube-hetzner/kube-hetzner/hcloud"
  version = "2.12.0"

  // provider and hcloud token config
  providers = {
    hcloud = hcloud
  }
  hcloud_token = var.hcloud_token

  // ssh key parameters
  ssh_public_key    = hcloud_ssh_key.tibiadata_ssh_key["tobias_ed25519"].public_key
  ssh_private_key   = null
  hcloud_ssh_key_id = hcloud_ssh_key.tibiadata_ssh_key["tobias_ed25519"].id

  // network parameters
  network_ipv4_cidr = "<IP_ADDRESS>/17"
  cluster_ipv4_cidr = "<IP_ADDRESS>/20"
  service_ipv4_cidr = "<IP_ADDRESS>/20"
  cluster_dns_ipv4  = "<IP_ADDRESS>"

  // control plane nodepools
  control_plane_nodepools = [
    for location in ["fsn1", "hel1", "nbg1", ] : {
      name        = "control-plane-${location}",
      server_type = "cax11",
      location    = location,
      labels      = [],
      taints      = [],
      count       = 1
    }
  ]

  agent_nodepools = [
    for location in [for dc in data.hcloud_datacenter.ds : dc.location.name] : {
      // for location in ["fsn1", "hel1", "nbg1", ] : {
      name        = "agent-small-${location}",
      server_type = "cax11",
      location    = location,
      labels      = [],
      taints      = [],
      count       = 2
    }
  ]

  load_balancer_type     = "lb11"
  load_balancer_location = "hel1"

  cluster_name        = "k3s-01"
  base_domain         = "k3s-01.${var.fqdn_domain}"
  additional_tls_sans = ["k3s-01.${var.fqdn_domain}"]
  ingress_controller  = "none"

  firewall_kube_api_source = [for ip in tolist(var.firewall_whitelisting.ssh) : "${ip}/32"]
  firewall_ssh_source      = [for ip in tolist(var.firewall_whitelisting.ssh) : "${ip}/32"]

  cni_plugin          = "cilium"
  cilium_version      = "v1.15.1"
  cilium_routing_mode = "native"
  enable_wireguard    = true
  block_icmp_ping_in  = true

  enable_cert_manager = false
  create_kubeconfig   = false

}

Screenshots
No response
Platform
Linux

Found also some event that looks reasonable for one of my nodes (k3s-01-agent-small-nbg1-vvj) in the cluster:
Could not create route fac268fa-acab-4287-bc7f-5008bb1790cf <IP_ADDRESS>/24 for node k3s-01-agent-small-nbg1-vvj after 398.38809ms: hcloud/CreateRoute: invalid gateway (invalid_input)

When looking at the pod logs of hcloud-cloud-controller-manager it looks like there is some routing issue..
2024-02-22T13:42:11+01:00 I0222 12:42:11.829375       1 route_controller.go:216] action for Node "k3s-01-control-plane-hel1-iwm" with CIDR "<IP_ADDRESS>/24": "keep"
2024-02-22T13:42:11+01:00 I0222 12:42:11.829410       1 route_controller.go:216] action for Node "k3s-01-control-plane-nbg1-oze" with CIDR "<IP_ADDRESS>/24": "keep"
2024-02-22T13:42:11+01:00 I0222 12:42:11.829422       1 route_controller.go:216] action for Node "k3s-01-agent-small-nbg1-vvj" with CIDR "<IP_ADDRESS>/24": "add"
2024-02-22T13:42:11+01:00 I0222 12:42:11.829433       1 route_controller.go:216] action for Node "k3s-01-agent-small-nbg1-yiv" with CIDR "<IP_ADDRESS>/24": "keep"
2024-02-22T13:42:11+01:00 I0222 12:42:11.829445       1 route_controller.go:216] action for Node "k3s-01-control-plane-fsn1-ywt" with CIDR "<IP_ADDRESS>/24": "keep"
2024-02-22T13:42:11+01:00 I0222 12:42:11.829459       1 route_controller.go:290] route spec to be created: &{ k3s-01-agent-small-nbg1-vvj false [{InternalIP <IP_ADDRESS>} {Hostname k3s-01-agent-small-nbg1-vvj} {ExternalIP XX.XX.XX.XX}] <IP_ADDRESS>/24 false}
2024-02-22T13:42:11+01:00 I0222 12:42:11.829493       1 route_controller.go:304] Creating route for node k3s-01-agent-small-nbg1-vvj <IP_ADDRESS>/24 with hint fac268fa-acab-4287-bc7f-5008bb1790cf, throttled 12.44µs
2024-02-22T13:42:12+01:00 E0222 12:42:12.401242       1 route_controller.go:329] Could not create route fac268fa-acab-4287-bc7f-5008bb1790cf <IP_ADDRESS>/24 for node k3s-01-agent-small-nbg1-vvj: hcloud/CreateRoute: invalid gateway (invalid_input)
2024-02-22T13:42:12+01:00 I0222 12:42:12.401365       1 route_controller.go:387] Patching node status k3s-01-agent-small-nbg1-vvj with false previous condition was:&NodeCondition{Type:NetworkUnavailable,Status:False,LastHeartbeatTime:2024-02-22 12:42:00 +0000 UTC,LastTransitionTime:2024-02-22 12:42:00 +0000 UTC,Reason:CiliumIsUp,Message:Cilium is running on this node,}
2024-02-22T13:42:12+01:00 I0222 12:42:12.401535       1 event.go:307] "Event occurred" object="k3s-01-agent-small-nbg1-vvj" fieldPath="" kind="Node" apiVersion="" type="Warning" reason="FailedToCreateRoute" message="Could not create route fac268fa-acab-4287-bc7f-5008bb1790cf <IP_ADDRESS>/24 for node k3s-01-agent-small-nbg1-vvj after 571.712557ms: hcloud/CreateRoute: invalid gateway (invalid_input)"

Someone experienced this before?

I suspect it's because of the cilium routing mode "native", @tobiasehlert please remove that line and let us know 🙏

Yes, from what I've seen yet it looks exactly like that.. just removed the whole cluster and created a new one and it's not working with cilium_routing_mode set to tunnel. But there was no difference at all @mysticaltech
To me it looks like it's the hcloud csi things that are the issue in this case.. but I can't get my head around the issue.

@tobiasehlert Weird, it's the first time we hear of that. Please inspect and share your hcloud csi logs then if you suspect this is causing the issue. Also please have a look at our readme's debug section and try to do some general node level debug just in case. Also, the hcloud cli can be useful here to inspect the routes and such.

Hey @tobiasehlert, HCCM is already hinting at what's wrong here:

Could not create route fac268fa-acab-4287-bc7f-5008bb1790cf <IP_ADDRESS>/24 for node k3s-01-agent-small-nbg1-vvj: hcloud/CreateRoute: invalid gateway (invalid_input)

Overview:

network_ipv4_cidr = <IP_ADDRESS>/17 (Hetzner Network)

Starting from this network onwards: Agent Node Subnets
At the end of this network: Server Node Subnets

cluster_ipv4_cidr = <IP_ADDRESS>/20 (Reserved for K8s Pod Networks -> HCCM RouteController)

k3s-01-agent-small-nbg1-vvj: <IP_ADDRESS>
HCCM RouteController tried to add the Pod network route <IP_ADDRESS>/24 (probably matching 1:1 with the subnet of the server itself) with <IP_ADDRESS> as the gateway:

The gateway IP can not be contained in destination range (only exception are default routes with <IP_ADDRESS>/0)
The Pod IP range is probably clashing with the Hetzner Network Subnets for Agent Nodes

You have to leave enough space at the beginning and at the end of network_ipv4_cidr for Hetzner Networks, so that they don't collide with Pod and Service CIDRs (especially at the beginning of the ranges).

Thanks for your response @M4t7e!
What size should the both Service and Cluster code be each? Do you have some suggestions there?

@tobiasehlert Yeah, sure. Here some considerations for the subnetting...
You need enough space for Hetzner Subnets. Total limit today is 50 Subnets per Network (see https://docs.hetzner.com/cloud/networks/faq#are-there-any-limits-on-how-networks-can-be-used).
For routing configuration simplicity, it's best if cluster_ipv4_cidr falls within network_ipv4_cidr. The cluster_ipv4_cidr will use most IPs since they are allocated for the Pods, and Hetzner CCM reserves larger ranges for the Nodes, adding the Pod routes with the corresponding Node IP as the gateway. Max 100 routes per Network are possible (see Hetzner faq). service_ipv4_cidr typically requires less space compared to the Pods.
Hetzner Subnets and Pod Networks are both allocated in ascending order. Therefore, we could disregard the Server Node Subnets at the end (it's highly unlikely they will ever be used) if we aim to save space.
One example could be like this:

network_ipv4_cidr = <IP_ADDRESS>/16 (sufficient for 64 /24 Subnets -> you can treat only <IP_ADDRESS>/18 as reserved for it)
service_ipv4_cidr = <IP_ADDRESS>/18 (half size of  cluster_dns_ipv4)
cluster_dns_ipv4  = <IP_ADDRESS> (has to be in service_ipv4_cidr)
cluster_ipv4_cidr = <IP_ADDRESS>/17 (biggest range for Pods -> more than 100 /24 routes for Pods)

Thanks @M4t7e!
I'll go for this then :)
network_ipv4_cidr = "<IP_ADDRESS>/17"
service_ipv4_cidr = "<IP_ADDRESS>/19"
cluster_ipv4_cidr = "<IP_ADDRESS>/18"
cluster_dns_ipv4  = "<IP_ADDRESS>"

Thanks @M4t7e, excellent!  Should've had a better look at the kube.tf.
@tobiasehlert When you change IP ranges, you really have to know what you are doing and get a good look at what it affects within the code. For most scenarios, you can just keep the defaults as they are proven to work well.


Board Review: Event Hubs (.NET client advanced scenarios)

The Basics

Developer platform team responsible for the client library:
Event Hubs Feature Team

Link to documentation describing the client library:
Azure.Messaging.EventHubs README

Contact email:

Ramya Achutha Rao (Feature team lead)
Jesse Squire (.NET client engineer)
Caio Saldanha (.NET client engineer)

Service team responsible for the client library:
Azure Messaging Team

Link to documentation describing the service:
Product documentation

Contact email (if service team, provide PM and Dev Lead):

Shubha Vijayasarathy (PM)
Javier Fernandez (PM)
SeongJoon Kwak (SJ) (Engineering manager)
Serkant Karaca (Lead product engineer)

About this client library

Name of the client library:
Event Hubs client library for .NET

Languages for this review:
C#

Link to the service REST APIs:
N/A

Artifacts required (per language)
.NET

Feature: Partition Receiver Client

ApiView
Design proposal

Feature: Event Processor Base

ApiView
Design proposal

Java
Not applicable.  These features are specific to the .NET client.
Python
Not applicable.  These features are specific to the .NET client.
TypeScript
Not applicable.  These features are specific to the .NET client.
Champion Scenarios (Partition Receiver)
Enable developers with advanced or specialized needs access to a client which provides minimal wrapping of the low-level transport, allowing them to receive batches of events on demand with deterministic control over network usage and the ability to tune the advanced aspects of the transport to best power their application scenario.
Read a batch of events from a partition

Target audience: advanced developers with special needs (~10%)
Code sample

Champion Scenarios (Event Processor Base)
Enable developers to create a custom event processor by implementing a base class which requires minimal ceremony and allows for method-level overriding rather than making use of higher-level patterns such as event handlers.  The base class works natively with event batches and handles the low-level implementation details such as resiliency and performing collaborative load balancing with other processors working against the same Event Hub and consumer group.
Implement a minimal processor using the default partition context

Target audience: advanced developers with special needs (~10%)
Code sample

Implement a processor with a custom partition context

Target audience: advanced developers with special needs (~10%)
Code sample

Use a custom implementation for processing events

Target audience: advanced developers with special needs (~10%)
Code sample

Should this lower-level library exist?

What's the purpose?  10-20% are advanced users in high-scale scenarios.  Left a gap v.v. track 1
It feels like the purpose is network control, not high performance. (CONFIRM / DENY)
Java uses back-pressure in reactor to handle this; Node & Python deals with this differently.
Should other languages have these low-level clients?
What value are we providing over the AMQP library?  We provide the driving instructions (which is service specific).
TO DO: How to do this scenario for all languages?  (For JS & Python - needs additional work; Java???)

Should we follow the Client semantics, or remove the Client suffix?

Pro-removal: It's hiding the type for common usage
Anti-removal: It's a 1:1 relationship with the protocol, so feels like a client.
Question: How does the customer determine what client to use?
Board Decision:  60% of board suggests call it a client; however, if we hang it off the consumerclient, can just be a receiver.  It's a little early to talk about naming.

EventProcessorClient

This is the equivalent of the pluggable checkpoint store in other languages.
.NET doesn't have plugins.
ParittionOwnership - properties should be get/set and remove params in constructor.
Take a look at ETag and how to make it generic w.r.t. checkpoint stores that don't support ETag.
Suggest "version" and type string.
Board Decision: API is approved.


Correct the implementation of delay for Xtensa chips

This implementation is actually not correct, but was "good enough" just to get something in here. See here for details:
https://github.com/esp-rs/esp-hal/blob/main/esp-hal-common/src/delay.rs#L92-L94
This will need to be corrected at some point.

I think this can be closed now that #71 is done


feat: add Dockerfile

Adding text from the email I had sent to @uniqueg for context below.
I recently joined the Heath Futures org at Microsoft and have been working with Matt McLoughlin to add tes compliance suite to run as part of our integration test flow in Microsoft/GA4GH-TES, to do that I created a Dockerfile that generates a Docker image that is ready to execute tes compliance tests. Matt suggested reaching out to you to see if it would make sense to add this Dockerfile to the tes-compliance-suite repo since others may want to do something similar.
Here is a draft PR that has the docker file and corresponding entrypoint file included on our side – I have just been using this for testing so far. Let me know if you think this is something that would make sense to add to the tes-compliance-suite repo and if any changes are needed! Creating as a draft PR for now!

let me know if this looks good to go or if there are other things that should be addressed!

@uniqueg @LakiG anything I can do to help or otherwise will wait to hear from you on when tes-compliance-suite is available on PyPI?

Merging this. We can update the Dockerfile as soon as a PyPI (or at least GitHub) release is available. @LakiG, please create an issue for that 🙏🏻


Add lit testing to the test runner.

Add a lit test configuration and include it in run_tests.py. The revision adds a new dependency to pylit and requires rerunning python -m pip install -r requirements.txt. A number of tests are currently failing and are added to config.excludes in test/lit.cfg.py.

Fixes #28.


Make sure mouse has an external relatedTarget on mouseout/over

Fix #3797 #3708
This commit controls that, on mouseout or mouseover, the relatedTarget was an external DOM element (and thus not a child).
This fixes #3797, but not reproducing the exact behaviour of 0.7.5, which conflicts with other choices on event management: basically, in 0.7.5 mouseover and mouseout was still bubbling (so fired twice when moving mouse from a div icon to its child), while now we are not firing those events when relatedTarget is a descendant element of the listener.
The frustrating point is that happen does not seem to be able to set the relatedTarget property, which prevents us from testing the scenarios. I'll have a look if this can be fixed on happen.
I've also renamed _checkMouse to _isExternalTarget because I found myself always needing to check the method content to remember what it is actually doing. I'm open to better names, though ;)

https://github.com/tmcw/happen/pull/17

Added unittests (now that happen accepts relatedTarget option).

On my plate. Can you rebase so that it doesn't conflict with master?

Rebased on master, master :)

Branch need rebase. Again.

Done, thanks :)