Documentation: diskless livenet needs some fixes - minor

URL: https://bluebanquise.com/documentation/index.html

Section: <IP_ADDRESS>
ISSUE1: point 2 - instead of cp /boot/<kernels to use for diskless nodes> /var/www/html/preboot_execution_environment/diskless/kernels/ we should put cp /boot/<kernels to use for diskless nodes vmlinuz.XX> /var/www/html/preboot_execution_environment/diskless/kernels/

ISSUE2: point 3 the real output is:
# disklessset
BlueBanquise Diskless manager
 1 - List available kernels
 2 - Generate a new initramfs
 3 - Generate a new diskless image
 4 - Manage existing diskless images
-->: 1
[INFO] Loading kernels from /var/www/html/preboot_execution_environment/diskless/kernels/

Available kernels:
    │
    └── vmlinuz-4.18.0-193.14.2.el8_2.x86_64 - missing initramfs-kernel-4.18.0-193.14.2.el8_2.x86_64

ISSUE3: in point 6, the output is:
Select kernel:
 1 - vmlinuz-4.18.0-193.14.2.el8_2.x86_64
-->: 1
Please enter image name ?
-->: livenet1
Please enter clear root password of the new image: root
[INFO] Entering livenet dedicated part.
Please select livenet image generation profile:
 1 - Standard: core
 2 - Small: openssh, dnf and NetworkManager
 3 - Minimal: openssh only
 4 - Custom: core + selection of additional packages
-->: 1
Please choose image size:
(supported units: M=1024*1024, G=1024*1024*1024)
(Example: 5120M or 5G)
-->: 5G
Enter path to SSH public key (left empty to disable key injection):
-->: /root/.ssh/id_rsa.pub
Do you want to activate SELinux inside the image?
Enter yes or no: yes
Do you want to create a new livenet image with the following parameters:
  Image name:           livenet1
  Kernel version:       vmlinuz-4.18.0-193.14.2.el8_2.x86_64
  Root password:        root
  Image profile:        1
  Image size:           5120M
  SSH pubkey:           /root/.ssh/id_rsa.pub
  Enable SELinux:       yes
Confirm ? Enter yes or no: yes

Dear @strus38
Thank you for this feedback. I will update the readme.

Section: <IP_ADDRESS>
ISSUE1: point 2 - instead of cp /boot/<kernels to use for diskless nodes> /var/www/html/preboot_execution_environment/diskless/kernels/ we should put cp /boot/<kernels to use for diskless nodes vmlinuz.XX> /var/www/html/preboot_execution_environment/diskless/kernels/

The kernel file names all start with vmlinuz-, we can consider cp /boot/vmlinuz-<kernel release to use for diskless nodes> /dest/.

ISSUE2: point 3 the real output is:
# disklessset
BlueBanquise Diskless manager
 1 - List available kernels
 2 - Generate a new initramfs
 3 - Generate a new diskless image
 4 - Manage existing diskless images
-->: 1
[INFO] Loading kernels from /var/www/html/preboot_execution_environment/diskless/kernels/

Available kernels:
    │
    └── vmlinuz-4.18.0-193.14.2.el8_2.x86_64 - missing initramfs-kernel-4.18.0-193.14.2.el8_2.x86_64

Indeed, still true.

ISSUE3: in point 6, the output is:
Select kernel:
 1 - vmlinuz-4.18.0-193.14.2.el8_2.x86_64
-->: 1
Please enter image name ?
-->: livenet1
Please enter clear root password of the new image: root
[INFO] Entering livenet dedicated part.
Please select livenet image generation profile:
 1 - Standard: core
 2 - Small: openssh, dnf and NetworkManager
 3 - Minimal: openssh only
 4 - Custom: core + selection of additional packages
-->: 1
Please choose image size:
(supported units: M=1024*1024, G=1024*1024*1024)
(Example: 5120M or 5G)
-->: 5G
Enter path to SSH public key (left empty to disable key injection):
-->: /root/.ssh/id_rsa.pub
Do you want to activate SELinux inside the image?
Enter yes or no: yes
Do you want to create a new livenet image with the following parameters:
  Image name:           livenet1
  Kernel version:       vmlinuz-4.18.0-193.14.2.el8_2.x86_64
  Root password:        root
  Image profile:        1
  Image size:           5120M
  SSH pubkey:           /root/.ssh/id_rsa.pub
  Enable SELinux:       yes
Confirm ? Enter yes or no: yes

The readme has been modified since, the HTML documentation needs an update.


FEATURE * Assign value to a pokemon instead of only accounting for CP or IV

Expected Behavior
We should be able to assign a value to the pokemon, based on CP, IV, and Level to rank them, and decide which to evolve/transfer. For example.
{cp} represents cp
{iv} represents iv
{lvl} represents the pokemon level
{trainer_lvl} represents the trainer's level
I would say the value is the {iv} * {cp}, and it would sort each  species by this, and transfer the lowest value of {iv} * {cp}.
Let's look at an example: Magikarp. Say I have 3 magikarp, and we need to decide which to evolve.

180 CP, .13 IV
13 CP, .98 IV
150 CP, .7 IV

If we had it transfer all lower CPs, we would get a 180CP and .13IV magikarp, if we sorted by IV, we would get a 13 CP, .98 IV magikarp. But, if we sorted by IV * CP, we would get 150 CP, .7 IV, which I would rather have. This is not a pressing feature, but I think it would be nice.
Example usage (in config):
"value_formula": "{iv} * {cp}"
And then under "release_config",
"keep_top_value_formula": 2
And that config would keep the top 2 pokemons with the highest CP * IV
Actual Behavior
Currently only CP or IV is used
Steps to Reproduce
Feature request

I was rather thinking to implement something like this to decide which pokemon to keep, like a keep_best_cp_iv with a cp_iv_tollerance value, to range for example 10% below or above CP and IV value. Then, the evolve_all task would pick the best choice

A maximizing strategy supposedly is to not eveolve until Level 20 or higher. So any suggestion that takes the trainer level into account gets my
+1
Of course one could run a bot for ~50 hours and then check its level manually -- eventually followed by a manual restart with new config settings.
These are the commonly suggested Pokemons to use in level >20 together with XP-boost
jq '.[] | {name: .Name, candycost: ."Next Evolution Requirements".Amount} | select(.candycost != null) |  select(.candycost < 25)' pokemon.json.txt
{
"name": "Caterpie",
"candycost": 12
}
{
"name": "Weedle",
"candycost": 12
}
{
"name": "Pidgey",
"candycost": 12
}

I agree.

Actually cp is kinda irrelevant. the only thing with cp is, the more you have, the stronger the pokemon now. But IV is the pokemon's potential. that 13cp 91IV magikarp will only need about 50 more candy and some dust to be far stronger than the other ones.
You may think now "but the 13cp magikarp will only be a 166cp gyarados". But that can be boosted with candy and dust. every pokemon has 40.5 levels and if it has more cp then the other, it likely means it is just a higher level already, meaning it will cost a little less dust and candy to reach max level. But it will always cost the same to reach level 40.5 and there will be significant difference in their cp and hp at level 40.5 based on their IV.
check pokeassistant
@cprior concerning not evolving until lvl 20< : you are better off evolving and thus reaching higher levels quicker and saving up the high IV pokemon.  If they all have perfect IV, then of course I'd take the one with highest cp, but not before.


Exposing maven's install path and ownership

These things can be delegated to the ark LWRP. I opened a PR at https://github.com/opscode-cookbooks/maven/pull/61 to start discussing the issue. I tried opening a ticket at tickets.opscode.com as per your CONTRIBUTE.md guide but it eventually led me back to opening an issue on github.
I just signed the contributing license agreement, let me know if I need to do anything else.
/cc @ericfode
Thanks!

When will this request be considered. The commit has just two simple changes, which is very much required for windows. As windows does not have a 'root' user. Lets make it flexible.

I'm working on a cleanup of the main recipe to remove support for maven 2 and update things to the latest 3.  After that I'm going to go through the backlog of open PRs


Adding start of work to better clarify links for the image spec

One of our goals for the Containers Working Group is to better clarify symbolic and hard links in the image spec:
https://supercontainers.github.io/containers-wg/ideas/links_B6/
We started discussion in this issue: https://github.com/opencontainers/image-spec/issues/857
And then moved over to the document here: https://docs.google.com/document/d/1uNigsONIndSUbzhtU-2H7zvsgzwrryV3RfJtI_aNxyQ/edit# (please refer to that for some notes that aren't in the changeset here!)
This pull request simply takes the bulk of our discussion and notes and takes a first shot at adding it to the spec document! I hope most of this content would be okay to add given that it's reflecting current practice. Where there is undefined behavior or doubt, I think for the time being we can just state that.
ping @cyphar and @reidpr that contributed most here and have breadth of experience with links!
Signed-off-by: vsoch<EMAIL_ADDRESS>

the discussion over, right? and this is just up for review now?

Yes I believe we finished our discussion on the more living doc (google docs) and this is ready for review!

Bump for updates and review (covered in the call today)

@vbatts changes are in! For the last point that I pinged others to check on, I think we can actually remove it because parsing additional layers and handling symlinks is expected to happen. The others can chime in if we should tweak this further.


static_assert failure in modules/common/time/time.h

I am trying to port apollo onto QNX SDP7. The static_assert call in modules/common/time/time.h fails during compiling stage
...
using Duration = std::chrono::nanoseconds;
...
static_assert(std::is_same<int64_t, Duration::rep>::value,
              "The underlying type of the microseconds should be int64.");
...

