Errors while running build.sh

I'm hitting these errors when running bash ./build.sh
Trying different revisions of LibAFL didn't help.
error[E0432]: unresolved import `core::simd::SimdOrd`
 --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/feedbacks/map.rs:8:5
  |
8 | use core::simd::SimdOrd;
  |     ^^^^^^^^^^^^^^^^^^^ no `SimdOrd` in `simd`
  |
help: consider importing one of these items instead
  |
8 | use core::simd::prelude::SimdOrd;
  |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 | use crate::prelude::std::simd::prelude::SimdOrd;
  |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 | use std::simd::prelude::SimdOrd;
  |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/bolts/anymap.rs:48:5
   |
48 |     assert_eq_size!(TypeId, u64);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `TypeId` (128 bits)
   = note: target type: `u64` (64 bits)
   = note: this error originates in the macro `assert_eq_size` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/bolts/anymap.rs:59:5
   |
59 |     assert_eq_size!(TypeId, u64);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `TypeId` (128 bits)
   = note: target type: `u64` (64 bits)
   = note: this error originates in the macro `assert_eq_size` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no associated item named `LANES` found for struct `Simd` in the current scope
   --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/feedbacks/map.rs:490:40
    |
490 |         let steps = size / VectorType::LANES;
    |                                        ^^^^^ associated item not found in `Simd<u8, 16>`
    |
note: if you're trying to build a new `Simd<u8, 16>` consider using one of the following associated functions:
      Simd::<T, N>::splat
      Simd::<T, N>::load
      Simd::<T, N>::from_array
      Simd::<T, N>::from_slice
      and 6 others
   --> /rustc/d18480b84fdbf1efc34f62070951334aa833d761/library/core/src/../../portable-simd/crates/core_simd/src/vector.rs:147:5

error[E0599]: no associated item named `LANES` found for struct `Simd` in the current scope
   --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/feedbacks/map.rs:491:39
    |
491 |         let left = size % VectorType::LANES;
    |                                       ^^^^^ associated item not found in `Simd<u8, 16>`
    |
note: if you're trying to build a new `Simd<u8, 16>` consider using one of the following associated functions:
      Simd::<T, N>::splat
      Simd::<T, N>::load
      Simd::<T, N>::from_array
      Simd::<T, N>::from_slice
      and 6 others
   --> /rustc/d18480b84fdbf1efc34f62070951334aa833d761/library/core/src/../../portable-simd/crates/core_simd/src/vector.rs:147:5

error[E0599]: no associated item named `LANES` found for struct `Simd` in the current scope
   --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/feedbacks/map.rs:494:40
    |
494 |             let i = step * VectorType::LANES;
    |                                        ^^^^^ associated item not found in `Simd<u8, 16>`
    |
note: if you're trying to build a new `Simd<u8, 16>` consider using one of the following associated functions:
      Simd::<T, N>::splat
      Simd::<T, N>::load
      Simd::<T, N>::from_array
      Simd::<T, N>::from_slice
      and 6 others
   --> /rustc/d18480b84fdbf1efc34f62070951334aa833d761/library/core/src/../../portable-simd/crates/core_simd/src/vector.rs:147:5

error[E0599]: no method named `simd_max` found for struct `Simd` in the current scope
   --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/feedbacks/map.rs:498:22
    |
