Buildscripts are not executed in a workspace

Right now, I'm attempting to build Alacritty using naersk, but the build always fails with error: couldn't read /build/source/target/debug/build/alacritty-a1caefd600e8e902/out/gl_bindings.rs: No such file or directory (os error 2).
Alacritty has a few modules in its workspace: alacritty, which does the heavy-lifting of rendering, etc., and alacritty_terminal, which has most of the logic not directly tied to the display itself. To facilitate this, the alacritty submodule has a buildscript that generates GL bindings at compile-time. Using this project, however, these sub-build.rss are not run resulting in a non-working binary being produced (when singleStep = true; otherwise it fails with the above error).
I tested this with a simple project with the following file structure and default.nix:
tree
.
├── build.rs
├── Cargo.lock
├── Cargo.toml
├── default.nix
├── mem1
│  ├── build.rs
│  ├── Cargo.toml
│  └── src
│     └── main.rs
├── mem2
│  ├── build.rs
│  ├── Cargo.toml
│  └── src
│     └── main.rs
└── nix
     ├── sources.json
     └── sources.nix

default.nix
let
    pkgs = import <nixpkgs> {};
    sources = import ./nix/sources.nix;
    naersk = pkgs.callPackage sources.naersk {};
in naersk.buildPackage ./.

The root Cargo.toml just consists of specifying the workspace members. mem{1,2} have the following in their build.rs:
fn main() {
    println!("cargo:warning=EXECUTED MEM1"); // or MEM2
}

and neither of these get executed.
Compare
nix-build output
❯ nix-build --check
checking outputs of '/nix/store/xdfzx7d2rll4p4bkjppvmy7yk2m70vhb-rust-workspace-unknown.drv'...
unpacking sources
unpacking source archive /nix/store/0bjq3l2milnprg7znbjrj88cxqj9h224-buildtest
source root is buildtest
patching sources
configuring
[naersk] cargo_release: --release
[naersk] cargo_options: -Z unstable-options
[naersk] cargo_build_options: $cargo_release -j "$NIX_BUILD_CORES" --out-dir out --message-format=json-diagnostic-rendered-ansi
[naersk] cargo_test_options: $cargo_release -j "$NIX_BUILD_CORES"
[naersk] cargo_bins_jq_filter: select(.reason == "compiler-artifact" and .executable != null and .profile.test == false)
[naersk] cargo_build_output_json (created): /build/tmp.o9Y5MIAjH7
[naersk] pre-installing dep /nix/store/m9qkhpz0nq9abpkchz9k8vfd0rm6mg25-rust-workspace-deps-unknown
building
cargo -Z unstable-options build $cargo_release -j "$NIX_BUILD_CORES" --out-dir out --message-format=json-diagnostic-rendered-ansi
   Compiling mem1 v0.1.0 (/build/buildtest/mem1)
   Compiling mem2 v0.1.0 (/build/buildtest/mem2)
    Finished release [optimized] target(s) in 0.15s
running tests
cargo -Z unstable-options test $cargo_release -j "$NIX_BUILD_CORES"
   Compiling mem2 v0.1.0 (/build/buildtest/mem2)
   Compiling mem1 v0.1.0 (/build/buildtest/mem1)
    Finished release [optimized] target(s) in 0.19s
     Running target/release/deps/mem1-309da8c0a13658d5

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running target/release/deps/mem2-e75a6163211a8226

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

installing
[naersk] Using file /build/tmp.o9Y5MIAjH7 to retrieve build products
[naersk] found executable mem2 -> /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown/bin/mem2
[naersk] found executable mem1 -> /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown/bin/mem1
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown
shrinking /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown/bin/mem2
shrinking /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown/bin/mem1
strip is /nix/store/7bhi29ainf5rjrk7k7wyhndyskzyhsxh-binutils-2.31.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown/bin
patching script interpreter paths in /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown
checking for references to /build/ in /nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown...
/nix/store/dr5p7czbwvavvqxjy2ws7bg9njliaj04-rust-workspace-unknown

to
cargo build output
❯ cargo build
   Compiling mem1 v0.1.0 (/tmp/buildtest/mem1)
   Compiling mem2 v0.1.0 (/tmp/buildtest/mem2)
warning: EXECUTED MEM1
warning: EXECUTED MEM2
    Finished dev [unoptimized + debuginfo] target(s) in 0.23s

TL;DR: Rust projects with a workspace setup containing member(s) with a build.rs file fail to run their buildscripts.

@cole-h thanks for the nice repro, I'll give it a try tomorrow!


[EBPF] Fix kmt.gen-config --from-ci-pipeline

What does this PR do?
Fixes retrieval of artifacts. Code was incorrect after the switch to the python-gitlab module.
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


refactor(dbm-services): 资源池代码优化

关联研发信息
dev_branch: refactor/optimization_resource_match/#1616
target_branch: v1.2.0


My economy balance gets reset when I travel to a world and back or switch gamemodes and switch back.

Copy from https://github.com/Gnat008/PerWorldInventory/issues/319
It's prolly an issue here as well. Best bet is probably to check to see if the end amount is less than 0, and adjust accordingly. Would be so much nicer if Vault had a setBalance(double) method....
@Twingary said:
Hi, I recently started using PerWorldInventory specifically so I could separate the economies between my creative world and survival world. But I've ran into an issue that when I switch gamemodes and switch back, I will get this issue in the console:
[Sat, 5. May 2018 20:27:50 EDT INFO] twingary issued server command: /gmc
[Sat, 5. May 2018 20:27:50 EDT WARN] [PerWorldInventory] [ECON] Unable to withdraw funds from 'twingary': Cannot withdraw negative funds
[Sat, 5. May 2018 20:27:51 EDT INFO] twingary issued server command: /bal
[Sat, 5. May 2018 20:27:53 EDT INFO] twingary issued server command: /gms
[Sat, 5. May 2018 20:27:53 EDT WARN] [PerWorldInventory] [ECON] Unable to withdraw currency from 'twingary': Cannot withdraw negative funds
[Sat, 5. May 2018 20:27:53 EDT WARN] [PerWorldInventory] [ECON] Unable to withdraw currency from bank of 'twingary': Cannot withdraw negative funds

The same issue appears when I go to my creative world and come back to my survival world, my balance goes from $2,000,000 (I gave myself money to test the issue) to -$0 which doesn't make sense.

Thanks for the help, I think I've found a fix to the issue.

What would that be?

I couldn't really find a fix with the perworldinventory, but instead disabled the economy loading feature and replaced that with MutliWorldMoney which works fine for me. Although I still use pwi for keeping inventories and such private.

This is REALLY annoying error that doesn't seem to be getting and love. Unfortunately I am not going to follow Twingary and keep both plugins. I will just find and alternative to PWI and use that. Best of luck on fixed your issue. Just wanted to let you know this is STILL happening for the latest spigot version to date: 5/18/2018

It just occurs to me this issue is on the 1.x series. Is it still present on the 2.0 version (see this page)?

It just occurred to me this issue is on the 1.x series. Is it still present on the 2.0 version (see this page)?

I have downloaded the .jar from the page you linked. So far the error has not occurred. However it came at random for me last time. Sometimes it occurred when /gm other times it wouldn't. However you have a new issue now. If I join a world, I get the following message:
[16:27:53 WARN]: [PerWorldInventory] Creating a new group on the fly for 'Hub'. Please double check your worlds.yml file configuration!
However nothing is added to the worlds.yml. In addition this message is sent again and again every time myself or another OP joins a world. Even if the world is already been joined before.

@x0Z3ro0x Are your worlds in groups in your worlds.yml file? And could you post the answer and the contents of that file to #34 ? Thank you.

I've modified how player balances are changed. Instead of just blindly withdrawing everything and then depositing the new amount, PWI will calculate the difference between the old and new values, and deposit or withdraw that difference. This should reduce or remove this issue, as well as making the process simpler (one less API call).

It's been several hours with extensive balance changes, world changes, and GM changes. Still no sign of the bug. I believe your changes have fixed this and we can mark it solved.

Awesome! Thanks!


Documentation improvements

First of all thank you for writing this awesome tool!
I installed it using .NET 8. When I executed GeneratePythonNetStubs I got the error (abridged):
You must install or update .NET to run this application.

Framework: 'Microsoft.NETCore.App', version '6.0.0' (x64)
.NET location: E:\dotnet-sdk-8-x64

Which means that it requires the .NET 6 x64 Runtime. I downloaded it, unpacked it in Downloads and then set the environment variable DOTNET_ROOT to the .NET 6 runtime. GeneratePythonNetStubs then did its magic :)
In order to use the typings in VS Code with the Python extension I added the following to settings.json:
"python.autoComplete.extraPaths": [
    "typings"
]

I think it would be great to provide these two pieces of information in the README so that people can benefit the most from your efforts.

Another tip. In order to automatically generate the typings after publishing the .NET Project with dotnet publish -c Release I added the following to the projects' .csproj file:
<PropertyGroup Condition="'$(Configuration)'=='Release'">
  <DebugSymbols>False</DebugSymbols>
  <DebugType>None</DebugType>
  <PublishDir>..\proj</PublishDir>
</PropertyGroup>

<Target Name="GenerateStubs" AfterTargets="Publish">
  <Exec Command="GeneratePythonNetStubs --dest-path=../../typings --target-dlls=../proj/CalcTest.dll"/>
</Target>

I found a simpler way to execute it with .NET 8:
GeneratePythonNetStubs --roll-forward LatestMajor --dest-path=../../typings --target-dlls=../proj/CalcTest.dll


Process is running in background but no notification is seen in IOS device?