with the following error:
...
error: static assertion failed: The underlying type of the microseconds should be int64.
static_assert(std::is_same<int64_t, Duration::rep>::value,
...

The only requirement of std::chrono::nanoseconds is that it is an integral type of at least 64bits (http://en.cppreference.com/w/cpp/chrono/duration) . In our qnx implementation, it is actually type "long long int", which is a distinct type from int64_t (although they are both 64-bit ints).
To make it more portable, how about modify this assertion to something like this:
(sizeof(std::chrono::nanoseconds) >= sizeof(int64_t)
If it is OK, I can create a PR for that.

Good catch! Please make a pull request. It looks good to me.


Tweaks

Codecov Report

Merging #125 into master will increase coverage by 0.02%.
The diff coverage is 4.34%.

@@            Coverage Diff             @@
##           master     #125      +/-   ##
==========================================
+ Coverage   19.72%   19.75%   +0.02%
==========================================
  Files          40       40
  Lines        2276     2273       -3
  Branches      486      486
==========================================
  Hits          449      449
+ Misses       1827     1824       -3

Impacted Files
Coverage Δ

packages/foxman-plugin-nei/lib/functions.js
4.76% <0%> (+0.11%)
:arrow_up:

...ges/foxman-plugin-processor/lib/ReloaderService.js
10% <0%> (+0.62%)
:arrow_up:

packages/foxman-plugin-server/lib/Server.js
7.14% <7.14%> (ø)
:arrow_up:

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 1ba7177...a8c6dc6. Read the comment docs.


Vulnerabilities appear and disappear randomly

Hi
I have a project for training porpouses that contains some vulnerable versions of dependencies
Randomly, those vulnerabilities are being picked by the tool. It is, if i analyse that now, the vulnerability is detected, but, if i rerun that the next day over the same app, it is not found
I have checked the .db and i can see that the cve for the vulnerability is there
Is there any configuration or similar needed to fix this?
Thanks

I've never run into this issue. Any chance you could provide more
information about your sample application or even the entire app? How are
you running dependency-check, what OS/version and version of Java is being
used? Also, what version of dependency-check are you using?
Also, are the different executions done online vs. offline?  I.e. when you
are connected to the Internet and dependency-check can access Maven Central
vs. doing the scan offline?  If this is the case, I'm curious if you can
share what dependencies are causing the problem?
--jeremy
On Mon, Jan 23, 2017 at 11:00 AM, javixeneize<EMAIL_ADDRESS>wrote:

Hi
I have a project for training porpouses that contains some vulnerable
versions of dependencies
Randomly, those vulnerabilities are being picked by the tool. It is, if i
analyse that now, the vulnerability is detected, but, if i rerun that the
next day over the same app, it is not found
I have checked the .db and i can see that the cve for the vulnerability is
there
Is there any configuration or similar needed to fix this?
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jeremylong/DependencyCheck/issues/647, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AA0qwt1ylb1LtPRdPT5ID7BDzgcJCeivks5rVM61gaJpZM4LrNyM
.

Hi Jeremy
Can i write you the details to your email address?
Thanks
El El lun, 23 ene 2017 a las 22:22, Jeremy Long<EMAIL_ADDRESS>escribió:

I've never run into this issue. Any chance you could provide more
information about your sample application or even the entire app? How are
you running dependency-check, what OS/version and version of Java is being
used? Also, what version of dependency-check are you using?
Also, are the different executions done online vs. offline? I.e. when you
are connected to the Internet and dependency-check can access Maven Central
vs. doing the scan offline? If this is the case, I'm curious if you can
share what dependencies are causing the problem?
--jeremy
On Mon, Jan 23, 2017 at 11:00 AM, javixeneize<EMAIL_ADDRESS>wrote:

Hi

I have a project for training porpouses that contains some vulnerable

versions of dependencies

Randomly, those vulnerabilities are being picked by the tool. It is, if i

analyse that now, the vulnerability is detected, but, if i rerun that the

next day over the same app, it is not found

I have checked the .db and i can see that the cve for the vulnerability
is

there

Is there any configuration or similar needed to fix this?

Thanks

—

You are receiving this because you are subscribed to this thread.

Reply to this email directly, view it on GitHub

https://github.com/jeremylong/DependencyCheck/issues/647, or mute the

thread

<https://github.com/notifications/unsubscribe-auth/
AA0qwt1ylb1LtPRdPT5ID7BDzgcJCeivks5rVM61gaJpZM4LrNyM>

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jeremylong/DependencyCheck/issues/647#issuecomment-274636630,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMK55hpAzBOOAQLie8bBchg7WXd6ccNVks5rVSgPgaJpZM4LrNyM
.

Sure -<EMAIL_ADDRESS>

I have also seen this sort of issue. I have noticed when I had multiple maven projects (different projects) running owasp at the same time as each other on the same machine with the same data directory there was sometimes exceptions with temp files which caused owasp to fail early and not report all dependencies. I don't have the exception to hand anymore though, but weirdly it didn't fail the build.
As a workaround when I changed data directories to be unique for each project the issue hasn't occurred again, but I don't know if that is luck as the projects have to be timed perfectly to run at the same time and run owasp concurrently.
As an aside I'm not sure what happens if two jobs run on the same data directory and both decide to update the data folder or the data folder doesn't yet exist.

@SMUnlimited I don't think what you are describing is the same (see issue #100 for historical reference). The best would be to use a real database server (documentation here) if you have a CI server building multiple projects. I guess this is showing the real need to put our long time planned enterprise deployment guide together.
Another option that you can try is to run H2 in automatic mixed mode by adding ;AUTO_SERVER=TRUE to the connection string.

@jeremylong: Thanks I will look into those options as contains alot of useful info in there. Using a Database is probably the way to go as we will have multiple other machines running builds too.
I guess the only issue to raise is that it was not noticeable at first glance. In the linked issue it hanged but in my experience it just returned less results with the error hidden in logs even though the "failOnError" flag is supposed to be on by default.
If I can get the errors I had to happen again I will create a new issue for it.


[MM-45740] Allow users to authenticate using a server that isn't their current server

Summary
NOTE: Depends on this first: https://github.com/mattermost/desktop/pull/2209
When a user tries to use basic authentication where the login request hits a different server (ie. same as custom login flow), it will be rejected since the server URLs don't match.
This PR fixes the auth manager so that it will first check if the server has entered a custom login flow and will allow the user to confirm the login via a permission modal that will show the login URL.
Ticket Link
https://mattermost.atlassian.net/browse/MM-45740
Fixed an issue where users using basic authentication against a different URL than their server URL would be silently rejected.

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/desktop/21459
https://circleci.com/gh/mattermost/desktop/21458
https://circleci.com/gh/mattermost/desktop/21457

I'm going to be doing some work to move external authentication to the browser. Closing this for now.


Large amounts of EMC link item I/O may cause client to hang when opening the Transmutation Tablet

Install all of the mods in the below mod list.
Create a new world with cheats enabled.
Recreate the following setup, as shown in the image.

Place a Trash Void from Cyclic.
Place a Golden Hopper from Cyclic pointing into the trash can.
Place a Final EMC Link from Project Expansion on top of the golden hopper.
Set the EMC link to export stone, cobblestone, or any other item with EMC value 1.
Accelerate the setup with a Dark Pedestal and activated Watch of Flowing Time on top of the Trash Void.

Give yourself a Transmutation Tablet and a Fading Matter, and transmute the Fading Matter to start the process.
No significant lag yet, as there's only two items in the player's knowledge. Give yourself a Tome of Knowledge and insert it as well.
Immediately after the Tome of Knowledge is inserted, the render thread gets stuck updating the player's EMC value on the client and what items the player can learn. Therefore, the next frame on the client will not render until the player's EMC is depleted or the setup is broken or disrupted in any way.

According to the spark profiler results generated at https://spark.lucko.me/HlILvmyN5h, almost all of the time after the first few seconds was spent in moze_intel.projecte.network.packets.to_client.knowledge.KnowledgeSyncEmcPKT.handle
Modlist:
  [✔] Cyclic-1.18.2-1.7.1
  [✔] ProjectE-1.18.2-PE1.0.1
  [✔] ProjectExpansion-1.18.2-1.0.10
  [✔] spark-1.9.11-forge

Considering this is a bug caused by both tick acceleration and learning every item in the game, the latter of which wouldn't happen in normal gameplay, I'm considering this a non-issue

learning every item in the game, the latter of which wouldn't happen in normal gameplay

Actually, not every item is required to be learned for the hang to occur. The time spent handling the packets is proportional to both the item I/O activity in the EMC links (per real life second) and the amount (not percentage) of items that the player has currently learned.
1,000 is approximately the number of items that is present in vanilla Minecraft.
Some large modpacks may have upwards of 10,000 items or more, many of which have an EMC value. This means that, after some exploration, the player may have thousands of items in their knowledge pool without knowing it. Combine this with an automated setup that is tick accelerated and uses EMC links to input or output items, and the client-side hang behavior originally described may occur without the player realizing beforehand.

I'm not considering the amount of items to not be my problem, I'm considering the tick acceleration to not be my problem


Gmail SPF Revision

Delete GWS.GMAIL.3.1v0.1
Reasoning:

Not a configuration item (more of a prerequisite)
There was some confusion about what to do with the list once you have it.
Also some confusion about IP vs domains (e.g., include:_spf.google.com).

Revise GWS.GMAIL.3.2v0.1
Reasoning:

"only these" is ambiguous
Explicitly spell out that non-approved senders should fail

Placed on hold until after a discussion about this update.

After discussing further, determined that these changes will be made.


Provide a tab with the raw .clang-format contents instead of Upload/Download

Currently you have to constantly upload/download to try out a few changes. It would be more convenient if there was a tab/button to switch between the UI and the raw file so you can simply copy/paste

Nice feature, i think i'll implement it in the near future

@mrexodia well, better late than never


WASM / JS Support

Would it be possible to run Starlark from Node or the Browser using this library?

Presumably if you compiled it with the WASM target it should be possible, but I've never done so. If you have instructions it would be great to add them to the docs.

I don't yet but I can try at some point!

According to my tests, this already compiles successfully for the wasm32-wasi target, but for the normal wasm32-unknown-unknown target the errno crate has no sys implementation and therefore the build fails. I was unable to find where this crate is used.

this already compiles successfully for the wasm32-wasi target

It even passes most of tests (test run internally, but I forgot to setup a job on GitHub).

for the normal wasm32-unknown-unknown target the errno crate has no sys implementation and therefore the build fails

This setup was not tested.

Not sure if this is helpful information but for anyone lost like me, I got this sort of working. I don't know Rust so please forgive the syntax.
First I patched starlark-rust to remove the Instant::now() call. Should this be patched out under wasm? I don't personally care about timing.
diff --git a/starlark/src/eval.rs b/starlark/src/eval.rs
index 4317b49e..02e7c552 100644
--- a/starlark/src/eval.rs
+++ b/starlark/src/eval.rs
@@ -25,7 +25,6 @@ pub(crate) mod soft_error;

 use std::collections::HashMap;
 use std::mem;
-use std::time::Instant;

 use dupe::Dupe;
 pub use runtime::arguments::Arguments;
@@ -62,8 +61,6 @@ impl<'v, 'a, 'e> Evaluator<'v, 'a, 'e> {
     /// Evaluate an [`AstModule`] with this [`Evaluator`], modifying the in-scope
     /// [`Module`](crate::environment::Module) as appropriate.
     pub fn eval_module(&mut self, ast: AstModule, globals: &Globals) -> crate::Result<Value<'v>> {
-        let start = Instant::now();
-
         let (codemap, statement, dialect, typecheck) = ast.into_parts();

         let codemap = self.module_env.frozen_heap().alloc_any(codemap.dupe());
@@ -135,8 +132,6 @@ impl<'v, 'a, 'e> Evaluator<'v, 'a, 'e> {

         self.module_def_info = old_def_info;

-        self.module_env.add_eval_duration(start.elapsed());
-
         // Return the result of evaluation
         res.map_err(|e| e.into_error())
     }

Then I made a simple project:
[package]
name = "starlark-js"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
anyhow = "1.0.86"
starlark = {path = "../starlark-rust/starlark", version = "0.12.0"}

[lib]
crate-type = ["cdylib", "rlib"]

And put some code to call starlark in src/lib.rs:
use std::mem;

use anyhow::anyhow;
use starlark::environment::Globals;
use starlark::environment::Module;
use starlark::ErrorKind::Internal;
use starlark::eval::Evaluator;
use starlark::syntax::AstModule;
use starlark::syntax::Dialect;
use starlark::values::Value;

#[no_mangle]
pub extern "C" fn evaluate() -> *mut u8 {
    let result = execute();
    let success = result.is_ok();
    let message = result.unwrap_or_else(|e| e.into_anyhow().to_string());
    let bytes = message.as_bytes();
    let len = message.len();
    let mut buffer = Vec::with_capacity(len + 5);
    buffer.extend_from_slice(&(len as u32).to_le_bytes());
    buffer.push(if success { 1 } else { 0 });
    buffer.extend_from_slice(bytes);
    let mut this = mem::ManuallyDrop::new(buffer);
    this.as_mut_ptr()
}

fn execute() -> Result<String, starlark::Error> {
    let content = r#"
def hello():
   return "hello"

hello() + " world!"
    "#;

    let ast: AstModule =
        AstModule::parse("hello_world.star", content.to_owned(), &Dialect::Standard)?;

    // We create a `Globals`, defining the standard library functions available.
    // The `standard` function uses those defined in the Starlark specification.
    let globals: Globals = Globals::standard();

    // We create a `Module`, which stores the global variables for our calculation.
    let module: Module = Module::new();

    // We create an evaluator, which controls how evaluation occurs.
    let mut eval: Evaluator = Evaluator::new(&module);

    // And finally we evaluate the code using the evaluator.
    let res: Value = eval.eval_module(ast, &globals)?;
    let result = res.unpack_str().ok_or(starlark::Error::new(Internal(anyhow!("Can't get str"))))?;
    return Ok(String::from(result));
}

Ran cargo build --target wasm32-unknown-unknown --release and then opened a simple HTML test page under python3 -m http.server:
<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="utf-8" />
    <title>hello-wasm example</title>
  </head>
  <body>
    <script type="module">
      WebAssembly.instantiateStreaming(fetch("target/wasm32-unknown-unknown/release/starlark_js.wasm"), {}).then(({instance}) => {
        const memory = instance.exports.memory;
	const offset = instance.exports.evaluate();
        const length = new Uint32Array(memory.buffer, offset, 1)[0];
        const result = new Uint8Array(memory.buffer, offset + 4, 1)[0] != 0;
        const characters = new Uint8Array(memory.buffer, offset + 5, length);
        if (result) {
          console.log(new TextDecoder().decode(characters));
        } else {
          console.error(new TextDecoder().decode(characters));
        }
      });
    </script>
  </body>
</html>

And it seems to work!

That's awesome!

PR #129 gives us an example. Is that enough @pspeter3 - or anything else you were after?

That's super cool, thank you!


Items per page selector resets on viewing sample

In the web ui, the "Items per page" selector resets to 20 regardless of the previous choice after viewing a sample.

Related, after viewing an item and navigating back the page resets to 1, rather than the last viewed page which would be the expected behaviour


Adding system prune for podman v2

Register system prune routes, handler to support system prune
Adds testcase to validate the system prune flow.
Signed-off-by: Sujil02<EMAIL_ADDRESS>

/approve

LGTM

/lgtm


Incorrect valid basic blocks PLC

Hi,
It appears that the valid basic block list for the P2IM_PLC binary isn't correct as it missed many functions in the binary. I would expect the blocks reached to be ~500 blocks for fuzzware and ~700 for HALucinator. I believe that this will also effect figure 3 in the paper.
Thanks,
Chris

Hi @cboyce376,
Thanks for reaching out. Indeed, the stm-plc sample had some issue regarding naming conventions, it may be that we generated the valid bb files for the wrong binary. We will investigate this and, if required, revalidate the according queues.
Thank you so much for making us aware of this potential issue!

Hi again @cboyce376,
We followed up on your observation and indeed, we used a wrong valid_bb files. We updated the bb_files and experiments, and regenerated the according .data files. The new coverage plot for p2im_plc looks as follows:

While your expectation for fuzzware is matched, this seems not the case for HALucinator. Can you tell us how you estimate ~700 bbs in coverage for HALucinator?
Either way, we plan to update the paper and include the new data before final publication at USENIX Security'23. Is there any preferred way we can acknowledge you in the paper for making us aware of the issue (e.g., nickname, github handle, or real name)?
Thank you again!


horizon should complain if no DATABASE_URL specified

Partner raised an issue that they could not get horizon running and I suggested exporting the env var which fixed it. They were expecting horizon to complain if the setup was incomplete, which seems like a fair expectation.

Is there an open bug for this issue?

We could not repro this issue so we closed this issue. Is it not working for you @juliavi?


Support ES Modules

See https://aws.amazon.com/blogs/compute/using-node-js-es-modules-and-top-level-await-in-aws-lambda/
Here is my template file:
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31

Globals:
  Function:
    Runtime: nodejs18.x

Resources:
  Lambda:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: .
      Handler: app.handler
      Timeout: 10
      Architectures:
      - arm64
      Events:
        Api:
          Type: HttpApi
          Properties:
            Path: /events
            Method: POST

When running the plugin, the final template file generated is this:
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Globals:
  Function:
    Runtime: nodejs18.x
Resources:
  Lambda:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: Lambda
      Handler: app.mjs.handler
      Timeout: 10
      Architectures:
        - arm64
      Events:
        Api:
          Type: HttpApi
          Properties:
            Path: /events
            Method: POST

Note that app.mjs.handler is wrong. It should be just app.handler.
In my webpack.config.js, I have:

output.library.type set to "module".
output.library.chunkFormat set to "module".
experiments.outputModule set to true.

In my package.json, type is set to "module".
With this, .mjs files are generated instead of .js files. But because the file generated is called app.mjs.js instead of app.mjs, Lambda doesn't load it as an ES Module.

If I manually go in and rename the app.mjs.js file to app.mjs and then change the template.yml to also point to app.handler instead of app.mjs.handler, it works just fine.
So I suppose this should be an easy fix maybe?
What do you think?

As a workaround, I can do this:
filename: (chunkData) => awsSamPlugin.filename(chunkData).replace(".js", ".mjs")

In the config.


Annotation System

Adds an annotation system and basic type checker support (TODO).
The parser supports adding arbitrary annotations to any expressions/statements. For example:
@tailrec
fun sum(n) = if n == 0 then 0 else @tailrec sum(n - 1)

This is in preparation for implementing the @tailrec annotation.
TODO:

Currently it uses a mutable style Annotated trait similar to Located. Change it to use an Ann syntax that contains other terms and contains a list of annotations.
Implement pretty-printing for the changes.
Basic type checking to make sure all annotation names are in scope.

Added an Ann case class that extends Term.
TODO:

Figure out the best way to store annotations in non-Term statements that we still want to annotate such as NuFunDef.  Possible solutions:

Just add an annotations field to each of these.
Create an AnnStatement class, though this is quite messy and also forces us to also consider the case when AnnStatement contains a Term, which feels unclean.

(need help) Missing case for Ann in ClassLifter class liftTerm. Still need to figure out what this function does.
(need help) In compiler/Helpers:32, need to figure out whether this is a conversion we actually want, i.e. whether we should preserve annotations when converting to Expr. If I'm understanding correctly, Expr represents nodes in a control flow graph, so we probably don't need to preserve annotations (?)

Figure out the best way to store annotations in non-Term statements that we still want to annotate such as NuFunDef. Possible solutions:

Just add an annotations field to each of these.

Yes, this is the way. In practice that means you only have to add the field to NuFunDef and NuTypeDef. Terms already support annotations through Ann, and other statements are either deprecated or won't support annotations.

(need help) Missing case for Ann in ClassLifter class liftTerm. Still need to figure out what this function does.
(need help) In compiler/Helpers:32, need to figure out whether this is a conversion we actually want, i.e. whether we should preserve annotations when converting to Expr. If I'm understanding correctly, Expr represents nodes in a control flow graph, so we probably don't need to preserve annotations (?)

Update the type checker.

Easy. Just defer the type checking of Ann(Var(nme) :: anns, receiver) to that of Var(nme) and Ann(anns, receiver).
BTW I'm not convinced we need multiple annotations in the same Ann term. This has the downside of allowing the dummy Ann(Nil, t) and it's also kind of unnecessary. Class Term could be given a helper method peelAnnotations that would return a (List[Var], Term), if that's even needed.

BTW I'm not convinced we need multiple annotations in the same Ann term. This has the downside of allowing the dummy Ann(Nil, t) and it's also kind of unnecessary.
True, we can just store it as Ann(annotation1, Ann(annotation2, ...)).

For such secondary fields, we normally add them to the second parameter list, which creates fewer errors as it does not affect the pattern syntax. Just add another val in there. You'll still need to initialize and propagate a bunch of them, but these are not very hard changes.

TODO: Fix codegen -- probably ok to just discard annotations for now. Maybe throw an error if @tailrec is seen, since it is not yet implemented.

TODO: Fix codegen -- probably ok to just discard annotations for now. Maybe throw an error if @tailrec is seen, since it is not yet implemented.

I see you've approved the changes, but I suppose this should be done before merging into master?

Right. Forgot about that one, but it should be trivial.
I many case, I'll do the merge when it's ready.

My bad, probably should have rebased instead of merging. Anyway, it should be ready to merge now.

My bad, probably should have rebased instead of merging. Anyway, it should be ready to merge now.

No, I know people rebase branches like this, but it's an anti-pattern. It is likely to make the commits in the middle broken, causes unnecessary conflicts, and is annoying for people (like me) who've already checked out your branch. I'm going to squash the PR on merge anyway, as its history isn't interesting/useful.

My bad, probably should have rebased instead of merging. Anyway, it should be ready to merge now.

No, I know people rebase branches like this, but it's an anti-pattern. It is likely to make the commits in the middle broken, causes unnecessary conflicts, and is annoying for people (like me) who've already checked out your branch. I'm going to squash the PR on merge anyway, as its history isn't interesting/useful.

Got it. What's the usual procedure for merging into the main branch here?

It really depends. For short-lived PRs like this with many almost meaningless commits (like applying review suggestions), I prefer to squash. But if the branch has a lot of history but several authors or has been used as a base of other branches, I use a merge commit, to retain history details and reproducible commits (ie which compile and whose tests are usually green).


Broken Link to Storage End-To-End Troubleshooting

The link to http://azure.microsoft.com/en-us/documentation/articles/articles/storage-e2e-troubleshooting/ is a broken link.
The current link points to http://azure.microsoft.com/en-us/documentation/articles/articles/storage-e2e-troubleshooting/ and the proper link would be http://azure.microsoft.com/en-us/documentation/articles/storage-e2e-troubleshooting/.
In short, there's an extra /articles in the URL.

What was the page you were on?

Apologies for not including that - new to Github and I assumed the comment would track the page I was on.  The article is http://azure.microsoft.com/en-us/documentation/articles/storage-monitoring-diagnosing-troubleshooting/.


Segmentation fault (core dumped)

Hi, I follow the env.sh install the environment, and run the WD50K example. But it turn to Segmentation fault (core dumped). Can you help me? It seems that "from torch_geometric.nn import GATv2Conv" has a problem. Thanks.

If the Segmentation fault (core dumped) error is reported, there may be a problem with your environment configuration, you can try to re-create a conda environment, pay attention to the version correspondence. The final implementation calls the following function: https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.nn.conv.GATv2Conv.html.


add proposal of install openyurt components using dashboard

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Add proposal of install openyurt components using dashboard
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
@luc99hen
Does this PR introduce a user-facing change?

@rambohe-ch PTAL

/lgtm

/approve


Absolute paths

Hi,
I need all files of one type to be created inside specific folder, something like ./AA/BB/[FTName].json
Is it possible to specify absolute path for the new file(s)?
Thanks

I hope I understood your question correctly. Does this look like something you would like to achieve?
...projectroot
- src
   - JSON
      - <create json file here>
   - components
      - <create main folder here>

Right now there's no way to have absolute paths for files and I'm thinking that it might be very hard to implement too. I have to think a bit about it.
However if what you need is what I illustrated above then you can use a workaround to achieve that right now.
This is what the template inside the .fttemplates folder would look like.

the content of the ftsettings.json is
  {
     "omitParentDirectory": true
  }

If you then rightclick on the src folder (this is important) and then click "Create New Templated Folder" it would create the files like this.

I prepared this template as a zip. If you want feel free to download this template here
Template.zip

Hi,
I will try to specify the use-case on better example.
We use quite deep folder structure. For example we have ...projectroot/src/config/lovs folder, where we store "list of values" definitions in JSON format. I would like to be able to create files from selected template always in this directory, doesn't matter if the user triggers file creation by rightclicking on src, config or lovs folder.
Thank you for your help

Ah I see.
Yes that's currently not possible. I have a rough idea of how to implement it but it's something that has to be done first.
I don't think this will happen before new year unfortunately

I tried to implement the change myself. Please see #83

I fixed a small typo and merged. thank you :)

Thanks :)

@hondzik @Huuums having a little trouble making it work.


added gpgkey_url parameter

This turns the $gpgkey_url variable into a parameter that the user can then specify a custom URL to the GPG key in case the GPG key is not hosted under the previously assumed URLs: ${yum_server}${yum_path}/keys/ or ${yum_server}${yum_path}/

The unit tests on this module appear to be out of date. It is complaining about this line unless $gpgkey_url { $gpgkey_url  = "${yum_server}${yum_path}/keys/" } but this passes puppet parser validate and I've tested with puppet v3.0 and newer.
@razorsedge, any reasons not to merge this?

@acjohnson The unit tests are out of date because you have changed the behaviour of the code. :-)
A few things:

The default value of gpgkey_url should be the module's current, hard-coded default.
Please add unit tests to exercise the new gpgkey_url parameter.
Please re-submit a PR against the develop branch as that is where the latest code resides.


Update: 11

Ran Plan for dir: test workspace: default
Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create

Terraform will perform the following actions:

  # null_resource.example will be created
+ resource "null_resource" "example" {
      + id = (known after apply)
    }

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

:arrow_forward: To apply this plan, comment:atlantis apply -d test

:put_litter_in_its_place: To delete this plan and lock, click here
:repeat: To plan this project again, comment:atlantis plan -d test

:fast_forward: To apply all unapplied plans from this Pull Request, comment:atlantis apply

:put_litter_in_its_place: To delete all plans and locks from this Pull Request, comment:atlantis unlock

atlantis apply

Ran Apply for dir: test workspace: default
null_resource.example: Creating...
null_resource.example: Creation complete after 0s [id=7109359535146601902]

Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Locks and plans deleted for the projects and workspaces modified in this pull request:

dir: test workspace: default


color and depth image quality (d435)

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ D435 }

