Podman team is interested in this tool or something similar.

We would like to add this functionality similar to oci-seccomp-bpf-hook and allow users to gather this information about capabilities as well as syscalls.
We kind of like the idea of learning mode, where the container can run in production mode for a few months gathering all of the capabilities. Once users are happy with the  container, then they can switch it to enforcing mode, and only allow the previously gathered capabilities (or syscalls).  Now I would want to keep the scanner going to watch for failed capabilities.
I even think this would be a good debugging code to allow users to figure out why a container is getting permission denied.
Currently seccomp and SELinux at least print messages in the audit.log when something is denied, there is no such mechanism for Capabilities.
Where is the output of this tool written, can you run it in permissive mode?

@vrothberg PTAL


Kendra not syncing data source

Steps to recreate:

Create a new workspace on Kendra with your index created during deployment
Upload documents and wait for documents to show processed
Run query on documents, no results will show in metadata
Go to Kendra index > Data Sources in AWS console
Data source sync history will show empty and no last run time

Things to note:

Kendra processed status is almost instant in workspace view but typically it takes a few minutes, depending on the document size.
v2 of the Kendra Rag would start the sync after you uploaded documents. Might be worth comparing v3 to v2.

Yes, updating the Kendra index takes more time. Pressing the "Start Kendra Data Sync" button is required. After doing so, it takes a few minutes to sync the Kendra Index. We no longer sync it after each file upload.
I agree that a clearer status indication is necessary.


[docs] Add Tasks documentation

What type of pull request is this?

[ ] Non-breaking code change
[ ] Breaking code change
[x] Documentation change/addition
[ ] Tests change

Description

Added documentation for Tasks
Changes

Add 40 Tasks.md to docs

Checklist

[ ] I've formatted my code with Black
[ ] I've ensured my code works on Python 3.10.x
[x] I've tested my code

rip test bot, will fix that in a bit


BUG: name override not passed through in recursive _asdict call

Description
The only real change here is adding this line:
                    apply_name_overload=apply_name_overload,

Everything else is from running make tidy

Sharepoint-with-permissions passed CI this time... It's so unpredictable.


chore: switch to pull ci-pre-commit from techneg

:tada: This PR is included in version 2.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add UseQuotes parameter

PR Summary
Close #8890
Add new parameter -UseQuotes to Export-Csv and ConvertTo-Csv cmdlets:

Never - don't quote anything.
Always - quote everything (current and default behavior).
AsNeeded - only quote fields that need it (they contain a delimiter character).

The PR doesn't change default to AsNeeded as requested in #8890. We could do this later because it is breaking change and we need to discuss this.
The PR doesn't add StringsOnly. This allows to produce broken output csv files where values contain unquoted delimiter. AsNeeded is best choice. If I wrong we can add this later.
PR Context
Please look #8890.
Some application don't like quotes in cvs files.
/cc @DavidBerg-MSFT
PR Checklist

[ ] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[ ] Summarized changes
[ ] Change is not breaking
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

User-facing changes

[ ] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] to your commit messages if the change is significant or affects feature tests

            dest.Append(c);

FYI, building the string up one at a time is really slow... (I know, not new code).
I was curious how slow, so I came up with four alternatives:

Append One Char at a time - current approach
Append All or One at a time - check for quote, then pick Append String or Char
Append Incrementally - run through the string char for char, but append in chunks
Append All or Incrementally - check for quote, then chunk

For test data without quotes, the times are:

Append One Char at a time: 374
Append All or One at a time: 163
Append Incrementally: 331
Append All or Incrementally: 163

In other words, it really pays off (2x faster) to add the check (if indexof('"') == -1 then append string).  But what if the string has a quote (or more)?   How much time does it add?
For test data with a quote, the times are:

Append One Char at a time: 382
Append All or One at a time: 404
Append Incrementally: 348
Append All or Incrementally: 379

So adding the extra check added ~6% overhead in this case. (which we can make back up by using an incremental chunked approach).  Probably worth it since the bulk of strings probably won't have embedded quotes, so we'll probably average 2x faster.

Refers to: src/Microsoft.PowerShell.Commands.Utility/commands/utility/CSVCommands.cs:1081 in fe379e2. [](commit_id = fe379e2122f4ee04cccbd7d30fe00d27bbbd3899, deletion_comment = False)

            dest.Append(c);

FYI, here's the optimized code:
        private static void AddStringAllOrIncremental(StringBuilder dest, string source)
        {
            if (source == null)
            {
                return;
            }

            // Adding Double quote to all strings
            dest.Append('"');
            if (source.IndexOf('"') >= 0) // shortcut if escape not necessary
            {
                int startIndex = 0;
                for (int i = 0; i < source.Length; i++)
                {
                    char c = source[i];

                    // Double quote in the string is escaped with double quote
                    if (c == '"')
                    {
                        dest.Append(source, startIndex, i - startIndex);  // copy everything up to this point
                        dest.Append('"');
                        startIndex = i;
                    }
                }
                dest.Append(source, startIndex, source.Length - startIndex); // copy the rest of the string
            }
            else
            {
                dest.Append(source);
            }

            dest.Append('"');
        }

    }

In reply to: 466544670 [](ancestors = 466544670)

Refers to: src/Microsoft.PowerShell.Commands.Utility/commands/utility/CSVCommands.cs:1081 in fe379e2. [](commit_id = fe379e2122f4ee04cccbd7d30fe00d27bbbd3899, deletion_comment = False)

            dest.Append(c);

In fairness, might be better as a separate change, since it's an optimization of existing code, only indirectly related to the new code.

In reply to: 466545320 [](ancestors = 466545320,466544670)

Refers to: src/Microsoft.PowerShell.Commands.Utility/commands/utility/CSVCommands.cs:1081 in fe379e2. [](commit_id = fe379e2122f4ee04cccbd7d30fe00d27bbbd3899, deletion_comment = False)

@DavidBerg-MSFT Many thanks! It is very interesting!
I hope the PR will fast reviewed and we get the new, very useful feature in 6.2 version. Then we could work on optimizations (also we plan to move to .Net Core 3.0 after releasing 6.2 that give us performance benefits too).
@SteveL-MSFT If your team is interesting to have this in 6.2 please review.

@DavidBerg-MSFT agree that the code optimization should be a separate PR.
@iSazonov can you address the Codacy issues?
Having taken a look at the code, the risk is small so we may be able to take this for 6.2-GA, but it won't make it into RC.

can you address the Codacy issues?

Done.

@iSazonov Looks like there is still 2 minor Codacy updates needed.

@anmenaga First was fixed. Second is false positive.

@SteveL-MSFT Will this be added to  6.2-GA?

Can you ask this in the maintainers teams channel with a link to the PR with your reason why and an analysis of the regression risk?

@TravisEz13 This is only an informational question to the previous Steve's comment. I don't need to have it in 6.2.

We have already forked for 6.2-GA based no RC.1.  So, this won't be in the build.

@DavidBerg-MSFT I tested your code on .Net Core 3.0 Preview3 and can not confirm results. In my tests original code is faster.
What .Net Core did you use? Could you share code of your tests?

I looked the code again. StringBuilder delays only on reallocating buffers. We reuse StringBuilder and exclude such re-allocations. Underlying method in StringBuilder copies very efficient by means of indexer for both char and strings. So I can not find how we could speed up the code - IndexOf() slow down the code and my tests confirm this.


add comment and answer comment

Here is the branch for the comment and the answer of each comment

If not needed, please erase files

conflicts resolved


Usage of Dioxus components

hey! Very interesting project, I hope you continue with it.
I see you are currently separating the UI in a sort type of Components but not exactly, it should be improved :D
You are currently doing it like this:
fn app() -> Element {
   rsx!(
       button { "hey" }
       {whatever(123)}
   )
}

fn whatever(value: usize) -> Element {
   rsx!(
       p { "whatever -> {value}" }
   )
}

But it should be like this:
fn app() -> Element {
   rsx!(
       button { "hey" }
       Whatever {
          value: 123
       }
   )
}

#[component]
fn Whatever(value: usize) -> Element {
   rsx!(
       p { "whatever -> {value}" }
   )
}

:v: 😄

Otherwise the whole app will run as a one single component, which will eventually lead to issues as hooks cannot be called conditionally, also because of possible performance issues

@marc2332 I'll happily wait if you want to review the code in #2, tested it and it works!


Error when use with latest GGML

Hi,
Can you update to be compatible with latest GGML?
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:186:26: error: use of undeclared identifier 'ggml_cpy_inplace'
    ggml_tensor* final = ggml_cpy_inplace(ctx, src, dst);
                         ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:523:9: error: use of undeclared identifier 'ggml_allocr_alloc'; did you mean 'ggml_tallocr_alloc'?
        ggml_allocr_alloc(allocr, embedding);
        ^~~~~~~~~~~~~~~~~
        ggml_tallocr_alloc
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:25: note: 'ggml_tallocr_alloc' declared here
GGML_API void           ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
                        ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:523:27: error: cannot initialize a parameter of type 'ggml_tallocr_t' (aka 'ggml_tallocr *') with an lvalue of type 'struct ggml_allocr *'
        ggml_allocr_alloc(allocr, embedding);
                          ^~~~~~
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_tallocr'
                                                             struct ggml_allocr* allocr,
                                                                    ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:59: note: passing argument to parameter 'talloc' here