Hello I am using this example :
import BackgroundService from 'react-native-background-actions';
let sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
const veryIntensiveTask = async taskDataArguments => {
const {delay} = taskDataArguments;
await new Promise(async resolve => {
for (let i = 0; BackgroundService.isRunning(); i++) {
console.log(i);
await BackgroundService.updateNotification({taskDesc: 'Runned -> ' + i});
await sleep(delay);
}
resolve();
});
};
const options = {
taskName: 'Example',
taskTitle: 'ExampleTask title',
taskDesc: 'ExampleTask description',
taskIcon: {
name: 'ic_launcher',
type: 'mipmap',
},
color: '#ff00ff',
linkingURI: 'yourSchemeHere://chat/jane', // See Deep Linking for more info
parameters: {
delay: 1000,
},
};
const start = () => {
BackgroundService.start(veryIntensiveTask, options);
};
const stop = () => {
BackgroundService.stop();
};
and on click of start button I am starting the background service in IOS, as I can see in terminal console value is printing but when I minimize the app in background process is still running and I can see the console count value increasing but I am printing this   await BackgroundService.updateNotification({taskDesc: 'Runned -> ' + i}); in notitication but its not printing. can anyone help me on this. It would be very helpful if someone can guild me through this what I am doing wrong. Thank you

I'm getting the same issue, have you found a solution?

Same to me as well.

The notification is only visible in Android. I have updated the documentation.


Create polytechnique.txt

Ecole Polytechnique, Palaiseau, France.
https://www.polytechnique.edu/

@nbrosse Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Blacklist rgb/rgba functions

I found this code:
:root {
	--background-color: #fff;
	--text-color: #202124;
	--secondary-text-color: #5f6368;
	--link-color: #3367d6;
	--input-border-color: rgba(0, 0, 0, 0.2);
}

The last value didn't have to use rgba() just to add the alpha value, it should have been
:root {
	--background-color: #fff;
	--text-color: #202124;
	--secondary-text-color: #5f6368;
	--link-color: #3367d6;
	--input-border-color: #00000033;
}

rgba has historically been mainly used because hex colors didn't support transparency, so you had no choice but convert your hex colors to rgba()
Now browsers support transparency in hex colors as well, so rgb/rgba offers little compared to the shorter hex representation.

Not sure about this. I find the alpha part of the HEX color totally unreadable, which is annoying as I often need to adjust the alpha of colors.

I find the alpha part of the HEX color totally unreadable

Is it unreadable because you're comparing it directly to the decimal value?
Sure 0.1 is 1a, but you don't have to use 0.1 exactly.
With decimals: 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
With hex: 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff

Is it unreadable because you're comparing it directly to the decimal value?

Yes. I cannot do the conversion in my head.

Exactly, why are you converting it at all? Why did you pick 0.1 exactly? Doesn't 22 work just as well?

I don’t get your argument. Let’s say I have alpha 0.23 for a color and I see that I need to adjust it to 0.25 (I would first try 0.24 and then 0.25 and 0.26 and ending up with 0.25). The HEX format makes it too hard to make simple adjustments like that.

I don’t get your arguments.
Do you really change the opacity in 0.01 steps and actually notice the difference?
Do you not use a color tool to pick the right value whatever the value ends up being?
I change the opacity in 0.1 steps and in hex they’d be 11 steps, not super hard.
Whenever I need to tweak a value I just use the developer tools’ opacity slider and find it on the site itself, I’m not going back and forth to my editor 10 times (and when I do I’m wasting my time)
The only argument that I’d agree with is that stepping from 99 to aa is slightly less easy than from 0.6 to 0.7, if you’re editing manually.
Another argument you could make is that a single 123456ff string can’t be changed with arrow keys (in the editor or developer tools), whereas rgba’s decimal can be.
Or that the value is too compact and not easily distinguishable from non transparent colors, like #484936 vs #48494836
Then sure, rgba is better

Do you really change the opacity in 0.01 steps and actually notice the difference?

Yes, for shadows.

Do you not use a color tool to pick the right value whatever the value ends up being?

I do, but sometimes I need to adjust them when I see it used in an app. Much easier to just adjust in the editor than having to copy-paste into a color picker, adjust it, and then copy-paste back. Also, for shades of gray, I construct them manually.

I change the opacity in 0.1 steps and in hex they’d be 11 steps, not super hard.

Even if not super hard. What's the point of going for "not super hard" when rgba/hsla are much easier? Not really worth saving a few characters.

Even if I agreed with using HEX+alpha, I don't think it's nice to just block rgba without providing an explanation in the linter output of why it's blocked. If you open an issue on Stylelint about that and they implement it, we could recommend the user use either HEX+alpha or hsl instead.


CyberArk Power Automate Desktop - Store certificate path format

The documentation for CyberArk does not specify or provide examples of how the Store certificate path should be formatted when using the Load certificate from Windows Store option for Certificate location.

+vote

reverse-engineered the lib and we may find that the path should be specified as %StoreName%/%StoreLocation%/%CertificateSerialNumber%


Compilation error

Please, have a look at this line: https://github.com/davezuko/react-redux-starter-kit/blob/master/config/index.js#L121
It requires default environment which is missing.

Are you actually getting an error? That code is correct, since it allows ES6 modules -> CommonJS interop. I.e.
// both files transpiled by babel

// file1.js
export default {
  foo: 'bar'
}

// file2.js
const module = require('./file1').default
module.foo // bar

Yes, I get the following error:
var overrides = environments[config.env];
                            ^

TypeError: Cannot read property 'development' of undefined

But my kit is not the latest version, this happened after updating /config folder. What else should I also update to make this work?

Strange, something else must be up. Could you either link to your repo so I can scan through it directly, or, if not, post your .babelrc file?

The repo is private, I can't show it.
My .babelrc file:
// NOTE: These options are overriden by the babel-loader configuration
// for webpack, which can be found in ~/build/webpack-environments/_base
// and ~/build/webpack-environments/production.
//
// Why? The react-transform-hmr plugin depends on HMR (and throws if
// module.hot is disbled, so keeping it and related plugins contained
// within webpack helps prevent unexpected errors.
{
  "presets": ["es2015", "react", "stage-0"],
  "plugins": ["transform-runtime", "add-module-exports"]
}

Oh, this is because of add-module-exports plugin. Thanks for the tip.

Yeap, you're exactly right. If you need to you can adjust the environments file to use named exports rather than a default object with keys for the environments (should probably just do that anyways) and that should work.
Closing since this isn't an issue with the current state of the project, but I can continue to help if needed.


Queue and trigger frame captures through renderdoccmd.exe

Description

When using renderdoccmd.exe, we can't queue and trigger frame captures just like how it's done via the RenderDoc GUI interface. We can discuss about how to add such a feature.
Repro steps

Environment

RenderDoc build: e.g. v1.0, or 2018-03-12 nightly build.
Operating System: e.g. Windows 10, Windows 7, Ubuntu Linux, etc
API: e.g. Vulkan, D3D11, OpenGL, etc

Not having heard back on this I assume the GUI is working as expected and can be used to capture.


pragma updates

Compiler pragma updates
Description

Drop the forbid to deny for rust_2018_idioms
Add future_incompatible lint
Fix typos in comment below

Motivation and Context
https://github.com/rustasync/tide/pull/175
How Has This Been Tested?

Compilation successful!
Types of changes

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

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

I can verify this solves the issue in #175. :+1:


Readme presentation

Hi,
Interesting component 🙂
Here is a template to help you improve your readme: iOS-readme-template

Will update in 1.1.0

Updated in 1.1.0, thanks


Game froze breaking a double glass slab

Minecraft v1.14.4
Forge v28.2.0
Double Slabs v1.0.1
Vanilla Things v0.4.6
After creating a double glass slab using the mod Vanilla Things, I tried to break it, but my game froze.
Here is the log.
The double glass slab was also opaque instead of clear, ~but I'm not sure which mod had the oversight.~ After removing this mod, I could see that the double glass slab is normally clear, but this mod may not account for opacity.

Yes that is correct, the mod assumes that all slabs aren't transparent which is an oversight on my part. I do plan to rework the rendering of slabs to take this into account in the near future but in the mean time, I'll work on fixing that issue you had

Thanks!

Ok so I've been working on this for quite a few hours and have got it working! The only issue is, is that because the double slab block is dynamic I am going to have to make a compromise.
You see, to make a block that is transparent render the sides of neighbouring blocks, I have to tell the game that the block is not solid and that the block should always rendering neighbouring sides, even if the block actually isn't made of transparent slabs. This would be awful on performance on a large scale as minecraft naturally culls blocks which are next to each other and shouldn't be visible but there is no way for me to check whether the block contains a transparent slab or not.
The alternative to this, is to make only the sides transparent that have a double slab block next to them, meaning that against regular blocks the double slab appears fine when at least one half is transparent however when against double slabs blocks that are full, we get the x-ray effect.

Because of this, I'm going to use the latter. Whilst we have the x-ray effect which isn't ideal, the effect is a lot less on performance than the first method. The only alternative would be to rewrite how I render the double slabs which isn't ideal at the moment.
Just thought I'd give you an update

Alright, whichever is best. :)
I wasn't using it to build anything, just testing the mod out.

Should be fixed in the latest version!


Simplify MakePrintable by using AND and avoiding converting to string

This PR simplifies MakePrintable by using simpler bitwise OR instead of string manipulation.
Pull Request checklist:

[ ] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[x] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

@tig -- added two parameterized tests

Before I accept this, I'd like confirmation that this change has been thoroughly tested on Windows, Linux, and the Mac.
I don't fully understand the code paths/scenarios involved where this method is used and am nervous about introducing a regression in an area where we have really poor unit testing (all drivers).

It's a straightforward method. Unit tests cover all scenarios that would be there.
I don't think deeper testing is needed for this particular change.

Before I accept this, I'd like confirmation that this change has been thoroughly tested on Windows, Linux, and the Mac.
I don't fully understand the code paths/scenarios involved where this method is used and am nervous about introducing a regression in an area where we have really poor unit testing (all drivers).

I confirm that the method is common for all drivers and this is a short way to get the hexadecimal from the rune which is well written. Thanks @pavkam.


A JavaScript error occurred in the main process

I've looked for explanations, but no one has talked about this exact error yet. I've reinstalled both discord, and better discord, and it's definitely caused by better discord.

in your themes / plugins you have a folder

Where can I find that folder?

%appdata%/BetterDiscord
Inside there are 2 folders, plugins and themes. Either of them has to contain  folders

Thanks! All better.


Add vcredist2005

Installs fine locally.
See https://chocolatey.org/packages/vcredist-all

Please add a license 😄


[AIFlow]action_on_model_version_event add sender param.