Firmware Version
(Open RealSense Viewer --> )

Operating System & Version
{Win 10

Kernel Version (Linux Only)

Platform
PC

SDK Version

Language
python }

Issue Description
<Describe your issue / question / feature request / etc..>
In the example code below, after a 5-second wait, images (both color and depth) are captured every 3 seconds. This code is intended to create a color point cloud from the color and depth images. Are there any ways to improve the quality and resolution of the depth and color images for better formation of the color point cloud? Please let me know if there are any parts in my current code that need modification or if there are any issues.
#timer
import pyrealsense2 as rs
import numpy as np
import cv2
import time
RealSense pipeline
pipeline = rs.pipeline()
config = rs.config()
RGB depth stream
config.enable_stream(rs.stream.depth, 1280, 720, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)
start pipeline
pipeline.start(config)
camera intrinsic
profile = pipeline.get_active_profile()
color_profile = profile.get_stream(rs.stream.color)
color_intrinsics = color_profile.as_video_stream_profile().get_intrinsics()
depth_profile = profile.get_stream(rs.stream.depth)
depth_intrinsics = depth_profile.as_video_stream_profile().get_intrinsics()
print("Color Intrinsics: ", color_intrinsics)
print("Depth Intrinsics: ", depth_intrinsics)
align rgb depth
align_to = rs.stream.color
align = rs.align(align_to)
wait 5sec
time.sleep(5)
time setting
save_interval = 3
last_saved_time = time.time()
num_saved_images = 0
max_images_to_save = 5  # max imgs
try:
while True:
frames = pipeline.wait_for_frames()
aligned_frames = align.process(frames)
    aligned_depth_frame = aligned_frames.get_depth_frame()
    color_frame = aligned_frames.get_color_frame()

    if not aligned_depth_frame or not color_frame:
        continue

    depth_image = np.asanyarray(aligned_depth_frame.get_data())
    color_image = np.asanyarray(color_frame.get_data())

    if time.time() - last_saved_time > save_interval and num_saved_images < max_images_to_save:
        cv2.imwrite(f'C:/Users/juseok/Desktop/example/color/sample1_{num_saved_images}.png', color_image)
        cv2.imwrite(f'C:/Users/juseok/Desktop/example/depth/sample1_{num_saved_images}.png', depth_image)
        last_saved_time = time.time()
        num_saved_images += 1

    if num_saved_images >= max_images_to_save:
        break

    cv2.imshow('Depth Image', depth_image)
    cv2.imshow('Color Image', color_image)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