GGML_API void           ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
                                                          ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:525:28: error: use of undeclared identifier 'ggml_allocr_is_measure'
    if (allocr != NULL && !ggml_allocr_is_measure(allocr)) {
                           ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:593:30: error: use of undeclared identifier 'ggml_allocr_new_measure_from_backend'
            compute_allocr = ggml_allocr_new_measure_from_backend(backend);
                             ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:598:35: error: use of undeclared identifier 'ggml_allocr_alloc_graph'; did you mean 'ggml_gallocr_alloc_graph'?
            compute_buffer_size = ggml_allocr_alloc_graph(compute_allocr, gf) + 1024 * 1024;
                                  ^~~~~~~~~~~~~~~~~~~~~~~
                                  ggml_gallocr_alloc_graph
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:15: note: 'ggml_gallocr_alloc_graph' declared here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
              ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:598:59: error: cannot initialize a parameter of type 'ggml_gallocr_t' (aka 'ggml_gallocr *') with an lvalue of type 'struct ggml_allocr *'
            compute_buffer_size = ggml_allocr_alloc_graph(compute_allocr, gf) + 1024 * 1024;
                                                          ^~~~~~~~~~~~~~
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_gallocr'
                                                             struct ggml_allocr* allocr,
                                                                    ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:55: note: passing argument to parameter 'galloc' here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
                                                      ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:601:13: error: use of undeclared identifier 'ggml_allocr_free'
            ggml_allocr_free(compute_allocr);
            ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:607:26: error: use of undeclared identifier 'ggml_allocr_new_from_buffer'
        compute_allocr = ggml_allocr_new_from_buffer(compute_buffer);
                         ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:611:9: error: use of undeclared identifier 'ggml_allocr_reset'
        ggml_allocr_reset(compute_allocr);
        ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:615:9: error: use of undeclared identifier 'ggml_allocr_alloc_graph'; did you mean 'ggml_gallocr_alloc_graph'?
        ggml_allocr_alloc_graph(compute_allocr, gf);
        ^~~~~~~~~~~~~~~~~~~~~~~
        ggml_gallocr_alloc_graph
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:15: note: 'ggml_gallocr_alloc_graph' declared here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
              ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:615:33: error: cannot initialize a parameter of type 'ggml_gallocr_t' (aka 'ggml_gallocr *') with an lvalue of type 'struct ggml_allocr *'
        ggml_allocr_alloc_graph(compute_allocr, gf);
                                ^~~~~~~~~~~~~~
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_gallocr'
                                                             struct ggml_allocr* allocr,
                                                                    ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:57:55: note: passing argument to parameter 'galloc' here
GGML_API bool ggml_gallocr_alloc_graph(ggml_gallocr_t galloc, struct ggml_cgraph * graph);
                                                      ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:639:9: error: use of undeclared identifier 'ggml_allocr_free'
        ggml_allocr_free(compute_allocr);
        ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:247:30: error: use of undeclared identifier 'ggml_allocr_new_from_buffer'
        ggml_allocr* alloc = ggml_allocr_new_from_buffer(params_buffer);
                             ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:268:17: error: use of undeclared identifier 'ggml_allocr_alloc'; did you mean 'ggml_tallocr_alloc'?
                ggml_allocr_alloc(alloc, t);
                ^~~~~~~~~~~~~~~~~
                ggml_tallocr_alloc
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:25: note: 'ggml_tallocr_alloc' declared here
GGML_API void           ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
                        ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:268:35: error: cannot initialize a parameter of type 'ggml_tallocr_t' (aka 'ggml_tallocr *') with an lvalue of type 'ggml_allocr *'
                ggml_allocr_alloc(alloc, t);
                                  ^~~~~
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_tallocr'
                                                             struct ggml_allocr* allocr,
                                                                    ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:59: note: passing argument to parameter 'talloc' here
GGML_API void           ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
                                                          ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:271:9: error: use of undeclared identifier 'ggml_allocr_free'
        ggml_allocr_free(alloc);
        ^
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:385:13: error: use of undeclared identifier 'ggml_allocr_alloc'; did you mean 'ggml_tallocr_alloc'?
            ggml_allocr_alloc(compute_allocr, x_);
            ^~~~~~~~~~~~~~~~~
            ggml_tallocr_alloc
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:25: note: 'ggml_tallocr_alloc' declared here
GGML_API void           ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
                        ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:385:31: error: cannot initialize a parameter of type 'ggml_tallocr_t' (aka 'ggml_tallocr *') with an lvalue of type 'struct ggml_allocr *'
            ggml_allocr_alloc(compute_allocr, x_);
                              ^~~~~~~~~~~~~~
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:511:69: note: 'ggml_allocr' is not defined, but forward declared here; conversion would be valid if it was derived from 'ggml_tallocr'
                                                             struct ggml_allocr* allocr,
                                                                    ^
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:1:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/esrgan.hpp:4:
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:22:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/ggml/include/ggml/ggml-alloc.h:18:59: note: passing argument to parameter 'talloc' here
GGML_API void           ggml_tallocr_alloc(ggml_tallocr_t talloc, struct ggml_tensor * tensor);
                                                          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]

Hello, I have encountered the same problem. Have you resolved it?

Nope. I’m waiting the update.
Em qua., 21 de fev. de 2024 às 01:39, NaNBridge @.***>
escreveu:

Hello, I have encountered the same problem. Have you resolved it?
—
Reply to this email directly, view it on GitHub
https://github.com/leejet/stable-diffusion.cpp/issues/177#issuecomment-1955878402,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADAOWDLMNXAS7SSPXC3ZGTYUV3BBAVCNFSM6AAAAABDNUN2USVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJVHA3TQNBQGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

The reason for the error is that the recent updates to ggml have caused some symbol changes. The solution is to roll back ggml to the version at least a week ago.

In my case, i can't, because i use in my app ggml, llama.cpp, whisper.cpp and stable-diffusion.cpp, all together and the only project with problem is sd.cpp.

@leejet can you help us with this? pls.

@leejet can you add support for this: https://github.com/ggerganov/ggml/issues/647       pls

@leejet can you help us with this? pls.

I have updated ggml to the latest commit. You can pull the latest changes from the master branch and give it a try.

@leejet can you add support for this: ggerganov/ggml#647 pls

I am not familiar with Metal at the moment, so I may not be of much help.

Hi @leejet dont need know it, only need use ggml_backend_alloc_ctx_tensors as indicated here https://github.com/ggerganov/ggml/issues/647 like llama.cpp and whisper.cpp already use. plsssss