What is the purpose of the change
[AIFlow]action_on_model_version_event add sender param.

Codecov Report

Merging #297 (3940e4e) into master (6541527) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #297   +/-   ##
=======================================
  Coverage   66.81%   66.81%
=======================================
  Files         206      206
  Lines       15573    15571    -2
  Branches     2337     2337
=======================================
- Hits        10405    10404    -1
+ Misses       4601     4600    -1
  Partials      567      567

Impacted Files
Coverage Δ

ai_flow/api/ops.py
55.11% <ø> (+0.07%)
: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 6541527...3940e4e. Read the comment docs.


Kubernetes translation of roles.yaml

The roles in https://github.com/openshift/open-service-broker-sdk/blob/master/test-scripts/resources/roles.yaml do not currently work in a standalone Kubernetes cluster, this is because the it uses OpenShift specific constructs. In order to allow this SDK to work for both Kubernetes and OpenShift, these roles need to be translated into the rbac API https://kubernetes.io/docs/admin/authorization/rbac/

we should supply both sets of a roles, and an install script for each set. (installl-openshift, install-k8s) or make it an argument to the install script.

Openshift has conversion functions for converting between origin / kube RBAC.  You should be able to automate the generation of one from the other.

@enj are those conversion functions only available in code, or do we actually have cli invocations for doing it?

Code only.

I believe I have a working translation now, will make a pr shortly

@bparees The translation I created yesterday evening is working well on my K8 cluster. A suggestion for adding it is to add a new install directory that would look like this
install/
├── kubernetes  #roles.yaml, service.yaml etc...
└── openshift #template.yaml roles.yaml

another option would be to keep the common pieces at the install level and have the specific pieces in the directories?

@maleck13 yeah i'd rather keep the common stuff together and then subdirs for the specific stuff.


[Layer] Refactoring Layers class

Separate single Layers file into several files for its role.
Cleanup unused headers and internal functions
Rename files name (layers.[h|cpp] -> layer.[h|cpp])
Increase patch verson of debian package since header files are added

Signed-off-by: Sangjung Woo<EMAIL_ADDRESS>Self evaluation:

Build test:	 [X]Passed [ ]Failed [ ]Skipped
Run test:	 [X]Passed [ ]Failed [ ]Skipped

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #100. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ec2-54-180-96-14.ap-northeast-2.compute.amazonaws.com/.

Submit v2

Update the comment for forwarding() method of BatchNormalizationLayer class
* @retval    normalized input tensor using scaling factor
Add omitted param comment for forwarding() method of Layer class


Add eslint

Description:

Adds eslint with prettier config

Feel free to correct rules I ignored, or tell me if one of then is absolutely needed

@NeOMakinG Thanks for the awesome work!
Did you get the rules from here? https://github.com/A-Tokyo/react-native-stripe-identity/blob/main/.eslintrc.json
If not, can you do so? 🚀
Also I noticed the extra spaces in imports where removed, can we add them back? 💪 import { x } instead of import {x}

I took your rules on react-native-stripe-identity yes!
But they're on their most recent versions.
As I took the same rules, I think they've been updated, that's why the space is gone, a default behavior may changed? But we can override the rule if you want ;)
I've no time to work on it for the moment, gonna do it this week-end probably!

@NeOMakinG Okay sounds great! Awesome job!
Take your time, it's not urgent.

Unfortunately I didn't find out the time and I'm not using the module anymore, if someone wants to continue, feel free to cherry-pick or request me access...


Feature : Add the possibility to select the text you want to store in RAG

On web chat applications, when using side-panel with RAG feature, the HTML of the page is sometimes too big, and the RAG is taking too much useless text, leading to a poor or inaccurate response.
It could be great to have the possibility to right-click on a bunch of texts, and only include this text in the RAG.

Hey, this is a great idea! We will add it to upcoming releases. :)


RFC: sensor: New API Refinement

Adds a struct sensor_chan_spec which self describes a sensor channel with a C structure rather than a single enum. This allows for channel indexes to be supplied where multiple channels of the same measurement type are available.
In addition splits up sensor_read_config into sensor_oneshot_config and sensor_stream_config to better distinguish the types.
Lastly reworks sensor_read to be a simple blocking read, moving what was sensor_read to sensor_read_async_mempool();
WIP as commit needs splitting and drivers/samples/tests need updating.

closing in favor of two pulls, one for channel specifiers in #71093, another will come from sensor_read API updates


import from json ignores entries with empty issuerExt