498 |             if items.simd_max(history) != history {
    |                      ^^^^^^^^
   --> /rustc/d18480b84fdbf1efc34f62070951334aa833d761/library/core/src/../../portable-simd/crates/core_simd/src/simd/cmp/ord.rs:30:8
    |
    = note: the method is available for `Simd<u8, 16>` here
    |
    = help: items from traits can only be used if the trait is in scope
help: trait `SimdOrd` which provides `simd_max` is implemented but not in scope; perhaps you want to import it
    |
3   + use core::simd::cmp::SimdOrd;
    |
help: there is a method `simd_min` with a similar name
    |
498 |             if items.simd_min(history) != history {
    |                      ~~~~~~~~

error[E0599]: no associated item named `LANES` found for struct `Simd` in the current scope
   --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/977415c/libafl/src/feedbacks/map.rs:501:50
    |
501 |                     for j in i..(i + VectorType::LANES) {
    |                                                  ^^^^^ associated item not found in `Simd<u8, 16>`
    |
note: if you're trying to build a new `Simd<u8, 16>` consider using one of the following associated functions:
      Simd::<T, N>::splat
      Simd::<T, N>::load
      Simd::<T, N>::from_array
      Simd::<T, N>::from_slice
      and 6 others
   --> /rustc/d18480b84fdbf1efc34f62070951334aa833d761/library/core/src/../../portable-simd/crates/core_simd/src/vector.rs:147:5

   Compiling rangemap v1.5.1
   Compiling clap v4.5.1
Some errors have detailed explanations: E0432, E0512, E0599.
For more information about an error, try `rustc --explain E0432`.
error: could not compile `libafl` (lib) due to 8 previous errors

I've tried to point the LibAFL version to the latest main, but that led to different errors
error[E0599]: no method named `parse_args` found for mutable reference `&mut ClangWrapper` in the current scope
  --> src/bin/libafl_cc.rs:21:14
   |
19 |           if let Some(code) = cc
   |  _____________________________-
20 | |             .cpp(is_cpp)
21 | |             .parse_args(&args)
   | |_____________-^^^^^^^^^^
   |
   = help: items from traits can only be used if the trait is in scope
help: trait `ToolWrapper` which provides `parse_args` is implemented but not in scope; perhaps you want to import it
   |
1  + use libafl_cc::ToolWrapper;
   |
help: there is a method `add_args` with a similar name
   |
21 |             .add_args(&args)
   |              ~~~~~~~~

warning: unused import: `CompilerWrapper`
 --> src/bin/libafl_cc.rs:1:31
  |
1 | use libafl_cc::{ClangWrapper, CompilerWrapper};
  |                               ^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

For more information about this error, try `rustc --explain E0599`.
warning: `libafl_quickjs` (bin "libafl_cc") generated 1 warning
error: could not compile `libafl_quickjs` (bin "libafl_cc") due to 1 previous error; 1 warning emitted
warning: build failed, waiting for other jobs to finish...
warning: `libafl_quickjs` (bin "libafl_cxx") generated 1 warning (1 duplicate)
error: could not compile `libafl_quickjs` (bin "libafl_cxx") due to 1 previous error; 1 warning emitted
error[E0432]: unresolved imports `libafl::bolts::core_affinity`, `libafl::bolts::current_nanos`, `libafl::bolts::launcher`, `libafl::bolts::rands`, `libafl::bolts::shmem`, `libafl::bolts::tuples`, `libafl::executors::TimeoutExecutor`
  --> src/lib.rs:16:9
   |
16 |         core_affinity::Cores,
   |         ^^^^^^^^^^^^^ could not find `core_affinity` in `bolts`
17 |         current_nanos,
   |         ^^^^^^^^^^^^^ no `current_nanos` in `bolts`
18 |         launcher::Launcher,
   |         ^^^^^^^^ could not find `launcher` in `bolts`
19 |         rands::StdRand,
   |         ^^^^^ could not find `rands` in `bolts`
20 |         shmem::{ShMemProvider, StdShMemProvider},
   |         ^^^^^ could not find `shmem` in `bolts`
21 |         tuples::tuple_list,
   |         ^^^^^^ could not find `tuples` in `bolts`
...
25 |     executors::{inprocess::InProcessExecutor, ExitKind, TimeoutExecutor},
   |                                                         ^^^^^^^^^^^^^^^ no `TimeoutExecutor` in `executors`

warning: unused import: `stages::mutational::StdMutationalStage`
  --> src/lib.rs:37:5
   |
37 |     stages::mutational::StdMutationalStage,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

error[E0599]: no function or associated item named `new_tracking` found for struct `MapFeedback` in the current scope
   --> src/lib.rs:198:29
    |
198 |             MaxMapFeedback::new_tracking(&edges_observer, true, false),
    |                             ^^^^^^^^^^^^ function or associated item not found in `MapFeedback<DifferentIsNovel, _, MaxReducer, _, _>`
    |
note: if you're trying to build a new `MapFeedback<DifferentIsNovel, _, MaxReducer, _, _>` consider using one of the following associated functions:
      MapFeedback::<N, O, R, S, T>::new
      MapFeedback::<N, O, R, S, T>::tracking
      MapFeedback::<N, O, R, S, T>::with_names
      MapFeedback::<N, O, R, S, T>::with_name
      MapFeedback::<N, O, R, S, T>::with_names_tracking
   --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/e3f837d/libafl/src/feedbacks/map.rs:674:5
    |
674 |       pub fn new(map_observer: &O) -> Self {
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
688 |       pub fn tracking(map_observer: &O, track_indexes: bool, track_novelties: bool) -> Self {
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
702 |       pub fn with_names(name: &'static str, observer_name: &'static str) -> Self {
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
725 |       pub fn with_name(name: &'static str, map_observer: &O) -> Self {
    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
739 | /     pub fn with_names_tracking(
740 | |         name: &'static str,
741 | |         observer_name: &'static str,
742 | |         track_indexes: bool,
743 | |         track_novelties: bool,
744 | |     ) -> Self {
    | |_____________^
help: there is an associated function `tracking` with a similar name
    |
198 |             MaxMapFeedback::tracking(&edges_observer, true, false),
    |                             ~~~~~~~~

error[E0599]: no function or associated item named `new_with_observer` found for struct `TimeFeedback` in the current scope
   --> src/lib.rs:200:27
    |
200 |             TimeFeedback::new_with_observer(&time_observer)
    |                           ^^^^^^^^^^^^^^^^^ function or associated item not found in `TimeFeedback`
    |
note: if you're trying to build a new `TimeFeedback` consider using one of the following associated functions:
      TimeFeedback::new
      TimeFeedback::with_observer
   --> /home/florian/.cargo/git/checkouts/libafl-c33dc6f5ec2f7a70/e3f837d/libafl/src/feedbacks/mod.rs:949:5
    |
949 |     pub fn new(name: &'static str) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
957 |     pub fn with_observer(observer: &TimeObserver) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: there is an associated function `with_observer` with a similar name
    |
200 |             TimeFeedback::with_observer(&time_observer)
    |                           ~~~~~~~~~~~~~

error[E0282]: type annotations needed for `StdState<EncodedInput, _, _, _>`
   --> src/lib.rs:207:13
    |
207 |         let mut state = state.unwrap_or_else(|| {
    |             ^^^^^^^^^
...
263 |         if state.corpus().count() < 1 {
    |                           ----- type must be known at this point
    |
help: consider giving `state` an explicit type, where the type for type parameter `C` is specified
    |
207 |         let mut state: StdState<EncodedInput, _, _, _> = state.unwrap_or_else(|| {
    |                      +++++++++++++++++++++++++++++++++

warning: unused import: `Fuzzer`
  --> src/lib.rs:28:14
   |
28 |     fuzzer::{Fuzzer, StdFuzzer},
   |              ^^^^^^

warning: unused import: `Corpus`
  --> src/lib.rs:23:34
   |
23 |     corpus::{CachedOnDiskCorpus, Corpus, OnDiskCorpus},
   |                                  ^^^^^^

warning: unused import: `Evaluator`
  --> src/lib.rs:39:12
   |
39 |     Error, Evaluator,
   |            ^^^^^^^^^

Some errors have detailed explanations: E0282, E0432, E0599.
For more information about an error, try `rustc --explain E0282`.
warning: `libafl_quickjs` (lib) generated 4 warnings
error: could not compile `libafl_quickjs` (lib) due to 4 previous errors; 4 warnings emitted

How about moving this thing to LibAFL/fuzzers so that we can keep this updated @andreafioraldi

Can you try if https://github.com/andreafioraldi/libafl_quickjs_fuzzing/pull/6 fixes this issue?

Yes, that works.


Fix Map parameter handling in declaration.ts

The code for handling map parameters in declaration.ts was overwriting the value in a case where it shouldn't have been. The logic should be to use map[key] if the key is present, or just stick with value if it's not.
Fixes #454

I'm not sure why I called the branch issue-128 since it's for #454.


[action] set_pod_key: Add skip_escape parameter

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
I use cocoapods-keys to store API keys but using set_pod_key action automatically escapes the provided parameters.
So each time I provide an API key that contains escapable characters, the API key becomes malformed.
Description
Add a skip_escape parameter
Testing Steps
Before:
set_pod_key(key: "PublicKey", value: "XXXX|XXXX", project: "Y")
set_pod_key(key: "ApiKey", value: "XX/nXX==-XX", project: "Y")

After:
set_pod_key(key: "PublicKey", value: "XXXX|XXXX", project: "Y", skip_escape: true)
set_pod_key(key: "ApiKey", value: "XX/nXX==-XX", project: "Y", skip_escape: true)

@googlebot I signed it!

Are you sure the current behavior is not just a bug that should be fixed? (I am missing the context what this is usually used for)

You are right, there is no point to shellescape parameters, event if we directly call the action from terminal we have to escape our values first overwise the command will fail.
Test:

I did update the PR with the shellescape deletion


Add support for limit in gen_api_query payload

gen_api_query currently overwrites the limit value in the payload. This PR uses the payload value, if available.

Hi @aque , thanks for you feedback and willingness to contribute to our repository. We reviewed your code and decided to implement it in a different way (using safe get instead of try-catch).
See this commit: https://github.com/CheckPointSW/cp_mgmt_api_python_sdk/commit/7508cd064ed8737cfc1a7ece55cd817617ff5953
Thanks again and i encourage you to keep suggesting improvements and fixes to our repositories.
Regards,
Amiad Stern (Management APIs Team Leader)

Hi @chkp-amiads. No worries. Thanks for considering it.


Script stopped after a long freeze period

What is the Current behavior?
The script runs until ** Start verification and freezes.

Steps to Reproduce:

Download basic-page-model.js.txt (remove extension .txt)
Download test-simple-example.js.txt (remove extension .txt)
Run testcafe chrome test-simple-example.js

Environment details:

testcafe version: 1.10.1
node.js version: 10.16.3
browser name and version: Chrome 87.0.4280.88 (Official Build) (64-bit)
platform and version: Windows 10 Pro

Thank you for sharing the example with us. I was able to reproduce the issue. Please follow this ticket to track our progress.

Thank you for sharing the example with us. I was able to reproduce the issue. Please follow this ticket to track our progress.

Thanks for resolving this issue so quickly !

Thanks for resolving this issue so quickly !

Hi,
I still have a problem with this example.
The test runs fine up to console.log(** End verification); but the test doesn't stop the execution window remains open and you have to kill it manually.

Hi,
I still have a problem with this example.
The test runs fine up to console.log(** End verification); but the test doesn't stop the execution window remains open and you have to kill it manually.

@Sabou44
Hi, did you try the 1.10.2-alpha.1 version?
I checked your scenario and it worked for me.

@Sabou44
Hi, did you try the 1.10.2-alpha.1 version?
I checked your scenario and it worked for me.

Hi,
Thanks @AlexKamaev.
I runned the script with the master but I still have the same problem. The script runs until the last console.log but after the test doesn't end.

I never see the test result at the end.

Hi,
Thanks @AlexKamaev.
I runned the script with the master but I still have the same problem. The script runs until the last console.log but after the test doesn't end.

I never see the test result at the end.

@Sabou44 I checked your scenario again using the master branch, and it works as expected in my case. I noticed the following message in your console: Using locally installed version of TestCafe. This means that for some reason, you have another TestCafe version installed locally. So, probably, for some reason, the testcafe folder exists in your node_modules. Please try to remove this folder or reinstall TestCafe from the master branch into a clear folder.

@Sabou44 I checked your scenario again using the master branch, and it works as expected in my case. I noticed the following message in your console: Using locally installed version of TestCafe. This means that for some reason, you have another TestCafe version installed locally. So, probably, for some reason, the testcafe folder exists in your node_modules. Please try to remove this folder or reinstall TestCafe from the master branch into a clear folder.


[BUG] Error creating environment or running mh-play (Mac OSX 12.6)

🐛 Bug
Can't create environment or run play scripts in MacOSX 12.6
To Reproduce
Steps to reproduce the behavior:

Install NLE 0.8.1 following workaround at https://github.com/facebookresearch/nle/issues/340
pip install minihack
mh-play leads to error: AttributeError: 'MiniHackRoom5x5Random' object has no attribute 'env'
python -m minihack.scripts.play --env MiniHack-River-v0  --mode random leads to similar error: AttributeError: 'MiniHackRiver' object has no attribute 'env'

Expected behavior
Environment created successfully
Environment
MiniHack version: 0.1.2
NLE version: 0.8.1+103c667
Gym version: 0.21.0
PyTorch version: N/A
Is debug build: N/A
CUDA used to build PyTorch: N/A
OS: Mac OSX 12.6
GCC version: Could not collect
CMake version: version 3.24.2
Python version: 3.8
Is CUDA available: N/A
CUDA runtime version: Could not collect
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: Could not collect
Versions of relevant libraries:
[pip3] numpy==1.23.3
[conda] Could not collect
Additional context
Used workaround for NLE install described here: https://github.com/facebookresearch/nle/issues/340
nle-play works as expected
mh-env returns list of environments as expected.
Same error encountered with python 3.9 & 3.10, and minihack version 0.1.3 (not tested all combinations)

Hi @tmssmith. Thanks for opening the PR!
Could you please try the same with gym==0.1.6 version? We have downgraded the gym version here. to resolve an issue we were getting.
I have just tested locally (OSX 12.6) with MiniHack 0.1.3+ (from the github) py 3.8.10 and NLE 0.8.1 and it worked as expected.

Hi @samvelyan, thanks for your reply and looking into this. Just to clarify I assume you mean try gym==0.16? Unfortunately I'm still having trouble with gym 0.16 and MiniHack 0.1.3+ .
If it makes any difference I'm using poetry for dependency management. I don't see why it should, but just in case. My dependencies are:
python = "3.8.10"
gym = "0.16"
nle = {path = "nle"}
minihack = {path = "minihack"}
where nle and minihack point to respective git clone directories.

Latest environment info:
MiniHack version: 0.1.3+39a3cae
NLE version: 0.8.1+103c667
Gym version: 0.16.0
PyTorch version: N/A
Is debug build: N/A
CUDA used to build PyTorch: N/A
OS: Mac OSX 12.6
GCC version: Could not collect
CMake version: version 3.24.2
Python version: 3.8
Is CUDA available: N/A
CUDA runtime version: Could not collect
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: Could not collect
Versions of relevant libraries:
[pip3] numpy==1.23.4
[conda] Could not collect
nle-play and mh-envs still work correctly but the same error with mh-play.

Okay, I can see the issue.
You're using the current version of NLE, which includes changes to its base class that are not included in the last release v0.8.1 which we use in MiniHack. Specifically, the .env variable is renamed to .nethack on the nle side, see the diff here.
So you can use minihack without any problem if you just use the v0.8.1 nle tag. Alternatively, you can use the current nle version (in case you're using any of the recent changes), but locally change the minihack's base.py class to use self.nethack instead of self.env.
Let me know if this works.

Yes that worked, thank you very much. I had issues installing the v0.8.1 nle tag (cmake errors) so locally modified minihack's base.py as suggested instead.
In case this helps you or anyone else: I also had to modify play.py to use env.actions instead of env._actions for the script to work. I suspect a similar change would be required for play_gui.py
Thanks again for all your help.

Yes, thanks for pointing this out @tmssmith. The env.action, similarly, needs to be fixed.
Anyway, we expect a new release of nle soon. Once that happens, I'll apply necessary changes on the minihack side and release minihack=0.1.4 which should resolve this issue for good.


Scheduler track participants freely command agents to any location

Move set_goal_locations to scheduler

Scheduler track participants can freely command agents to any location on the map.
modify Python interface to allow this operation

I'm not sure the scheduler should be messing with the decisions of the planner. Sounds like what we want is a new type of task; a length 1 errand that must be completed by a specific agent.

Had a discussion with Daniel on this problem. It's making the job of scheduler complicated and giving the job of planner partly to the scheduler. Thus decided to not do it.
But would be interesting to have some additional types of tasks in the future. Like charging task!


feature: RTS - 189,191, 193, 195, 197, 201,205,207,209,211,213,215,21…

…7,219,221,223   (All these tickets are related to one feature and could not ablt to check in small sets)

Has any of this made it to production?


#Closes 1369 grading vignette

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide
[x] Updated relevant unit tests or have written new unit tests - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

Will merge in `devel' branch.

@bms63 , @yangc71 thanks for all the comments, let me know if I have missed something. I jut need to add a "Conclusion" section, as suggested by Ben. WIll do that today, if I have missed anything else, let me know.

@millerg23 Can you fix these merge conflicts?  Also strange that R-CMD 3.6/4.0 are failing cause of the vignette not building but latest R version is passing?


date_from_008

Should the date_from_008 method from here look the same as the one in orangeindex? The orangeindex method accounts for blanks in the 008 field, and if the value is uuuu or 0000 it returns nil.
A lot of the MARC extraction code in general looks like behavior it should share with orangeindex.

A lot of the MARC extraction code in general looks like behavior it should share with orangeindex.

Yes, I'd love for that to be the case. That said, this is primarly for lighter-weight indexing and display than OrangeLight is concerned with. If you can think of a way these behaviors can be shared, I'd love to hear it.

I think we should discuss which marc fields both projects use to at least make sure that the index/display values are consistent. Then if it make sense, find a common home for these behaviors. Maybe it can be a service bibdata provides?

That feels like a potential enhancement that we should keep in mind.
Remember that, at least in this initial iteration, public users will
discover these resources via Blacklight, and so they'll already be
interacting with a richer treatment of the MARC data.
-Js
Sent via mobile. Please excuse typos, brevity, etc.


LICENSE and inclusion in Vim runtime?

👋 Hello vim-maven-plugin contributors!
I've been approached about including a modified version of the compiler plugin in Vim, which is exciting! However, in order to do that ethically I need to know what license this code is provided under (otherwise all we can do with it is whatever is considered "fair use," and what I have in mind is more of a "derivative work").
To license the entire project, I need sign-off from everyone because there's no pre-existing licensing statement that I can point to which contributors might have implicitly agreed to.
Pick any license you want! I recommend some simple options, though:

MIT License
BSD 3-Clause License
Vim License

One simple way to go about this would be to have each of you respond with what licenses you find acceptable, and take any that are common to all 6 contributors.
cc: @mikelue @iamFIREcracker @sideshowcoder @richox @kmARC @mahdix

If this is too much, being granted a license by the contributors to compiler/maven.vim would be sufficient for the work I have in mind. That's just @mikelue and @iamFIREcracker

I've added LICENSE by 904c38d6e2643cab70c18c11da7e1b968b9e87ac
Thanks a lot.

Sorry late to this as I haven't followed my github notifications, but am good with the Vim License added. Thank you for your work!

Hey, sorry for the late reply.  Anyways, for what is worth, I am fine with the Vim License being used for this (my changes included).  Thanks for pushing this through!

Thanks both!


French translation for Gear up for Success

Closes #7632

Any update on this @elazzabi ? We need someone to verify your translation before we merge.

@theflametrooper I asked on the FrenchRoom, still no response

If no one objects after a week we should merge translation. Otherwise we'll have to wait a long time. I'd rather see them merged in and corrected later.

I'm merging this pr as it's been a week since @elazzabi originally asked in the chat rooms. Thanks @elazzabi


2525C Legacy Edits

@abouffard these are the final edits I made to the 2525C style. Nothing in here fixes the weird text label offset, but if someone else wanted to build the legacy stylx with all the fixes they would need these changed files

@abouffard should be ready to merge


Country Risk Dashboard: General Improvements (ext: CXAR-1028)

+Benefit Hypothesis+
The goal of this feature is to improve the general usability and user experience when using the Country Risk Dashboard.
This can be achieved through:

new filter functionalities
new sharing api´s
adding new languages
increasing readability of markers through hierarchy in L/S/A business partners

+Beneficiaries+
The beneficiaries would be all users of the apllication

+Requirements:+
These improvements would include, but are not limited to:

Filtering for L/S/A business partners globally in all components
pagination of loading business partners
edc connection to pool and gate (when both are available)
upgrade to newest frontend components provided by CX Portal
improved filter functionality in the table
** customer
** supplier
** textsearch
...

Components: BPDM_COUNTRYRISK
Sprints: N/A
Fix Versions: N/A
StoryPoints: N/A
Attachments: N/A

@Phil91 This repository is only for the BPDM service. Country risk is a value added service whose repositories you can find here: https://github.com/eclipse-tractusx/vas-country-risk and https://github.com/eclipse-tractusx/vas-country-risk-backend.
Please place this issue in the appropriate repository. I'm closing this issue for now.

@nicoprow i just did run the script to migrate the issue from jira to github.


$unset does not work for nested documents

For example, for document {'a' : {'b':'bbb', 'c':'ccc'}}, the command {'$unset':{'a.b':''}} should change the document to: {'a':{'c':'ccc'}}

Fixed by @magaman384 , in #192, thanks Marian.


feat(weapons): Creation of the basic weapons system

Creation of the basic weapons system with basic object orientated prinicpals.
🛫 Pre-flight Checklist
Ensure that this form is filled in before the PR is merged to ensure that the review process can go as smoothly as possible.
🐅 PR Type

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests
[ ] Other (please describe)

🔨 DevOps Information

This PR fixes or closes issue: fixes #6
Link to documentation pull request: Weapon System Containers

📝 Checklist

[x] The code change is tested and works locally.
[-] There is no commented out code in this PR.

LGTM!

🎉


docs needs update for Managed Identity

e.g. https://learn.microsoft.com/en-us/entra/msal/dotnet/getting-started/best-practices
If you use AcquireTokenForClient in the client credentials flow, you don't need to worry about the cache as this method not only stores tokens to the application cache, but also looks them up and refreshes them if needed. This is the only method interacting with the application token cache, the cache for tokens for the application itself.
we need to add content for acquiretokenformanagedidentity.
there could be several places like this, this reference is just one example.

Related to #108 - we should package up this change there.

Looks like we need a separate update for this - @gladjohn I am triaging all the docs issues this week.


Can not start Camera.ui

Describe the bug
I had installed a new container in proxmox for install camera.ui
To Reproduce
run the command camera.ui
Expected behavior
A clear and concise description of what you expected to happen.
Logs
`/usr/local/lib/node_modules/camera.ui/bin/camera.ui.js:5
import fs from 'fs-extra';
^^
SyntaxError: Unexpected identifier
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)`
Screenshots

Environment

Node.js Version: v10.19.0
Camera UI Version: v1.1.17
Operating System: ubuntu 20.04
Browser: NA/NA

I cant start aswell. I get this error
`file:///usr/local/lib/node_modules/camera.ui/src/services/logger/logger.service.js:91
if (logger?.log) {
^
SyntaxError: Unexpected token '.'
at Loader.moduleStrategy (internal/modules/esm/translators.js:133:18)
`

I recently had this issue as well, and I found out that this is because of an older installation of node and npm.
How to fix:

Install the stable version of node: sudo snap install node --classic --stable
Install npm (version greater than 16): sudo npm install n -g sudo n stable

This should fix the issue.

🎉 A new version of camera.ui
A new version of camera.ui is currently under active development. An initial alpha/beta release and previews are coming soon. Stay tuned for exciting updates: https://github.com/seydx/camera.ui/issues/448 .
This version will no longer be developed / fixed. The new version contains many novelties and fixes (most important is for HKSV recording).


[AutoPR automation/resource-manager] Add automation/resource-manager/readme.typescript.md

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4147

(message created by the CI based on PR content)


Need to add UPPERCASE letters here

https://github.com/web3p/ethereum-util/blob/8736ef0c4b40f9e4aa060cf8836a4f24c5072249/src/Util.php#L130
This code prevents usage of addresses in a canonical form with uppercase letters in address, like this one: 0x476Bb28Bc6D0e9De04dB5E19912C392F9a76535d

Hi,
Just found that https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md
So we need to support uppercase and lowercase in this library.


Object Discriminant Issue

On line 449 an object discriminant is set, which leads to a runtime crash now.

This also appears to happen on line 471 and line 501.

Yeah, these are bugs (Nim used to allow this).
Fix is to simply do something like: ev = IrcEvent(typ: EvTimeout). Up for a PR? :)

Sounds good, I'll take a stab at it.

Finished, and attempted a fix at another thing while I was at it.

I may actually have to do another PR for this, as this seems to also happen on line 366 occasionally.

Done. https://github.com/nim-lang/irc/pull/15


As a team, we have Amarok deployed on Mainnet for testing (Contract Side)

Problem
We need to begin testing Amarok mainnet internally. This is a partner issue to #1373
Ideas to solve this
Deploy contract code to mainnet
Acceptance Criteria
[ ] X happens
[ ] Y happens
Steps involved:
Other

no longer relevant in this format


Unicode spechars fix

fix for bad unicode characters in the markdown and JSON.stringify
i guess a similar fix should be applied in @1.0
see also :
http://www.thespanner.co.uk/2011/07/25/the-json-specification-is-now-wrong/
https://bugs.chromium.org/p/v8/issues/detail?can=2&start=0&num=100&q=&colspec=ID Type Status Priority Owner Summary HW OS Area Stars&groupby=&sort=&id=1939
https://github.com/expressjs/express/issues/1132#issuecomment-10100419

ok, removed the webpack-error-notification dep. had an error with that at some point but whatever :)

0.21.2 is out. Hope ok as I didn't touch 0.x for a while and got issues when installing deps... 🙏


about instructions

Thank you for proposing a really interesting work.
I would like to know whether you have noticed that the instructions generated using generate_instructions.py contain many refusals like "Sorry, but I can't assist with that.", should i ignore these refusals and continue to run amplifying_toxic.sh or do something to handle these refusals?
Looking forward to your reply.

Hello @payphone131,
Our dataset generation pipeline involves multiple calls to the OpenAI API. Due to the potential harmfulness of the generated instructions, there could be occasional refusals. If the refusal rate is too high, you might consider the following methods:

Switch to a different model, such as GPT-3.5, which may have weaker safety alignment.
Add or modify existing jailbreak prompts (e.g., "Do anything now").

Additionally, you can directly use our published instructions.

thanks for your reply. your reply is really useful. btw, have you noticed that the ASR calculated by beaver-7b always changes? specifically, i found the "flag_num" in line 148 of evaluate_for_black_box.py changes every time i run the code. is this normal?

We also observed this phenomenon in our experiment. Since Beaver-dam-7B is a language model, it may generate different responses to the same query. However, we found that the variation is acceptable. We also examined some inputs that caused variations in the model's responses and found that their harmfulness is indeed rather ambiguous.


[qontract-reconcile-base] terraform (1.5.7) -> terraform (1.6.6)

upgrade from terraform 1.5.7 to terraform 1.6.6
let's choose between this and #110

going with this in light of https://www.hashicorp.com/blog/hashicorp-joins-ibm


Command Line Arguments with Spaces Incorrectly Parsed

Original issue: https://charm.cs.illinois.edu/redmine/issues/518

When attempting to load a file on the command line with a path that contains a space, the parser splits on the space.
For example:
ronak`machine:~$ projections ~/Test\ Dir/test.sts
Internal Error: Path [/home/ronak/Dir] supplied for file detection is not a directory! Please report to developers!

Original author: Yanhua Sun
Original date: 2014-09-04 16:23:01

This is also fixed, right? If so, please close it.


Serial Access including RS232 (Feature request)

Hello @PierreRust,
Many thanks for your work. Please is it possible to kindly add support for the Serial interface? I went via the doc on the pigpio library, and it seems to support serial.
I have a serial interface at “/dev/ttyAMA0”, and was hoping to be able to access it asynchronously using your code. Also support for RS485 will be great as mine is on “/dev/ttyRS485”.
Thanks and regards

@jabdoa2 and @alexander3771,
Please is there anyway someone could assist me with this request? I know Asyncio, but not so confident in it.
Even if the code is just a patch together, at least it gives me a start and I could walk via it, if its buggy; so no need to spend so much time on it.
Thanks

Hello, @Odianosen25!
I didn't make anything with apigpio since my last commit, but I worked on other asyncio-projects :)
As far as I understand, you want to connect to your gpio via serial port.
I guess, you only need to implement connection from this snippet https://gist.github.com/potens1/914b738a2ca6fed7a7b3
Inherit methods connect, _pigpio_aio_command and close here, and make sending data via serial connection
https://github.com/alexander3771/apigpio/blob/2df1aafff4a3e274c35bc6509afd06d28b08bc13/apigpio/apigpio.py#L540-L600
Hope it helped, btw I can review your code :)

@alexander3771,
Oh thanks for your response.
Thanks for the examples, and I am aware of the serial over asyncio, but that's not really want I want. Not that I want to read the GPIO from serial, but I want to use the apigpio to read the serial port on the Raspi which is part of the GPIO ('/dev/ttyAMA0' to be precise). As the pigpio supports that with some SER.. commands.
I am working on a project, and I want to use the pigpio daemon via asyncio to read my GPIO using python. So that was what brought me here. I noticed you made a PR, which I have downloaded, and I want to make some modes to it, so I can read not just the pins, but also the serial port.
I also what to use the pipe option over /dev/pigerr, instead of the socket to improve security; but I will look into this later.
Thanks for the offer to review my code, and I will go via that option so I don't use up your time. I am already presently making some modes already, so once done will send it over.
Thanks and regards

Hello @alexander3771,
I have made some changes to your files, in which I added the i2c changes made by @jabdoa2 and some serial by myself. You can see the files here.
Please can you kindly go via it and confirm I didn't do anything naughty?
Thanks and kind regards

Looks good to me. Can you create a PR against this or my repo? That would allow us to merge it later.

It's ok for me too. But let me wrap this code in if py3:
+    async def __aenter__(self):
+        await self.connect()
+        return self
+
+    async def __aexit__(self, exc_type, exc_val, exc_tb):
+        await self.stop()

because of https://github.com/PierreRust/apigpio/pull/10#issuecomment-357529075
I can make it tomorrow

Elmm @alexander3771 I honestly have no clue what you saying, but I believe you can make changes to it right?
So I will wait till tomorrow, before using the code in my project so I will be certain I have the latest.
Thanks and kind regards

@Odianosen25 just use the older syntax (yield from and asyncio.coroutine) like the other functions


Use match instead of if

You can use match instead of if in utils.MyTranslator. This is simplifying code.

Will add later

Added in commit above, thanks


[Bug]: Floating TOC 2.2.2 style settings support conflicts with SF's

Bug Description
The new version of the floating TOC plugin adds support for style settings.
When SF is the active theme, FTOC's settings panel is not visible.
When using the default theme, it is.
This may or may not be expected behavior.
Relevant Screenshot
n/a
To Reproduce
Install FTOC 2.2.2.
While SF is active, look for the FTOC section in SS - it is not there!
Switch to the default theme. Look for the FTOC section in SS - it is there!
Obsidian Version
1.0.0
Installer Version
1.0.0
In which mode(s) does the problem occur? (if applicable)

[ ] Source (Edit)
[ ] Reading (Preview)
[ ] Live Preview

Which operating system?

[X] macOS
[ ] Linux
[ ] Windows
[ ] iOS
[ ] Android

Checklist

[X] I updated to the latest version of the theme (Settings → Appearance → Themes - Manage → Update).
[X] If the bug occured after updating the theme, I read the last couple of entries in the changelog to make sure the bug is not an intentional change. (In that case, there will most likely be a style setting to turn it off again.)
[X] I made sure that the issue is related to this theme by checking that the problem does not occur with the default theme.
[X] In case I am missing an UI element, I have checked that it cannot be re-enabled with the Style Settings plugin.
[X] My issue concerns Obsidian version 0.16+ and I am not using the Legacy Editor. (Older Obsidian versions and the Lecacy Editor are not supported anymore.)

That's actually intentional - since SF overrides the floating ToC styling, the style settings for ftoc would not work anyway. Have I removed them to reduce confusion 🙈


I have  Redesign Card of Main Page

Fixes #133

Okay Sure i will made changes accordingly , change the color. and add Glassmorphism effect with some more effects that suits the front-page and made pull request today night or tomorrow morning.

Please check now !!

Yes, glassmorphism applied but its not visible because image occupy the width !00% , okay let me change it and thank you for guiding and sorry for taking much time for this.


Unable to work when behind ipv6

Your environment.

Version: go version go1.12.8 linux/amd64; github.com/pion/webrtc/v2 v2.1.2
Browser: not using browser. Using flutter-webrtc
the server is behind ipv4 only internet. The mobile is behind jio cellular network which support both ipv4 and ipv6.

What did you do?

I am trying to stream a voice from external device from pion server to mobile.
What did you expect?
I was expecting it to connect and make a IceConnectionState to connected
What happened?
The connection always fails.
Connection State has changed checking
Connection State has changed failed
It works when both devices are behind ipv4 or both are behind cellular network.
This is the sdp from server:
https://pastebin.com/1gbebTGF
This is the sdp from mobile cellular 4g (answer):
https://pastebin.com/u8KL2cEZ

Hey @rushib1 , to make it work, you need an IPv6 STUN/TURN server... I had the same issue and could only implement this on AWS. Tried on GoogleCloud, but their support to IPv6 sux.

create a machine with IPv6 address, make sure you have both, IPv4 and IPv6 address (how to on AWS)
start pion turn server or coturn, both works

Just a little more information, the problem with IPv6 exists because an "only ipv6" connection can't connect to an IPv4. So, using IPv6 on an IPv4 stun server, you will never receive ICE Candidates, because you can't connect to it. And even if you have an IPv6 STUN server, other users will be using IPv4, so you can't connect to their candidates.
So, you will have better success rates using a STUN/TURN with IPv6 and IPv4 support.
Hope I could help you.

Closing for https://github.com/pion/webrtc/issues/1315

This is not a duplicate of #1315 — the latter is Pion reacting correctly to malformed SDP.  There is no evidence of malformed SDP in this report.

This is not a duplicate of #1315 — the latter is Pion reacting correctly to malformed SDP.  There is no evidence of malformed SDP in this report.


[WIP] FBX Importer

This is the first prototype which we aim to release with Godot 3.2
It needs extensive testing. We need your help to test it with as many models as possible.
Right now we have got a few issues to fix and patches will be put in place over the next few days.
Remaining issues:

When an animated mesh has not executed any animation the rest pose is wrong (this is an easy fix)

Material code and culling need refactored and bugs with texture assignment need fixed.

We have not merged our experimental scaling system for application based scaling. We have submitted the PR for this already so don't worry! https://github.com/assimp/assimp/pull/2611

We still have to wait for merge of a few minor fixes into assimp to protect against import crashes and bugs
-- https://github.com/assimp/assimp/pull/2623

We expect code quality issues so please bear with us while we fix these minor issues.

Any models which break can you please submit them to this address:
https://airtable.com/shr01fIPPqtrYoQfl
Would not have been possible without @kimkulling, @fire, @reduz, @hpvb, @akien-mga or IMVU INC.
Thank you for sponsoring us to do this work!

Thanks for the great work from everyone involved!
For merging, I'll need this rebased into something with a cleaner Git history, 60 commits is too much, especially since many of the commits are fixups of changes made in the same PR (which are not relevant to the Git history).

@akien-mga will be working on the bugs first then I will rebase into a much smaller commits like 2-3.
Just left it this way first so that if I need to fix anything by reverting anything I can.
We will update the code base with those changes, thanks though for reviewing it's going to make it much easier to get this merged now :)

Application scaling is now implemented CM to M is now functional.
Some fixes need backported into assimp but this works.

Most recent fixes added, this fix solves scaling issues with models.
We have now implemented the proper call to pass 'final scale' value properly to the ScaleProcess.
I have tested against the following models:

CM, M models made in blender with different units (confirmed scale exactly the same)
Log Cutter animated FBX

Screenshots of some models:
Automatic scale working
Log cutter

Bistro Interior model

Bistro Exterior model

As you can see CM to M is definitely fixed now. However I want to run more tests later this evening.

Material code should be good for testing now. moving onto pivots then let's get this thing merged.

Tested with a lot of FBX from the SimpleTown Pack
All model got an empty node with the name of the fbx file and the mesh was named as same with the file with a extention 2.

The master branch doesn't have such empty node.

The folder structure are as below
Models
+------- ambo.fbx
Textures
+------- ambo.png

For the master branch: albedo textures of material referenced to the correct file path in the Textures folder as expected.
For this branch: Albedo textures are imported as builtin sub-resource of the generated materials instead of using the texture files in the project.

Tested with a lot of FBX from the SimpleTown Pack
All model got an empty node with the name of the fbx file and the mesh was named as same with the file with a extention 2.

The master branch doesn't have such empty node.

Hi, @Geequlim thanks for reporting this issue I will make a patch on Monday to fix this.

For this branch: Albedo textures are imported as builtin sub-resource of the generated materials instead of using the texture files in the project.

Do you not expect this to be the default behavior, as the mesh has the materials embedded it makes more sense to extract them to me, if you don't want it to do that you can disable it in the modelling export settings in blender so that it doesn't pack the images into the fbx?

Could you amend the commit log to be more explicit about what it does? (The title is fine, but the body of the message could use more explanations before the "Co-authored-by:" line.)
See https://github.com/godotengine/godot/blob/master/CONTRIBUTING.md#format-your-commit-logs-with-readability-in-mind

Thanks a lot to everyone involved!


Add logistic files.

Signed-off-by: Jiale Zhang<EMAIL_ADDRESS>

@sameo Please help to review this pr, thanks!


HelmertEncoder handle_missing default is 'indicator'.

Hi,
In the documentation default value for handle_missing and handle_unknown is value.
But in the code, it is indicator.

I propose to change the default behaviour in code to value because that's the default behavior of the related encoders like SumEncoder, PolynomialEncoder, BackwardDifferenceEncoder and OneHotEncoder. Are you ok with that?

Ok. Should I change it in my code while creating the instance of HelmertEncoder or do a PR too??

I fixed it in the master branch. Thank you for the report.


Precommit: run mypy on all files, including tests.

DO NOT CLICK THE MERGE BUTTON without considering the order of merges according to the stack..

Stack from ghstack (oldest at bottom):

(to be filled)

Mypy cannot infer that the nullcontext or pytest.warns condition always results in a context manager.
This either needs a type hint or a different logic.
https://github.com/python/mypy/issues/10109

The only issue now is, that if you have some non-staged files in the src directory,
the precommit will fail...
not sure if there is an easy way to run on  'staged and already committed files' in precommit..


Add tests for export

See #1567.  This is a follow-up to a follow-up.
We need to add test coverage for our import/export process.  Most of the code lives in zerver/lib/export.py, and then various management commands are involved as well.
Paraphrasing a conversation with Tim, there are a few things toward the top of the priority list for testing:

Verify round trip integrity.  (If you export-then-import, you get the same thing.)
Make sure we account for new tables being added to the system.
Make sure we account for new foreign key relationships.
Make sure we account for new fields needing transformations (like DateTime fields that potentially have "naive" timestamps.)

The round-trip test would probably work best if we just did something truly end-to-end on a database that we can populate and destroy, with access to /tmp.  Some subsets of that might also be accomplished with more targeted unit tests that hit the library directly.
For the other three bullets (new tables and columns), we might be able to prevent errors there using more static mechanisms like linters.  Lots of possibilities here, not necessarily exclusive:

Have a git hook that prevents checking in new migrations without updating lib/export.py.  (We'd have some kind of escape hatch for changes that don't affect export/import).
Have a linter that knows how to track down all tables and columns (either by going to the DB or reading some migration output) verify that everything is accounted for in lib/export.py.  (Every table should at least be mentioned in export.py, if only to explain in a comment why it's exempt from the process.)
For things like DateTime fields, do more dynamic introspection in the library itself to determine we need to do fixing.

We should also add some good test coverage on import_attachments, which does many-to-many logic.

We now have reasonably solid unit tests on the export side of things.
The export code also has a little bit of sanity checking built in now to make sure all known tables get exported, although the list of "known tables" is still not future-proof.
I would view this ticket as lower priority going forward.  There are some would-be-nice items for testing covered here, but realistically I think some of this will happen organically as we improve the export/import process based on lessons learned this weekend.


Always load Google Analytics over HTTPS

This is the recommended way by Google and the official tracking code snippet

Sorry, if this PR is not needed. I realised I made a PR for this before and it was accepted and merged for v4. https://github.com/twbs/bootstrap/pull/20945

Punting on it given v3's status and your comment @coliff :).


Add log axis for radar charts

fixes https://github.com/apache/incubator-echarts/issues/11298

Thanks.
I've commented on the code.
And please remove the distribution file. It will block us to merge your PR.

Thanks.
I've commented on the code.
And please remove the distribution file. It will block us to merge your PR.

I have removed both files in dist.

Hi @zifix
I meant not to commit these two distribution files. Not delete them.

Hi @zifix
I meant not to commit these two distribution files. Not delete them.
I have readded the files.

Great! There is one last thing I think needs to be changed.
The axisType is better to be renamed to type to be same with other axis components.

I was thinking about that when I defined the attribute. I went with axisType because radar is not dedicated to axis attributes (look at e.g. shape). In the future you might like to have multiple radar types and the obvious attribute of choice is taken already.
For perfect consistency, one might need to introduce a radarAxis attribute in some future api-breaking release.

Hi @zifix . Sorry for the late reply. I was on a vacation. I think what you explained is reasonable. Thanks a lot!

Moving to v4.5.0 because this PR has been merged before testing v4.5.0.

4.8好像又有了这个问题


Parallel Foreach Thread locking

Summary of the new feature/enhancement
PowerShell 7 implemented Parallel Foreach but has not added a means to do Sync lock.  In C# the way to do this is as follows:
object sync = new object();
Parallel.ForEach(List,
item =>
{
lock (sync){ Locked item to execute in multiple threads}
});

Please implement the ability to lock the script block as follows:
$Sync = New-Object -TypeName System.Object
$List | ForEach-Object -Parallel {
//Locked Resource for each Thread
lock($Sync){
Write-Host $_
}}

Currently the way this is done is by the following:
$List | ForEach-Object -Parallel {
[System.Threading.Monitor]::Enter($_)
Write-Host $_
[System.Threading.Monitor]::Exit($_)
} -ThrottleLimit 5

It looks like overhead for PowerShell to have a lock.
/cc @PaulHigin

There is no need to take a lock before running a script block.  And in fact doing so serializes script block execution, completely losing any benefit of using -Parallel.  PowerShell can't know what script will be executed in the -Parallel block and so it is up to the script author to use thread synchronization objects as needed, just like in C#.  But it is recommended to use thread safe types (such as ConcurrentDictionary) so that explicit use of sync objects is not needed.

@PaulHigin I see your point but if you guys are going to implement Multi-threading then you should leave it up to the user how they execute such operations like how C# handles it.  The performance impact is minimal as it simply ensures thread safety when executing commands.  What is the performance impact on PowerShell implementing this?

I am not convinced this is necessary.  As you point out, it is already possible to use C# sync objects if needed.  But needing sync objects seems rare enough where it is not necessary to create a new PowerShell language 'lock' keyword.
BTW, it is not necessary to protect 'Write-Host' inside a lock.
It seems to me the most likely scenario is for collecting data, but that can be covered by C# thread safe types or the PowerShell pipeline.
$dictionary = [System.Collections.Concurrent.ConcurrentDictionary[[int],[string]]]::new()
1..1000 | ForEach-Object -Parallel {
    $dict = $using:dictionary
    $null = $dict.TryAdd($_, "Item $_")
    Write-Host "Item $_"
}
$dictionary[35]
Item 35

$Items = 1..1000 | ForEach-Object -Parallel {
    Write-Output "Item $_"
    Write-Host "Item $_"
}
$Items[35]
Item 36

BTW, PowerShell has supported running multi-threaded script blocks for over 10 years via API.  The new ForeEach-Object -Parallel feature just makes it easier to use, similar to ThreadJobs.

If we follow through with this logic then the user should always use concurrent data structures when working with Parallel foreach.  I am aware that runspaces is also an option when working with Multi-threading.  However, the goal is to make it more easily accessible for users to leverage in their use cases.
The user is not going to want to use concurrent data structures all the time because of the overhead involved with such processing.  Additionally, there should be a means to initialize a Concurrent Data Structure without using .net objects to make this happen.
I think we need to cut to the chase here.  The lock statement should be implemented so that the end user has both options.

If we follow through with this logic then the user should always use concurrent data structures when working with Parallel foreach.
(...)
Additionally, there should be a means to initialize a Concurrent Data Structure without using .net objects to make this happen.

The majority of use cases won't actually need concurrent data structures nor locking.  Most of the time folks just use the pipeline like in @PaulHigin's example.

The user is not going to want to use concurrent data structures all the time because of the overhead involved with such processing.

Typically the concurrent types are a lot faster than old school sync objects.

The lock statement should be implemented so that the end user has both options. Having a flag means that it won't be turned on by default thus nailing your concerns.

There's only going to be a very small handful of cases where a sync object makes sense.  In those scenarios, using Monitor.Enter and Exit will work just fine.  For something to be worth adding a whole extra keyword and hooking up the parser/compiler to handle it, it's gotta have pretty high demand.

Really PowerShell implements many magic things hided from users. Thus conhost has internal locks and users have no needs to lock/sync console outputs.
I think we should follow the best practice and enhance internal PowerShell engine if we need to cover a new scenario.


Update username available check

A minor improvement on the method to check for empty string.
This disables the create button if user were to enter a username & valid passwords, then proceed to delete the username from the textfield.

I like it. Thank you!