Also, when i update to latest GGML one error happen:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/stable-diffusion.cpp:127:9: error: use of undeclared identifier 'ggml_metal_log_set_callback'; did you mean 'ggml_backend_metal_log_set_callback'?
        ggml_metal_log_set_callback(ggml_log_callback_default, nullptr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Here:
https://github.com/search?q=repo%3Aleejet%2Fstable-diffusion.cpp ggml_metal_log_set_callback&type=code
Can you update these things?

It seems that your ggml is not up to date because the submodule URL has changed. Try executing the following command to update it.
git submodule sync
git submodule update

The latest master code has already utilized ggml_backend_alloc_ctx_tensors.

Im seeing your code from master and it still use old functions, like this:
https://github.com/search?q=repo%3Aleejet%2Fstable-diffusion.cpp ggml_metal_log_set_callback&type=code
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:24: error: use of undeclared identifier 'ggml_metal_log_set_callback'; did you mean 'ggml_backend_metal_log_set_callback'?
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:24:9: error: use of undeclared identifier 'ggml_metal_log_set_callback'; did you mean 'ggml_backend_metal_log_set_callback'?
        ggml_metal_log_set_callback(ggml_log_callback_default, nullptr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        ggml_backend_metal_log_set_callback
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/../ggml/src/ggml-metal.h:43:15: note: 'ggml_backend_metal_log_set_callback' declared here
GGML_API void ggml_backend_metal_log_set_callback(ggml_log_callback log_callback, void * user_data);
              ^

You need use ggml_backend_metal_log_set_callback instead of ggml_metal_log_set_callback.

We still have some problems:
PROBLEM 1:
Im seeing your code from master and it still use old functions, like this:
https://github.com/search?q=repo%3Aleejet%2Fstable-diffusion.cpp ggml_metal_log_set_callback&type=code
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:24: error: use of undeclared identifier 'ggml_metal_log_set_callback'; did you mean 'ggml_backend_metal_log_set_callback'?
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/upscaler.cpp:24:9: error: use of undeclared identifier 'ggml_metal_log_set_callback'; did you mean 'ggml_backend_metal_log_set_callback'?
        ggml_metal_log_set_callback(ggml_log_callback_default, nullptr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        ggml_backend_metal_log_set_callback
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/../ggml/src/ggml-metal.h:43:15: note: 'ggml_backend_metal_log_set_callback' declared here
GGML_API void ggml_backend_metal_log_set_callback(ggml_log_callback log_callback, void * user_data);
              ^

You need use ggml_backend_metal_log_set_callback instead of ggml_metal_log_set_callback.

**PROBLEM 2:**
You use a function called ggml_timestep_embedding that ins't inside GGML code.
See: https://github.com/search?q=repo%3Aggerganov%2Fggml ggml_timestep_embedding&type=code
Error:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:693: error: use of undeclared identifier 'ggml_timestep_embedding'; did you mean 'ggml_nn_timestep_embedding'?
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:693:12: error: use of undeclared identifier 'ggml_timestep_embedding'; did you mean 'ggml_nn_timestep_embedding'?
    return ggml_timestep_embedding(ctx, timesteps, dim, max_period);
           ^~~~~~~~~~~~~~~~~~~~~~~
           ggml_nn_timestep_embedding
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/ggml_extend.hpp:688:39: note: 'ggml_nn_timestep_embedding' declared here
__STATIC_INLINE__ struct ggml_tensor* ggml_nn_timestep_embedding(
                                      ^

PROBLEM 3:
You are using a function called ggml_arange that is not inside GGML code.
See: https://github.com/search?q=repo%3Aggerganov%2Fggml ggml_arange&type=code
Error:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/unet.hpp:114: error: use of undeclared identifier 'ggml_arange'
In file included from /Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/stable-diffusion.cpp:15:
/Users/paulo/Developer/workspaces/cpp/ai-kit/vendor/stable-diffusion/unet.hpp:114:27: error: use of undeclared identifier 'ggml_arange'
        auto num_frames = ggml_arange(ctx, 0, timesteps, 1);
                          ^

#183 fixes the first issue.

Nice, only left that two removed functions from GGML:
ggml_timestep_embedding and ggml_arange

The latest master branch is using this: https://github.com/leejet/ggml/tree/batch-inference. It seems that your ggml is not up to date because the submodule URL has changed. Try executing the following command to update it.
git submodule sync
git submodule update

Fixed. Thanks.


Chore/add-css-types-to-toast

Before submitting the PR:

[ ] Does your PR reference an issue? If not, please chat to the team on Discord or GitHub before submission.
[ ] Did you update and run tests before submission using npm run test?
[ ] Does your branch follow our naming convention? If not, please amend the branch name using branch -m new-branch-name
[ ] Did you update documentation related to your new feature or changes?

What does your PR address?
Minor change; just adds the CssClasses magic type to the relevant ToastSettings props so we get autocomplete on it.

before you ask, no, I have no idea how the darned git history is so polluted... But this is just a single file change :/

@ryceg yeah I was about to comment on the history. To be safe I might recommend you clone down the repo fresh and submit this again. @niktek might can provide some guidance as well.


cookbook throws LoadError exception - which is not handled by rescue

When using this cookbook as part of a vagrant/chef-solo run, I see the following:
==> default: ================================================================================
==> default: Recipe Compile Error in /tmp/vagrant-chef-3/chef-solo-1/cookbooks/solo-search/libraries/search.rb
==> default: ================================================================================
==> default:
==> default:
==> default: Gem::LoadError
==> default: --------------
==> default: chef_gem[treetop] (dynamically defined) had an error: Gem::LoadError: Could not find 'treetop' (= 1.5.1) - did find: [treetop-1.5.3]
==> default: Checked in 'GEM_PATH=/root/.gem/ruby/1.9.1:/usr/lib/ruby/gems/1.9.1', execute `gem env` for more information
==> default:
==> default:
==> default: Cookbook Trace:
==> default: ---------------
==> default:   /tmp/vagrant-chef-3/chef-solo-1/cookbooks/solo-search/libraries/search.rb:33:in `<top (required)>'
==> default:
==> default:
==> default: Relevant File Content:
==> default: ----------------------
==> default: /tmp/vagrant-chef-3/chef-solo-1/cookbooks/solo-search/libraries/search.rb:
==> default:
==> default:  26:    # All chef/solr_query/* classes were removed in Chef 11; Load vendored copy
==> default:  27:    # that ships with this cookbook
==> default:  28:    $: << File.expand_path("vendor", File.dirname(__FILE__)) if Chef::VERSION.to_i >= 11
==> default:  29:
==> default:  30:    # Ensure the treetop gem is installed and available
==> default:  31:    treetop_loadable = false
==> default:  32:    begin
==> default:  33>>     gem 'treetop', '=1.5.1'
==> default:  34:      require 'treetop'
==> default:  35:      treetop_loadable = true
==> default:  36:    rescue LoadError
==> default:  37:      run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
==> default:  38:      chef_gem = Chef::Resource::ChefGem.new("treetop", run_context)
==> default:  39:      chef_gem.version('= 1.5.1')
==> default:  40:      chef_gem.run_action(:install)
==> default:  41:      #chef gem isn't run in whyrun mode
==> default:  42:      treetop_loadable = !Chef::Config[:why_run]
==> default:
==> default:
==> default:
==> default: [2014-10-16T15:40:32+00:00] INFO: Forking chef instance to converge...
==> default: [2014-10-16T15:40:41+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

I think that this error remains, it is just the second run which wil succeed, because then the gem "treetop" is installed. I have no idea, why despite the rescue-block this exception is bubbles up. Anyone?


Draw ellipsoids

Similar to the old
 sphere = Sphere(Point3f0(0,0,0), 1.0f0)
 viz = visualize(
        (sphere, (mean),
        scale = scale,
        rotation = rotation);
        args...
    )
with `rotation` a rotation quaternion or something.

See e.g.
https://github.com/mschauer/Bridge.jl/blob/3e9f2f1cac4a8d754020eaca3fcfa2e7bbff97ea/extra/makie.jl#L35

are you looking for:
sphere = Sphere(Point3f0(0,0,0), 1.0f0)
meshscatter(mean, scale = scale, rotations = rotation, marker = sphere)

Solved: https://gist.github.com/mschauer/a58e5ccab971a617ec965253ac3407bf


Carthage issues with Xcode 7 beta 4

I made a blank director with the Cartfile that reads:
github "Alamofire/Alamofire" "swift-2.0"

carthage update --configuration Debug will build successfully
carthage update fails

See #610.

Thank you for reporting @jeeftor. We're aware of the issue and are tracking it in #610 (thanks @ikesyo). Please redirect all further comments to that ticket. I'm going to close this out as a duplicate.


Allocated too much general space in .rela.dyn. 2 of 7 entries remain unused when building C-Vise

Hey! I've just tried building my project C-Vise with Wild and I get:
❯ /usr/bin/g++  -Wall -Wextra -Werror -pedantic -Wno-unused-parameter -std=c++17 -fno-rtti -fno-strict-aliasing -fvisibility-inlines-hidden -Wno-error=mismatched-new-delete -Wno-error=maybe-uninitialized -Wno-error=class-memaccess -Wno-error=non-template-friend -g CMakeFiles/clang_delta.dir/AggregateToScalar.cpp.o CMakeFiles/clang_delta.dir/BinOpSimplification.cpp.o CMakeFiles/clang_delta.dir/CallExprToValue.cpp.o CMakeFiles/clang_delta.dir/ClangDelta.cpp.o CMakeFiles/clang_delta.dir/ClassTemplateToClass.cpp.o CMakeFiles/clang_delta.dir/ClassToStruct.cpp.o CMakeFiles/clang_delta.dir/CombineGlobalVarDecl.cpp.o CMakeFiles/clang_delta.dir/CombineLocalVarDecl.cpp.o CMakeFiles/clang_delta.dir/CopyPropagation.cpp.o CMakeFiles/clang_delta.dir/EmptyStructToInt.cpp.o CMakeFiles/clang_delta.dir/ExpressionDetector.cpp.o CMakeFiles/clang_delta.dir/InstantiateTemplateParam.cpp.o CMakeFiles/clang_delta.dir/InstantiateTemplateTypeParamToInt.cpp.o CMakeFiles/clang_delta.dir/LiftAssignmentExpr.cpp.o CMakeFiles/clang_delta.dir/LocalToGlobal.cpp.o CMakeFiles/clang_delta.dir/MoveDefinitionToDeclaration.cpp.o CMakeFiles/clang_delta.dir/MoveGlobalVar.cpp.o CMakeFiles/clang_delta.dir/ParamToGlobal.cpp.o CMakeFiles/clang_delta.dir/ParamToLocal.cpp.o CMakeFiles/clang_delta.dir/MemberToGlobal.cpp.o CMakeFiles/clang_delta.dir/ReduceArrayDim.cpp.o CMakeFiles/clang_delta.dir/ReduceArraySize.cpp.o CMakeFiles/clang_delta.dir/ReduceClassTemplateParameter.cpp.o CMakeFiles/clang_delta.dir/ReducePointerLevel.cpp.o CMakeFiles/clang_delta.dir/ReducePointerPairs.cpp.o CMakeFiles/clang_delta.dir/RemoveAddrTaken.cpp.o CMakeFiles/clang_delta.dir/RemoveArray.cpp.o CMakeFiles/clang_delta.dir/RemoveBaseClass.cpp.o CMakeFiles/clang_delta.dir/MergeBaseClass.cpp.o CMakeFiles/clang_delta.dir/RemoveCtorInitializer.cpp.o CMakeFiles/clang_delta.dir/RemoveEnumMemberValue.cpp.o CMakeFiles/clang_delta.dir/RemoveNamespace.cpp.o CMakeFiles/clang_delta.dir/RemoveNestedFunction.cpp.o CMakeFiles/clang_delta.dir/RemovePointer.cpp.o CMakeFiles/clang_delta.dir/RemoveTrivialBaseTemplate.cpp.o CMakeFiles/clang_delta.dir/RemoveTryCatch.cpp.o CMakeFiles/clang_delta.dir/RemoveUnresolvedBase.cpp.o CMakeFiles/clang_delta.dir/RemoveUnusedEnumMember.cpp.o CMakeFiles/clang_delta.dir/RemoveUnusedFunction.cpp.o CMakeFiles/clang_delta.dir/RemoveUnusedOuterClass.cpp.o CMakeFiles/clang_delta.dir/RemoveUnusedStructField.cpp.o CMakeFiles/clang_delta.dir/RemoveUnusedVar.cpp.o CMakeFiles/clang_delta.dir/RenameCXXMethod.cpp.o CMakeFiles/clang_delta.dir/RenameClass.cpp.o CMakeFiles/clang_delta.dir/RenameFun.cpp.o CMakeFiles/clang_delta.dir/RenameOperator.cpp.o CMakeFiles/clang_delta.dir/RenameParam.cpp.o CMakeFiles/clang_delta.dir/RenameVar.cpp.o CMakeFiles/clang_delta.dir/ReplaceArrayAccessWithIndex.cpp.o CMakeFiles/clang_delta.dir/ReplaceArrayIndexVar.cpp.o CMakeFiles/clang_delta.dir/ReplaceCallExpr.cpp.o CMakeFiles/clang_delta.dir/ReplaceClassWithBaseTemplateSpec.cpp.o CMakeFiles/clang_delta.dir/ReplaceDependentName.cpp.o CMakeFiles/clang_delta.dir/ReplaceDependentTypedef.cpp.o CMakeFiles/clang_delta.dir/ReplaceDerivedClass.cpp.o CMakeFiles/clang_delta.dir/ReplaceFunctionDefWithDecl.cpp.o CMakeFiles/clang_delta.dir/ReplaceOneLevelTypedefType.cpp.o CMakeFiles/clang_delta.dir/ReplaceSimpleTypedef.cpp.o CMakeFiles/clang_delta.dir/ReplaceUndefinedFunction.cpp.o CMakeFiles/clang_delta.dir/ReturnVoid.cpp.o CMakeFiles/clang_delta.dir/RewriteUtils.cpp.o CMakeFiles/clang_delta.dir/SimpleInliner.cpp.o CMakeFiles/clang_delta.dir/SimplifyCallExpr.cpp.o CMakeFiles/clang_delta.dir/SimplifyCommaExpr.cpp.o CMakeFiles/clang_delta.dir/SimplifyDependentTypedef.cpp.o CMakeFiles/clang_delta.dir/SimplifyIf.cpp.o CMakeFiles/clang_delta.dir/SimplifyNestedClass.cpp.o CMakeFiles/clang_delta.dir/SimplifyRecursiveTemplateInstantiation.cpp.o CMakeFiles/clang_delta.dir/SimplifyStruct.cpp.o CMakeFiles/clang_delta.dir/SimplifyStructUnionDecl.cpp.o CMakeFiles/clang_delta.dir/TemplateArgToInt.cpp.o CMakeFiles/clang_delta.dir/TemplateNonTypeArgToInt.cpp.o CMakeFiles/clang_delta.dir/Transformation.cpp.o CMakeFiles/clang_delta.dir/TransformationManager.cpp.o CMakeFiles/clang_delta.dir/UnifyFunctionDecl.cpp.o CMakeFiles/clang_delta.dir/UnionToStruct.cpp.o CMakeFiles/clang_delta.dir/VectorToArray.cpp.o CMakeFiles/clang_delta.dir/git_version.cpp.o -o clang_delta  -Wl,-rpath,/usr/lib64 /usr/lib64/libclang-cpp.so.18.1 /usr/lib64/libLLVM.so.18.1 -B ~/Programming/wild -Wl,--hash-style=gnu
Error: Failed copying from CMakeFiles/clang_delta.dir/TransformationManager.cpp.o (77) to output file

Caused by:
    Allocated too much general space in .rela.dyn. 2 of 7 entries remain unused.
collect2: error: ld returned 1 exit status

Is it something known? Would you be interested in a reduced test-case that will expose this problem?

Thanks for the report. I have a number of similar problems. I've got a test that tries to check for such bugs, but it must be missing some combination(s). Before you go to the effort of trying to reduce a test-case, I'll have a try to see if I can extend that test to find any more such issues

I haven't figured out what this bug might be, but I added two mechanisms that might help identify it.
The first mechanism is this commit. If that triggers, it'll start failing with a different message "Unexpected flag combination for symbol...". That will hopefully give me the information needed to figure it out.
If that doesn't trigger, then this commit adds support for printing all inputs to the allocation function for a particular input file. In your output above, the input file is file number 77, so you'd set WILD_PRINT_ALLOCATIONS=77 when running the build and the linker would print all allocations for that file.

Apparently, it's not triggering the first message and thus I'm attaching the WILD_PRINT_ALLOCATIONS output:
wild-cvise-output.txt
Feel free to contact me for any additional information needed!

Thanks @marxin. Good news. I've managed to reproduce the issue from a test. The problem is due to gcc's behaviour when compiling with -pie. It emits direct relocations to extern symbols, which means that at link time if those symbols end up coming from a shared object, the linker has to use copy relocations. IMO, copy relocations are a horrible hack that I wish didn't exist, but unfortunately they do. You can read more about them in this excellent blog post.

It's good that you found the root cause! Do you have any estimation how difficult would be adding the support for that in Wild linker?

I don't think it's too much work. I partially implemented it today - there's still a few details related to how the dynamic symbol gets emitted in the executable that I need to iron out though.

OK, I think copy relocations are working now.

Thank you David!
After pulling the latest changes, I face the following issue which can be demonstrated with the following simple test case:
❯ printf '#include<iostream>\nint main() { std::cout << "XXX" << std::endl; return 0; }' | gcc -x c++ - -lstdc++ -B ~/Programming/wild
Error: Failed copying from /tmp/cc2xt2wm.o (4) to output file

Caused by:
    0: Failed to apply relocations in section `.text` of /tmp/cc2xt2wm.o
    1: Failed to apply relocation of type 10 to symbol `_ZSt4cout` (78 local=9) in file #4 (/tmp/cc2xt2wm.o) defined as 5736 in file #5 (/usr/lib64/gcc/x86_64-suse-linux/13/libstdc++.so) (DYNAMIC) at offset 0xa
    2: insufficient allocation to .rela.dyn (non-relative)
collect2: error: ld returned 1 exit status

Can you reproduce it as well?

It doesn't reproduce on Ubuntu - tried with gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 and gcc (Debian 12.2.0-14) 12.2.0 and with both, Wild is able to link the test program OK.
I just tried in a  suse docker image and was able to reproduce there. I'll see if I can figure out what's going on...

I bet it's somehow related to how libstdc++.so is being built. Anyway, please try installing also gcc14-c++, there the error message is different:
$ printf '#include<iostream>\nint main() { std::cout << "XXX" << std::endl; return 0; }' | gcc-14 -x c++ - -lstdc++ -B ~/Programming/wild
Error: Internal error: ExportCopyRelocation sent to non-dynamic object
collect2: error: ld returned 1 exit status

Looks like one, possibly both problems are due to Wild not yet really supporting non-PIE dynamic executables. I'd considered previously if it might be possible to build a non-relocatable, dynamically linked executable, but it seemed obscure and I wasn't sure if it were even a thing. Apparently it is a thing and gcc on SUSE defaults to building non-relocatable executables even when they're dynamically linked.

Looks like one, possibly both problems are due to Wild not yet really supporting non-PIE dynamic executables.

Am I correct you mean -fno-pie binaries that have at least one dynamically linked dependency? If so, then probably almost all binaries have a dependency to libc.so.6, libgcc_s.so.1 and the libstdc++, right? The reason why you don't see it for Debian or Ubuntu is their GCC is configured with --enable-default-pie. Note, Fedora, similarly to openSUSE, does not use the --enable-default-pie option.
That said, is it really so weird use-case we're talking about?

This is fixed now.


Vulnerabilities and temp files

See https://github.com/dataplat/DataSaturdays/security/secret-scanning/1
Some files are in /temp and they should probably not be there?
@SQLDBAWithABeard what do you think?

Thats the API key for Parma to show the map. The temp file is created for each run just in case something screwy happens. I'm not so worried about the temp files but maybe we need to ping @solid-bases to check the google maps API key ??

I turned on secret scanning for the repos that I maintain, just to be safe and this has come up in the first scan. It does come from the first Parma event also.
Let me know what you wish. I can make it disappear from here and from the history if you like or it can be left. It is up to you (Well, Alessandro I guess!)

I confirm, Alessandro is aware and accepts the risks, you can leave it there 😄

Awesome,  thank you for checking.


No module named 'sklearn_hierarchical_classification', after successfully installation by pip

After successfully installation by pip, while importing in jupyter notebook, I am getting error-
No module named 'sklearn_hierarchical_classification',
Pip installation message(jupyter notebook instance and installation in the same env)-
pip install sklearn-hierarchical-classification
Requirement already satisfied: sklearn-hierarchical-classification in ./anaconda3/envs/tensorflow/lib/python3.5/site-packages (1.0.0)
Requirement already satisfied: scipy>=0.19.1 in ./.local/lib/python3.5/site-packages (from sklearn-hierarchical-classification) (1.2.0)
Requirement already satisfied: six>=1.10.0 in ./.local/lib/python3.5/site-packages (from sklearn-hierarchical-classification) (1.12.0)
Requirement already satisfied: networkx>=2.0 in ./anaconda3/envs/tensorflow/lib/python3.5/site-packages (from sklearn-hierarchical-classification) (2.2)
Requirement already satisfied: scikit-learn>=0.19.0 in ./.local/lib/python3.5/site-packages (from sklearn-hierarchical-classification) (0.20.2)
Requirement already satisfied: numpy>=1.13.1 in ./.local/lib/python3.5/site-packages (from sklearn-hierarchical-classification) (1.15.4)
Requirement already satisfied: decorator>=4.3.0 in ./anaconda3/envs/tensorflow/lib/python3.5/site-packages (from networkx>=2.0->sklearn-hierarchical-classification) (4.3.0)

Sounds like user error on installation / usage part - closing as wont fix


Provide stats for the recently introduced HTTP/2 rate limits

Provide stats for the limits introduced by 9c09dbc11

Overall looks great to me, but it seems like HTTP2_STAT_INSUFFICIENT_AVG_WINDOW_UPDATE_RATE is not incremented.

Fixed!

Cherry-picked to v9.0.x branch.


Cookie not being sent, when using a different backend port

Maybe this is my node/angular/js noobie showing, but I have altered the STORMPATH_CONFIG, since i run two separate apps ('frontend'  (angularjs) and 'backend' (node json api))
(Warning:  CoffeeScript)
angular.module('app.controllers', [
'stormpath'
])
.config( (STORMPATH_CONFIG) ->
STORMPATH_CONFIG.AUTHENTICATION_ENDPOINT = 'http://localhost:9000/oauth/token'
STORMPATH_CONFIG.CURRENT_USER_URI = 'http://localhost:9000/api/users/current'
)
...
When I do this, the two set-cookie's from /oauth/token are not sent back to /api/users/current.  Not certain if there is something else I need to adjust on my node backend script or not.  Hoping someone might know what is going on.    I will post code, as requested.

Hi @n8twj !
Requests to a different port will be considered cross-domain, do you see errors about that in the console?
If you are using our Express SDK you can whitelist localhost:3333 with this option:
https://github.com/stormpath/stormpath-sdk-express#allowedOrigins

I will try that specific option.... I have allowed for cors with header
options on server side.
On Saturday, February 14, 2015, robertjd<EMAIL_ADDRESS>wrote:

Hi @n8twj https://github.com/n8twj !
Requests to a different port will be considered cross-domain, do you see
errors about that in the console?
If you are using our Express SDK you can whitelist localhost:3333 with
this option:
https://github.com/stormpath/stormpath-sdk-express#allowedOrigins
—
Reply to this email directly or view it on GitHub
https://github.com/stormpath/stormpath-sdk-angularjs/issues/5#issuecomment-74403889
.

Previously worked thru the various errors about cross domain - everything
seems to be working, just no cookie being sent back
On Sunday, February 15, 2015, Jeremy McNamara<EMAIL_ADDRESS>wrote:

I will try that specific option.... I have allowed for cors with header
options on server side.
On Saturday, February 14, 2015, robertjd<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

Hi @n8twj https://github.com/n8twj !
Requests to a different port will be considered cross-domain, do you see
errors about that in the console?
If you are using our Express SDK you can whitelist localhost:3333 with
this option:
https://github.com/stormpath/stormpath-sdk-express#allowedOrigins
—
Reply to this email directly or view it on GitHub
https://github.com/stormpath/stormpath-sdk-angularjs/issues/5#issuecomment-74403889
.

Hey again.  The issue here is, unfortunately, still with CORS.  Because the cookie is being sent by the :9000 domain, only pages on that domain will send the cookie to the server.  That's why it seems like the cookie isn't being set, but really it just isn't readable from the :3333 domain.
The workaround is to manually store the access token in local storage.  The local storage area is vulnerable to XSS attacks, so you must have confidence that no malicious scripts will find their way onto your app.
I'm adding some code to this library which will do this automatically, I'll let you know when I have it (should be a day or two).  In the meantime you can experiment by enabling the access token response in the express SDK with the writeAccessTokenResponse option - this will make the access token available in the response body so that Angular can read it.  Note: I just updated that library with a fix, you'll need to update it.

I will absolutely take a look at that option.   In the mean time, I combined my frontend and backend apps.   I am using Brunch.io (vs Grunt/Gulp)... What I am seeing now is two XSRF-TOKEN cookies getting set, but I cannot explain why... also access_token is not showing up as a detected cookie.   Any ideas would be appreciated.   Your example app does not experience this behavior  :(

As I suspected....Upon digging into Brunch.io, I discovered they use pushserver, which by default adds CORS protection.

CORS is now possible with this library, using the ENDPOINT_PREFIX option in STORMPATH_CONFIG.  You need to ensure that your back-end server is setting the appropriate headers (allowing requests from the other domain, and allowing credentialed requests from the other domain).


Issues on Batch page

Describe the bug
When I ran the code at the top of this page, I got an error: https://docs.quantum.ibm.com/api/qiskit-ibm-runtime/qiskit_ibm_runtime.Batch
Also, all of the attribute descriptions talk about sessions.  See screenshot for example:

Steps to reproduce
Copy this code into Jupyter notebook and run it:
from qiskit.circuit.random import random_circuit
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import Batch, SamplerV2 as Sampler, QiskitRuntimeService

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)

# generate fifty unique three-qubit random circuits
circuits = [pm.run(random_circuit(3, 2, measure=True)) for _ in range(50)]

# split up the list of circuits into partitions
max_circuits = 10
partitions = [circuits[i : i + max_circuits] for i in range(0, len(circuits), max_circuits)]

# run the circuits in batched mode
with Batch(backend=backend):
    sampler = Sampler()
    for partition in partitions:
        job = sampler.run(partition)
        pub_result = job.result()[0]
        print(f"Sampler job ID: {job.job_id()}")
        print(f"Counts for the first PUB: {pub_result.data.cr.get_counts()}")

I get this error:

AttributeError                            Traceback (most recent call last)
Cell In[19], line 23
21 pub_result = job.result()[0]
22 print(f"Sampler job ID: {job.job_id()}")
---> 23 print(f"Counts for the first PUB: {pub_result.data.cr.get_counts()}")
AttributeError: 'DataBin' object has no attribute 'cr'
Expected behavior
To not get an error
Suggested solutions
Additional Information

qiskit-ibm-runtime version:
Python version:
Operating system:

Looks like the code example fails because we are using random circuits and it's not guaranteed to have classical registers (cr), which results in AttributeError: 'DataBin' object has no attribute 'cr'.

@jyu00 to follow up with @beckykd


Build for openbsd

Adds a build for openbsd and restructures a few things to make supporting bsd family of OS easier.
We should think about this change in relation to #808
openbsd was requested in #806

Rebased on master in order to pull in changes from #808
Would be nice to get this merged. We have a user on Nebula OSS Slack who'd like to try running on OpenBSD.

@wadey did a little bit of work towards this goal in https://github.com/wadey/nebula/tree/smoke-openbsd
To run it with Virtualbox and Vagrant, use make smoke-vagrant/openbsd-amd64
It's currently failing with:
time="2023-01-23T21:48:50Z" level=fatal msg="failed to run 'route add': exit status 1"

@wadey thinks the following may solve the issue: sudo /sbin/route -n add -inet <IP_ADDRESS>/24 <IP_ADDRESS>
[vagrant@openbsd7 ~]$ route get <IP_ADDRESS>
   route to: <IP_ADDRESS>
destination: <IP_ADDRESS>
       mask: <IP_ADDRESS>
    gateway: <IP_ADDRESS>
  interface: tun0
 if address: <IP_ADDRESS>
   priority: 8 (static)
      flags: <UP,GATEWAY,DONE,STATIC>
     use       mtu    expire
       1         0         0

I think the command you probably want here is /sbin/route -n add -net <IP_ADDRESS>/24 -link -iface tun0.

We should add release-openbsd  to the Makefile and add it to the release workflow as well here:

https://github.com/slackhq/nebula/blob/e5af94e27a6907c5adbe5eea2649e480bce1af89/.github/workflows/release.yml#L22


Coco for windows users

Hi,
For the people facing issues installing cocoapi on windows I would recommend using this fork for installation in step 2
pip3 install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"

For build issues (for example in cpython bbox library => adjust the setup.py from source by
Replacing
extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],
to
extra_compile_args={'gcc': ['/Qstd=c99']}


Camp refactoring

Something I worked on over the weekend. This is the last big refactoring for Hoodie’s camp release. Sorry I know it’s a lot of changes, but old integration tests still pass, and it also works with the our end-to-end tests in app-hoodie-tracker.
Reviewing might be hard, maybe look through the final code only and see if it makes sense. I’m happy with the result myself
ping @hoodiehq/maintainers

merged via f3bb199, 041b463, d9ab33d, ec7d76b, 7ddbccc, 46341c0, bdaf656, 2ec7ffe, e57a010, bd429b2. I’ll leave the refactoring branch intact in case someone wants to review the refactoring process


Adding the possibility of costum arrows (prev/next) on hooper navigation

I think this feature would be useful not just for me, costum arrows on https://baianat.github.io/hooper/examples.html#navigation-component like images, or costum classes so it can be easily manipulated. An easy way to change the default arrows/icons so we won't have to be 'restricted' to use the default ones.

You can customize navigation arrows easily, see related issue #50

Thank you


chore: add gnullvm cross check to the CI

Oops, bad push.

This should be ready now, right?

The i686 build needs a new cc-rs release or a workaround by manually specifying the linker.
I will wait a bit as the release seems to already be in progress.


Movie exception mapper

Added the exception mapper for a couple of standard http responses aswell as test for each response.
Closes #35

Both pipeline and sonarcloud tests failed? Could this be because of a missing dependency?


SQL issue Image metadata tag names

If a image metadata tag name contains characters or strings that break the SQL table creation, then it will cause problems.
Currently found characters include '-'.
The names going into the SQL table should be sanitised properly, and so the table names aren't problematic.

Fixed in branch img_tags_SQL_chars


Add step to create release draft and upload zip

Uses https://github.com/softprops/action-gh-release to create a draft release and upload the Northstar release zip to it.
I adapted the example found here for Northstar.
Not tested cause not sure how I'd do it with act without modifying releases on this repo...

Also doesn't skip release candidates cause I don't know to adapt the if to ignore version numbers with the -rcX suffix ^^"

Not tested cause not sure how I'd do it with act without modifying releases on this repo...

I generally work on a separate testing repo for trying out workflows.

don't know to adapt the if to ignore version numbers with the -rcX suffix

Something like startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-rc') should be a good-enough approximation; you'd need to define a custom step with github-script or something similar if you want it more granular.

don't know to adapt the if to ignore version numbers with the -rcX suffix

Something like startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-rc') should be a good-enough approximation; you'd need to define a custom step with github-script or something similar if you want it more granular.

Added that in 34eb359b12894d7215a8a0e6d357bc7a71af1c79 and seems to work.

Not tested cause not sure how I'd do it with act without modifying releases on this repo...

I generally work on a separate testing repo for trying out workflows.

Forked into https://github.com/GeckoEidechse/Northstar and did some testing. Found 2 more issues (missing perms and uploading zips) and resolved them now in 6d90f5f61e8b00553939c5014d5fd89e5a7d420c
For a successful run, see https://github.com/GeckoEidechse/Northstar/actions/runs/4344931842
Note that Thunderstore job failing is expected on the fork as it's missing the auth key to publish to Thunderstore. As there were no changes to that job I don't think it's necessary to test it ^^


Issue with AWS SDK

Hello,
I am trying to use this lib to control some flows where I put some records on AWS Kinesis firehose, but I am getting a weird error inside aws lib. The original function is like this:
    firehose.putRecord(params, function(err, data) {
      if (err) {
        console.log(err, err.stack); // an error occurred
      } else console.log(data); // successful response
    });

when I do this:
  let firehoseWrapper = streamHighland.wrapCallback(firehose.putRecord);
...
.map(mapFirehose)
    .map(firehoseWrapper)
    .series()
    .each(console.log)

I get this error:
/home/bruno/Dev/consolidate-rri/node_modules/aws-sdk/lib/service.js:499
          return this.makeRequest(method, params, callback);
                      ^

TypeError: this.makeRequest is not a function

I tried also not using the wrapper itself:
  function firehoseWrapper(rri) {
    console.log(rri);
    // create a new Stream
    return streamHighland(function (push, next) {
      firehose.putRecord(params, function(err, data) {
        push(err, data)
      });
    });
};

But got the same error. Any toughs on what I could do?

You need to bind firehose to this.
let firehoseWrapper = streamHighland.wrapCallback(firehose.putRecord.bind(firehose));

From what I remember, the AWS SDK did some weird stuff with this, as a workaround I would suggest using the highland constructor and sdk's promise functionality
highland(firehouse.putRecord(params).promise());

@tomwhale Worked after binding :)!!! Really thx for the super fast response. Closing the issue since it's solved <3


Enables event proxy from a specific node.

This patch adds the functionality to specify a node when proxying browser events #232

Actually, on second thoughts — I rather this didn't go into Flight. It's not very obvious what's happening. Might save someone some debugging time ("Why isn't this event being listened for here? Why is it suddenly popping up there?") if we force people to be specific when they want to do this.


[restinio] update to 0.6.2

RESTinio updated to the latest version.

include(vcpkg_common_functions) is deprecated. Please remove it.

Removed.


Who sets tinc_control_plane_bind_ip?

In https://github.com/evrardjp/ansible-tinc/blob/master/tasks/tinc_configure.yml#L41 the ansible variable tinc_control_plane_bind_ip is used but never gets set or defined or initialized. Could you please explain how this variable is handled? I would have expected that ansible_default_ipv4.address or something similar is used. :)
Thanks in advance!

Got the same issue. Instead of this not defined var you can use the current host ip for that, like: {{ ansible_host }} or {{ ansible_eth0.ipv4.address }}. Then for me it works perfectly.

I added it in the documentation. Sorry I completely missed that ping.


Added ability to shift-click the currency button to have it rotate backwards

Renamed selectNextCurrency() in account.controller.js to selectCurrency().
Added tests for selectCurrency()

Hey @dunnen, this is interesting but users need to know this alternative. Maybe add a hint in the tooltip.

Added a tooltip. Here's a preview of what it looks like.

Great, thanks! 👍🏻

@dunnen  provide me with your ARK address or contact me on Ark slack (boldninja) if you don't want to share it publicly.

@boldninja ADS)(=j3q


[Automated] Update eventing-istio-eventing nightly (#211)

Update eventing nightly
Signed-off-by: Knative Automation<EMAIL_ADDRESS>

OCF Webhook is merging this PR


[DOCFIX] Add PropertyList TODOs

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/442/
Test PASSed.


bug(mat-icon): Click not being captured

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
I have a mat-icon configured to capture the click inside mat-form-field together with a matInput field.
Any click on the icon is being treated only as a focus on the input field rather than triggering the click function.
Reproduction

Some label

search

Expected Behavior
Function configured on mat-icon click event is triggered
Actual Behavior
Input field shows focus
Environment

Angular: 16.2.3
CDK/Material: 16.2.2
Browser(s): Chrome
Operating System: Ubuntu

For interactive buttons, we have some guidance to wrap it in mat-button or an a element. Although placing a button inside a form field seems like an uncommon interaction pattern to me, and something we would unlikely support.
Without more information about your specific use case, I am going to close this bug. Feel free to create a new one with a StackBlitz reproduction.


changes for release

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!

[ ] If you've added a new tool - add to the software_versions process and a regex to scrape_software_versions.py
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/pgdb branch on the nf-core/test-datasets repository.

[x] Make sure your code lints (nf-core lint .).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[x] CHANGELOG.md is updated.
[x] README.md is updated (including new tool citations and authors/contributors).

Looks ok but seems like some stuff is missing, like the citations

Try to press "Resolve comment" in the other PR for the things you have done. And comment on the things that you feel do not need to be done.

@jpfeuffer I added a lot of citations now.


fix: update experimental_fragment to fragment

📚 Context

Hello! Your new feature fragment is super useful! Thank you!
I just found that 'experimental_fragment' is deprecated, so I replaced 'experimental_fragment' with 'fragment'.
🧠 Description of Changes

Revised:
Insert screenshot of your updated UI/code here
Current:
Insert screenshot of existing UI/code here
💥 Impact

Size:

[ ] Small
[ ] Not small

🌐 References

[ ] Notion

Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.

Thanks for catching the oversight! I just added a couple more pieces that go along with the update.


Incorrect terminology, feature requests (actual map support)

First of all thank you so much for working on this and maintaining an active GBA decompressor project. It means the world for me and probably for many other people who work on fan translations and mods and similar things.
I tried to use it in the same way I do with LZ77GBA usually, and I noticed some shortcomings and some... confusing terminology being used in general. What I would usually do when replacing GBA assets:
1- Run a general scan with LZ77restructor2, which usually gives a bunch of addresses.
It has a sanity check with min/max restriction (customizable, defaults are 32 bytes minimum, and GBA RAM size maximum, to avoid obvious garbage data), whether the value is divisible by 32 (considering byte alignment restrictions for GBA VRAM reads, the value 32 is also customizable) and whether the compressed data structure has pointers to it elsewhere in the ROM.
Your tool includes the min/max restriction, and the setting to calculate the GBA pointer.
2- It parses the rom for every compressed data structure that uses LZSS.
Your tool is superior as it handles Nintendo's Huffman, RLE, and even LZSS data structures. The decompression works too.
3- All assets are viewable either as:
• graphical data, either in 4BPP GBA or 8BPP GBA planar mode. Width/Height can be customized as well.
That graphical data depends on a palette, which can be loaded from an external palette dump (act/pal dumped from an emulator) or from an uncompressed raw GBA palette inside the ROM (which can be given as an address).
However, that won't solve the problem of properly arranging the tiles as a complete image. Hence why tile maps are needed. Tile maps are a sequence of bytes that for each 8x8 tile of the entire background of a screen, will give a tile ID, and information about mirroring and palette choices (some images use more than one 16 color palette, but never outside the 256 distinct color limit.)
• compressed palette data. You can right click on it and load it so that it's the new global palette for the tool, then used for other compressed graphics.
• compressed tile maps. There's currently no way to load tile maps in the editor and use it as a global tile map to arrange jumbled graphical data elsewhere, although external tools exist for creating GBA graphical data + palette + tile maps for a given single image.
• other compressed data structures: biggest one is sound effects. There are tools that dump them and edit them, so it would be neat to at least have some way to quickly identify and mark them (either for future editing purposes, or to shorten the time looking into the ROM). Others exist as well, and LZ77restructor provided a way to visualize them in a built-in hex editor (with external table support, ascii, and shift-jis for the encodings) and it can quickly pinpoint text, albeit no way for the user to bookmark or mark types.
Your tool can do the following:
• Hex view is very limited, only the first few bytes and only hex view, no text view whatsoever.
• Doesn't remember the width/height values for compressed graphics view, and they have to be readjusted every single time
• Unlike LZ77R, which only handles planar GBA 4BPP and 8BPP, it also handles *linear GBA 4BPP and 8BPP, which requires a width for the generated bitmap. However, you called it "Map", despite being unrelated to tile maps. Please change that terminology and add it as a graphical setting for the graphical visualization. You can also add the formats known in Crystaltile2 as linear 1BPP, VirtualBoy 2BPP, and GBA2 4BPP - as they're frequently used as well.
• Visualize GBA palettes (which is neat) but only that, and without any way to load them for visualizing other graphics. (unlike LZ77R)
• No way to load palettes to visualize other graphics, either from external palettes, from an uncompressed palette in the ROM, or a compressed palette. As a result, the image is only rendered in the default greyscale palette.
• No way to visualize GBA tilemaps.
• No way to load GBA tilemaps to visualize other graphics (Crystaltile2 and Tinke can do this for NDS graphics, which are the same as GBA down to the format but have file headers). As a result, the image is only rendered with tiles jumbled and out of order.
(If you want easy examples to experiment on, I strongly recommend the extracted GBA memory dumps of Panel De Pon, and Metroid Fusion. It has palettes, then tilemaps, then graphical tile data, all laid in that order. You can generate the full image with the proper colors and tile order and everything with just that much.)
4- For recompression, LZ77restructor2 shows a dialog screen with many options.
It first asks where to reinsert the file, with the original position set as a default.
It then reads what's there (usually an LZ77 structure), gives its original size (or N/A if you insert elsewhere in the ROM, like empty ROM areas), the replacement's size after compression, (I wish it had a clearer warning that shows when you insert a bigger file) and options for the compression (uncompressed, "LZ77 unsafe" which is safe for assets meant for RAM, "LZ77 VRAM-safe" which takes into account byte alignment requirements for VRAM)
It can overwrite important information right after the original if the new compressed size is too big, that's why I try to repoint it by searching for ROM references to it manually (something your tool provides automatically) and editing them in a hex editor to point to empty space at the end of the ROM, to be expanded as necessary to the next multiple of 8MB until the 32MB limit (something that would be nice to automate).
Your tool doesn't allow for repointing, lacks the compression options (gives an error for Huffman/LZE recompression too) but automatically looks up references to the compressed data structures, even though it's not the one updating them. It would be nice to have LZ77restructor's options in addition to a repointing feature.
That's all I can think of. I hope these suggestions are useful for you for any improvements.

Thanks you for your detailed list of suggestions! I'm not very familiar with existing programs and haven't used the ones you mentioned before. This tool was mainly made for some specific use-cases, but it would indeed be nice to improve its capabilities.
1- Is something missing in my tool here? It also has the option to filter based on if the size is divisible by a number (the align option).
3- That's a lot of good points! I think the biggest issue for me is that I didn't have a clear focus with my tool. On one hand I wanted it to be a way of quickly finding and identifying data, which is why I tried showing as much info as possible (but not the complete info) when selecting a compressed data block. This makes going through the data a lot faster. On the other hand I also wanted this to be a useful patching tool for replacing compressed data since that's usually a hassle.
When it comes to the hex view, the way I've been checking the raw data is by clicking "Copy to clipboard" and pasting the hex data into a hex editor. It would definitely be nice with some proper viewing support directly in my tool though yeah. I think for something like that I might need to split things into tabs, or at least have some way of splitting up the view to give more room for showing complete data.
The reason I named the bitmap preview as "map" is because for me this view was most helpful for finding level maps. In most games the level map will be stored as an array of tile indexes, so using this you can visualize them (see the second screenshot in the readme). I agree that this isn't the best way of naming it though since it can just as well be used for finding bitmap images (like the third screenshot in the readme).
The other graphics formats you mentioned (1BPP, VirtualBoy 2BPP, and GBA2 4BPP) I'm not familiar with. I didn't think the GBA supported anything besides 4/8-bit and raw color data? Or are those for other platforms? This tool was focused on the GBA specifically (though I suppose it could be used for DS games too since they share the same compression types).
Reg. palettes, yeah that's very limited right now and something I was considering changing. You can specify an uncompressed palette in the loaded file by specifying its address, though only for the tile view and not the bitmap one.  Once again my main focus was on finding data, so for that purpose the palette isn't always needed, but it shouldn't be too hard changing. I'd need to look into those palette formats you mentioned though.
Reg. specifying a tile map to match the tile set, yeah I suppose that could be useful. Is it common that the tile maps are stored in a raw array though? I've reverse engineered quite a few GBA games for the Ray1Map map viewer and a lot of the time the tile maps are stored in proprietary semi-compressed ways (such as being split into chunks of commonly used tile blocks). Other games like Rayman 1 stores the collision array within the graphics one (which the game then modifies before copying into VRAM).
It also gets confusing with bigger non-affine tile maps where the map is split into quadrants of smaller maps. For affine maps I don't think this is an issue, but then the format also changes to 8 bits per tile rather than 16.
You also mentioned the tool not saving the width and height. This is because the data preview is a separate C# view model object per data block, so each data block stores its own preview options. The other way of doing it, and what I think you're suggesting, is to have a single view model object for the currently selected data block which changes its content as you select a new item in the list. This way it will remember the changes you've made across the blocks. The downside is that say you're switching between two blocks with bitmaps of different widths then you'll need to keep changing it rather than the blocks remembering their own settings. I'm not sure what is best here.
4- Ah, recompression. This is always tricky to handle in a good way. My main concern is the user accidentally overwriting data, but I haven't really implemented any checks for it (besides having the user confirm that the new size is okay before applying). The reason is because there's no way to definitively know how much size can be overwritten without it being an issue. For example say you have a compressed data block which uses 256 bytes. You replace it with new compressed data using 200 bytes. Next time you want to replace data the tool can only know that 200 bytes can safely be replaced, it has no way to know there are actually 256 available bytes.
As for re-pointing data, that would be very useful indeed. I was actually considering writing some generic library/tool for handling these things. In another tool I made for replacing the data in the GBA game Klonoa Heroes I handled the data replacements by moving the modified data to the end of the ROM and updating the pointers (relative offsets in its case). Then I applied a custom footer to the end of the ROM which keeps track of the modifications. This is important as it prevents the same data from being re-located twice. With this footer my tool knows which data blocks have already been re-located and can then re-pack them each time you save. This tool of course only works for Klonoa Heroes, but having something similar for any game would be quite useful.
The biggest issue I think is the way the data is referenced. Most games do it by pointers which are easy enough to identify and modify (even hard-coded ones due to how GBA code is compiled), but relative offsets are harder. If I remember correctly Rayman 3 on GBA references all of its data by relative offsets which are then multiplied by 4 to get the actual offset. How something like this could be handled in a more general way is tricky. But perhaps I'm overthinking things like I usually do and starting of with pointer re-location is good enough.
What do you mean by Huffman/LZE recompression giving an error though? Huffman doesn't work right now, but it's very rarely used in GBA games. LZSS and RLE compression should work fine though.
I should also mention I can't promise I'll be making any changes to the program soon as right now I'm working on some other non-GBA related projects. But what we discuss here are definitely things I'll keep in mind when I do get back to it, and maybe some things I could do soon if they won't take too much time to implement.


[3.1.0] Wrong Passthrough Access Log Patterns

Description:
The Passthrough Access Log patterns mentioned under Monitoring HTTP Access Logs needs to be updated with the correct set of patterns and functionalities.
Following are the Synapse code base referring to the actual usage of the patterns

API Manager v3.1.0: wso2-synapse
API Manager v3.2.0: wso2-synapse

Affected Product Version:

API Manager v3.1.0: Docs
API Manager v3.2.0: Docs

@athiththan11 , can you please provide an example in order to provide more context.

@Mariangela, The attributes and the descriptions mentioned under Supported log pattern formats for the PassThrough transport section is having few misleading points. I have compared the description along with the source code and came up with the following table to represent all the elements and their usages

Attribute
Description
Corrected

%a
Remote IP address
User Agent

%A
Local IP address

%b
Bytes sent, excluding HTTP headers, or '-' if zero

%B
Bytes sent, excluding HTTP headers

%c
Cookie value

%C
Accept header

%e
Accept Encoding

%E
Transfer Encoding

%f

Referer

%h
Remote host name (or IP address if enableLookups for the connector is false)

%l
Remote logical username from identd (always returns '-')

%L
Accept Language

%k
Keep Alive

%m
Request method (GET, POST, etc.)

%n
Content Encoding

%r
Request Element

%s
HTTP status code of the response

%S
Accept Chatset
Accept Charset

%t
Date and time, in Common Log Format

%T
Time taken to process the request in seconds.
Content Type

%u
Remote user that was authenticated (if any), else '-'

%U
Requested URL path

%v
Local server name

%V
Vary Header

%x
Connection Header

%Z
Server Header

Please validate the same and apply the changes to the documentation.

@athiththan11 , can this new table that you came up with be applied for 3.1.0, 3.2.0 and also 4.0.0 [1]
[1] https://apim.docs.wso2.com/en/latest/administer/logging-and-monitoring/logging/monitoring-http-access-logs/#supported-log-pattern-formats-for-the-passthrough-transport

@Mariangela, Yes, according to the source code of API Manager v4.0.0, we can use the same as well.
So, the mentioned table is applicable for all v3.1.0, v3.2.0, and v4.0.0 versions.

Hi @Mariangela
It seems the information is miscommunicated. The docs are updated with the same tables that have been mentioned in the previous comments. Actually, the table contains the current description and the corrected description of each pattern. We need to update the previous existing tables in the Doc with the corrected descriptions. Shall we make the changes?


Warn the user if the password has changed/is incorrect

Some users modify their password. Warn them if the server replies it has changed.
Otherwise, images and data gets lost (in some cases) or people lose credit for their contributions (in the best scenario)

This is something that is probably costing a lot of lost products in V1.

Beniben says it's properly handled. Closing.


[FEA] Support ProjectExec in LoRe framework

Is your feature request related to a problem? Please describe.
Support LoRe for project exec https://github.com/NVIDIA/spark-rapids/blob/188eb39a4b0a012f251d764176c466be555c6018/sql-plugin/src/main/scala/com/nvidia/spark/rapids/basicPhysicalOperators.scala#L350

PR: https://github.com/NVIDIA/spark-rapids/pull/10825

@res-life has this been superceded by #10987?


feat: add multi-tenant capability

Issue
https://gravitee.atlassian.net/browse/CJ-778
https://gravitee.atlassian.net/browse/CJ-779
https://gravitee.atlassian.net/browse/CJ-780
Description

add access point feature allowing to define console, portal, gateway access entrypoint

Additional context

📚  View the storybook of this branch here

put in hold to refactor using the new onion architecture


Fix Time.get_datetime_string_from_dict() does not validate input

fixes #60195

Looks good! Could you squash the commits? See PR workflow for instructions.

Thanks!

Cherry-picked for 3.5.


WASAPI/NEW audio gone with latest fix.

Breaks the option to choose WASAPI/NEW audio options in audio devices when profapi.dll is placed into ripcord folder, only "old" audio sources are available with profapi.dll . v1.5 UxTheme.dll doesnt break the option.

Huh, you're actually right... I'll try fixing it later today.

Fixed by 62258125e710774bfc7e8f19501c201d6d428965


Move plugin network creation from shell script to Go

In the process, use the default subnet instead of the whole IP allocation range.
Fixes #2919

This change makes sense, looks good overall, and we don't seem to be using plugin-status.sock in any other place. LGTM.


Jinja2 mode Line statements support

According to Jinja2 template designer manual, the line statements are now supported. Test example is included.
Beside that, keyword list is slightly updated.

Pullrequst

Sure that works, but why not just initialize them to 0 in startState and avoid the question of whether they are defined entirely?

Thanks. Merged.


Meta-feature plot code

We would like a function to make "meta-feature plots" - that, is averaged read profiles around a selection of a subset of transcript features, e.g. codons.
For example, panel A in this figure is a meta-feature plot, around specific codons CUA, etc. The existing code also plots a version of this centred on CDS starts and CDS stops (FIXME: what is the plot called, again?), which could be refactored to us the same code.
This function should take as input:

a data frame of features, with columns transcript and pos (FIXME: check the names). For example, a filtered subset of the codon positions data frame that we are making in #194
a data frame of (normalized) A-site-assigned reads
a parameter of the "window" size around the features data frame

The function would roughly go (in a vectorized way, not a for loop)

for each position in the features dataframe
select a window of given width
select the reads in that window
take the average of the reads for each position

Then output a data frame with columns relative position, and average density.
@shahpr wrote code that does something very similar for the 2017 riboviz paper. @john-s-f expressed enthusiasm for this task. I'd also be happy to be involved.

When we have closed pull request #287 (fixing #194), then the codon input table will be in a good state to implement this feature.
@swinterbourne - implementing meta-feature plots for individual codons will be a good first step before addressing meta-feature plots for codon pairs (#286). Especially because @amandamok made simulated data that includes 4x pausing at CGA codons - I think that's in simulated/mok/Mok-simYAL5_config.yaml. Having the positive control small simulated dataset will make it much easier to test code.

After a lot of discussion we realized that there are two separate (although similar) points.

meta-features in nucleotide co-ordinates
meta-features in codon co-ordinates

Both are important for different biological questions, and they might end up using some of the same code. But the codon co-ordinates is more pressing because that lets us apply the results immediately to codon usage, which is a biological question that all of us are interested in.


Version 2.1.1 breaks webpack-offline-plugin

Updated to 2.1.1 and getting error in webpack-offline-plugin now..
TypeError: #<Object> is not a function
    at Array.map (native)
    at OfflinePlugin.validatePaths (C:\projects\dayapp\node_modules\offline-plugin\lib\index.js:671:21)
    at OfflinePlugin.setAssets (C:\projects\dayapp\node_modules\offline-plugin\lib\index.js:339:29)
    at Compiler.<anonymous> (C:\projects\dayapp\node_modules\offline-plugin\lib\index.js:288:18)
...

Reverting to 2.1.0 and error goes away.

Yeah, it's the prototype thing. I think I'll revert that feature and rethink the approach. Thanks.

Should be fixed in 2.2.0. My apologies for the inconvenience.


Fixes 261: add limits when returning rpm searches

This update the request structure to add limit field.
By default it set the value of 100.
The maximum threshold is 500.

TODO

[ ] Add unit test for the handler.

Signed-off-by: Alejandro Visiedo<EMAIL_ADDRESS>

https://issues.redhat.com/browse/HMSCONTENT-261

@avisiedo Please rebase

/retest

thanks mates for the review! @rverdile I have added some comments; If I am overlooking something please let me know, happy to update the pr if needed.
I will create a new card to cover the unit test for the second handler listRepositoriesRpm (or if there some card related with it, it could be an opportunity to add it), so the coverage is increased.
Sorry for not providing the unit tests for the handlers when I created this code, at that moment I didn't know very well how to add them; now I am more capable to add unit tests for the http handlers.


docs: update list of distributions in meta/main.yml (appendix to #112)

confirmed to be the molecule-expected values by using vscode as it apparentely knows the schema and could autocomplete them :) Closes #116

pre-commit passed, lgtm!


Replace 'finded', which doesn't exist in english, with 'found'

This PR fixes the translation of the word finded, as it doesn't exist in English/American. It should be replaced with found, because to find is an irregular verb (find/found/found)

thanks


Modifies Thrift ITs to test against libthrift 0.10.x

libthrift 0.9.x -> 0.10.x introduces breaking changes to auto-generated asynchronous client code (specifically the callback signature).
Now that the agent's libthrift version is upgraded to 0.10.0, we can now generate test service used by the ITs using 0.10.0 compiler and run ITs for libthrift 0.10.0.
Unfortunately, this means any ITs that tested asynchronous client invocations cannot be tested for 0.9.x (since again, incompatibility in generated code).
fixes #2522

Codecov Report

Merging #2831 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2831   +/-   ##
=======================================
  Coverage   40.84%   40.84%
=======================================
  Files        1776     1776
  Lines       61223    61223
  Branches     8609     8609
=======================================
  Hits        25009    25009
  Misses      36214    36214

Impacted Files
Coverage Δ

...npoint/rpc/server/SimpleServerMessageListener.java
80% <0%> (-20%)
:arrow_down:

...m/navercorp/pinpoint/rpc/packet/RequestPacket.java
89.74% <0%> (-5.13%)
:arrow_down:

.../pinpoint/rpc/client/PinpointClientHandshaker.java
74.3% <0%> (+0.69%)
:arrow_up:

...orp/pinpoint/rpc/server/DefaultPinpointServer.java
81.06% <0%> (+0.75%)
:arrow_up:

...ofiler/sender/StandbySpanStreamDataSendWorker.java
89.55% <0%> (+1.49%)
: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 9cebba0...f01a7be. Read the comment docs.


Fatal Exception: java.lang.NullPointerException (FragmentStateAdapter.java line 103)

Bug report
So far cannot reproduce on my device, but some of app users met this crash. My suggestion is that it is somehow related to lifecycle handling as almost every crash happened in background according to firebase crashlytics

Previous version (3.3.0) does not cause a crash ?
Could you provide a code snippet ?

Closed in favor fo https://github.com/react-native-community/react-native-viewpager/issues/193


Clearer text about what happens with --disable-telemetry + enable-telemetry command

Fixes:

https://github.com/flutter/flutter/issues/124411

This PR is cleaning up the --disable-telemetry help message to make it clear that opting out will opt out of all telemetry collection for flutter and dart commands. It is also adding the opposite flag --enable-telemetry which will enable telemetry collection
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@gspencergoog friendly ping, does this look good to go?


obs-studio-plugins.obs-teleport: init at 0.6.5

https://github.com/fzwoch/obs-teleport
Closes #223775.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Oooo! Thank you! :D

So a random thought I just had; Would it be possible to have an openFirewall option in this? There's no predefined port but one can specify one, and you need to open the firewall for it to work.

So a random thought I just had; Would it be possible to have an openFirewall option in this? There's no predefined port but one can specify one, and you need to open the firewall for it to work.

The openFirewall and port options are usually provided in a NixOS module, not a package. I think you can use the standard firewall module to punch a hole for this specific program.

...You're absolutely correct.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/922


Use ContainerProxy for VectorTree's children list

Codecov Report

Merging #1252 (0bcc35a) into master (3a3f65b) will increase coverage by 0.14%.
The diff coverage is 100.00%.

:exclamation: Current head 0bcc35a differs from pull request most recent head 1465ad5. Consider uploading reports for the commit 1465ad5 to get more accurate results

@@            Coverage Diff             @@
##           master    #1252      +/-   ##
==========================================
+ Coverage   92.67%   92.82%   +0.14%
==========================================
  Files         338      339       +1
  Lines       23301    23487     +186
==========================================
+ Hits        21595    21802     +207
+ Misses       1706     1685      -21

Impacted Files
Coverage Δ

verilog/analysis/symbol_table.cc
98.71% <ø> (+0.01%)
:arrow_up:

common/util/container_proxy.h
100.00% <100.00%> (ø)

common/util/vector_tree.h
99.73% <100.00%> (+0.02%)
:arrow_up:

verilog/CST/identifier.cc
96.66% <0.00%> (-3.34%)
:arrow_down:

...rilog/tools/kythe/indexing_facts_tree_extractor.cc
98.07% <0.00%> (-0.52%)
:arrow_down:

verilog/parser/verilog.lex
96.26% <0.00%> (-0.08%)
:arrow_down:

common/util/logging.h
100.00% <0.00%> (ø)

verilog/CST/expression.h
100.00% <0.00%> (ø)

common/strings/obfuscator.h
100.00% <0.00%> (ø)

verilog/formatting/verilog_token.cc
100.00% <0.00%> (ø)

... and 7 more

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 3a3f65b...1465ad5. Read the comment docs.


Bug with running IO[VTree] multiple times

Sadly, this is not a solution, but just a failing test case.

@mariusmuja Any ideas what is happening?

This is now fixed in #120 :)