While it may be incorrect, QR import accepts entry with exported JSON like:
    {
      "algo": "SHA1",
      "counter": 0,
      "digits": 6,
      "issuerExt": "",
      "label": "{token.label}",
      "period": 30,
      "secret": [

however import does not import it back

Will investigate

I can actually import correctly for the following token with issuerExt as empty and a valid label. Is there anything that I am missing?
{     "tokenOrder": [         "aaa"     ],     "tokens": [         {             "algo": "SHA256",             "counter": 1,             "digits": 6,             "image": "https://osu-wams-blogs-uploads.s3.amazonaws.com/blogs.dir/4169/files/2021/01/google_2015_logo.png",             "issuerExt": "",             "label": "aaa",             "period": 30,             "secret": [                 113,                 70,                 41,                 20,                 -69,                 -12,                 -71,                 58,                 -58,                 -30,                 41,                 105,                 100,                 -72,                 28,                 25,                 -62,                 -62,                 -15,                 50,                 -34,                 -4,                 -81,                 10,                 51,                 85,                 -68,                 108,                 67,                 -77,                 75,                 33,                 -31,                 66,                 -117             ],             "type": "HOTP"         }     ] }

maybe issue is "{token.label}", which did probably get replaced with corresponding entry from tokenOrder or something that export just omitted and I don't have access to anymore. For me tokenOrder contained :reasonableLabel, so as I read this as a human no data is missing.

this does not import for me
{
"tokenOrder": [
    "aaa"
],
"tokens": [
    {
        "algo": "SHA256",
        "counter": 1,
        "digits": 6,
        "issuerExt": "",
        "label": "{token.label}",
        "period": 30,
        "secret": [
            113,
            70,
            41,
            20,
            -69,
            -12,
            -71,
            58,
            -58,
            -30,
            41,
            105,
            100,
            -72,
            28,
            25,
            -62,
            -62,
            -15,
            50,
            -34,
            -4,
            -81,
            10,
            51,
            85,
            -68,
            108,
            67,
            -77,
            75,
            33,
            -31,
            66,
            -117
        ],
        "type": "HOTP"
    }
]
}

Alright, found the issue. A token template replacement was incorrectly done. Fixed in https://github.com/helloworld1/FreeOTPPlus/commit/f2dc184000bfc226367d44894a24c9d16ed5fc95

thanks, so I interpret it was just export after all?


LOG: DisplayName = System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51

I'm encountering a similar problem, but with a more recent version. I receive an error stating "System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>," although Azure.Core utilizes version <IP_ADDRESS>. When I downgrade my NuGet package from <IP_ADDRESS> to <IP_ADDRESS>, I encounter a different error: "Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'." Attempting to switch from version <IP_ADDRESS> to <IP_ADDRESS> results in a compatibility issue with "Azure.Core" and "Azure.Storage.Blobs," which do not support System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>. Despite having consistent references to version <IP_ADDRESS> in both my web.config and the app.config of my new DLL, the error persists.
<dependentAssembly>
        <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
</dependentAssembly>

=== Pre-bind state information === LOG: DisplayName = System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 (Fully-specified) LOG: Appbase = file:///D:/System/testsystem/ LOG: Initial PrivatePath = D:\System\testsystem\bin Calling assembly : Azure.Storage.Blobs, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=92742159e12e44c8.
LOG: This bind starts in default load context. LOG: Using application configuration file: D:\System\testsystem\web.config LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. LOG: Post-policy reference: System.Diagnostics.DiagnosticSource, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/4a4892e4/1a9eb44/System.Diagnostics.DiagnosticSource.DLL. WRN: Comparing the assembly name resulted in the mismatch: Revision Number ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated. DATE/TIME: 11/21/2023 10:53:57 PM

I discovered the solution: The issue was that the <dependentAssembly> tags in the web.config were not being recognized, preventing the new dll from functioning correctly. This was due to the <configuration> tag containing namespace attributes, which resulted in the <assemblyBinding> tag being overlooked.
Incorrect configuration: <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Correct configuration: <configuration>
After correcting this, the assembly classes were read properly, allowing me to direct the system to the correct dlls.

I discovered the solution: The issue was that the <dependentAssembly> tags in the web.config were not being recognized, preventing the new dll from functioning correctly. This was due to the <configuration> tag containing namespace attributes, which resulted in the <assemblyBinding> tag being overlooked.
Incorrect configuration: <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Correct configuration: <configuration>
After correcting this, the assembly classes were read properly, allowing me to direct the system to the correct dlls.


Localization files not used

I have added Swedish as a language to my app, but FormatterKit doesn't seem to use the translations in the FormatterKit.strings files - the default is always used. Do I need to configure anything to make it work?
I'm using Cocoapods, by the way.

@andreaslindahl, I'm experiencing the same issue on my end. I've noticed that replacing NSLocalizedStringFromTable in FormatterKit, which uses [NSBundle mainBundle], with NSLocalizedStringFromTableInBundle, passing in [NSBundle bundleForClass:[self class]] seems to work, leading me to believe this is an issue with using FormatterKit via Cocoapods as a framework (see here, regarding NSBundle).

I believe this has been fixed in this commit: c3e95a368ed186766da4f5cace8f55ef70a5e17e
pod 'FormatterKit', :git => 'https://github.com/mattt/FormatterKit.git', :commit => 'c3e95a3'


fix typo : fixed minor typo in poly/src/valuation/dense.rs

Description
--> in this PR, fixed some minor typo in dense.rs. In the line 96 ~ 97, i think the hypercube operation result should be changed.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[v] Targeted PR against correct branch (master)
[ ] Linked to GitHub issue with discussion and accepted design OR have an explanation in the PR that describes this work.
[ ] Wrote unit tests
[ ] Updated relevant documentation in the code
[ ] Added a relevant changelog entry to the Pending section in CHANGELOG.md
[ ] Re-reviewed Files changed in the GitHub PR explorer

Thank you


MicroProfile JWT RBAC 2.0 Specification Review

[x] Specification name and version
[x] Add the label Release Review
[x] Naming conventions for artifacts:

[x] Specification PDF in the form of microprofile-project-spec-version.pdf
[x] Specification HTML in the form of microprofile-project-spec-version.html
project is the microprofile specification short project name (config, health, ...)
version is the two digit x.y version of the specification

[x] The Nexus Staging links (orgeclipsemicroprofile-NNNN where NNNN is the staging repository id) (eg, https://oss.sonatype.org/content/repositories/orgeclipsemicroprofile-NNNN/org/eclipse/microprofile/config/) which contain all the binaries and relevant documentation:

[x] Staging Repo
[x] Spec PDF
[x] Spec HTML
[x] Javadoc
[x] API Jar
[x] TCK Jar

[x] A link in the Eclipse downloads sections is still available for specs and apidocs:

[x] https://download.eclipse.org/microprofile/staging/microprofile-jwt-auth-2.0/
[x] An apidocs directory containing the javadoc associated with the API jar.

[x] Summary that a Compatible Implementation is complete, passes the TCK, and that the TCK includes sufficient coverage of the specification.

[x] [Compatible Certification Request] (https://github.com/eclipse/microprofile-jwt-auth/issues/269)

[x] Release Review

[x] Follow governance process and create/update release record

Component Release Record

[x] Email to PMC (more info here)
[x] Start release review by emailing EMO (more info here)(Track the bug issue created by EMO after the email)
[x] A member of Steering Committee initiates the ballot by sending an email to [microprofile-wg]<EMAIL_ADDRESS>(more info here
[ ] After the voting has ended, email [microprofile-wg]<EMAIL_ADDRESS>with the ballot result (more info here

A couple of comments...

Same issue as the Config specification with the copyright in the EFSL (in the Spec documents) still stating 2020 (instead of 2021).
Copyright (c) 2016, 2020 Eclipse Foundation.
I added a couple of comments to the CCR and TCK Results.
There is no license in the API jar file.  This might be critical enough to force a respin...
Again, I found the extra TCK license in the javadoc jar file.  No idea why that license would be necessary, but it should be cleaned up.  Not a requirement for this ballot, but if you have to clean up the API jar file...

I'd like to know if the API jar file needs to be recreated before I vote...  Thanks!

Same issue as the Config specification with the copyright in the EFSL (in the Spec documents) still stating 2020 (instead of 2021).
Copyright (c) 2016, 2020 Eclipse Foundation.

Fixed

There is no license in the API jar file.  This might be critical enough to force a respin...

Fixed

Again, I found the extra TCK license in the javadoc jar file.  No idea why that license would be necessary, but it should be cleaned up.  Not a requirement for this ballot, but if you have to clean up the API jar file...

Fixed


Use action parameter for wallet send from field

createSetBuildingFrom has a from field, and it gets routed to here. I watched the from field come in in the debugger.

@zanderz oh right, I had a brain fart. The reducers put all those fields in the store, so I think this should use state.wallets.buildingPayment.from if it's not empty and pass in fromPrimaryAccount: true if it is empty

I have a couple of questions - doesn't the buildPayment RPC get called once for each of the 6 actions? is that intended? Also, can we be sure the reducer happens to put from in the state before the buildPayment promise is invoked with from ?

Yeah, the reducers run first so from will be there. This gets called when the user updates any field on the send form.

so, is this ok now?

merging this for use in the remove load call PR


TypeError: project_gaussians() missing 1 required positional argument : 'tile_bounds'

I get the error : TypeError: project_gaussians() missing 1 required positional argument : 'tile_bounds' when I run the command : bash scripts/shells/train.sh dataset/10448102132863604198_472_000_492_000/ 0. I've not seen anyone else with this issue, so I was wondering if I'm missing something? I already generated the points3D_withlidar.bin using the points_cloud_generate.sh command and changed the line accordingly in train.sh. Any help would be appreciated!

Using gsplat version 0.1.9 solved the issue.


[BEAM-1406] Removes deprecated fileio.TextFileSink

Users should be using textio.WriteToText() transform instead of
fileio.TextFileSink.

Coverage decreased (-0.003%) to 69.582% when pulling 2fed64bf5f3e7eda2a3a372556851cdbffeb1a1a on chamikaramj:remove_textfilesink_fileio into a26fd1ff34bb5a51d6cc82ab9eb3c7e40cef49d3 on apache:master.

R: @aaltay

Thanks. PTAL.

LGTM

Coverage increased (+0.007%) to 69.592% when pulling<PHONE_NUMBER>462118a1043abee53dfd07fe279bec on chamikaramj:remove_textfilesink_fileio into a26fd1ff34bb5a51d6cc82ab9eb3c7e40cef49d3 on apache:master.


Fix NEXT-23457: Wrong creation of int number custom fields

Fix for ticket NEXT-23457: "Create Custom Fields in admin as type INT fields create it as FLOAT fields"
1. Why is this change necessary?
When a custom field is created in the admin, a int number field is saved as type float.
The error is in the merge of the CustomFieldConfig, the order is wrong. In the current code, the current (changed) config is overwritten with the default config, but this also means that config values are overwritten that already exist, In this case the config value of customFieldType.
2. What does this change do, exactly?
The sequence during the merge was fixed. During the merge the values of the defaultconfig are taken and merged with the current settings.
3. Describe each step to reproduce the issue or behaviour.

Click "New custom field" to open modal for creating custom field
Configure a customfield of type number with number type int
Click add
Custom field was created with float as number type, check by open edit modal

4. Please link to the relevant issues (if any).
fix NEXT-23457
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hey @fk-bitsandlikes i'm closing this PR for inactivity, feel free to reopen if you can follow up on the comments again.


More msvc related fixes

fix some more issues found on windows

Very very cool KeyVi is getting on Windows, I'm not using it, but I believe many many folks do :)


Adding ppc64le support

This PR add the support for ppc64le architecture. I've just modified the gruntfile.js to add ppc64le arch. You told me your golang cross compile image should be ok so I didn't replace with mine.

I'll create a new pull request from new fork


WIP add return type annotation to built-in plans

Description

Motivation and Context

How Has This Been Tested?

this is now covered here https://github.com/bluesky/bluesky/pull/1776 ,
closing


Quick update config.json for readability

The config file is not used while start up now. Set this value as empty to avoid confusion.

can we update the pr comment to say something like
remove default bucket in config.json


Add an option to attach new tab to existing window when the program is opened.

What's the Problem?
When I forgot files is open I open it from the start menu which opens a new instance rather then adding a tab.
Solution/Idea
Add a option to have a new tab open when a new files instance is called from search bar, start menu tile, app list.
Alternatives

Priorities
No response
Files Version
No response
Windows Version
No response
Comments
No response

I think we can change the behavior of this setting to work even when it's not from the taskbar jumplist.


Consider moving towards or supporting the modular SDK clients

For better tree-shaking it would be nice to support the modular AWS SDK v3 clients:
import { AthenaClient } from '@aws-sdk/client-athena';
import { S3Client } from '@aws-sdk/client-s3';

Only a subset of commands is needed for both clients so it's a waste to require all of them in our bundles

For example, see S3: https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/src/S3.ts
It extends S3Client and basically imports ALL the possible commands which increases bundle size for no reason, specially for a library like this one

Wow, I just came to complain about exactly this, and this is the only current open issue with an already merged PR, guess it's my lucky day :D Any info on when this would be released?


Give diagnostic when inheriting from something that is not a class

Try number 2.
Test Plan:
Diagnostic

Inheriting a variable that is a constant

Inheriting a constant

Inheriting a function

Inheriting a method

Inheriting an object instance

Inheriting a property that returns a constant

Inheriting a property that returns a function

Inheriting a property that returns a method

No Diagnostic

Builltin types

Renamed builin types

User Class

A property that returns nothing

A question, what would the diagnostics be for something like this?
X = 123

class Foo(X):
   pass

class Bar(Foo):
   pass

Is it going to complain at both Foo and Bar, or just Foo? I'm thinking about the case where we get this wrong in one place, and it infects an inheritance tree. (Particularly for classes that come from mis-analyzed libraries or similar.)

A question, what would the diagnostics be for something like this?
X = 123

class Foo(X):
   pass

class Bar(Foo):
   pass

Is it going to complain at both Foo and Bar, or just Foo? I'm thinking about the case where we get this wrong in one place, and it infects an inheritance tree. (Particularly for classes that come from mis-analyzed libraries or similar.)

Just tested it. It only complains at Foo. It will only complain about a direct inheritance, not a chain.

Perfect, but would you mind adding a test for it so we don't regress later on? (And fix the merge conflicts). Then this should be good.

Sorry, just haven't pushed test yet.


Make document names unique

Should be added as DB constraint, but with intelligent feedback from editor.py if users attempt to give an existing corpus+docname combination.


feat: Add custom category name

Fixes: https://github.com/tremorlabs/tremor/issues/419
What - Add the possibility to customize the name displayed for each category
Why - Because it is currently not possible to submit an alias
How - adding support so that the categories prop can receive an array of objects in this format:
categories: string[] | { category: string; name: string }[]; . name is the name to be displayed on the screen and category the main key of the category
Testing - you can see the changes by running the storybook(npm run storybook) and choosing the "With Categories With Custom Names" version, on every chart except the DonutChart
Demo:
https://www.loom.com/share/d229544ac6a0436d915dc3dc25672f48
This code was written and reviewed by GitStart Community. Growing great engineers, one PR at a time.

Hey @mitrotasios! Could you kindly review this PR, please?

Ah that's a great feature, we were planning to add this for a long time, thanks for this! Again, we'd like to avoid any bigger changes before the v3 release, so I'll get back to this after next week as well :)

Hey there! Tremor will soon be a lot more customisable, making this PR redundant. Thank you for submitting this PR and being part of the community 🙏

What is the situation? Is there already a way to customize this?


Change from 1.20 to 1.21 resulted in Networking tab missing in Edit Config page on rke2 provisioned cluster?

UI received https://github.com/rancher/dashboard/issues/5866 from @ShylajaDevadiga (specifically https://github.com/rancher/dashboard/issues/5866#issuecomment-1187878844) about a missing Networking tab for the specific Kubernetes 1.21 version. The Networking tab is missing in the Edit Config page. Issue is seen in v1.21.12-rke2r1 only or any 1.21 version but not in later versions.
The UI team suspects that 1.22 introduced another annotation or some other metadata to render the tab but we're not clear what changed from 1.21 to 1.22.
Reported in Rancher version: v2.6.5-rc8 but also v2.6.7-rc2
RKE2 Version: v1.21.12-rke2r1
To Reproduce
Provision a rke2 cluster version v1.21.12-rke2r1 in 2.6.4 and upgrade rancher version to 2.6.5-rc8. (@ShylajaDevadiga what was the behaviour in 2.6.5 RC7 and lower?)
Expected Result
Networking tab is missing in Edit Config page
Actual Result
Networking tab should be present in Edit Config page
Linked Dashboard item has additional information.

@ShylajaDevadiga
RKE2 in 2.6.4 was offered as a Tech preview, but went GA in 2.6.5. After creating a rancher-server running 2.6.5 and attempting to create an RKE2 cluster I am not able to select 1.21.x as a k8's version.  So, when bringing a RKE2 cluster running 1.21.x from 2.6.4 to 2.6.5 the cluster has a k8's version that is considered 'unsupported'
This is denoted by the UI, when attempting to edit the cluster config the Basics tab states Configuration information is not available for the selected Kubernetes version. The options available in this screen will be limited, you may want to use the YAML editor..
Looking at the dashboard code I can see that this message is dependent on the haveArgInfo variable equaling false. This variable is also used when rendering the Advanced tab, and the Networking Tab. When editing the 1.21.x cluster created in 2.6.4 after upgrading to 2.6.5, the Advanced tab is completely empty, but the tab still exists in the list of options. This makes sense considering the following block of code used to render the tab
 <Tab
  name="advanced"
  label-key="cluster.tabs.advanced"
  :weight="-1"
  @active="refreshYamls"
 >
  <template v-if="haveArgInfo">
...

It looks like the tab is always rendered irregardless of the haveArgInfo value, but its contents are not. However, for the Networking tab this is not the case.
  <Tab v-if="haveArgInfo" name="networking" label-key="cluster.tabs.networking">
    <h3>
      {{ t('cluster.rke2.address.header') }}
      <i v-tooltip="t('cluster.rke2.address.tooltip')" class="icon icon-info" />
    </h3>
...

Here, the rendering of the entire tab is based off of the value of haveArgInfo.
The decision to not support 1.21.x for RKE2 in 2.6.5 was purposeful, so I'm not sure if there is any work required from the backend at this point.

Based on this comment https://github.com/rancher/dashboard/issues/5866#issuecomment-1244555143 closing the issue.


Any way to filter out specific entities from a remote machine?

Hey,
I'm using this component without a prefix.
Is there some way to filter out a specific entity to not be passed to my master HA?
Specifically group.all_switches which causes problems in my master HA.
Thanks in advance.

I had a similar problem with the Home zone getting overwritten on the master HA. Adding the prefix solved the issue but perhaps supporting the common include_entities/include_domains and exclude_entities/exclude_domains logic would be useful.

Yeah, that would be a really useful feature.
include_entities should be enough, if it also supports wildcards.
Would definitely merge a pull request for that one 😄

1 on include_entities - or include_domains
I'm using this plugin to monitor some remote sensors, and I get alot of extra automations, calendars, lights, switches etc that I really don't want to see in the lists - even if I use the prefix.

As Hacktoberfest is currently ongoing I figured now would be the best time to implement this.
Seems like pull requests for own repositories are a gray area, but generally allowed. But because so many people want this feature, it should hopefully be okay :-)
Implemented in #18, expect a new release soon


SARIF Output Support

Signed-off-by: Anthony Turner<EMAIL_ADDRESS>What I did
Added SARIF-compatible output structures as an output option in the same vein as SonarQube
How to verify it
Use -o sarif as an option with Horusec to output a SARIF report
- Description for the changelog
Adds SARIF output support

Want to note that this is not necessarily complete; there are several things which just don't exist in Horusec right now. For example, I notice not all of the engine modules have RuleIDs populated, and there is other metadata (such as URL) which need to have a lookup table or some other place to pull them from. This might mean authoring a .csv file to track the metadata or maybe embedding it into code somehow is better.
Hopefully this at least helps get the conversation started.

See also #937

I might take a crack at adding RuleId to the records for non-HorusecEngine scanners. I'll do that as a separate PR since it'll be a different set of potential issues to fix.

and there is other metadata (such as URL) which need to have a lookup table or some other place to pull them from.

I think that this would be hard to do, since we not control the results of the tools that orchestrate.

For example, I notice not all of the engine modules have RuleIDs populated

This is because we not populate this field from tools that we orchestrate. This field should be unique, I don't know how we can control this "uniqueness" for this other tools.
BTW, the schema says that ruleId should be a object, not a string, I'm seeing the correct schema?
I would like to suggest to using git commit --amend to amed your changes on the current git commit instead create a new one, with this you don't need to add DCO on all commits (and when is PR will be merged all commits will be squashed anyway).

Oh, I think that I was using the wrong schema, this implementation is based on this documentation right?

Oh, I think that I was using the wrong schema, this implementation is based on this documentation right?

Correct. RuleID is a string rather than object. It's mostly just used for correlation between multiple files/lines which have the same violation type.

and there is other metadata (such as URL) which need to have a lookup table or some other place to pull them from.

I think that this would be hard to do, since we not control the results of the tools that we orchestrate.

For example, I notice not all of the engine modules have RuleIDs populated

This is because we not populate this field from tools that we orchestrate. This field should be unique, I don't know how we can control this "uniqueness" for this other tools.

See #949 for my thoughts on how we can introduce this.

Correct. RuleID is a string rather than object. It's mostly just used for correlation between multiple files/lines which have the same violation type.

According to the documentation this field is optional, can we follow with this implementation separately from adding the rule id for all vulnerabilities?
Maybe for this initial implementation we can leave this rule id empty (for vulnerability that was not found by horusec engine) and when we found a solution for #949 we will automatically have this value on output for all tools.
I'm not finding the helpUri and informationUri fields on docs, these fields is optional too? If it yes we can use the same approach described above.
cc @wiliansilvazup @nathanmartinszup @iancardosozup

Correct. RuleID is a string rather than object. It's mostly just used for correlation between multiple files/lines which have the same violation type.

According to the documentation this field is optional, can we follow with this implementation separately from adding the rule id for all vulnerabilities?
Maybe for this initial implementation we can leave this rule id empty (for vulnerability that was not found by horusec engine) and when we found a solution for #949 we will automatically have this value on output for all tools.
I'm not finding the helpUri and informationUri fields on docs, these fields is optional too? If it yes we can use the same approach described above.
cc @wiliansilvazup @nathanmartinszup @iancardosozup

I'm fine dropping the URIs -- again, those were originally for my own purposes, since they can link out to corresponding doc pages. That's incredibly useful for developers to help them fix an error they may not understand.
A lot of how I'm thinking of this visually can be seen by using:
https://microsoft.github.io/sarif-web-component/
I've attached two sample SARIF files (as TXT, because of GitHub limitations)
sample-a.sarif.txt -- This one uses RuleId for grouping
sample-b.sarif.txt -- This one does not group
These files can be used with the above viewer to visualize what this might look like in an external tool.
You can probably see how scaling this out to what could be hundreds, if not thousands, of vulnerabilities across large targets (as in my use case) would be challenging without an adequate grouping mechanism. Just a thought. 😄

y see how scaling this out to what could be hundreds, if not thousands, of vulnerabilities across large targets (as in my use case) would be challenging without an adequate grouping mechanism. Just a thought.

I guess this is a good approach to get sarif output in a quicker way, but i think #949 should be prioritized since we're gonna get an inconsistent output between our engine and tools that we orchestrate.

You can probably see how scaling this out to what could be hundreds, if not thousands, of vulnerabilities across large targets (as in my use case) would be challenging without an adequate grouping mechanism. Just a thought.

This is definitely a problem, but I think that we should concentrate the discussion about the rule id on #949, and on this PR we ensure that we export the Sarif output correctly.

I think that would be good add some unit tests, to ensure that we convert the analysis vulnerabilities to sarif.Report struct correctly.
To test this, we can basically create an analysis.Analysis with a bunch of vulnerabilities and them call ConvertVulnerabilityToSarif and assert that the fields from Report is filled correctly.
Please, ask any question if you have any problem to create these tests.

There is some others linter warnings, you can check them here.

@anthturner i think if you run make format  and make lint on root repository would be easier to fix those lint errors that @matheusalcantarazup mentioned, and please add your signature to commit to pass the DCO check (find more about on CONTRIBUTING.md)

@anthturner i think if you run make format and make lint on root repository would be easier to fix those lint errors that @matheusalcantarazup mentioned, and please add your signature to commit to pass the DCO check (find more about on CONTRIBUTING.md)

Aside from the challenges of line lengths and function lengths with this one, I'm stuck on a number of similar errors to this: importShadow: shadow of imported from 'github.com/ZupIT/horusec-devkit/pkg/entities/analysis' package 'analysis'
That occurs when I don't use the aliasing of the package on import; if I do, this doesn't appear.
Googling it is not much help; was hoping someone could help me along so I can pass the linter.

@anthturner i think if you run make format and make lint on root repository would be easier to fix those lint errors that @matheusalcantarazup mentioned, and please add your signature to commit to pass the DCO check (find more about on CONTRIBUTING.md)

Aside from the challenges of line lengths and function lengths with this one, I'm stuck on a number of similar errors to this: importShadow: shadow of imported from 'github.com/ZupIT/horusec-devkit/pkg/entities/analysis' package 'analysis'
That occurs when I don't use the aliasing of the package on import; if I do, this doesn't appear.
Googling it is not much help; was hoping someone could help me along so I can pass the linter.

This error occurs when a package name and a variable have the same name, as @matheusalcantarazup suggested you can rename the variables as analysiss to avoid this.

Can you please add a documentation about this private functions that do the parsing using this guide? They seems a bit tricky do understand in first place.
I'm not convinced about this methods should have to many arguments, but for now I don't have any better idea, maybe embed on Sarif struct, so these methods just use them?
cc @wiliansilvazup @nathanmartinszup @iancardosozup

i agree, if these fields are into Sarif struct the method initToolStructure could be refactored to fit in NewSarif method

Can you please add a documentation about this private functions that do the parsing using this guide? They seems a bit tricky do understand in first place.
I'm not convinced about this methods should have to many arguments, but for now I don't have any better idea, maybe embed on Sarif struct, so these methods just use them?
cc @wiliansilvazup @nathanmartinszup @iancardosozup

i agree, if these fields are into Sarif struct the method initToolStructure could be refactored to fit in NewSarif method

This was a great suggestion and helped considerably.
I added documentation as best as I could, including why each association map was necessary. It's admittedly a challenge, as the SARIF format requires very specific grouping of different elements which Horusec does not differentiate between in its report by default.

Some commits still failing because of  DCO. I suggest you squash all 15 commits in a single one signed commit.
To fix linter warnings you can run make format and them commit those changes.

Awesome job @anthturner.
Thanks for your contribution!

Some commits still failing because of DCO. I suggest you squash all 15 commits in a single one signed commit.
To fix linter warnings you can run make format and them commit those changes.

Will do. One thing I noticed, if you want to add it to docs, is that the goimports tool requires $HOME/go/bin be in PATH for the make format command to run properly. (On MacOS, this is not the case by default)
I'm currently struggling with the next part of this, which is that make format seems to be expecting a very specific path format:
❯ make format
go install golang.org/x/tools/cmd/goimports@latest
go install mvdan.cc/gofumpt@latest
go install github.com/daixiang0/gci@latest
gofmt -s -l -w $(find . -name '*.go' | grep -v vendor | grep -v /examples/)
goimports -w -local github.com/ZupIT/horusec/ $(find . -name '*.go' | grep -v vendor | grep -v /examples/)
gofumpt -l -w $(find . -name '*.go' | grep -v vendor | grep -v /examples/)
gci -w -local github.com/ZupIT/horusec/ $(find . -name '*.go' | grep -v vendor | grep -v /examples/)
Using the old parameters is deprecated, please use the named subcommands!
Error: stat github.com/ZupIT/horusec/: no such file or directory

Note that for me, I'm cloned into ~/github_forks/horusec.
Thoughts?

I'd appreciate your insight on an issue we've discussed in the past; "ruleId". For engines which don't have this, the SARIF validator fails with:
SARIF1010: runs[1].results[0]: This result contains neither of the properties 'ruleId' or 'rule.id'. The SARIF specification ([§3.27.5](https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317643)) requires at least one of these properties to be present.

In this case, would it make sense to make ruleId the same as the result text, just in the interest of meeting the specification?

I'm currently struggling with the next part of this, which is that make format seems to be expecting a very specific path format:

The gci release a new version with some breaking changes. I'll open a PR to fix this, but I found a bug on this new version too, so gci format will still broken after this PR. The tool that fix the linter issue still working, so you can run make format and commit the changes anyway.

In this case, would it make sense to make ruleId the same as the result text, just in the interest of meeting the specification?

I don't know about this, maybe tool name? I'm afraid of use the result text and make the rule id field to big.
cc @nathanmartinszup @iancardosozup

Reading the sarif converter error @anthturner mentioned i found some rules we should base on:
Not all existing analysis tools emit the equivalent of a ruleId in their output. A SARIF converter which converts the output of such an analysis tool to the SARIF format SHOULD synthesize ruleId from other information available in the analysis tool's output.
Each SARIF converter might synthesize ruleId in a different way. Therefore, a SARIF consumer SHOULD NOT attempt to compare or combine the output from different converters for the same analysis tool. See Appendix D for more information about production of SARIF by converters.
If the input data does not include an equivalent for any SARIF element, a converter MAY attempt to synthesize that element. (For example, a converter might heuristically extract a rule id from the text of an unstructured error message.)
Since each converter might synthesize SARIF elements differently (notably the rule id; see §3.27.5), a SARIF consumer SHOULD NOT attempt to combine results produced by different converters for the same tool.
based on that i suggest to review every toll that does not generate an rule id and generate id base on some retrieved information, but we have to ensure this information remains stable between our versions ( so we're back to #949 )

Reading the sarif converter error @anthturner mentioned i found some rules we should base on:
Not all existing analysis tools emit the equivalent of a ruleId in their output. A SARIF converter which converts the output of such an analysis tool to the SARIF format SHOULD synthesize ruleId from other information available in the analysis tool's output.
Each SARIF converter might synthesize ruleId in a different way. Therefore, a SARIF consumer SHOULD NOT attempt to compare or combine the output from different converters for the same analysis tool. See Appendix D for more information about production of SARIF by converters.
If the input data does not include an equivalent for any SARIF element, a converter MAY attempt to synthesize that element. (For example, a converter might heuristically extract a rule id from the text of an unstructured error message.)
Since each converter might synthesize SARIF elements differently (notably the rule id; see §3.27.5), a SARIF consumer SHOULD NOT attempt to combine results produced by different converters for the same tool.
based on that i suggest to review every tool that does not generate an rule id and generate id based on some retrieved information( i don't think we can be generic here ), but we have to ensure this information remains stable between our versions ( so we're back to #949 )

Reference #967 for addition of many RuleIDs

thank you very much for your contribution @anthturner, it was really an excellent job done here. I'm very happy that more people are interested in our project. You rock :rocket:

Reading the sarif converter error @anthturner mentioned i found some rules we should base on:
Not all existing analysis tools emit the equivalent of a ruleId in their output. A SARIF converter which converts the output of such an analysis tool to the SARIF format SHOULD synthesize ruleId from other information available in the analysis tool's output.
Each SARIF converter might synthesize ruleId in a different way. Therefore, a SARIF consumer SHOULD NOT attempt to compare or combine the output from different converters for the same analysis tool. See Appendix D for more information about production of SARIF by converters.
If the input data does not include an equivalent for any SARIF element, a converter MAY attempt to synthesize that element. (For example, a converter might heuristically extract a rule id from the text of an unstructured error message.)
Since each converter might synthesize SARIF elements differently (notably the rule id; see §3.27.5), a SARIF consumer SHOULD NOT attempt to combine results produced by different converters for the same tool.
based on that i suggest to review every tool that does not generate an rule id and generate id based on some retrieved information( i don't think we can be generic here ), but we have to ensure this information remains stable between our versions ( so we're back to #949 )

Reference #967 for addition of many RuleIDs

I'm not sure how we should proceed with this. How useful will this information be for the user? Do we need to print this information? Maybe it should be something unique to the sarif parser.

@anthturner can we merge this PR and focus the discussion about rule id on #967? There is something more that we need to discuss here about Sarif output specifically?

@anthturner can we merge this PR and focus the discussion about rule id on #967? There is something more that we need to discuss here about Sarif output specifically?

Absolutely feel free to merge this; I assumed we'd move to the #967 discussion anyways :)

Thanks very much @anthturner


add several medline testcases

"gain weight" and "x-ray" query used to cause exception in keyword matcher (phrase).
These two test cases will pass after the bug-fixed.

These test cases failed before fixing the bugs in keyword matcher, but they pass after changing. #131 and #147


[dif_spi_device] Frame size mismatch

in PR #5068 , I upsize the SPI_DEVICE internal DPSRAM buffer for SPI Flash / Passthrough mode. The FPGA test failed as BOOTROM cannot download the FW image and update internal flash.
Revised BOOTROM's SPIFLASH_RAW_BUFFER_SIZE to 2048 (4kB/2) from 1024. Still failed. Figure out that the BOOTROM (or dif_spi_device) reads whole buffer rather than what host system sent?
Host spiflash app sends 1kB chunk of image through SPI interface. What I expect was the DIF reads only 1kB and consist the fw image from the series of 1kB chunk. Looks like the code strictly expect the RX buffer and the half of DPSRAM and also the SPIFlash frame size are exactly matched.
Can anyone in assignee list comment? Did I understand correctly?

Hi @eunchan  is this still an issue? I see lowrisc/opentitan#5068 was merged. I believe @mcy is the most familiar with the spi_device dif.

I still think this is worth to discuss, DIF SPI_DEVICE assumes the buffer to be half of the SRAM But the SRAM size is not correctly propagated into DIF header so that the design change results in SW changes too. I think we won't change DPSRAM size in near future. So we can lower this or close and re-open when needed.
I will close this and re-raise later :)

sorry to re-open @eunchan , can you make the sram size a param inside spi_device.hjson? Then maybe this same parameter can be propagated to the instantiation of the dpsram inside spi_device.  The params get automatically converted into headers for software, and maybe they should just re-use that one in the future as you say.

Ah. That's good idea. Let me do that.

On Feb 12, 2021, at 10:27 AM, tjaychen<EMAIL_ADDRESS>wrote:
sorry to re-open @eunchan https://github.com/eunchan , can you make the sram size a param inside spi_device.hjson? Then maybe this same parameter can be propagated to the instantiation of the dpsram inside spi_device. The params get automatically converted into headers for software, and maybe they should just re-use that one in the future as you say.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/lowRISC/opentitan/issues/5145#issuecomment-778364636, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJDG3RBURXRDPUSSARTLVTS6VXKJANCNFSM4XJNPP6A.

This one has been addressed in #5264 . Closing now.


Kill gracefully

Add a way of killing gracefully the training.
https://stackoverflow.com/questions/18499497/how-to-process-sigterm-signal-gracefully
Ideally the model should be saved if it gets killed, so that it can be restarted.

This has been implemented in commit https://github.com/SilviaAmAm/qml/commit/f4a7424b94f05943ab7bb14fe304e4fb9e201bba


Change the scala compiler download to https

this started failing today prompting:
https://github.com/bazelbuild/bazel/issues/969
quickfix here.
Review @dinowernli

actually going to merge this since without it, things fail.

LGTM! :)


Export problem. Cannot create styled-component for component: undefined

When importing svg component and trying to style it, i've got error:
Uncaught Error: Cannot create styled-component for component: undefined.
    at new StyledComponentsError (styled-components.browser.esm.js:232)
    at constructWithOptions (styled-components.browser.esm.js:1367)
    at styled (styled-components.browser.esm.js:2259)
    at eval (Loading.js:13)
    at Module../src/components/Loading.js (app.js:1075)
    at __webpack_require__ (app.js:20)
    at eval (index.js:3)
    at Module../index.js (app.js:991)
    at __webpack_require__ (app.js:20)
    at eval (Main.js:5)

Few months ago there was no problem.
Environment
System:

OS: Windows 10
CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Memory: 8.12 GB / 15.89 GB

Binaries:

Node: 12.10.0 - C:\Program Files\nodejs\node.EXE
npm: 6.10.1 - C:\Program Files\nodejs\npm.CMD

Works
const SvgCircle = forwardRef((props, ref) => {
  return (
    <svg viewBox='0 0 120 120' version='1.1' xmlns='http://www.w3.org/2000/svg'>
      <circle cx='60' cy='60' r='50' />
    </svg>
  )
})

const Loading = () => {
  return <SvgCircle />
}

const StyledSvgCircle = styled(SvgCircle)``

Not working
// external file, frontend allias
export const SvgCircle = forwardRef((props, ref) => {
  return (
    <svg viewBox='0 0 120 120' version='1.1' xmlns='http://www.w3.org/2000/svg'>
      <circle cx='60' cy='60' r='50' />
    </svg>
  )
})

import { SvgCircle } from 'frontend'

const Loading = () => {
  return <SvgCircle />
}

const StyledSvgCircle = styled(SvgCircle)`` // without styled components imported icon shows fine

package.json:
"@babel/core": "^7.6.0",
"@babel/plugin-transform-runtime": "^7.6.0",
"@babel/preset-env": "^7.6.0",
"@babel/preset-react": "^7.0.0",
<EMAIL_ADDRESS>"^2.2.3",
"babel-loader": "^8.0.6",
"babel-plugin-styled-components": "^1.10.6",
"css-loader": "^3.2.0",
"dompurify": "^2.0.1",
"esm": "^3.2.25",
"fastify": "^2.8.0",
"fastify-cookie": "^3.1.0",
"fastify-rate-limit": "^2.3.0",
"fastify-static": "^2.5.0",
"marked": "^0.7.0",
"module-alias": "^2.2.1",
"moment": "^2.24.0",
"node-cron": "^2.0.3",
"node-fetch": "^2.6.0",
"pg": "^7.12.1",
"pino": "^5.13.3",
"pino-pretty": "^3.2.1",
"pm2": "^3.5.1",
"react": "^16.9.0",
"react-datepicker": "^2.9.6",
"react-dom": "^16.9.0",
"react-router": "^5.0.1",
"react-router-dom": "^5.0.1",
"style-loader": "^1.0.0",
"styled-components": "^4.3.2",
"tippy.js": "^4.3.5",
"use-debounce": "^3.0.1",
"webpack": "^4.40.2",
"webpack-bundle-analyzer": "^3.5.1",
"webpack-cli": "^3.3.9"

It’s definitely not on our end
On Mon, Sep 23, 2019 at 4:31 PM Max<EMAIL_ADDRESS>wrote:

When importing svg component and trying to style it, i've got error:
Uncaught Error: Cannot create styled-component for component: undefined.
at new StyledComponentsError (styled-components.browser.esm.js:232)
at constructWithOptions (styled-components.browser.esm.js:1367)
at styled (styled-components.browser.esm.js:2259)
at eval (Loading.js:13)
at Module../src/components/Loading.js (app.js:1075)
at webpack_require (app.js:20)
at eval (index.js:3)
at Module../index.js (app.js:991)
at webpack_require (app.js:20)
at eval (Main.js:5)
Few months ago there was no problem.
Environment System:

OS: Windows 10
CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Memory: 8.12 GB / 15.89 GB

Binaries:

Node: 12.10.0 - C:\Program Files\nodejs\node.EXE
npm: 6.10.1 - C:\Program Files\nodejs\npm.CMD

Works
const SvgCircle = forwardRef((props, ref) => {
return (

)
})
const Loading = () => {
return
}
const StyledSvgCircle = styled(SvgCircle)``
Not working
// external file, frontend allias
export const SvgCircle = forwardRef((props, ref) => {
return (

)
})
import { SvgCircle } from 'frontend'
const Loading = () => {
return
}
const StyledSvgCircle = styled(SvgCircle)`` // without styled components imported icon shows fine
package.json:
"@babel/core": "^7.6.0",
"@babel/plugin-transform-runtime": "^7.6.0",
"@babel/preset-env": "^7.6.0",
"@babel/preset-react": "^7.0.0",
<EMAIL_ADDRESS>"^2.2.3",
"babel-loader": "^8.0.6",
"babel-plugin-styled-components": "^1.10.6",
"css-loader": "^3.2.0",
"dompurify": "^2.0.1",
"esm": "^3.2.25",
"fastify": "^2.8.0",
"fastify-cookie": "^3.1.0",
"fastify-rate-limit": "^2.3.0",
"fastify-static": "^2.5.0",
"marked": "^0.7.0",
"module-alias": "^2.2.1",
"moment": "^2.24.0",
"node-cron": "^2.0.3",
"node-fetch": "^2.6.0",
"pg": "^7.12.1",
"pino": "^5.13.3",
"pino-pretty": "^3.2.1",
"pm2": "^3.5.1",
"react": "^16.9.0",
"react-datepicker": "^2.9.6",
"react-dom": "^16.9.0",
"react-router": "^5.0.1",
"react-router-dom": "^5.0.1",
"style-loader": "^1.0.0",
"styled-components": "^4.3.2",
"tippy.js": "^4.3.5",
"use-debounce": "^3.0.1",
"webpack": "^4.40.2",
"webpack-bundle-analyzer": "^3.5.1",
"webpack-cli": "^3.3.9"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/2762?email_source=notifications&email_token=AAELFVTTHCNAJE7CL3G3NRTQLERRRA5CNFSM4IZRRDZKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HNEMOQA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAELFVUGWUW4QNBPD6ARJIDQLERRRANCNFSM4IZRRDZA
.

Hm, will try to ask on webpack then, thx.

Hi @ZiiMakc can you share your webpack issue??

@testcode sorry, i don't remember how it was solved

It was likely a circular import.
Also please don't revive old issues; if you're searching for some, I believe I've left comments about circular imports a couple of times. Basically the easiest way to get into trouble is to import from an index file that also imports/exports all siblings and the component itself since this will create an import loop after two components import each other via that index file.


zastąpić domyślny błąd na nasz gdy nie ma caregiver id lub student id

Invalid pk - object does not exist.  <- to trzeba poprawić.
@bartmkraus ?? wyjasnisz

As far as I remember, this was related to the default error message, which doesn't give us as much information as would be required to track down the cause and would have been better changed to a more descriptive one. I added this a long time ago and I guess it wasn't that important. @MateuszBelczowski , maybe you remember something more than me? 😅

It's either not relevant anymore, or will get fixed with #172


[PROPOSAL] Add more mainteners to this repo!

@harisbaig100 and @Naturalclar,
Your component is excellent, but it needs some fixing. I understand you both are busy, but could you open it to the community to increase this repo?
Many thanks for considering my request.

I can join too if you need it...


Testing gcb with some change

https://pandev--pr5-testing-gcb-h95utr9b.web.app

testing

https://pandev--pr5-testing-gcb-h95utr9b.web.app


#102, #103

@kedars
Really weird - the (latest?) Google Matter Controller fails provisioning if querying attribute UniqueId from the Basic Info cluster fails.
It is weird because in the Matter 1.0 spec, the attribute is marked as "optional". Perhaps they made it mandatory in Matter - 1.1? (Need to check this in the latest spec.)
This PR also addresses #103 at least to some extent, by reporting with a warn level all cluster reads/writes that return a non-OK status.

@kedars Approval is not enough you need to merge it too, I guess. :)
Also short update - the UniqueId attr is not mandatory also in latest Matter 1.1 spec. Well I guess we still need a fix, as provisioning fails otherwise.

@ivmarkov  that is why I haven’t merged :-).
It seems there are devices that can get commissioned without this attribute too, needs some further investigation…

Hmm, you mean you can still provision with a Google Controller even without this fix?...

... on a second thought, we might be returning the wrong error / an error where we should be silent. Let me double check that...

I'm trying to help how I can and reading through the spec as well as the official source repo, I think the requirement for optional fields is to respond with the default value, as quoted from matter 1.1 core spec, "7.17.2. Optional or Deprecated"

If the specification text of a cluster depends on the value of an optional or deprecated data field of
the same cluster, then the data field SHALL have a well-defined default value that SHALL be used
when the data field is not implemented.

In this case, UniqueId (and looks like we're missing quite a few with this interpretation of the spec), should return the default of manufacturer specified (MS), which should mean undefined!  The official matter repo encodes UniqueId and many other missing fields using an empty string, but technically providing UNSUPPORTED_ATTRIBUTE should meet the definition for manufacturer specified as well.  Unfortunately it means a client like Google Home would be equally correct in rejecting this value.  Boooo.
What is puzzling though is what is the difference between mandatory and optional given that both seem to have default values selected.  It seems like the specification is confusing spec and implementation, that is, a mandatory field with a default requires that the API be built in such a way that it will fail if the value is not user provided.  Worse, the way that section "7.17.4. Default Column" is worded doesn't specify if the manufacturer specific behaviour is meant to be client side or server side.  That is, is the server required to provide some default value if the user didn't give us one, or is the client supposed to treat UNSUPPORTED_ATTRIBUTE as if it had been the default value the client would have used?  This would explain why Google Home isn't working as expected here, they probably have their own custom implementation and misunderstood this part of the spec.

Curiously the default implementation for the basic info cluster just encodes nothing and returns CHIP_NO_ERROR when the attribute is not known (https://github.com/project-chip/connectedhomeip/blob/master/src/app/clusters/basic-information/basic-information.cpp#L80).  That seems...fishy.

TBH, I'm having difficulties parsing this paragraph you quoted:

If the specification text of a cluster depends on the value of an optional or deprecated data field of
the same cluster

What do they even mean by "specification text of a cluster"?

The official matter repo encodes UniqueId and many other missing fields using an empty string, but technically providing UNSUPPORTED_ATTRIBUTE should meet the definition for manufacturer specified as well

I'm not so sure. Unsupported_attribute is an error (no n-ok status), not really a value, where by value I understand really something which is part of the field domain (as in an empty string).

Frankly, I don't know if we're going to get any resolution on this confusion without posting an issue to Matter upstream since the documentation is just clearly ambiguous on this topic.  Hopefully I'm not jumping the gun here but I propose we resolve the intermediate issue as follows:

Submit clarification request to Matter upstream (I can tackle this, just lmk)
Copy Matter upstream implementation (i.e. use empty strings for spec-defined fields, but also default to a successful reply with a missing value field for reads of unsupported attributes) for at least the BasicInfoCluster (though they seem to do this for all clusters AFAICT!).  I've done this locally and it seems to work but more testing is needed before I can submit a PR.
After (1) resolves, adjust implementation to match the intention of the standard iff Google Home still works with this new interpretation.
If Google Home doesn't work with the clarified solution, file an upstream bug with them referencing the answer we get in (3) as evidence of a faulty implementation.  Wait until they respond to make changes to matter-rs.

Thoughts?

Correction: I had this wrong.  I misread upstream matter code (and rs-matter, actually).  I didn't realize that the attributes are filtered before reaching the handler.  In rs-matter, the ErrorCode::AttributeNotFound that's yielded from the handler feels wrong to me, it's more like a severe internal configuration error indicating the CLUSTER has an attribute defined that the Attributes enum doesn't contain, most likely caused by an id mismatch due to the manual copy/pasting that happens when adding attributes.
So it looks like for rs-matter today, an unknown attribute isn't sending UNSUPPORTED_ATTRIBUTE at all, it's ignoring the read request by filtering it out here:
https://github.com/project-chip/rs-matter/blob/e39fd18b73b77218e60594df4dea8359062c0dac/rs-matter/src/data_model/objects/node.rs#L125
I'm still checking what upstream matter's behaviour is in this case.  That might provide a more general clue for how to work around this issue that doesn't require adding a ton of weird default values for optional attributes...
In either case, it's still quite unclear what the spec is trying to tell us about the case where we don't know about an attribute that's marked optional.

Update on matter upstream behaviour: I'm 99% sure that if the attribute is truly not known by the server, UNSUPPORTED_ATTRIBUTE will be yielded which is not the behaviour that rs-matter has today.  Evidence of this is found here:
https://github.com/project-chip/connectedhomeip/blob/master/src/app/util/attribute-storage.cpp#L667C35-L667C35
This is the big lookup operation that uses the generated attributes data structure that came from the input .zap file.
Unfortunately, modifying rs-matter to use this behaviour (that is, yield UNSUPPORTED_ATTRIBUTE instead of ignoring the read request) still sees Google Home fail to add the device.  I think we're kind of stuck here for the short term with such ambiguity in the spec.  We have to just modify the behaviour to supply a bunch of default values for attributes defined in the spec.

@jasta Are you in this room? If not you might want to join - I'm trying to schedule a meeting where you might want to participate.

Correction: I had this wrong. I misread upstream matter code (and rs-matter, actually). I didn't realize that the attributes are filtered before reaching the handler.
So it looks like for rs-matter today, an unknown attribute isn't sending UNSUPPORTED_ATTRIBUTE at all, it's ignoring the read request by filtering it out here:
https://github.com/project-chip/rs-matter/blob/e39fd18b73b77218e60594df4dea8359062c0dac/rs-matter/src/data_model/objects/node.rs#L125

You are looking at the wildcard code path (i.e. client wants to read a bunch of attributes).
Only during wildcard reads we are silently dropping unknown attributes or attributes for which the client does not have permissions. Which is as per the spec.
For non-wildcard queries, we return errors (status errors, that is), as the spec mandates. Otherwise, I would not have even noticed that this read is failing.

In rs-matter, the ErrorCode::AttributeNotFound that's yielded from the handler feels wrong to me, it's more like a severe internal configuration error indicating the CLUSTER has an attribute defined that the Attributes enum doesn't contain, most likely caused by an id mismatch due to the manual copy/pasting that happens when adding attributes.

Not all errors are severe, and in general, most of the errors can be converted to IMStatusCodes and sent back. For example, AttributeNotFound is converted to IMStatusCode::UnsupportedAttriute here and then sent; it is that status code which I noticed in the output log. Note also that this status code generation does not even happen during cluster invocation but earlier - during the read request traversal, here which arrives here.

Woof, this protocol is a beast :) Thanks though, these clarifications help a ton.  Btw, from the meeting notes I can confirm that simply supporting UniqueId by sending back an empty string works to be added to Google Home.  Happy to have independent confirmation but that's the basis for my analysis that concludes that optional attributes really are meant to be known and supported but to return some default value.

Woof, this protocol is a beast :) Thanks though, these clarifications help a ton.
 And it is supposed to work on embedded, with just a few tens of kilos of RAM. :)

Btw, from the meeting notes I can confirm that simply supporting UniqueId by sending back an empty string works to be added to Google Home. Happy to have independent confirmation but that's the basis for my analysis that concludes that optional attributes really are meant to be known and supported but to return some default value.

What is still unclear (IMO) is whether the code in the Matter C++ SDK you stumbled upon returns an optional value for ALL unknown attributes - **across all clusters ** - or for some unknown reason they implemented this defaulting hack just for the BasicInfo cluster.

I confirmed that the chip-tool read on BasicInfo::UniqueId indeed return UnsupportedAttribute if explicitly read; and correctly ignores the listing, if all attributes are read through a wildcard read.

I confirmed that the chip-tool read on BasicInfo::UniqueId indeed return UnsupportedAttribute if explicitly read; and correctly ignores the listing, if all attributes are read through a wildcard read.

You mean when chiptool is reading fromrs-matter or when chip-tool is reading from the Matter C++ SDK?

@kedars I don't know what had changed in the past months, but provisioning with a Google Controller works for me again without these changes. So I'll close this...


How to get video features in VideoCLIP without any access to captions

For VideoCLIP, how do we get the video encoder features without access to any captions. The default code at https://github.com/facebookresearch/fairseq/blob/main/examples/MMPT/README.md results in MMBertForEncoder as the final video encoder and it requires input_ids which in turn are based on caps. How do we work around this?

Hi, I'm also working on this problem. It seems like the MMPTModel.model is one of the subclass of MMFusionShare and you can use the MMPTModel.model.forward_video directly when having only video or use ***.forward_text when only have text.

Hi, did any of you end up getting the VideoCLIP example to work? Could you please share your package versions and stuff? I can't get it to run.


Update hidden_channels.js

That's gunna be a no from me, dawg.

I hope you're drunk or something. Not only does this make the plugin not work, but apparently that word means "suck me", to which I say no thank you.


Use BLAS syrk to speed up some dot-based operations

Related: https://github.com/numpy/numpy/issues/6794
Related: https://github.com/xianyi/OpenBLAS/issues/730
Any BLAS has a special operation when dealing with the multiplication of a matrix by its transpose and it is called syrk. This is currently not used by numpy.dot (though that may change in the future). To get a bit more of a speedup in this case, we can call the C-API of the BLAS directly by using SciPy. This is what is attempted here.

While using syrk is definitely a bit faster than using numpy.dot, there is a slowdown due to needing to copy the upper triangle to the lower triangle of the array. As a result, this is still not reaching the needed speed.

The previously tried strategies to perform the copy of the upper triangle to the lower triangle were still too slow. When working on a Fortran arrays of appreciable size there was a less than ~10% speedup. However, we normally work with C arrays so this is not very helpful. As a result, I tried implementing a cython function to perform the copying. The code is included below.
cimport cython
from cython cimport numeric

@cython.boundscheck(False)
@cython.wraparound(False)
cpdef symmetrize_lower_triangular(numeric[:,:] A):
    """ Copy the upper triangle to the lower triangle such that `A` is symmetric. Diagonal is ignored. """
    assert A.shape[0] == A.shape[1]

    cdef size_t i_max = A.shape[0]
    cdef size_t j_max = A.shape[1]

    cdef size_t i
    cdef size_t j

    with nogil:
        for i in xrange(0, i_max):
            for j in xrange(i+1, j_max):
                A[j,i] = A[i,j]

This resulted in a speedup of around 20-30% on arrays of a notable size (300x300 or bigger). On smaller arrays it resulted in negligible gains and even small losses in speed at times. Given that this code works mainly on large arrays, this sort of optimization is acceptable.
However, there remains concern when using C-arrays given the BLAS used. It seems this optimization would do better in NumPy's dot function ultimately. This should negate many of the costs with associated with crossing back and forth through the Python/C/Fortran boundaries.

In light of my discoveries here in playing with this dot product optimization, I created a PR to NumPy to include this optimization in numpy.dot. ( https://github.com/numpy/numpy/pull/6932 ) This introduces an optimization in numpy.dot when it can detect a matrix is transposed. Its gains are much more sizable than the ones seen here. For appreciably sized arrays, it is nearly a 2x speedup.
This PR to NumPy was recently accepted and will show up in the 1.11.0 release. However, we can also backport our patch and apply it to our version NumPy 1.10.x. As there was a recent NumPy release tonight, we will need to do a rebuild anyways. So, this is a good time to apply the patch and make use of it immediately until 1.11.0 is released.
Given that the existing code will benefit from this change without any of these modifications, it makes more sense to close this out.

After trying out ( https://github.com/numpy/numpy/pull/6932 ) on some sizable data, this seems to be a ~30% speedup. This doesn't eliminate the merging bottleneck entirely, but it does significantly speed it up.


Would it be better for the reports to be pictures instead of text?

Right now, the air quality reports are 3 posts nested within a Twitter thread. That may be too long to capture people's attention. Instead, it may be more beneficial to design the post like how they do IG slides.
Explore this idea by creating a template in Canva and comparing to the Twitter prototype.

Yes, using pictures instead of text