finally:
pipeline.stop()
cv2.destroyAllWindows()

Hi @jooseuk  It looks as though your script is already optimizing depth and color quality almost as much as is possible to do so.  You could though try maximizing the RGB image's sharpness using Python code at https://github.com/IntelRealSense/librealsense/issues/12030#issuecomment-1647640046

Hi @jooseuk It looks as though your script is already optimizing depth and color quality almost as much as is possible to do so. You could though try maximizing the RGB image's sharpness using Python code at #12030 (comment)

Thank you. Also, for experimental purposes, if I want to get color and depth images, do I need to calibrate the D435 camera?

It is not necessary to calibrate the camera in order to obtain depth and color images.  However, the On-chip calibration tool can improve depth quality, whilst the Tare calibration tool can improve depth measurement accuracy.

Case closed due to no further comments received.


Variables not properly initialized when using data relocation with SDRAM

When using data relocation to store variables in external SDRAM the kernel will initialize the data section from ROM and clear the bss section. But this is done before the SDRAM is initialized, so the data will not be retained. In my application I see that all variables that are stored in SDRAM have wrong initialization values.
I'm seeing this with an stm32f7, using driver memc_stm32_sdram.c. This driver has the initialization level POST_KERNEL. I have verified that kernel/init.c and kernel/xip.c correctly initialize the relocated data, and also that the data is lost during memc_stm32_sdram_init().
As a workaround I'm calling bss_zeroing_relocation() and data_copy_xip_relocation() at the end of memc_stm32_sdram_init(). This fixes the problem for me, but it is not a general solution because it may overwrite any other data relocated to internal RAM.
One possible solution to this is to initialize the SDRAM a lot earlier, but that will probably require a rewrite of the driver (to not depend on kernel, clock initalization, etc)
Environment

OS: Linux
Toolchain: Zephyr SDK 0.13.1
Zephyr v2.7.0

@erwango , I've created a demonstration for this based on samples/application_development/code_relocation. I've tested it on stm32f769i_disco and it fails. You can find it in my zephyr fork:
https://github.com/hjuul/zephyr/tree/reproduce/43555
To reproduce on that branch:
west build zephyr/samples/application_development/code_relocation -b stm32f769i_disco
west flash

When running this, somewhere in the output you should see something like:
***** var_sdram_data=558401858, expected 10
***** var_sdram_bss=-2147326859, expected 0

Now, if you revert the CMakeLists.txt file that I've modified, so that the relocation is not to SDRAM, you will see that variables are correctly initialized.

Please remove the stale label, this is a quite critical bug.

@erwango, I already have a workaround for this in my fork, so it doesn't block me. But it is one of those bugs that really makes you question the maturity of Zephyr, when something like RAM initialization doesn't work out of the box on such a popular platform as the stm32.
Please consider removing the stale label and then eventually fixing it.

@hjuul could you please share a branch (remotes/hjuul/reproduce/43555 is quite old)
Trying to build for another platform (stm32f746g_disco) also fails.

I'm seeing this with an stm32f7, using driver memc_stm32_sdram.c. This driver has the initialization level POST_KERNEL. I have verified that kernel/init.c and kernel/xip.c correctly initialize the relocated data, and also that the data is lost during memc_stm32_sdram_init().

@hjuul - it seems like the best solution is to make a PR where you change the init level for the driver to PRE_KERNEL_1. Are you able to verify that fix works and submit a PR?


Provide a mapping file listing renamed files

When preprocessing .ino files, we effectively rename them to .cpp. But in case of any errors, the logs contain .cpp files which are not visible from the perspective of a user who submitted the .ino sources. Preprocessor could create a mappings.txt i.e. that would contain lines with renamed files like:
/src/Blink.ino;/src/Blink.cpp

It looks like the #line directive can provide this kind of mapping.


[AMBARI-23662] Log Search UI: subscription error on route changing

What changes were proposed in this pull request?
Route change issues has been fixed.
(Changing route from Shipper Configuration to Logs causes break of the application.)
How was this patch tested?
Manually and with unit tests.
Please review Ambari Contributing Guide before opening a pull request.
@aBabiichuk please review it.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1983/
Test PASSed.


Implement Closing event on Window

It should be possible to handle a window closing, and prevent it if necessary.
This would be similar to the Window.Closing event in WPF.

This can probably closed or is something missing?

Right. Fixed by #1383.


[BUG] Dashy no longer builds from source on a clean install.

Environment
Other (Specify below)
System
Debian 12
Version
3.1.1
Describe the problem

clone
yarn install <-- install deps, yarn build doesnt even run without this, yet this isnt in the docs. I only knew to do this since i am a developer
yarn build <-- fails

Additional info
 WARN  A new version of sass-loader is available. Please upgrade for best experience.
⠏  Building for production...

 ERROR  Failed to compile with 1 error                                                                                9:38:25 AM

 error  in ./src/main.js

Syntax Error: Error: [BABEL] /root/dashy/src/main.js: @babel/preset-env: The plugins/built-ins 'es.array.iterator, es.promise, es.object.assign, es.promise.finally' passed to the 'exclude' option are not
    valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env (While processing: "/root/dashy/node_modules/.pnpm/@vue+babel-preset-app@4.5.19_@babel+core@7.25.2_vue<EMAIL_ADDRESS>    at Generator.next (<anonymous>)
    at Generator.next (<anonymous>)
    at Generator.next (<anonymous>)
    at Generator.next (<anonymous>)
    at cachedFunction.next (<anonymous>)
    at loadPresetDescriptor.next (<anonymous>)
    at recursePresetDescriptors.next (<anonymous>)
    at recursePresetDescriptors.next (<anonymous>)
    at Generator.next (<anonymous>)
    at loadFullConfig.next (<anonymous>)
    at transform.next (<anonymous>)

 @ multi ./src/main.js

 ERROR  Build failed with errors.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Please tick the boxes

[X] You have explained the issue clearly, and included all relevant info
[X] You are using a supported version of Dashy
[X] You've checked that this issue hasn't already been raised
[X] You've checked the docs and troubleshooting guide
[X] You agree to the code of conduct

Hi
What version of node are you running?
Can you test the following?
git clone https://github.com/lissy93/dashy
yarn --ignore-engines
yarn build-and-start


[IMPORTANT] [LICENCE] Move from MIT to BSL licence

Recent discussions with some people interested in using EVE led us to think about moving from MIT to Boost Software Licence.
I'm rather OK with it but we formally need the go from contributors to migrate there.
So would:

[x] @jfalcou myself
[x] @jtlap
[x] @DenisYaroshevskiy
[ ] @aguinet
[x] @justend29
[x] @the-moisrex
[ ] @Simran-B
[x] @HadrienG2
[x] @toughengineer
[x] @pauljurczak
[x] @JPenuchot
[x] @orao

be keen to answer this issue with a YAY or NAY so we can move forward if everybody is OK with the move.
Thanks, everyone

YAY

seems like it is possible to vote for other people. Maybe leave a comment too. I'm good.

Yay

sure

YAY
On Wed., Aug. 3, 2022, 6:55 p.m. Pavel Novikov, @.***>
wrote:

sure
—
Reply to this email directly, view it on GitHub
https://github.com/jfalcou/eve/issues/1367#issuecomment-1204526624, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQW3H47AU3GXNEJ5OL55DLVXLTF5ANCNFSM55QIYKWQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

YAY

YAY

Sure, yay! 😁

Sure.

10/12, I guess we all agree it's a go ?
@aguinet ?
@Simran-B  ?
No objections ?

Yay
(sorry for the lag)


Modify function construct_objective_function!

Modify function construct_objective_function! to allow for more general weighting matrix (not just diagonal one).
This will allow do efficient MSM.

Done. New field:
sMMProblem.W


[aes] reseed triggers assertion

Running a stress test triggers an assertion on the reseeding sequence not following the expected timing.
reproduce:
test: aes_stress
simulator: xcelium
seed: "shm"  (a minor typo gave this wierd seed but it is valid)
for wdc run:
/util/dvsim/dvsim.py hw/ip/aes/dv/aes_masking_sim_cfg.hjson -i aes_stress -r 1 -t xcelium --job-prefix="nc run -C ncsim_interactive -Il" -s=shm
ERROR:
E,ASRTST (/wdc/proj/cto/top/work/rasmus.madsen/opentitan/golden/scratch/aes_fi/aes_masking-sim-xcelium/default/src/lowrisc_dv_aes_sva_/aes_reseed_if.sv,49): Assertion MaskingPrngReseedCorrectAfter_A has failed (* cycles, starting * PS)` has 1 failures:
@Muqing-Liu
please confirm that this is indeed violating the expected behavior.
if so add some snippets to this issue that will Help @vogelpi debug.
thank you

@rasmus-madsen Thank you for pointing this out! I think it's the issue with the assertion, I removed the "strong" argument from that assertion, since at the end of the test, there's no more reseeding req, so this assertion fails. And we have checked that the "entropy_masking_req" will eventually fire in the aes_reseed_vseq after the corresponding trigger signal, so we don't need to add that constraint here to avoid being fired unexpectedly.


[BUG]: drizzle-zod doesn't parse mysqlEnum as z.ZodEnum

Report hasn't been filed before.

[X] I have verified that the bug I'm about to report hasn't been filed before.

What version of drizzle-orm are you using?
0.38.0
What version of drizzle-kit are you using?
0.30.0
Other packages
<EMAIL_ADDRESS>Describe the Bug
export const table = mysqlTable(
  "table",
  { enum: mysqlEnum("enum", ["One", "Two"]).notNull() },
);

export const schema = createInsertSchema(table);

The enum here should return a z.ZodEnum instead of a z.ZodString.
It looks like just a TypeScript issue, it's done during runtime: column.ts#L57
It used to work in<EMAIL_ADDRESS>

May I know the content of your tsconfig.json file? mysqlEnum returns z.ZodEnum in Drizzle's test suite, and I'm unable to reproduce this at the moment.

@L-Mario564, I rolled back to 0.5.1 for now, here's my tsconfig:
{
  "$schema": "https://json.schemastore.org/tsconfig",
  "extends": "./base.json",
  "compilerOptions": {
    "declaration": true,
    "declarationMap": true,
    "emitDeclarationOnly": true,
    "noEmit": false,
    "outDir": "${configDir}/dist"
  }
}

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "compilerOptions": {
    "esModuleInterop": true,
    "skipLibCheck": true,
    "target": "ESNext",
    "lib": ["ESNext"],
    "allowJs": true,
    "resolveJsonModule": true,
    "moduleDetection": "force",
    "isolatedModules": true,

    "incremental": true,
    "disableSourceOfProjectReferenceRedirect": true,
    "tsBuildInfoFile": "${configDir}/.cache/tsbuildinfo.json",

    "strict": true,
    "noUncheckedIndexedAccess": true,
    "checkJs": true,

    "module": "Preserve",
    "moduleResolution": "Bundler",
    "noEmit": true
  },
  "exclude": ["node_modules", "build", "dist", ".next"]
}

The same happens to me with pgEnum and text({enum:}) and varchar({enum:}). Drizzle zod translates it as an array of strings

@nemanjastanic Is the sample code you provided is all that is required to reproduce the bug? I'm still completely unable to reproduce this.

Hey @L-Mario564, I just retried this, it seems it's caused by #3732. I missed this previously because I managed to suppress the error by adding .partial({}).
Please feel free to close this issue if you want to consider it a duplicate!

@nemanjastanic Will close this in favor of the one you mentioned. Thanks.


Problems in customizing new cells in DARTS

I am a beginner in NAS and DARTS.
I'm wondering that if there are 4 cells defined (3 normal and 1 reduction) in my model but why searched architecture only contains one architecture for the normal cell not 3?
If the reduction cell is cell2, and the normal cells are cell0, cell1, and cell3, the visualized model only contains graphs for cell0 and cell2, why, and where can I find the define for parameter sharing?

The two main blocks refer to cell0 (the first normal cell) and cell2 (the only reduction cell).

The other normal cells are collapsed as they share the similar structure. You can expand them with double-click.

Thanks. Does that mean the darts mutator automatically considers all the normal cells have the same structure and these cells use the same arc controlling parameter alpha?

You can check the keys of LayerChoice. If they use the same key, they will share the same architecture.

Thanks! @ultmaster

@ultmaster Thanks for your help again.
Here is another problem I met, I customized a new cell with new nodes in it, and new a different key in layer choice, but the alpha for the new cell in the mutator doesn't change during the training.
Here is my code for the cell:
class Post_Node(nn.Module):
    def __init__(self, node_id, num_prev_nodes, channels):
        super().__init__()
        self.ops = nn.ModuleList()
        choice_keys = []
        stride = 1
        # print(num_prev_nodes)
        for i in range(num_prev_nodes):
            choice_keys.append("{}_p{}".format(node_id, i))
            self.ops.append(
                mutables.LayerChoice(OrderedDict([
                    '''
                        my ops
                    '''
                ]), key=choice_keys[-1]))
        self.drop_path = ops.DropPath()
        self.input_switch = mutables.InputChoice(choose_from=choice_keys, n_chosen=2, key="{}_switch".format(node_id))

class Post_Cell(nn.Module):
    def __init__(self, n_nodes, channels):
        super().__init__()
        self.n_nodes = n_nodes
        self.mutable_ops = nn.ModuleList()
        for depth in range(2, self.n_nodes + 2):
            self.mutable_ops.append(Post_Node("{}_n{}".format("post", depth),
                                         depth, channels))
    def forward(self, s0, s1):
        tensors = [s0, s1]
        for node in self.mutable_ops:
            cur_tensor = node(tensors)
            tensors.append(cur_tensor)
        output = torch.cat(tensors[2:], dim=1)
        return output

Is there any problem in the define of post cell?

Alpha for post cell in tensorboard (normal cell changes correctly).

@ultmaster Thanks for your help again.
Here is another problem I met, I customized a new cell with new nodes in it, and new a different key in layer choice, but the alpha for the new cell in the mutator doesn't change during the training.
Here is my code for the cell:
class Post_Node(nn.Module):
    def __init__(self, node_id, num_prev_nodes, channels):
        super().__init__()
        self.ops = nn.ModuleList()
        choice_keys = []
        stride = 1
        # print(num_prev_nodes)
        for i in range(num_prev_nodes):
            choice_keys.append("{}_p{}".format(node_id, i))
            self.ops.append(
                mutables.LayerChoice(OrderedDict([
                    '''
                        my ops
                    '''
                ]), key=choice_keys[-1]))
        self.drop_path = ops.DropPath()
        self.input_switch = mutables.InputChoice(choose_from=choice_keys, n_chosen=2, key="{}_switch".format(node_id))

class Post_Cell(nn.Module):
    def __init__(self, n_nodes, channels):
        super().__init__()
        self.n_nodes = n_nodes
        self.mutable_ops = nn.ModuleList()
        for depth in range(2, self.n_nodes + 2):
            self.mutable_ops.append(Post_Node("{}_n{}".format("post", depth),
                                         depth, channels))
    def forward(self, s0, s1):
        tensors = [s0, s1]
        for node in self.mutable_ops:
            cur_tensor = node(tensors)
            tensors.append(cur_tensor)
        output = torch.cat(tensors[2:], dim=1)
        return output

Is there any problem in the define of post cell?

Alpha for post cell in tensorboard (normal cell changes correctly).

I didn't see any obvious problems. Is the back propagation of post cell working properly. How about the gradients of other parameters other than alpha? For example, the convolutions in your layer choice?

I didn't see any obvious problems. Is the back propagation of post cell working properly. How about the gradients of other parameters other than alpha? For example, the convolutions in your layer choice?

I checked the parameter in the post cell, and it turns out that the parameters other than alpha don't change either.

I checked the parameter in the post cell, and it turns out that the parameters other than alpha don't change either.

If so, there must be something wrong with your model. Please check your graph.

If so, there must be something wrong with your model. Please check your graph.

@ultmaster Good afternoon.
I'm trying to make my trainer support unrolled backward method.
But in the function _compute_virtual_model() in the DartsTrainer, when computing gradients = torch.autograd.grad(loss, self.model.parameters(), it raised "RuntimeError: One of the differentiated Tensors appears to not have been used in the graph. Set allow_unused=True if this is the desired behavior."
Does that mean that some tensors in model.parameters() has no grad to the loss?
And is it OK to set allow_unused=True and apply momentum only to tensors that have grads to the loss?

@ultmaster Good afternoon.
I'm trying to make my trainer support unrolled backward method.
But in the function _compute_virtual_model() in the DartsTrainer, when computing gradients = torch.autograd.grad(loss, self.model.parameters(), it raised "RuntimeError: One of the differentiated Tensors appears to not have been used in the graph. Set allow_unused=True if this is the desired behavior."
Does that mean that some tensors in model.parameters() has no grad to the loss?
And is it OK to set allow_unused=True and apply momentum only to tensors that have grads to the loss?

I judge if the d and w in dw is None in _compute_hessian(), as well as in the momentum applying in the _compute_virtual_model(), the program seems running well.
But I'm still curious about the season of the error. Orz.

I judge if the d and w in dw is None in _compute_hessian(), as well as in the momentum applying in the _compute_virtual_model(), the program seems running well.
But I'm still curious about the season of the error. Orz.

I think it's a pure PyTorch problem. You are right to set allow_unused if some parameters are intended to be not used. However, momentum is more tricky. You can refer to the implementation of different optimizers on their behaviors in dealing with momentum.

I think it's a pure PyTorch problem. You are right to set allow_unused if some parameters are intended to be not used. However, momentum is more tricky. You can refer to the implementation of different optimizers on their behaviors in dealing with momentum.

In the sample_final() function of class DartsMutator, why the last arc is not considered in max()?
If so what's the purpose of inserting extra connection to all the layerchoice?
def sample_final(self):
        result = dict()
        edges_max = dict()
        for mutable in self.mutables:
            if isinstance(mutable, LayerChoice):
                max_val, index = torch.max(F.softmax(self.choices[mutable.key], dim=-1)[:-1], 0)
                edges_max[mutable.key] = max_val

In the sample_final() function of class DartsMutator, why the last arc is not considered in max()?
If so what's the purpose of inserting extra connection to all the layerchoice?
def sample_final(self):
        result = dict()
        edges_max = dict()
        for mutable in self.mutables:
            if isinstance(mutable, LayerChoice):
                max_val, index = torch.max(F.softmax(self.choices[mutable.key], dim=-1)[:-1], 0)
                edges_max[mutable.key] = max_val

@ultmaster Good afternoon.
I'm wondering what's the purpose of inserting extra connection to all the layerchoice?
Cause the last arc's weight in my experiments is always high.

Around half of all the layerchoice mutators.
And will this influence the other arcs? All the mutators abandoned the fifth arc which is considered competitive humanly.
Thanks a lot.

In their paper, the authors of DARTS consider inserting an none-op, which cut off the connection. You can re-implement this if you don't want the cut-off.
I'd think there are researches that are investigating this issues, known as "architecture collapse", but I don't know much about it.

But the apply_fixed_architecture() method doesn't cut off the connection indeed, right? @ultmaster

Yes.  You will see some of the layer choices choose null as their results.

Yes, i see. Much wrong understanding with the code before. Thanks a lot.


Accessing the documentation

Hello,
I cannot access the documentation with the steps provided under "documentation." Is there a way you could upload a PDF or another way to access the documentation?
Thank you,
CJ

The documentation is still somewhat partial, but you can access the current version here:
https://rsa3.readthedocs.io


BIGTOP-3639. Alluxio build fails on ppc64le (addendum).

Description of PR
This is a follow-up for #861. Building Alluxio for Debian or Ubuntu fails on a ppc64le machine because fakeroot tries to use the root user's home directory instead of jenkins' to create local maven repository for some reason. This PR avoids this problem by leveraging the maven.repo.local property passed from bigtop-packages/src/deb/alluxio/rules.
How was this patch tested?
Ran ./gradlew allclean alluxio-pkg in a ubuntu-18.04 container on a ppc64le machine and confirmed it succeeced.
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'BIGTOP-3638. Your PR title ...')?
[x] Make sure that newly added files do not have any licensing issues. When in doubt refer to https://www.apache.org/licenses/

Thanks! Merged into master and branch-3.0.


Update documetantion disabling ConfigMap watcher

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please sign the CLA and I'll merge it.

done


TypeError: ‘SlotSet’ object is not subscriptable

Rasa Core version:
rasa_core==0.12.2
Python version:
python 3.6.6
Operating system (windows, osx, ...):
Linux-Ubuntu
Issue:
Getting error as TypeError: ‘SlotSet’ object is not subscriptable from custom action
Please find the error log
ERROR:flask.app:Exception on /webhook [POST] Traceback (most recent call last): File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask/app.py”, line 2292, in wsgi_app response = self.full_dispatch_request() File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask/app.py”, line 1815, in full_dispatch_request rv = self.handle_user_exception(e) File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask_cors/extension.py”, line 161, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask/app.py”, line 1718, in handle_user_exception reraise(exc_type, exc_value, tb) File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask/_compat.py”, line 35, in reraise raise value File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask/app.py”, line 1813, in full_dispatch_request rv = self.dispatch_request() File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask/app.py”, line 1799, in dispatch_request return self.view_functionsrule.endpoint File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/flask_cors/decorator.py”, line 128, in wrapped_function resp = make_response(f(*args, **kwargs)) File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/rasa_core_sdk/endpoint.py”, line 83, in webhook response = executor.run(action_call) File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/rasa_core_sdk/executor.py”, line 177, in run events = action(dispatcher, tracker, domain) File “/home/ajontanu/jon/my_work/chatbot3/chatbot3/lib/python3.6/site-packages/rasa_core_sdk/forms.py”, line 388, in run if e[‘event’] == ‘slot’: TypeError: ‘SlotSet’ object is not subscriptable
Custom action File code

      def validate(self, dispatcher:CollectingDispatcher, tracker: Tracker,
                 domain: Dict[Text, Any]) -> List[Dict]:

        "Validate extracted requested slot else raise an error"

        # extract slots that are not requested but set by corresponding entity
        slot_values = self.extract_other_slots(dispatcher, tracker, domain)

        #extract requested slot
        slot_to_fill = tracker.get_slot(REQUESTED_SLOT)

        if slot_to_fill:
            slot_values.update(self.extract_requested_slot(dispatcher, tracker, domain))

            if not slot_values:
                raise ActionExecutionRejection(self.name(),
                                               "Failed to validate slot {0}"
                                               "with action {1}"
                                               "".format(slot_to_fill, self.name))

        for slot, value in slot_values.items():
            print(slot)
            print(value)
            if slot_values[slot] == 'gender':
                if value.lower() not in self.gender_db():
                    dispatcher.utter_template('utter_wrong_gender', tracker)

                    slot_values[slot] = None

        return [SlotSet(slot, value) for slot, value in slot_values.items()]

I have tried.
		for slot, value in slot_values.items():
			elif slot == 'help':
				if value=='yes':
					dispatcher.utter_message('how may i help you?')
					return [SlotSet(slot, None),FollowupAction("action_listen")]
		return [SlotSet(slot, value) for slot, value in slot_values.items()]

Error
   if e["event"] == "slot":
if e["event"] == "slot":
TypeError: 'FollowupAction' object is not subscriptable


Toaster close button always true in click handler if the toast showCloseButton is set

I have been using version 0.4.10 in a project. In this version, the click handler accurately determined if one had clicked the "close" button or had just clicked the toast itself.
You could see this in the template, with: ng-click="click(toaster, true)" called on the close button.
In the version 0.4.13, the close button has no such parameter in the template, and the consuming click handler checks the showCloseButton property of the toast. This makes it impossible to distinguish between someone who clicked the close button directly, or just the surrounding toast.

@maybeswap @jirikavi can we verify this fixed as of 0.4.14 and close please?

As the current solution satisfy the need for having one button other than close button. But i have need to use multiple types of buttons in toast. So, Could you please make the custom parameter to receive in clickHandler function. So, On that basis i could make the logics there for which button was clicked and fire the events accordingly ?
or QuickFix : If we return $event in clickHandler as third parameter so that we can make some logic on basis of class name from event.target ? (Attached image showing the need for three buttons)


Update index.html

@brunnnka  try this year and make sure you follow and star the repo Happy hacking


chore: bump go version to 1.20 (dummy for now)

Overview
Opened to debug this: https://github.com/celestiaorg/orchestrator-relayer/pull/358

Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

Codecov Report

Merging #365 (759f8c0) into main (b0a58b2) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 759f8c0 differs from pull request most recent head 0c0a7fa. Consider uploading reports for the commit 0c0a7fa to get more accurate results

@@           Coverage Diff           @@
##             main     #365   +/-   ##
=======================================
  Coverage   43.76%   43.76%
=======================================
  Files          26       26
  Lines        1990     1990
=======================================
  Hits          871      871
  Misses        998      998
  Partials      121      121


Allow installation of manylinux wheels on riscv64

Summary
auditwheel is capable of generating riscv64 wheels for manylinux_2_31 and above.  Here we modify uv-platform-tags so that those wheels can be installed using uv.
Fixes: #8889
Test Plan

ran cargo nextest run locally on an x86 machine
also ran cargo nextest run locally on a riscv64 VM but there were a fair few failures (with and without this patch)
built a riscv64 uv wheel, installed it on a riscv64 VM and checked that I could use the newly built version of uv to install manylinux_2_35_riscv64 wheels.

Are you able to link to any references around the riscv64 / manylinux relationship, for posterity?

It's documented in https://github.com/pypa/auditwheel/blob/dd3df250063f520950f7f7c3e30544c701b5ec9c/src/auditwheel/policy/manylinux-policy.json#L329, i wanted to add this for the review

Are you able to link to any references around the riscv64 / manylinux relationship, for posterity?

There's a thread discussing the status of packaging support for riscv64 in the Python packaging discussion forums.  As far as I'm aware, the situation as of today is that, auditwheel>=6.10 and maturin>=v1.7.1 can create manylinux riscv64 wheels and pip>=24.1 can install them.  Neither the manylinux container images, pypi/wharehouse or cibuildwheel yet support riscv64, but this doesn't in itself prevent riscv64 manylinux wheels from being built, installed or uploaded to other registries, such as those provided by gitlab.


XPD pe1 detector backend tiff directory

PE detector wants to write raw tiffs to directories on Windows computer named as pe1_data/YYYY/MM/DD, however these directories are not created automatically.
Measurement hangs unless the dated directories are created manually.
Please make sure directories are created as needed.  Also use 2-digit formatting for month and days, ie,
.../2015/06/03 instead of .../2015/6/3.

Ophyd does not necessarily have write access or even read access to the filesystem where the detector is putting its data. It has no way of checking whether the files are actually being written. Someone will have to run mkdir -p ... on the filesystem in question.
+1 on the two-digit format. That, we can do in ophyd.

@dchabot Is there a way to tell AD to make directories as needed?

Closing in favor of https://github.com/NSLS-II/ophyd/issues/84


[EasyCodingStandard] Rules Collisions File Headers

I am gonna have a hard time describing the issue I had because I can't share the code, so I'll try to do my best here.
Basically I had those two rules defined:
services:
  SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff: ~
  PHP_CodeSniffer\Standards\PSR12\Sniffs\Files\FileHeaderSniff: ~

parameters:
  only:
    SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff:
      - 'packages/filesystem/*'

I was enforcing only one of them for a subfolder.
The issue encountered was that when running check command against packages some files were ignored while having issues with FileHeaderSniff. But when I ran check packages/anotherPackage it detected correctly all the issues.
It seems because of the wildcard and the logic to skip sniffs and/or files for the only bits it gets confused.
Again I know it will be very hard for you to recreate this situation and I'm sorry for that.
I managed to get the result I wanted by switching SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff for PhpCsFixer\Fixer\Strict\DeclareStrictTypesFixer if it can help.
I was also wondering if it was possible to highlight in the results the collisions of two rules (or more)? Because it was kind of hell to debug for me.
Not sure if related to #1084

What exactly mean rules colision? How is "only" parameter related to that?

Sorry, I was not clear enough, this was a bit hard to explain.
As soon as I removed SlevomatCodingStandard\Sniffs\TypeHints\DeclareStrictTypesSniff it was detecting properly issues by PHP_CodeSniffer\Standards\PSR12\Sniffs\Files\FileHeaderSniff.
So my guess is that those two were colliding. Or annulling each other if you prefer.
I'm guessing only is somewhat related, I may be wrong.
It was not detecting any issue regarding the file header in the first case when doing:
./vendor/bin/ecs check packages --clear-cache

But when doing this:
./vendor/bin/ecs check packages/anotherPackage --clear-cache

It was finding all the issues from the file header. So overall all the same rules were applied but in one situation errors where not found, and only the path changed.
I inspected a bit the code regarding skipping sniffs, but couldn't debug easily with 2000+ files.

There is actually list of excluded rules, that create collision.
Maybe it is excluded by some other rule:
https://github.com/symplify/symplify/blob/83094ad2f563f8f00730e091d38f78bccad0b0f6/packages/easy-coding-standard/src/DependencyInjection/CompilerPass/ConflictingCheckersCompilerPass.php#L34-L40

Ah yes I was indeed using PhpCsFixer\Fixer\PhpTag\BlankLineAfterOpeningTagFixer as well, hence changing to PhpCsFixer\Fixer\Strict\DeclareStrictTypesFixer fixed my situation.
I was not aware of that compiler pass. Do you think it would be valuable to add the list of conflicting rules to the documentation/README? I can put up a PR if you want.

I can put up a PR if you want.

Go for it :+1:

Closing as original issue resolved


Fixes compiler warning on VS (Unreachable code detected)

I use warnings as errors and this wouldn't let me compile, I doubt I am the only one who has encountered this.

@AlvaroBarua Thanks! Mereged!


[BUG] Strange symbols instead of colored text

Describe the bug
Hi! I am writing my own version of the project github.com/kognise/arpchat for educational purposes. I encountered an issue where strange symbols appear next to the colored text in my project. By colored text, I mean text styled using methods from crossterm::style::stylize::Stylize, for example, "some text".dark_grey().to_string(). You can see what I mean in the screenshot. I will provide some code snippets for reproduction, but it would be easier to clone the project I mentioned above and run it.
An interesting detail I noticed is that if I set the Cursive version to 0.20.0, everything works as expected. But starting from version 0.21.0, it breaks. I can’t simply use version 0.20.0 because it only works with that original project, where I tested the transitions between versions (it works on nightly old Rust). My project is written using the stable Rust version 1.81, and for some reason, it doesn’t compile with Cursive versions earlier than 0.21.1.
I apologize if I missed something, and this is my mistake and not a bug. I’d be happy to collaborate.
To Reproduce
use cursive::backends::crossterm::crossterm::style::Stylize;
use cursive::views::{LinearLayout, NamedView, TextView};
use cursive::Cursive;
ui::cursive_extension::append_txt(
                siv,
                "chat_area",
                "some_text".dark_grey().to_string(),
            );

Another file:
use cursive::traits::Nameable;
use cursive::utils::markup::StyledString;
use cursive::views::{LinearLayout, TextView};
use cursive::Cursive;

/// Append a new `TextView` to the `LinearLayout` with the provided parent name.
pub fn append_txt<S>(siv: &mut Cursive, parent_id: &str, content: S)
where
    S: Into<StyledString>,
{
    siv.call_on_name(parent_id, |parent: &mut LinearLayout| {
        parent.add_child(TextView::new(content));
    });
}

Expected behavior
Colored text instead of strange symbols.
Screenshots
Cursive version 0.21 (changed just the version in Cargo.toml):

Cursive version 0.20:

Environment

OS: Windows 10 22H2
Backend used: I don't know. I create cursive object with cursive::default(). If I use use feature crossterm-backend, result stays the same.
Current locale (run locale in a terminal): System Locale:  en-us;English (United States); Input Locale: en-us;English (United States)
Cursive version (from crates.io, from git, ...): 0.21.1

Update: I just managed to compile my project using this line in Cargo.toml:
cursive = { version = "0.20.0", default-features = false, features = ["toml", "crossterm-backend"]}

Yes, as expected, everything works on version 0.20. However, if I use version 0.21.1 like this:
cursive = { version = "0.21.1", default-features = false, features = ["toml", "crossterm-backend"]}

Or this:
cursive = { version = "0.21.1", features = ["toml"]}

I see strange characters instead of colors, meaning the situation is the same to what I described earlier. You can check the screenshots to understand what I mean.

Hi, and thanks for the report!
The main issue is that "some_text".dark_grey().to_string() returns some text with "ansi" markup, which cursive doesn't understand by default. Cursive 0.21 brought some performance optimization (an output buffer cell grid) which makes this even more visible - but even with 0.20 you would run into various issues.
Note that cursive does support styled text with StyledString, just not a regular String with ansi codes inside.
You can parse ansi text: https://docs.rs/cursive/latest/cursive/utils/markup/ansi/fn.parse.html
But it's a bit roundabout to use crossterm to generate an ansi string, just to parse it back.
You could instead directly build the cursive-native StyledString, for example with StyledString::single_span if you only need a single style for the entire string.
There is also cursup, a simple markup language: https://docs.rs/cursive/latest/cursive/utils/markup/cursup/index.html

Thank you so much for your response! I used the ansi::parse() function, and everything works. Sorry for bothering you, I couldn't find the information myself, although there were similar examples in the documentation🤦♂ I think the issue is resolved, so it can be closed. However, I also created a pull request with an example of my problem. If you find it relevant, I'd be happy to help someone else who might encounter the same issue when upgrading to the new version and misses the ansi example. My example directly addresses the issue I faced: https://github.com/gyscos/cursive/pull/801

@gyscos, By the way, is there a way to remove ANSI codes from a string and get plain text without any styling? For example, I have "some text".dark_grey().to_string(). Can I get plain text from this text without ANSI characters? I tried this:
let ansi_text = "some text".dark_grey().to_string();
let parsed = SpannedString::<Style>::plain(ansi_text);
format!("{}", parsed.source()).as_str();

but it didn’t work. Sorry if this is a silly question.

You have a couple of ways to get that:

Iterate on the spans, and accumulate the span text content
Use compact or canonicalize, which rebuilds the source to only include visible text (no markup), and then get the source.

fn iterate_on_spans(styled: &cursive::utils::markup::StyledString) -> String {
    styled.spans().map(|span| span.content).collect()
}

fn canonicalize(styled: &mut cursive::utils::markup::StyledString) -> String {
    styled.canonicalize();
    styled.source().to_string()
}

fn main() {
    let mut styled = cursive::utils::markup::cursup::parse("/blue{This} /white{is} /red{sparta}!");

    println!("`{}`", iterate_on_spans(&styled));
    println!("`{}`", canonicalize(&mut styled));
}

Thank you so much again for your response! Everything worked out, and it's all functioning perfectly. I really enjoyed working with Cursive; it's a very convenient library. I’ve finished my first project with it - xArpChat.
Additionally, I completed the pull request with the example of colored text (#801). I gathered all your answers and included links to the documentation for the methods used.
I'm closing the issue. Thank you so much again for your help! If you find my pull request appropriate, I would be very happy to become a contributor to Cursive. Also, I apologize if any of my words sounded rude, I don't know English well.

I'm glad you found what you were looking for! And good luck on xArpChat! Feel free to ask question if you need support.


how can i use  the .obj file to measure?

Hello David,
i generated a .objl file from an image using smplx model, i want to measure and get measurements from the generated .obj file. Unfortunately i cant see where should i place the .obj file.

Thanks for the reply. I figured it out some day before. Great work btw


Add github action to publish release artifacts

This adds an action which runs when a "v*" tag is pushed to the
repo. This action does a basic release build on ubuntu-latest and
then creates a release and uploads the release binary to that
release.

This is for https://github.com/cgwalters/coretoolbox/issues/14
Doing git tag v0.1.1 && git push origin v0.1.1 gives: https://github.com/trown/coretoolbox/releases/tag/v0.1.1
This could be easily expanded to build a few release binaries if there is demand for some particular arch.
Tangentially, I noticed they fixed artifact caching for rust recently: https://github.com/actions/cache/issues/133#issuecomment-628702753. I could add that to both of the rust CIs.


Added test cases and refactoring

Q
A

Is bugfix?
✔

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

Cache key now can be configured
Added CycleOrmHelper factory
Added test cases
Refactoring

Thanks!


Zoom to fit resulting in client side crash for some large pipelines

In Watson Studio pipelines, we're seeing a client side crash when using the zoom to fit function on some very large pipelines:

The crash does not happen every time zoom to fit is invoked, only some of the time, but we haven't been able to isolate why.  I thought it might be related to the validation / save flow, but we do not have any issue resizing while validation is running on smaller pipelines.
This was discussed previously in IBM slack here: https://ibm-analytics.slack.com/archives/C598XEX8S/p1650897161402039.
The associated IBM internal issue is: https://github.ibm.com/AILifecycle/tracker/issues/3340.
When the crash occurs, the console errors look like this:

The associated pipeline json has been provided in the internal issue here: https://github.ibm.com/AILifecycle/tracker/issues/3340#issuecomment-43517349.
Please advise if you need any additional information from our side.  Thanks.

@chrisj-ibm
I believe this is caused by the zoom to fit calculating a zoom scale amount which is smaller than that allowed by the schema. This can happen with a large number of nodes so the nodes occupy a lot of coordinate space. This smaller-than-allowed scale value is then saved in the pipeline flow document -- I'm assuming you are running with the config property enableSaveZoom set to "Pipelineflow".  When the pipeline flow is loaded back into common-canvas the schema validation throws an error because it sees the scale amount is too small.
I have fixed it by making the pipeline flow, that is returned by common-canvas, always conform to the schema. When do you need the fix. I can do a patch release next week if necessary.

@tomlyn A patch release next week would be amazing if you can contain it.  We would like to get this fix into our 4.5 release, with a target date of next Friday for our release candidate.  If not containable, we can document this particular issue as a known issue.  Thanks so much for the prompt support, as always.

@chrisj-ibm
OK I'll see what I can do.
Are you running with schemaValiation config property set to true when running in production? That feature can slow down loading of pipeline flows considerably when there are a lot of nodes.

Are you running with schemaValiation config property set to true when running in production? That feature can slow down loading of pipeline flows considerably when there are a lot of nodes.

Yes, appears so.  I will discuss this further with Rafal to see if we want to revise our approach here.

@chrisj-ibm
Hi Chris -- I realized my fix to the code might not work 100% of the time so I decided to go in a different direction to resolve this issue. So now I have changed the pipeline schema file to remove the zoom scale restrictions. This means that any zoom scale amount in the pipeline flow document can be read in, with schema validation switched on, without a problem.
To pick up this change you don't need a patch release, you just need to do an npm install to refresh your node_modules which should pick up the latest @elyra/pipeline-schemas (v3.0.57) which will contain the change.

This is fixed by a change to the pipeline schema.


fix clear containers and e2e

What this PR does / why we need it: makes the e2e tests work to test a clear containers cluster, fixes a problem with the clear containers install
Special notes for your reviewer:

FYI ran some E2E tests against examples/e2e-tests/kubernetes/kubernetes-config/clear-containers.json and the cluster was complaining about kube-dns not being ready in kube-system namespace

i will check it out, thanks!
On Mon, Mar 26, 2018 at 4:56 PM, Jack Francis<EMAIL_ADDRESS>wrote:

FYI ran some E2E tests against examples/e2e-tests/kubernetes/
kubernetes-config/clear-containers.json and the cluster was complaining
about kube-dns not being ready in kube-system namespace
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/acs-engine/pull/2512#issuecomment-376308723,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYNbA8LEUSo5qXwCZvqBphih2EhbX0Cks5tiVXigaJpZM4S3aU9
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

i cant recreate this locally but still trying;..

closing in favor of https://github.com/Azure/acs-engine/pull/2536


Patch leptonica for missing realpath and getrusage

It's working on my end, thanks for the patch @tpimh!

As @fjtrujy mentioned, it's best to add realpath to libcglue. The rest of the patch can probably be merged into the upstream source.

I would say so as well, that would be much cleaner and would benefit other projects as well.


Pabst Can Crusher instructions incomplete (vpx-pabstcancrusher)

Instructions missing for music on Pabst Can Crusher (vpx-pabstcancrusher)
Readme.md and git page instructions should include instructions to copy the "pabst" folder from the linked Mega download into external/vpx-pabstcancrusher/music/

This has been updated and is pending.


GUI can't take into account baselines with jumps (multiple fitting parts)

If baseline fit is spread out in different parts (more then one fitting) the graphical userinterface doesn't take correctly notice of these parts. One of the big problems here is that internally the way the fit is assigned not always done the same way (different when loaded from a file or directly in memory.
Lets take the scenario when we load a file (only magpy format ). Here the different parts are stored in the header of the abstream under a key 'DataFunctionObject' the structure of storage is
[[{'fdx': <scipy.interpolate._interpolate.interp1d object at 0x7fb57437a220>,
 'fdy': <scipy.interpolate._interpolate.interp1d object at 0x7fb57437ab30>,
 'fdz': <scipy.interpolate._interpolate.interp1d object at 0x7fb57437acc0>},
18940.346550925926, 18999.379305555554],
[{'fdx': <scipy.interpolate._interpolate.interp1d object at 0x7fb57437aef0>,
 'fdy': <scipy.interpolate._interpolate.interp1d object at 0x7fb57438e0e0>,
'fdz': <scipy.interpolate._interpolate.interp1d object at 0x7fb57438e2c0>},
19003.53148148148, 19121.302916666667]]

This DataFunctionObject stores the dx,dy,dz fits with start and end time expressed in days. However this is the only place where the different parts are stored but this is never used when invoking baseline fitting. In reality this is what coded :
https://github.com/geomagpy/magpy/blob/38eb6e9cb0d0d07ce25c01d5030458f98ef895d9/magpy/gui/magpy_gui.py#L4928-L4936
Basically he gets it from a previous set options. When just loading a baseline cdf file it will fall into the default ones(always spline even if you did a mean or polynomial fit). Start and stop are aligned with min and max of the abstream and he will now redo a full spline fit without taking into account the previous made fit.
While trying to take the different parts into account I changed code into
           for func in absstream.header['DataFunctionObject']:
                start =  num2date(func[1]).replace(tzinfo=None)
                end = num2date(func[2]).replace(tzinfo=None)
                self.plotstream.baseline(absstream, fitfunc='spline', knotstep=float(knotstep), fitdegree=int(degree),
                                         startabs=start, endabs=end,extradays=0)

This will take into account the different parts (and counter baseline jumps) but I missed information for each fit I don't have the fitfunction string the fitdegree  or knotstep because the functions are saved as scipy objects and this high level info isn't available anymore.
I need them because the method in stream.py demands this info.
https://github.com/geomagpy/magpy/blob/38eb6e9cb0d0d07ce25c01d5030458f98ef895d9/magpy/stream.py#L2227-L2252
It would probably be better to extend or change the objectlist saved into the DataFunctionObject header
[[{'fdx': {funct:'spline','fitdegree':5,'knotstep=0.3},
 'fdy': {funct:'spline','fitdegree':5,'knotstep=0.3},
 'fdz': {funct:'spline','fitdegree':5,'knotstep=0.3},
18940.346550925926, 18999.379305555554], ...]

or with less impact but less future proof
[[{'fdx': <scipy.interpolate._interpolate.interp1d object at 0x7fb57437a220>,
 'fdy': <scipy.interpolate._interpolate.interp1d object at 0x7fb57437ab30>,
 'fdz': <scipy.interpolate._interpolate.interp1d object at 0x7fb57437acc0>},
18940.346550925926, 18999.379305555554,'spline',5,0.3], ....

This header parameter DataFunctionObject should be set whenever you push on fit  button so that working with stream in memory
will have the same behaviour and code functionality.
Furthermore I always have the impression that the button baseline and baselinecorr should be joined together to one click.

The recent updated for version 1.1 include solutions for all requested changes:

multiple functions are now supported and also shown in the information window
fit parameters can be saved and loaded (json file)
It is now possible to activate an option so that the adopted baseline is applied directly when using the baseline button
All changes are finished with this commit (0c92d6507903e63c72d2bc4ea5f1735eca9d0361)


CIF-1608 - Category Carousel Component

enhanced featured category list component to category carousel
rebranded featured category list component as Category Carousel
added unit tests for category carousel client library

Related Issue
CIF-1608
How Has This Been Tested?
Manually, karma tetst.
Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have added tests to cover my changes and the overall coverage did not decrease.
[X] All unit tests pass on CircleCi.
[X] I ran all tests locally and they pass.

@mhaack , I think both points are valid. Actually I've been investigating an other solution too which would address both points and go beyond but opened these PRs on Friday to closely match the solution that we discussed on the technical grooming.
After all this I'm certainly in favor of a more comprehensive redesign where we clarify better backwards compatibility concerns and strategy for evolving the components.

After all this I'm certainly in favor of a more comprehensive redesign where we clarify better backward compatibility concerns and strategy for evolving the components.
... what does this mean? Are you closing this PR an create a new one?

I can close this and create a new PRs (all 3 will be different), we can discuss it in the grooming tomorrow.


How to change the branch name when clicking ”Deploy”

Hey team,
How do I rename or change production@head to say main@head when I pressed this Deploy button?

thank you @kendallroth its all working now!


Add support for 2x tiles

Required to properly draw 2x tiles for retina devices
Example:
mapbox = L.tileLayer.canvas('https://api.mapbox.com/styles/v1/mapbox/streets-v11/tiles/{z}/{x}/{y}{r}?access_token={accessToken}', {
	attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox',
	maxZoom: 20,
	tileSize: 512,
	zoomOffset: -1,
	accessToken: '***',
	doubleSize:  L.Browser.retina
})

In this case if L.Browser.retina is true, the tiles are 10241024, if it's false they're 512512

@ HandyMenny, thank you for the PR! :tada: :smile:


Fix env_vars in QiskitPattern

Summary
fix #1283
Details and comments

Regardless my question, Aki. Can we update some of the tests to check that we are storing correctly the env_vars?

The test is added.