Fixed slow list creation on RaspberryPi devices by disabling the art …

…caching.

the pure parse_art call is faster than the call into the cache (even if there is no cache miss)
** the cache call is more than 10x slower (even if it is non persistent)
fixed timeouts on during list browsing (especially on longer lists)

Check if this PR fulfills these requirements:

[x] My changes respect the Kodi add-on development rules
[x] I have read the CONTRIBUTING document.
[x] I made sure there wasn't another Pull Request opened for the same update/change
[x] I have successfully tested my changes locally

Types of changes

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

Description
On my Kodi installation on a RaspberryPi4 I got constant timeouts during list browsing and it was way slower than it used to be.
I investigated a bit and found out that the art caching is super slow compared to not doing any caching (even the call into the cache without a miss is way slower)

** the cache call is more than 10x slower

welcome comparison log's with time measurements before/after

(even if it is non persistent)

non-persistent cache are in memory operations, and are 10x slower?
this sound very strange

Hi!
Thx for the feedback, I just re-tested it and you are right.
I must have mixed up some of my testing changes.
The only big effect I get now, is by moving all persistent caches to memory caches.
(FYI: It looks like these testing numbers have a change range of around 400ms if the exact same test is repeated)
Tested on Raspi4 witch SDCard on a 40 entry list:
build_video_listing (caches empty) 267198ms
build_video_listing (full cache) 3596ms
Tested the same list after changing all persistent caches to memory caches:
build_video_listing (caches empty) 4247ms
build_video_listing (full cache) 3969ms
But what I can see, there is actually not much gain from the cache itself (on the Raspi 4 at least).
Tested with non-persistent caches on a 180 entry list:
build_video_listing (empty cache) 22248 ms
build_video_listing (full cache) 19489 ms
So is there a specific reason to have some caches on the disk?
It seems it causes massive problems with slow disks.
I think it might be a good idea to either not make them persistent at all, or offer an option to have all caches in memory.
What do you think?

I did not have time to do testing
but your report is much useful
part of the current cache management is inherited from the oldest addon v14
many changes have been made over time
managing every part of the addon perfectly takes a long time
and the consideration of as many cases as possible is difficult
would mean having all kinds of hardware of all kinds available and wasting a lot of time doing individual tests
the scope of the persistent cache is yes save the parsed data, in order to alive between each Kodi startup.
this to avoid elaborate every time same data and save time/cpu cycles
because the elaboration in some cases could be heavy for low end cpu's
here is what i want to explain:

Tested the same list after changing all persistent caches to memory caches:
build_video_listing (caches empty) 4247ms
build_video_listing (full cache) 3969ms

this means about 278ms to cpu processes the parsing data

But what I can see, there is actually not much gain from the cache itself (on the Raspi 4 at least).
Tested with non-persistent caches on a 180 entry list:
build_video_listing (empty cache) 22248 ms
build_video_listing (full cache) 19489 ms

this means about 2,7 seconds  to cpu processes the parsing data, significant due to data increase so you can better understand the difference
in this case, if you have an high speed storage, you would save this 2,7 seconds of the cpu elaboration
and then load the list faster
you have to consider that the mass of users has fast storage and not slow storage
so disabling persistent storage would penalize the majority of the users (talking about low end cpus)
create a dedicated setting for this technical reason is not very good, find another compromise would be better
an idea can be find the best way to write all db changes in a single db transaction
in this way a single (or few) db writing should halve the times (in theory...)

This is an example of a idea of compromise
can you give me some test feedback?
plugin.video.netflix_1.10.0_20201011_t1.zip
if you look at the code in this way the slow writing operations are collected to the end
so you will benefit slow and fast storages types

@xLAva have you time to get me a feedback next days?

The time numbers are all over the place.
I get today a way different result as last time. I'm not sure why. Maybe because the returned content from Netflix is different?
At least the numbers were consistent during the test.
I did the same test on the original 1.10 version, your test build and your test build, but with all non-persistent caches.
original cached cleared
build_video_listing took 166520ms (10x slower than non-persistent)
original cached
build_video_listing took 13143ms
1.10.0_20201011_t1 cached cleared
build_video_listing took 46901ms (2.8x slower than non-persistent)
1.10.0_20201011_t1 cached
build_video_listing took 14749ms
non-persistent cached cleared
build_video_listing took 16549ms
non-persistent cached
build_video_listing took 16000ms
As you can see it is way better, but it is still about 3 times slower than non-persistent caches.
It also is way over the 20s timeout limit for a small 40 entry list.
Something worries me about this new test round.
The original "cache cleared" run was way faster this time, but the cached access was way slower.

I have new numbers.
A restart of my Kodi instance made everything way way faster.
It looks like the general performance goes down if Kodi is running for days.
Again tested on on Raspi4 witch SDCard on a 40 entry list:
original cached cleared
build_video_listing took 10251ms (61x slower than cache hit)
original cached
build_video_listing took 163ms
1.10.0_20201011_t1 cached cleared
build_video_listing took 1250ms (7x slower than cache hit)
1.10.0_20201011_t1 cached
build_video_listing took 168ms
So your change made a total cache miss nearly 10x faster, which is awesome.

Thanks for the report, a nice improvement,
what Class type is your SDCard?

UHS Speed Class 1 (U1)
LibreELEC (9.2.5) Kodi 18.8

i think something not works with your SDCard
i have same U1 but 16gb of Kingston on same LibreElec version
but i do not have any speed problems


docs: fix end-to-end example

This makes the existing example use ComponentizeJS to create the demo component so that it is a fully runnable end to end example.
Resolves #278.

Nice! Went through it. Ran into the following problems:

Following the "install" instructions in the main readme will not put jco on your path, so the commands which say to run jco will not work. Users either need to install -g, or prefix all jco commands with npx, as in npx jco componentize cowsay.js --wit cowsay.wit -o cowsay.wasm.

Running the test file will fail because it's trying to import from a file (./cowsay/cowsay.js) which ends in .js, which npm treats as cjs by default. Users either need to be told to create a package.json (as in the ComponentizeJS example), or (my preference) the code needs to generate .mjs files.

Thanks for taking a look, added some install instructions and type: module instructions.


Automated cherry pick of #3127: fix

Cherry pick of #3127 on release/2.12.
#3127: fix

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@408a4e4). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #3129   +/-   ##
==============================================
  Coverage                ?   7.16%
==============================================
  Files                   ?     478
  Lines                   ?   76938
  Branches                ?       0
==============================================
  Hits                    ?    5510
  Misses                  ?   70964
  Partials                ?     464

Flag
Coverage Δ

#aFlag
7.16% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/disks.go
0.65% <0%> (ø)

pkg/compute/models/snapshotpolicydisks.go
0.38% <0%> (ø)

pkg/compute/models/snapshotpolicy.go
2.33% <0%> (ø)

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 408a4e4...a0209ac. Read the comment docs.


Support for exceptions with custom data

I'd like to create a custom exception that contains additional properties, i.e., not just a message-based exception. I assume I'm supposed to use create_exception!, but I couldn't figure out how to use a custom class with it.
If it is already supported it would be great to document it, otherwise this would be a feature request to support custom data classes for exceptions.

We have #295 which talks about this and what remaining work to call this feature "complete". Please join the discussion there, it would be great to have some opinions to help finish this off!
Closing this issue as a duplicate.


Release 0.8.0

See https://github.com/sgkit-dev/sgkit/milestone/6

Release instructions: https://github.com/sgkit-dev/sgkit/issues/817#issuecomment-1091634891
Documentation instructtions: https://github.com/sgkit-dev/sgkit/issues/984#issuecomment-1412064829

Conda packages are now available at https://anaconda.org/conda-forge/sgkit.
(Thanks @jeromekelleher for taking care of https://github.com/conda-forge/sgkit-feedstock/pull/9)


Decouple logging from objects and base classes

Logging is baked into many classes, anything based on tmt.utils.Common has methods like debug and info that handle verbosity checks, indentations, colors, and logging into file and console. While having those methods is absolutely handy, the fact code is embedded into every class makes it much harder to parametrize it, influence, or redirect the output. I believe this will become painfully visible when we start cutting into parallelization where observability is crucial, and several possible modes of output have been suggested already (everything in a single stream/file vs per thread stream/file, "window" for each thread on the same screen, interleaving, prefixing, screen or tmux integration, multitail, etc.) - extending the current implementation of logging might be near to impossible.
My proposal would be to decouple logging from Common class:

every object derived from Common would be given a logger object when instantiated. This may very well be the very same logger every time - the dependency injection does not mean every Common instance would have its own logger instance.
Common may still provide helper methods in its namespace, proxying calls to the logger
https://docs.python.org/3/library/logging.html is very capable, I'd avoid inventing anything but custom handlers and formatters - logging would do the heavy lifting.
when needed, code may spawn custom loggers to suit the needs of the situation. Imagine the multihost scenario, with parallel execution of 2 "threads" (client & server, for example):

the user has no special needs? Give both "threads" current logger, they would emit their output into the same channels (log file & console) interleaved.
too messy? Clone logger for each thread, and add custom formatter adding a prefix -> threads emit to same channels, but each line is prefixed with some kind of thread ID (while their master is left unprefixed).
is the flavor of the week threads logging into their own files while the console is shared? Clone logger, leave console handler untouched, and give each logger its own handler pointing to a dedicated log file under workdir.
a single log is fine, but the user wants to attach screen or tmux to observe the console output of each thread? Clone logger, leave logfile handler untouched, and add a custom handler that spawns ptty for screen to attach to (or does similar magic...).

The thing is, as long as Common and its child classes work with a given "logger" object only, the behavior of the logging can be easily changed from outside without Common needing a change. Separation of concerns, dependency injection, all those cool buzzwords, it would provide very clear advantages.
A more or less smooth transition could start with mimicking the current implementation: single global logger, a handler pointing to a logfile in workdir, a (custom) handler for console output (based on click.echo()), every Common instance is given this single logger. Custom formatter would be fully capable of supporting indent, shift, color, and other parameters tmt logging helpers offer. Custom Filter could handle verbosity transparently.
There is a custom logger-like implementation in fmf.utils, but I'd argue it's up to tmt codebase to control logging, and fmf API should be open to being given a logger to use. Using its own default logger is fine as long as no better one has been provided by library user. Every from fmf.utils import log in fmf code will become a problem for tmt control over where and what is logged - Tree(..., logger=a_logger_prepared_by_tmt) needs to be a common practice, because that particular creation of a Tree instance might be required to log into a specific file or stream, and multiplexing global log object won't be able to handle this kind of functionality. Mutable global state strikes again :)

@psss @lukaszachy @thrix @FrNecas what do you think, guys? I can start hacking on this right away - I even wanted to dip my toes into the parallelization already, running prepare and other steps at the same time, but the logging keeps sneaking in everywhere I move, ruining any kind of reconciliation. So I thought it might be a good start to resolve this first, and with annotations being almost ready, it could be fairly safe (fingers crossed...)

@happz, thanks much for putting this together! The outline looks good to me and from what I can see it should provide enough flexibility and extensibility for the future. I agree with using the logging module as much as possible together with handlers & formatters and avoid reinventing stuff.
It makes sense especially because some parts of the code (e.g. those related to tmt test export or handling beakerlib libraries) do not use objects inheriting from Common which causes problems. It would be nice to have verbose and debug logging working for these areas consistently as well.
So all in all +1 from me to clean up this part. We just need to ensure that the verbose and debug levels are correctly handled, for example propagation of tmt run -v to tmt run discover -v.

@psss The patch is starting to do what I wanted, I'm able to pass some debug tests, and output matches output made by unpatched tmt most of the time, but, one more question: are we fine with sending all logging output to stderr from now on? The current behavior is not as clear as what I'm getting from my patch by default, thanks to Python's logging using sys.stderr by default, and tmt often mixes together an output and diagnostics aka logs. This could be a problem for commands that do actually have output - unlike tmt run, tmt test story --format=rst produces a genuine output, and still might need to emit debugging messages here and there.
So my proposal would be "all logs go to stderr, output to stdout if there's any". This would require changes to plenty of tests, I suppose (tmt run ... | tee would need an update to follow stderr, e.g. 2>&1 >/dev/null | tee), but I'd argue it'd be worth the effort. Users and developers would be presented with a less fuzzy picture, IMO.
If not, then we need a solution not just for tmt * export family of subcommands, but also for tmt * ls or tmt * show, as their output might be easily intermixed with logging on stdout, making it hard to use.

Ack for consistently sending all debugging stuff to stderr. The output of tmt * ls, tmt * show should go to stdout. For tmt * export it depends: For simple export to yaml or dict it should clearly be stdout, not sure for tmt test export --how nitrate, probably report the progress to stderr?
As far as tmt run is concerned, we are reporting progress of what's happening with a few exceptions like tmt run provision --how minute --list-images which should clearly go to stdout. But to make this nicely and consistently working we should probably send all the output that is never (or rarely) expected to be consumed by users to stderr.
@lukaszachy, @thrix, @FrNecas, any thoughts here?

WRT expirt to Nitrate/polarion: IIUIC, their export does not result in actual printable output, but plenty of logging and progress messages, plus changes in remote services. I’m not aware of any output one might redirect into a file and say “this is the test exported to nitrate”. So nothing for stdout, AFAICT. Progress and logs, yes, thise would go to stderr (now the are done by click.echo(), to puzzle us even more).
WRT list image/flavor - absolutely, that’s output, therefore stderr.
The rule of thumb I’m following - can I pipe the output to another command, not messed up with logging?


Are SNR measures for T1w and fMRI suitable for phantom scans?

I would like to compare the SNR of different sequences scanning the same phantom. However, I have noticed the total SNR of the T1w is the average of csf_snr, wm_snr and gm_snr, given the fact a phantom doesn't have structure it looks like SNR for my phantom scans are not correct. Can you confirm?
I also looked at the source code and it looks like the SNR estimation for fMRI data in based on the structural workflow, if so, what kind of input mask the SNR function has? Is it the segmented brain as in the T1w workflow?

You could use snr_total for your phantom. It was done here with MRIQC.
https://f1000research.com/articles/9-1131/v1


generate_gradle_lockfiles.dart doesn't support .kts Gradle scripts

generate_gradle_lockfiles.dart supports only settings.gradle and build.gradle as of now.:
https://github.com/flutter/flutter/blob/1a2c3151fef25e88cfde49110f40a2c3d76cb114/dev/tools/bin/generate_gradle_lockfiles.dart#L31-L35
It should be adapted to also support settings.gradle.kts and build.gradle.kts.

This bug should block the widespread adoption of kotlin build files in framework.


chore: clean Either internal state

Currently, the Either struct uses two booleans to represent what kind of value we have.
Even though mo doesn't export these booleans, they allow for 4 different states instead of the desired 2. This PR removes the isRight boolean, enforcing only two possible states can be represented internally.
This change has the benefit of simplifying some tests, albeit very minimally.

Definitely!
I gonna release v1.1.0


TranslatableWords doesn't work in 1.13.1

I set locale-language to zhcn in the generalConfig,the message-zhcn.yml works well,but the World_zhcn.yml doesn't work.
Then,I set it to zhtw,but it still doesn't work.
I'm using 4.7.4,the newest version.
Please fix it,
THX.

Send an error message to the console?
World_zhcn.yml What is this file? Such a file does not exist, but is like this: Words_zhcn

the same for me

a6a02b3ef4423d66b0bf246c70aa05801a14f1d6


system compile wipes system.json when an unknown target is given

for example nsd system compile sudc wibble

closing because we don't compile to particular targets anymore


Laggy and unsmooth

My app (Android & iOS) is very laggy afer implementing the library. I use banner ads. Someone know why or maybe know how to fix it?

Hi, you can try extracting the banner implementation into a separate widget and call it with const to avoid re-render e.g.
Container(
  child: const MyAppLovinMaxBanner(),
)

Hi, you can try extracting the banner implementation into a separate widget and call it with const to avoid re-render e.g.
Container(
  child: const MyAppLovinMaxBanner(),
)

Hi,
I already have the Banner in a separate widget which is const but still the same issue.

Same issue here. It also causes the phone to get hot.


Update to latest generic pages and avoid deep equals

https://github.com/sussol/react-native-generic-table-page/pull/6


Organization page fails to load

Description

This pull request addresses the issue where the organization page fails to load when accessing the URL pattern /org/${url}.
Related Issue
#24
Motivation and Context

Before:
Organization pages never opens up

After:

Types of changes

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

How Has This Been Tested?

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Hey @anudeeps0306 I have already raised this issue at : https://github.com/scorelab/Codelabz/issues/1036 and addressed this issue in PR : https://github.com/scorelab/Codelabz/pull/1037

@SURAJ-SHARMA27 ok


Missing form submission button

Issue: A button to submit the request is missing.
Use case: A user should be able to submit an issue request after filling out the following required fields:

Issue Category
Title
Location

Added in commit (https://github.com/codeforsanjose/open311-ionic/pull/25)


serverLogCallback response as JSON format.

With the help of the msc_set_log_cb function i can already retrieve the AuditLogs. Unfortunately, these Logs are not output in JSON format, although SecAuditLogFormat is configured as JSON. Is it possible to customize this ?
I have already checked the whole documentation but nothing found. Is there any other method to get the AuditLogs in JSON via a callback function ?

Hello @mk0stka ,
Would you like to describe in a little more detail what you are already doing and what your functional goal is?

@martinhsv thank you for your repsonse and motivation to help .
Let's take the Simple example here from the repo.
https://github.com/SpiderLabs/ModSecurity/blob/v3/master/examples/simple_example_using_c/test.c
I have written a reverse proxy in C and would like to analyze each incoming request. The relevant code is pretty much identical to the one in the example. AutiLogs can now be forwarded via HTTP or saved to files. This works without any problems.
However, I want a callback function to be called as soon as something is detected and audit logs are created.
As far as I could try it out, I can use the 'msc_set_log_cb' function to retrieve these AuditLogs also.
Unfortunately, the AutiLogs are not formatted in JSON as via HTTP or in the file, although SecAuditLogFormat is configured as JSON.
Or is there another way to get the AuditLogs as a string? I don't want to read the AuditLogs from files or have an HTTP service to get the logs.
I hope I was able to clarify my request a little more and would be happy to receive an answer.

I have written a reverse proxy in C

sorry for the question, but is it available anywhere?

Hi @airween, it is not publicly available. It is a private hobby project and not in a public repo. I don't want to abuse anyone with my code. :)
Surely I could Nginx. But it's more learning by doing.

Hi @martinhsv It's been a while since your last comment. Do you have a suggestion for me how to get the AuditLogs as JSON ?  Hope to hear from you and thanks in advance.
`
msc_process_connection(transaction, "<IP_ADDRESS>", 12345, "<IP_ADDRESS>", 80);
msc_process_uri(transaction,
    "http://www.modsecurity.org/test?key1=value1&key2=value2&key3=value3",
    "GET", "1.1");
msc_process_request_headers(transaction);
msc_process_request_body(transaction);
msc_process_response_headers(transaction, 200, "HTTP 1.3");
msc_process_response_body(transaction);
msc_process_logging(transaction);
// <--- additional method to get AuditLogs as json string ?

`

I assume you are using this example, so perhaps you have this line in your code.
If it's true, you should add the audit.log related configuration directives to that config, what you use.
For eg. see this.

Hi @airween, thank you for your reply. Your assumption is correct and the necessary configuration is also made. As mentioned before, I receive the logs as JSON via file or HTTP request. It works without any problems at all.
What I would like to have is something like this:
const char *audit_log = NULL;      //
.
.
.
msc_process_connection(transaction, "<IP_ADDRESS>", 12345, "<IP_ADDRESS>", 80);
msc_process_uri(transaction,
    "http://www.modsecurity.org/test?key1=value1&key2=value2&key3=value3",
    "GET", "1.1");
msc_process_request_headers(transaction);
msc_process_request_body(transaction);
msc_process_response_headers(transaction, 200, "HTTP 1.3");
msc_process_response_body(transaction);
msc_process_logging(transaction);

msc_process_audit_log(&audit_log);    // <- now i should have AuditLogs as JSON to be able to work with it further in audit_log.

Here in the next example, where I get AuditLogs but not in JSON format, although configured.
SecAuditLogFormat JSON

void modSecurity_log(void *log, const void* data) {
    const char *msg;
    if (log == NULL) {
        return;
    }
    msg = (const char *) data;
    printf("%c", *msg); // <- not in JSON format
}

msc_set_log_cb(conf->modSecurity, modSecurity_log);

Hope the examples help a bit.

It works without any problems at all.

Sorry, but then I don't see your problem.

msc_process_audit_log(&audit_log);    // <- now i should have AuditLogs as JSON to be able to work with it further in audit_log.

And sorry, but what is the function msc_process_audit_log()? There isn't any function with this name. Moreover, what is the variable audit_log? As I know audit log is written by the engine, not the application (which embeds the engine), so you can't access it directly (fix me please if I'm wrong).

    ....
    printf("%c", *msg); // <- not in JSON format
    ....

yes, because the msg derived from the log, which is the error log. This message is produced here.

msc_set_log_cb(conf->modSecurity, modSecurity_log);

this function sets the error log callback handler.

Hope the examples help a bit.

I'm really sorry, but now I'm totally confused :).

Hi @airween, Sorry for the confusion.

And sorry, but what is the function msc_process_audit_log()? There isn't any function with this name. Moreover, what is the variable audit_log? As I know audit log is written by the engine, not the application (which embeds the engine), so you can't access it directly (fix me please if I'm wrong).

You are completely right, the methods do not exist. That was also only to be understood as an example of how I would have liked to realize it. So there is no possibility to access the AuditLogs written by the engine through the application ?
I would like to have the AuditLogs in the application level. Is there a possibility here ? But not by reading a file or opening an HTTP service.

So there is no possibility to access the AuditLogs written by the engine through the application ?

IMHO no, at least not in (native) C. Please take a look to files under headers/ directory, especially to extern "C" blocks. What you see in those blocks, that's what you can use.

I would like to have the AuditLogs in the application level. Is there a possibility here ?

No, as I wrote IMHO you can't. But there would be many problems, eg. transactions run parallel, you have to care about file locking... Another issue: consider user sets the audit log properties in the configuration file, now you overwrite those settings?

@mk0stka ,
Have you considered reading the the audit log file to retrieve the information you're interested in?


Haystack US details

Description
Haystack US details
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

thanks @flaxsearch - will close this one out and continue to work through with https://github.com/opensearch-project/project-website/pull/1466


[SPARK-40147][PYTHON][SQL] Make pyspark.sql.session examples self-contained

What changes were proposed in this pull request?
This PR proposes to improve the examples in pyspark.sql.session by making each example self-contained with a brief explanation and a bit more realistic example.
Why are the changes needed?
To make the documentation more readable and able to copy and paste directly in PySpark shell.
Does this PR introduce any user-facing change?
Yes, it changes the documentation
How was this patch tested?
Manually ran each doctests. CI also runs this.

cc @Yikun @itholic @viirya @xinrong-meng @ueshin @zhengruifeng PTAL when you find some time.

Two minor comments

Merged to master.


test PR with Github API

Please pull this in!

Docs Build status updates of commit c9c5152:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

tutorial-manage-data-disk.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


feat: initial support for Deno

Summary
Migrate from Node to Deno.
Details
This PR migrates the CLI to leverage Deno. I could run things locally to update master -> main for a few of my older repositories. The discussion here inspired this PR  and works to resolve https://github.com/octoherd/cli/issues/5.
Testing

[x] Verified it's working locally with both .js and .ts files.
[x] Ran scripts/script.js and scripts/script.ts against several of my older repos to update branch protection rules.

deno run -A cli.js -T $GITHUB_TOKEN -R '[repo-name]'

Remaining Tasks

[ ] remove pr sample files (cli.js, script.ts)
[ ] migrate package.json scripts (and more?) to deno.json
[ ] find replacements for process.arch and process.platform

We sholudn't replace the Node CLI with Deno. The Deno CLI should be an addition and probably become the recommended way to run Octoherd scripts. But the Node version is used as dependencies in scripts today in order to run the script packages directly using npx: https://github.com/octoherd/script-hello-world/blob/dd5c0cfd6ebf93ff3348f48fc1f53329c646a1f5/package.json#L21

Hey @gr2m, I am cross-referencing your response here to consolidate the discussion.
I like the idea of having a separate repository and will continue to work on this if you like the direction.

I'll set up the repository and we can talk about transferring at a later date

yeah that's what I'd suggest as well, thank you!

I can run things locally, so making some progress. I am definitely not as comfortable with Deno as anticipated 😬 😅

I could use some help if anyone is interested.
Module<EMAIL_ADDRESS>Repo: https://github.com/kurtaking/octoherd-cli-deno

thanks for the update! It's always hard in the beginning when figuring things out. Thank you for staying on it

@gr2m, the issue faced now is around dynamic imports. The output of deno compile does not support dynamically importing files that were not present at compilation time [ref].
The output of deno install does not support dynamic imports.

around dynamic imports

Try this:
const { script } = await import("https://esm.sh/@octoherd/script-hello-world")
// now call `script(octokit, repository, options)` for every repository

Replace @octoherd/script-hello-world with the script name. The Deno CLI binary could work the same as the current Node-based CLI in terms for CLI arguments, for example:
$ deno-octoherd run -S https://esm.sh/<EMAIL_ADDRESS>

@gr2m, I have things working now for scripts coming from a URL. I have not figured out how to handle the failures for local files yet. I'm at a stopping point for today, but this feels good.
Success
➜  octoherd-cli-deno git:(main) ✗ deno compile -A<EMAIL_ADDRESS>Check<EMAIL_ADDRESS>Compile<EMAIL_ADDRESS>to octoherd
➜  octoherd-cli-deno git:(main) ✗ ./octoherd run -S https://esm.sh/<EMAIL_ADDRESS>-T $GITHUB_TOKEN -R 'kurtaking/octoherd-cli'

Running @octoherd/cli v0.0.0-development (@octoherd/octokit v1.36.4, Deno: %s)

 INFO  Loading repositories ...
. INFO  Running on kurtaking/octoherd-cli ... {"octoherd":true}
 INFO  Hello, World! From kurtaking/octoherd-cli

Log file written to /var/folders/z9/6dw2r0590j976pxzfnpt02d00000gn/T/8b25ff11ndjson.log

--------------------------------------------------------------------------------

➜  octoherd-cli-deno git:(main) ✗ deno run -A<EMAIL_ADDRESS>run -S https://esm.sh/<EMAIL_ADDRESS>-T $GITHUB_TOKEN -R 'kurtaking/octoherd-cli'

Running @octoherd/cli v0.0.0-development (@octoherd/octokit v1.36.4, Deno: %s)

 INFO  Loading repositories ...
. INFO  Running on kurtaking/octoherd-cli ... {"octoherd":true}
 INFO  Hello, World! From kurtaking/octoherd-cli

Log file written to /var/folders/z9/6dw2r0590j976pxzfnpt02d00000gn/T/53d46ba8ndjson.log

--------------------------------------------------------------------------------

Failures
➜  octoherd-cli-deno git:(main) ✗ deno run -A<EMAIL_ADDRESS>run -S examples/script.ts -T $GITHUB_TOKEN -R 'kurtaking/octoherd-cli'
error: Uncaught (in promise) Error: [octoherd] /Users/kurtking/Development/Personal/octoherd-cli-deno/examples/script.ts does not exist
            throw new Error(`[octoherd] ${path} does not exist`);
                  ^
    at https://deno.land/x/octoherdcli@v0.2.18-alpha/bin/commands/run.js:99:19
    at async https://deno.land/x/octoherdcli@v0.2.18-alpha/octoherd.ts:5:14
➜  octoherd-cli-deno git:(main) ✗

--------------------------------------------------------------------------------

➜  octoherd-cli-deno git:(main) ✗ ./octoherd run -S examples/script.ts -T $GITHUB_TOKEN -R 'kurtaking/octoherd-cli'
✘ [ERROR] Unhandled media type Unknown. [plugin deno-loader]

error: Uncaught (in promise) Error: [octoherd] Error: Build failed with 1 error:
error: Unhandled media type Unknown.
    at /Users/kurtking/Development/Personal/octoherd-cli-deno/examples/script.ts
          const err = new Error(`[octoherd] ${error}\n    at ${path}`);
                      ^
    at https://deno.land/x/octoherdcli@v0.2.18-alpha/bin/commands/run.js:102:23
    at eventLoopTick (ext:core/01_core.js:183:11)
    at async https://deno.land/x/octoherdcli@v0.2.18-alpha/octoherd.ts:4:14
➜  octoherd-cli-deno git:(main) ✗

when importing locally, make sure to either use a relative path starting with ./, like ./examples/script.ts


Fixed more sonar warnings

coverage: 94.258%. remained the same when pulling 36d8260004fd9ecb3dd08ace113b1237c6f8115a on cody-more-code-smells into f2cb5649e68bc760bfc00bfaef52ae6e3f67f626 on main.


Investigate 64-bit Windows build

For 1.x we always build the Windows executable in 32-bit mode. For 2.x, let's take a look at the possibility of providing the 64-bit version.

Next version (2.5) will have a 64-bit version.


Selected options does not show when using ajax

I created this fiddle, to test it out
https://jsfiddle.net/mav6a1d5/
Why is the "123" not pre selected?
If I remove the options from select2() then it does show, but then it opvious cant search.
My use case for this is:
A user have 3 options, which get validated on server side, if the user has some errors (either in the selects or in other fields) then they should come back, but now with pre selected selects.

This is a duplicate of https://github.com/select2/select2/issues/3990 (picked that ticket because it is general).


Initial Code Pipeline event support

I added initial support for CodePipeline events.
I started with the "Approval" events with the goal of publishing Approval messages to Slack so that someone can act on them. There are two ways Manual Approval events appear: as state changes in the pipeline flow, and as dedicated "please act on this" messages. Their formats and intentions are different so I split up the code to handle them separately.
The codepipeline.js can be extended to add support for other general state change events - I wanted to get the first ones (Approval) working first and then can progressively add support for more.
Note: since it's a pain in the ass to get real sample JSON for testing in Lambda, I also checked in two events that can be used for testing this code. I think it would be REALLY helpful to check in example JSON for use in custom test events as it will make it MUCH easier for other developers to confirm they (a) don't break anything if they are making changes and (b) see the specific service JSON message format without having to setup a full test system/service in AWS.

Note: I don't know how to link this to the #31 issue I created for it.


What patch should i use

I have samsung galaxy a3(16) "a3xelte" with kernel version 3.10.xx .. can you help me to build the patch for my device? or you can suggest me what patch should i use from you current patchs? thx

Did you try this one:
https://github.com/pelya/android-keyboard-gadget/blob/master/patches/existing_tested/by-manufacturer-and-soc/samsung___apq8084______kernel_3.10.patch ?

what model name does your galaxy a3 have? SM-A310F , SM-A310F/DS, SM-A310Y, SM-A310M or SM-A3100? Depending on that, you have a Samsung Exynos 7578 , Qualcomm Snapdragon 410  or Samsung Exynos 7870  processor. Different processors require different linux versions and different kernel patches.
Please checkout the wikipedia website: https://en.m.wikipedia.org/wiki/Samsung_Galaxy_A3_(2016)

You can find out the model name of your galaxy a3 by going to settings > about phone.

My model name is SM-A310F... i had try this patch https://github.com/pelya/android-keyboard-gadget/blob/master/patches/existing_tested/by-manufacturer-and-soc/samsung___apq8084______kernel_3.10.patch . But i got an error while building proccess

Patching almost never automatically succeeds. You almost always have to patch manually, by

comparing every $FILE with its $FILE.rej ; and
fixing every error.

@conrad-heimbold  im having galaxy grand prime model:g530h codename: fortunave3g
Which patch should i use ? It has Snapdragon 410 processor ...pls fimd me the patches for my phone
Thanks in advance:)


How to display messages from top to bottom?

Currently, messages displayed from bottom to top. How to display them from top to bottom?

Hi,
Our QMChatViewController is transformed upside down. There is no any public API to undo that. However you can always Fork from it and remove any transformation done within it.

@Raikerian
Can you please tell me where I can change it in QMChatViewController?

Search project for ".transform" keyword. Comment that line.


Cleaned up Insecure SCM page and added new Yar tool

I initially just wanted to add the new https://github.com/nielsing/yar tool (git secret harverster) and ended cleaning up the page a fair bit. Hope that's ok :)

Great work !!
Thank you very much 👍

Great work !!
Thank you very much 👍


Stop shipping tests

A sign of maturity, I guess!
Fix #863.

So long, and thanks for all the fish :wave:


[T6A3][W09-C2]Yeo Xiang Guang Brandon

Good job going a bit farther than most other class mates @brandonyeoxg .
Some comments added. Please close the PR after reading comments.


#923 fix issue application error when select country in create Warehouse page

Issue link: https://github.com/nashtech-garage/yas/issues/923


bug with collect() and SAM conversions

Given:
    value list = Arrays.asList("foo", "bar", "baz");
    function append(StringBuilder sb, String s) => sb.append(s);
    print(list.stream().filter((String str) => str.startsWith("ba")).collect(StringBuilder, append, append));

I get:

could not determine type of method or attribute reference: 'collect' of 'Stream': Error while loading the java.base/8 module:
Failure to turn functional interface to Callable type:
Type param U not found in function Stream.collect(T()? supplier) => R

Saw this kind of error in intellij and wondered if it was a bug in my model loader. I guess it's not :)

Well, actually this was observed in IntelliJ.

OK, you're right, @bjansen, it's IntelliJ-specific. Works on the command line.


Evp pkey params encoder

Seperate PR's will use this code in the apps to get rid of low level dh/dsa/ec? calls, and replace with calls to EVP_PKEY. e.g: dsaparams/dhparams

Checklist

[x] documentation is added or updated
[x] tests are added or updated

I am a bit swamped ATM to review or go through the actual implementation, but personally I wish this API was available also on the 1.1.1 branch!
Thanks @Shane for proposing this!!

What are people thoughts on 1.1.1?
I've no objection to having it there.

What are people thoughts on 1.1.1?
I've no objection to having it there.

It's a feature. So - no.

Travis failure looks relevant.

KeyParams rather than ParamsKey

KeyParams rather than ParamsKey

Hmm.. The public and private API's use i2d_PrivateKey, and then the internal API's use i2d_dhParams.
Either way its inconsistent.

If you think about it in English, "Private" is an adjective and therefore makes sense to have before "Key" (an object). "Params" isn't an adjective, so the language rules for direct ("Params") and indirect ("Key") object apply.
(right?)

Most API's try to keep a consistent naming convention: e.g.
e.g- Java
DHGenParameterSpec, DHParameterSpec, DSAParameterSpec, ECGenParameterSpec, ECParameterSpec, ExcC14NParameterSpec, GCMParameterSpec, HMACParameterSpec, IvParameterSpec, MGF1ParameterSpec, OAEPParameterSpec, PBEParameterSpec, PSSParameterSpec, RC2ParameterSpec, RC5ParameterSpec, RSAKeyGenParameterSpec, XPathFilter2ParameterSpec, XPathFilterParameterSpec, XSLTTransformParameterSpec
(They dont use XXName and NameXX). If it was called Parameter instead to Params would that make a different to which side it was on?

Being pedantic here...

"Private" is an adjective

Private can also be a noun: e.g. Private, at ease

If it was called Parameter instead to Params would that make a different to which side it was on?

Not at all. In my mind, a name such as KeyParams expresses that it's about parameters for a key, while ParamsKey would express that it's a key for parameters (which makes no sense at all). And in fact, all the names you have cited support that view.
Now, "Private" is different because it's not an object (in this context, @paulidale).

I think most privates would be considered little more than objects by their high command :)
Historically, this is definitely the case.

Names changed to KeyParams.

Also changed commit messages

Fixed the docs..

@ping

I just had a closer look with a clearer mind, and was kinda surprised that you didn't base this on available EVP_PKEY_ASN1_METHODs.  A bit of scrutiny showed that you probably based your work on d2i_pu.c, is that right?  I frankly have no idea why that file has changed to be based on available EVP_PKEY_ASN1_METHODs, but if you look at d2i_pr.c instead, you'll see the mechanics for doing so.
I know that I'm asking for a more or less complete rewrite, but quite frankly, I think it's worth the effort.  Do you mind?  (and it'll be easier than d2i_pr.c, you won't have to deaal with PKCS#8 sstuff :wink:)

Yes I based it on how it was done in another file :)
Ok will have a look tomorrow..
Does i2d need changing also or is it just the d2i?

Ah, sorry for being unclear. d2i and i2d should be implemented in tandem, so yeah, there's a corresponding i2d_pr.c to look at.

Yeah I understand now .. its much simpler... Thanks

@levitte looks cleaner now.

nit: typo in commit message:  'similiar' -> 'similar'


dark/light mode

#324   📐

**I Dark/Light Mode<#324>

Uploading 03.10.2022_15.25.56_REC.mp4…

could you please review the code @IAmTamal

could you please review the code @IAmTamal

Hello , IDK how to break it to you, but everything LOOKS BROKEN
Examples :
The Button is out of place, put it in the navbar. The text is blue, idk why.

Donot change the picture , it can be what it is

These looks very weird

I thought initially the app would look better in dark mode, but since there's alot of changes specially related to designing i'll close the PR. We need to even make a new Figma file / design for the app since all the components needs to be custom designed.
You can work on other issues.
Closing this one.

I thought initially the app would look better in dark mode, but since there's alot of changes specially related to designing i'll close the PR. We need to even make a new Figma file / design for the app since all the components needs to be custom designed.
You can work on other issues.
Closing this one.


Confusion regarding embedding space

The paper says, "...the same weight matrix is shared between the two embedding layers..." referring to the encoder and decoder embedding layers respectively. However, in the lines below I can see that the encoder initializes its own embedding matrix, separate from the one in the decoder. Can you explain why this is so?
https://github.com/jadore801120/attention-is-all-you-need-pytorch/blob/132907dd272e2cc92e3c10e6c4e783a87ff8893d/transformer/Models.py#L57
https://github.com/jadore801120/attention-is-all-you-need-pytorch/blob/132907dd272e2cc92e3c10e6c4e783a87ff8893d/transformer/Models.py#L96

Weights are shared in the __init__ function of class Transformer
https://github.com/jadore801120/attention-is-all-you-need-pytorch/blob/132907dd272e2cc92e3c10e6c4e783a87ff8893d/transformer/Models.py#L179
https://github.com/jadore801120/attention-is-all-you-need-pytorch/blob/132907dd272e2cc92e3c10e6c4e783a87ff8893d/transformer/Models.py#L183

i am also confused on that key , query , value get's trained or the embedding get's trained please help


[mempool; pkgs] nonce collision can break eris-pm deployment cycle

We saw this in a recent proof of concept. epm has no way of retrying nonce colliding transactions, or sequencing them so they do not collide. It ought to be able to do either o both.

should this a feature/bug issue in cli?


Improve error message missing column - Statistical

For this check, I left out the column name to see what would happen and it errored as expected but maybe the error message could be improved?
'NoneType' object has no attribute 'column_name' + a stacktrace is... not super useful. Could it be shortened to just "Missing column name"?
(Also, need to correct the docs for the metric: should be 'stddev' instead of 'stdev'.)
checks for sodatest_customers_b7580920:
  - stdev > 4

soda scan -d local_postgres_sodasql -c ~/.soda/configuration.yaml -ch checks.yaml
Soda Core 0.0.1
Unknown error while executing scan.
  | 'NoneType' object has no attribute 'column_name'
  | Stacktrace:
  | Traceback (most recent call last):
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/scan.py", line 323, in execute
  |     self.__create_check(check_cfg, data_source_scan, partition)
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/scan.py", line 470, in __create_check
  |     check = Check.create(
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/execution/check.py", line 37, in create
  |     return MetricCheck(check_cfg, data_source_scan, partition, column)
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/execution/metric_check.py", line 79, in __init__
  |     metric = data_source_scan.resolve_metric(metric)
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/execution/data_source_scan.py", line 46, in resolve_metric
  |     metric.ensure_query()
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/execution/numeric_query_metric.py", line 126, in ensure_query
  |     self.partition.ensure_query_for_metric(self)
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/execution/partition.py", line 56, in ensure_query_for_metric
  |     sql_aggregation_expression = metric.get_sql_aggregation_expression()
  |   File "/Users/Janet/Documents/GitHub/soda-sql-v3/soda_core/soda_core/execution/numeric_query_metric.py", line 92, in get_sql_aggregation_expression
  |     values_expression = self.column.column_name
  | AttributeError: 'NoneType' object has no attribute 'column_name'

Merged into #1234


[PWM/DV] Updates For DV document

Updated PWM DV document for V2
PWM is ready for V2
Signed-off-by: Dharanendra Kumar<EMAIL_ADDRESS>

There seems to have a merge conflict. @dharanendrak could you kindly rebase to the latest and solve the conflict? Then I can merge it :)

sorry about that, I still see this in my screen:

have you tried following this instruction? https://docs.opentitan.org/doc/ug/github_notes/#dealing-with-conflicts-after-a-rebase

sorry about that, I still see this in my screen:
have you tried following this instruction? https://docs.opentitan.org/doc/ug/github_notes/#dealing-with-conflicts-after-a-rebase

I did re-merge. Can you please check at your end ?

Sorry about that. I just triggered the rerun. hopefully will resolve this issue.


set caret to end when focusing inputs

conflicts (sorta) with this trello card

Coverage decreased (-0.1%) to 87.54% when pulling 9a58520cf1ee45677ac4e7c5068e8d0b3ff8b77a on end-caret into 1978d721ea316998702e611bfbb16f2a646bd2a0 on master.

Coverage decreased (-0.3%) to 87.428% when pulling 213eccdea998b584518b4d667685bd7b9f075f5e on end-caret into 1978d721ea316998702e611bfbb16f2a646bd2a0 on master.

Coverage decreased (-0.1%) to 87.574% when pulling 42b2a022f3edf7bd2248e055baf5d07b524a8937 on end-caret into 1978d721ea316998702e611bfbb16f2a646bd2a0 on master.

Coverage decreased (-0.1%) to 87.574% when pulling b34499194678b37b2a087b297c8862c7888ea5af on end-caret into 1978d721ea316998702e611bfbb16f2a646bd2a0 on master.


model.summary() cannot be displayed normally

定义一个Sequential模型，包含3层
model = keras.Sequential(
[
# 第一层：激活函数为relu,权重初始化为he_normal
layers.Dense(3, activation="relu",
kernel_initializer="he_normal", name="layer1",input_shape=(3,)),
# 第二层：激活函数为relu,权重初始化为he_normal
layers.Dense(2, activation="relu",
kernel_initializer="he_normal", name="layer2"),
# 第三层（输出层）：激活函数为sigmoid,权重初始化为he_normal
layers.Dense(2, activation="sigmoid",
kernel_initializer="he_normal", name="layer3"),
],
name="my_Sequential"
)
model.summary()

model.summary() cannot be displayed normally

Hi @Huffman-cotdom,
Any chance this issue could be translated to English? In the meantime I will try to find someone who can identify this language.
Could you also provide more details or screenshots regarding the issue? To help troubleshoot could you provide a screenshot of what you are seeing vs. what should be seen?

Hi @Huffman-cotdom,
Any chance this issue could be translated to English? In the meantime I will try to find someone who can identify this language.
Could you also provide more details or screenshots regarding the issue? To help troubleshoot could you provide a screenshot of what you are seeing vs. what should be seen?


Colab error from this link An introductory tutorial for this package is available as a Colaboratory notebook:

There was an error loading this notebook. Ensure that the file is accessible and try again.
JSON.parse: unexpected character at line 40 column 7 of the JSON data
https://github.com/deepmind/dm_control/blob/master/tutorial.ipynb
JSON.parse: unexpected character at line 40 column 7 of the JSON data
c/<@https://colab.research.google.com/v2/external/external_polymer_binary.js?vrz=colab-20201222-085609-RC00_348636243:1315:452
Ea@https://colab.research.google.com/v2/external/external_polymer_binary.js?vrz=colab-20201222-085609-RC00_348636243:19:336
Ca.prototype.next_@https://colab.research.google.com/v2/external/external_polymer_binary.js?vrz=colab-20201222-085609-RC00_348636243:17:503
Ga/this.next@https://colab.research.google.com/v2/external/external_polymer_binary.js?vrz=colab-20201222-085609-RC00_348636243:20:206
f@https://colab.research.google.com/v2/external/external_polymer_binary.js?vrz=colab-20201222-085609-RC00_348636243:70:101

Thanks for reporting, should be an easy fix. I could have sworn that Colab's JSON parser used to allow "#"s...

Thanks, working now. Cheers Rob.
Sent from my Phone
On 31 Dec 2020, at 12:48, Alistair Muldal<EMAIL_ADDRESS>wrote:

Closed #162https://github.com/deepmind/dm_control/issues/162 via d522fc3https://github.com/deepmind/dm_control/commit/d522fc327f9a6b280030ea2733c386a5d7f8fa1f.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/deepmind/dm_control/issues/162#event-4159625099, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFZHIJO4DVBNOH4MP5BUEITSXRXKTANCNFSM4VOQV6SA.


Proposal: LogLevel triggered buffered LoggerDecorator

We had a situation, where our normal logging level of warning did not provide enough information, but the information logs would show the information. Unfortunately information logs will generate lots more of output, which might or might not be useful.
So my proposal is that there should be a logger which will:

Create a Log-Buffer for every incomming request
Write into that buffer
when an log message of level x (e.g. ERROR) is sent to the logger, it will flush all messages of level y to whatever Logger is decorated by the buffered-log-level-triggered-LoggerDecorator.
when no log message of level x is received, all messages are silently discarded.

X and Y could be configured as well as the logger it decorates.

@glatzert This doesn't sound like something that would be built into our logging library. Sounds like it could be useful as a 3rd party logger provider though.

We periodically close 'discussion' issues that have not been updated in a long period of time.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


alacritty: 0.2.1 -> 0.2.3

Version 0.2.3
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

cc @Mic92

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: alacritty
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-darwin (full log)
Attempted: alacritty
Partial log (click to expand)
Created 'Alacritty.app' in 'target/release/osx'
installing
post-installation fixup
gzipping man pages under /nix/store/684my5r3yp8xa9vcwrx5xnvr5vf870xs-alacritty-0.2.3/share/man/
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/684my5r3yp8xa9vcwrx5xnvr5vf870xs-alacritty-0.2.3/bin
patching script interpreter paths in /nix/store/684my5r3yp8xa9vcwrx5xnvr5vf870xs-alacritty-0.2.3
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/78am2ai84pj3h1iaaj2yzz62j9hybq7k-alacritty-0.2.3-terminfo
/nix/store/684my5r3yp8xa9vcwrx5xnvr5vf870xs-alacritty-0.2.3

Success on x86_64-linux (full log)
Attempted: alacritty
Partial log (click to expand)
post-installation fixup
gzipping man pages under /nix/store/9iqlnqllx3ia30ajkx88yin2bqpv7339-alacritty-0.2.3/share/man/
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/9iqlnqllx3ia30ajkx88yin2bqpv7339-alacritty-0.2.3/bin
patching script interpreter paths in /nix/store/9iqlnqllx3ia30ajkx88yin2bqpv7339-alacritty-0.2.3
checking for references to /build in /nix/store/9iqlnqllx3ia30ajkx88yin2bqpv7339-alacritty-0.2.3...
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/kwlapizql3fqy33p4a05zmcxfnzvlvvw-alacritty-0.2.3-terminfo
checking for references to /build in /nix/store/kwlapizql3fqy33p4a05zmcxfnzvlvvw-alacritty-0.2.3-terminfo...
/nix/store/9iqlnqllx3ia30ajkx88yin2bqpv7339-alacritty-0.2.3


Support generic protocol routing

Title: Provide a generic schema and implementation for custom protocol routers
Description:
Looking at the custom protocol filters that have been added to Envoy very few of them support much in the way of routing, for the ones that do (Dubbo, Redis and Thrift ) there is a lot of semantic & impl duplication. It seems like there is an opportunity to provide a generic routing facility to filter implementations.
Generally speaking the Dubbo and Thrift ones are very HTTP-like, the Redis one is simpler but essentially is a path prefix match with some stripping.
I wonder if it makes sense for Envoy to canonicalize a schema and provide a default implementation for the filters to use? This seems like a decent win for filter implementers...
attrs = extract_protocol_features(bytes)
cluster = generic_router.resolve(attrs)
send_stuff_to_cluster(cluster)
If Envoy standardized this mechanism and a schema to configure the router then it simplifies life for most filter implementers and it helps control planes by having a standard schema for them to work with.
We already have fairly generic support for a system like this using CEL but we can choose to use other representations for the match conditions, e.g. flattened attribute matches like those in http route matching.
Assuming this made sense there are further considerations like extending this to work with an RDS-like mechanism etc for dynamic loading
It seems like this has been discussed in the context of UDPA too.
Relevant Links
UDPA
Dubbo Route
Thrift Route
Redis Route
Istio Discussion

@htuch @PiotrSikora
@nrjpoddar who has expressed interest in prototyping something
@kyessenov re CEL

Yeah would be nice to see something like this happen I agree.
At the same time we have a need on the HTTP side to move to a tree with linear leaves (where each leaf would be the HTTP route table we have today) model.
Optimally this would all happen in UDPA but we will need to see if someone wants to work on that vs. just making this happen within the Envoy API for now.

@mattklein123 I think we can make this happen in the UDPA context without a lot of hassle. In general, I would like to make forward progress on moving new key data models over to UDPA in a way that doesn't cause a lot of overhead. Here's my proposal:

Develop the protos for this new data model in https://github.com/cncf/udpa. We already consume protos in our xDS APIs from here.
Add the new routing data model proto to Envoy v2/v3 as an alternative in RouteConfiguration. It can be delivered over existing RDS and is immediately useful.
Later on, when we move towards v4 xDS and UDPA, we deprecate the existing linear RouteConfiguration (since the new tree-linear design is strictly more expressive).

There are two things I'd ask for if we do this in the UDPA repository that we don't do today. First, that we tag @envoyproxy/udpa-wg on reviews and provide an opportunity for non-Envoy consumers of the API to comment.
The second is that we have tests that fully specify the semantics of the routing API. Today, we just write protos, sketch out some doc comments and then the Envoy implementation is the reference. What I think these would look like is a bunch of input/outputs that are similar to what we have for https://github.com/envoyproxy/envoy/tree/master/test/tools/router_check, but they would fully specify the intended behaviors in a non-Envoy specific way.
I think both of ^^ are generally healthy for this specific proposed routing API, since we will ensure it's generic applicability across protocols and routing concerns, and we will have a bunch of clear specification level tests describing the behavior, allowing us to catch issues when they are cheap, before complex implementation PRs.
LMK what you (and other folks think) on this process proposal.

LMK what you (and other folks) think on this process proposal.

This proposal LGTM. The one thing that I would suggest though is that we just start by copying over the existing Envoy linear route table into UDPA and use that as a forcing function to work out doc issues, tests, etc. We know that we cannot regress any existing Envoy behavior so this will be a great forcing function to figure out which parts are HTTP/Envoy specific, where we need vendor extensions, how those would look, etc.

Has there been any progress on this work? 🤔

please provide update on this work, it's important

@snowp can you update this issue with where your generic matching is going? This seems the evolution of the earlier work and draft PRs above that could provide a solution here.

The generic matching API seems like a good fit for a generic route configuration, but some work will need to be done to make it fit tie it in with actually selecting a route. It's not clear how generic routing we're asking for here, but with the current match API I can imagine something like
providing per protocol input types (thrift headers, dubbo headers, etc.) and generic routing actions
this would allow a thrift proxy to subscribe to an RDS resource that should configure a match tree with thrift.request_headers inputs and cluster_routing actions, and a dubbo proxy to subscribe to an RDS resource that should configure a match tree with dubbo.request_headers and cluster_routing actions.
This would notably not be completely generic: since dubbo and thrift would use different header types, they wouldn't use the exact same config, even if they conceptually do the same "route to some cluster based on this header" routing. If this is sufficiently important we could probably support some kind of aliasing, e.g. having generic input types that change depending on the protocol context.
There's a bunch of open questions here (e.g. around handling protocol specific properties), but if this general direction seems desirable we can start fleshing those out.


Adapting the plugin for Xcode 5 (using "Source Control" menu)

+1

I don't think a message popup is the way to go, rather than just to document it on the readme.  As a new user, I had trouble finding it and immediately went to the docs to no avail.

@nickkjordan  What do you mean by "it" with "As a new user, I had trouble finding it" ? Thanks!

Sorry, I meant I had trouble finding the additional "Github" tab on the menu bar.

I'm maintaining my fork at https://github.com/cbowns/ShowInGitHub with this PR landed.
Also, please merge this!

Alright. Let's see how this goes. Thanks a lot @mabedan !!


Set the order parameter in iterative_train_test_split

Thanks for the effort on buliding this library. I have 2 questions:
a) The IterativeStratification method has a parameter order:
the order of label relationship to take into account when balancing sample distribution across labels
Does this mean that order should be set to the maximum number of labels per data instance? Assuming a label distribution like the following, would 6 be the appropriate value for order? or 3 would be best as it is "simpler" while it encompass the vast majority of datapoints?

Number of datapoints with 1 label(s): 3066
Number of datapoints with 2 label(s): 761
Number of datapoints with 3 label(s): 212
Number of datapoints with 4 label(s): 49
Number of datapoints with 5 label(s): 7
Number of datapoints with 6 label(s): 1

b) In the iterative_train_test_split method there is no order parameter. Digging into the code, I found that order=2 hardcoded. Let's assume I aim for a train-test split of a dataset with the label distribution listed above. If my assumption in a) is correct, wouldn't it make sense to allow to choose a train-test split with a desired order ?

Hi! Yes it should be included in the iterative_train_test_split the order parameter. I will make the changes. Thank you for seeing it. Also as you say in #160 it would be better to improve the documentation as well. Thanks!


Initialize

At this point, I :

Implement classes and objects

Implement encapsulation and inheritance

Practice comand line.

Hi @Theodoraldo,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that is invalid because you did not follow the correct Git-flow workflow
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Examples for text + classification task

All text examples cover MLM task. What should I do to, for example, run an attack against Bert in a classification task using the Cola dataset?
I tried to change the Decepticons - Analytic Attack - BERT on Wikitext.ipynb example by adding
cfg.case.data.name = 'cola'
cfg.case.data.task = 'classification'

But then when I run it I get the following error when the dataset is loaded
raw_dataset = Dataset.from_dict({k: [v] for k, v in raw_datapoint.items()})
AttributeError: 'Dataset' object has no attribute 'items'. Did you mean: 'iter'?

Is there something else I need to set?

A first step would be to load the whole cola config group, via case=cola. Does that get you somewhere?

Hi Jonas, thanks for the reply,
I included the "case/data=cola", but I got the same error. It was simple to solve, though. The reason is that
 load_dataset("glue", "cola") already returns a Dataset. Thus, I changed, for now, in dataset_texts.py
raw_dataset = Dataset.from_dict({k: [v] for k, v in raw_datapoint.items()})

to
raw_dataset = raw_datapoint  # It is already a Dataset

However, I face later something I have no idea how to solve or tweak. The following assert in base_attack.py fails
assert len(bias_per_query[0]) == server_payload[0]["metadata"]["vocab_size"]

The bias_per_query[0] has length 768 (hidden layer size), whereas it was expecting 30522 (Bert's vocabulary size). If I comment the line (which I think is wrong), the code runs till the end, but all the tokens are predicted as CLS, so I think I should tweak something else. By any chance, would have any idea?

This is a problem, your decoder_bias_parameter_idx  should be None, to indicate that your model does not have a decoder bias for every token (as it ends with a classification head). Also, make sure that embedding_parameter_idx points to the correct entry in the list of gradients, corresponding to the weights of the token embedding.

As a sanity check, you could also set token_strategy to None, which should be an okaish baseline, where no token info is used, and all found embeddings are matched against the full vocabulary.

Closing this for now. Let me know if you have more questions.


Upgrade version.error-prone-orig 2.20.0 -> 2.21.0

This PR contains the following updates:

Package
Type
Update
Change

com.google.errorprone:error_prone_annotations (source)
compile
minor
2.20.0 -> 2.21.0

com.google.errorprone:error_prone_core (source)

minor
2.20.0 -> 2.21.0

com.google.errorprone:error_prone_test_helpers (source)
compile
minor
2.20.0 -> 2.21.0

com.google.errorprone:error_prone_core (source)
compile
minor
2.20.0 -> 2.21.0

com.google.errorprone:error_prone_check_api (source)
compile
minor
2.20.0 -> 2.21.0

com.google.errorprone:error_prone_annotation (source)
compile
minor
2.20.0 -> 2.21.0

Release Notes

google/error-prone (com.google.errorprone:error_prone_annotations)
v2.21.0: Error Prone 2.21.0
Compare Source
New Checkers:

AttemptedNegativeZero: Prevents accidental use of -0, which is the same as 0. The floating-point negative zero is -0.0.
ICCProfileGetInstance: Warns on uses of ICC_Profile.getInstance(String), due to JDK-8191622.
MutableGuiceModule: Fields in Guice modules should be final.
NullableOptional: Discourages @Nullable-annotated Optionals.
OverridingMethodInconsistentArgumentNamesChecker: Arguments of overriding method are inconsistent with overridden method.

Fixed issues: #3976, #3986, #4001, #4002, #4026, #4027
Full Changelog: https://github.com/google/error-prone/compare/v2.20.0...v2.21.0

[ ] If you want to rebase/retry this PR, check this box

Warning
Renovate's suggested commit message is being replaced with improved initial commits to enable automerging. As a side effect, these suggested commit messages might have changed. Consider comparing the initial commit message and this message to determine the most suitable one. Please leave feedback in #sys-renovate.

Suggested commit message:
Upgrade version.error-prone-orig 2.20.0 -> 2.21.0

See:
- https://github.com/google/error-prone/releases/tag/v2.21.0
- https://github.com/google/error-prone/compare/v2.20.0...v2.21.0

Closing and re-opening the PR fixed it :heavy_check_mark:

Tweaked suggested commit message.

Tnx!

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

Will merge once 📗.


Test Vectors for EC Point Multiply

Test multiply with the test vectors downloaded from:
http://point-at-infinity.org/ecc/nisttv

Oh, I should probably extend SimpleTest like the other classes in that folder shouldn't it?

The current codebase needs to compile for .NET 1.1. Please avoid named parameters, var keyword, yield keyword, generics. Otherwise looks good.

Thanks for the PR and making those changes. Merged.


First Run Error

Using Quick Start installation with Pi I received this error:
File "/home/pi/jasper/jasper.py", line 11, in
from client import tts, stt, jaspepath, diagnose
File "/home/pi/jasper/client/tts.py", line 20, in
import requests
ImportError: No module named requests
Does anyone know what the issue may be?
Thanks.

You need to install python-requests.


Strict data types

I can't think of a good reason why these shouldn't be strict, and unboxing them will make them use less memory and require fewer indirections.
I would be pretty keen for us to start making data types strict by default, and only make them lazy where there's a good reason to.

I am fine with this :+1:
With latter comment, probably worth having the discussion somewhere centralised. guideline repo?

https://github.com/ambiata/guideline/pull/12

I messed up here by adding -funbox-strict-fields to the .cabal file, fixed in a later PR


[NCL-8768]: Implement POST /clone endpoint

Depends on: https://github.com/project-ncl/pnc-api/pull/231

retest this please


Pathway page empty

Tried to access Glycolosis/Gluconeogenisis pathway 00010, but got empty pathway page when I clicked on the  button.

seems to be fixed now on beta.


FCNPC_SetAngleToPlayer/FCNPC_SetAngleToPos has issues

The calculation your using doesn't always work properly.

I have not seen such, examples are needed.

I'll make a video in a couple of hours.

Before i say anything i have modified few things when i tested but nothing that has anything with angles.
In sample body guard script, if you set NPC to follow player his rotation will be offset for 90% (not really sure if its 90 always, it just seems that way). So he will be running sideways toward his next point. But aiming works fine (just to note).

Should be fixed in c42a75206224879f7699bd12d10d8fa1b86114a0.


[Question] Pcap-analyzer for Voip and VoLTE pcaps

Hi,
Based on the answer on Can't build pcap-parser #5 " Depending on what you want to do, I can provide some hints on what is better to choose": I am looking to work on pcaps contianing protocols such as GTP, RTP, RTCP, SIP, S1AP, DIAMETER and parse specific attributes within the applicaiton layer, some attributes from FRAME and Transport layers as well but mainly on application layers.
Is this something currenlty possible? Any hint or recommendation on how to use it for Application layers?

Hi,
I do not know all these protocols well, so my answer may miss some elements.
From what I understand, it may not very very easy. The main reasons are:

These protocols are currently not supported, and we'll need parsers (though I have a diameter parser somewhere on my disk that I have not yet published) to add them. I have not checked if such parsers already exist
Passing info from a layer to another is currently not standardized

In the current state, what can be done is add a plugin to the network or transport  layers (or both), and call decoding functions recursively. You'll be able to call libpcap-analyzer functions if you need to decode known protocols like UDP or TCP, and would also benefit from all the infrastructure of decoding/plugins/etc.
To keep information from different layers is a different thing. Currently, plugins store hashmaps of whatever they want, the key usually being the identifier of the flow. I'm still trying to think of a global/easier solution, but Rust makes it quite hard due to borrowing/ownership issues :/

Additional thoughts:
Applications layers can be added in their own plugin (see the tls plugin for a standaline example), or in the rusticata plugin.
Having a standalone plugin is better if you'll use your own parsers, and already know how to identify / track the protocol. Rusticata is useful if you want to use the existing probing mechanisms, so I think it would not be the case here. You only have to link your plugin (like the explugin-example crate) in pcap-analyzer.
Note that even if you add them in the rusticata plugin, it is not mandatory to have them in the rusticata crate, they only have to share the same interface.

Not sure what do you mean by existing probing systems? We extract this informaiton from Telco grade probes and the dissectors exist on tshark/wireshark so there is no problem on supporting decding them.
I'll check the plugins and give it a shot.
Thanks for the help, I'll let you know the outcome.

What is called probing in PAL is the protocol identification functions and logic, to be able to recognize for ex. TLS independently of the port number. I'm not sure you need it here.


Enable support for smart/shallow cloning

When I do:
git -C vorbis pull 2> /dev/null || git clone --depth 1 https://git.xiph.org/vorbis.git/
...I get the following error:
fatal: dumb http transport does not support shallow capabilities
This is a huge problem as shallow cloning is the standard nowadays, and Github appears to have officially deprecated dumb cloning almost a decade ago:
https://github.blog/2011-03-09-git-dumb-http-transport-to-be-turned-off-in-90-days/
Is there any chance of this being brought up to date?

We are moving away from gitosis to GitLab in the long run.
You should have more success by looking at https://gitlab.xiph.org - which is kept in sync.
https://gitlab.xiph.org/xiph/vorbis in case of Vorbis

Why doesn't the website make any mention of this? It's has links to both the Github and SVN but not Gitlab.


Lane Type enumerated type allows values that don't make sense given the context it is used in

Simplify the Lane Type enumeration
Background
Currently, the Lane Type Enumerated Type allows values that don't make sense given the context it is used. This type is used by the lane_type field on the lane table--each entry in the table represents a single lane. Many of the allowed types are plural and leftover from WZDx v1 when this enumeration was used on the activity/road event level. Examples: middle-two-lanes, left-3-lanes, etc.
Quick Solution
A quick solution would be to disallow the values that no longer apply. This should have been done for the v2 release but was likely not caught in review.
Simplifying the Lane Type enumeration
While the quick solution solves the biggest issue with the current enumeration, this is a good opportunity to think about what type of lane information we want to get from the lane_type field and thus simplify the enumerations of the Lane Type Enumerated Type.
If we just disallowed the plural/non-applicable values, we'd still have several enumerations which are redundant given information from other fields on the lane object.
An example of a redundant lane type is middle-lane. This value indicates if a lane is the "center most lane where are a total of an odd number of lanes". Since a lane also a lane_number  and the road event has total_num_lanes, you could already determine if the lane was in the center.
Thelane_number isn't required, but if a producer could provide the lane_type as middle_lane, they could also give the lane_number for the lane.
Conclusion
An update needs to be made to the Lane Type Enumerated Type and I'm hoping this issue thread can start the discussion on what route we should take to do that, as there is potential to simplify the enumeration as part of the change.

Please see #5, which may be related

I will say that we have these same issues when suggesting messages for display on DMS signs in response to closed lanes. Many roadways have very complex geometry which may include HOV, express vs local, multiple exit or entrance ramps, etc. Even determining if the "right" lane is closed becomes complicated.

As I was going through I found more examples worth referencing here for easy access.

The value both appears twice in the list of allowed values with different descriptions, but it's impossible to clarify which both one is intending to use and also this value doesn't make sense in describing a single lane, alike to all other plural values
The values outside and  inside are intended for use for shoulders only which is unclear and they should probably be outside-shoulder and inside-shoulder.
The value none with the corresponding description "No lanes (open or closed)" doesn't make any sense as this enumerated type is used to describe a single lane

Deprecating obsolete values make sense in this case to not break backwards compatibility, unless no one is using these.

@CraigMoore-Sea I'm not sure how anyone could be using them with a v2 feed as they don't make sense.
It's effectively like v2 deprecated (unofficially) these values so in v3 we could remove them. This is my preferred approach as it leads to a much cleaner v3 spec.

Based on co-chairs discussion mid-may, please see #94 with a proposal.

Fixed in #94


/api/core/items endpoint only returns "archived" Items when it should return all Items

Describe the bug
Currently (as of 7.0), the /api/core/items endpoint only returns Items which are "in archive" and not withdrawn.  This means it excludes Workspace/Workflow items and withdrawn items.  This behavior is odd, because those item types are available via /api/core/items/<:uuid>, but they are currently only discoverable/findable via other related endpoints.
As this endpoint is Admin only & paginated, ideally the /api/core/items should return every Item in the system (i.e. everything in the item database table which is not deleted).
This bug does NOT impact the Angular UI, as it doesn't use this endpoint for any purposes at this time.  However, this may impact other clients which wish to use this endpoint to obtain access to all Items.
Related work

Rediscovered during discussion of #3321 (In this PR, we temporarily "fixed" behavior to only return archived Items. Even though we feel that behavior is incorrect, it was easier to achieve quickly.
Older, related discussions in PR #2406

it should took 2-4 hours including fixing/improve the IT to cover the right specification.
It would be appropriate to include at least one search method that will reproduce the behavior of the 7.0 so that admins can scroll all the archived items in the repository and/or the withdrawn items (so keep excluded workspace,workflow and template) without using the discovery configuration. This additional task and tests should take additional 4 hours

Thanks for the estimate @abollini .  I've added 4 hrs to this ticket as the official estimate, as I think your second point may require more discussion.  I'm not yet sure if we need a new "out of the box" discovery configuration for only archived items, or if we simply should document that they should use the existing administrativeView configuration along with a filter to hide withdrawn items (as needed).  In any case, we can discuss that further once we move towards implementing this ticket.

This issue was moved to the DS backlog a year ago - is this an indicator that this issue will no longer being considered for DS 9? Currently, we need a case distinction in our DS API client when we want to perform bulk updates on DS items (regardless of their in_archive status).

@saschaszott : The fact that this was moved to the "backlog" over a year ago simply means that at that time there was an unclear priority on this task (see discussions above).  Any task can be moved from the backlog to a release board if/when we prioritize it or find a use case for it.
At this time, no one has found a use case for changing this endpoint because the search endpoint can be used to see everything (regardless of in_archive) status by using the administrativeView: https://github.com/DSpace/DSpace/blob/main/dspace/config/spring/api/discovery.xml#L643
So, in my opinion, your use case may be solved by using that administrativeView.  If it is not, then we'd need a clearer understanding of your use case....and we'd need to locate a volunteer for this ticket, obviously.

Thanks for your feedback, @tdonohue . Our current use case is that we want to modify items (add / remove / update metadata fields) regardless of the item's in_archive status. This is currently not possible via /api/core/items as this endpoint does not consider items which are in workflow or workspace.
In consequence, it means that I have to perform a case distinction in my program to decide which API endpoint is suitable for the PATCH / POST / PUT request (either /api/core/items or /submission/workspaceitems or /workflow/workflowitems).
This limitation is still mentioned in the description of the /api/core/items endpoint https://github.com/4Science/Rest7Contract/blob/main-cris/items.md

In the future, this endpoint is likely to be updated to include all items, regardless of status, see https://github.com/DSpace/DSpace/issues/3325

To sum up, I would like to have an unqiue API endpoint that allows to modify items regardless of there current status.

@saschaszott : I believe you can already PATCH/POST/PUT all items via the /api/core/items endpoints.  For instance, our docs for PATCH have examples for how to reinstate a withdrawn item (where is_archive is false).  https://github.com/DSpace/RestContract/blob/main/items.md#replace
I believe this ticket is simply about whether to have the root endpoint /api/core/items list every item in the system (regardless of is_archive status), or whether it should only list items which have is_archive: true (current behavior).
So, I still believe your use case is already met in DSpace.  But, please let me know if I'm misunderstanding.
Regardless, this ticket can be claimed by someone who wants to volunteer to move it forward.  I'm not against changing this endpoint behavior, but it'd have to be done in a major release (as it may have unexpected side effects, if there's code that assumes /api/core/items will only return archived Items).


Support accessing environment variables in template

If one want's to get information from a container's environment variable e.g. .Container.Config.Env, there is no easy way to do this with Golang text/template.
Create a custom helper function to do this.

Bump


External logging system

In future versions the reader will be able to log to a file along/instead of just on stdout.

It should be along, since having stdout logging allows docker logs --follow <container_id>.

Have implemented this in an experimental branch and will come out in future commits.

If possible do a separate pull request even for these kind of smaller commits, instead of combining them into other contributions.


Can not invoke APIs create through importing API definition

Description
While testing POST /apis/import-definition resource in runtime-api.yaml it was identified that the created API can not be invoked.
It was observed that in the Authentication CR name of the HTTPRoute is not the same as in API.
API CR:
Production:
    Http Route Refs:
      01edd8ea-1be0-1886-9b99-e1e4dafeefb6
  Sandbox:
    Http Route Refs:
      01edd8ea-1be0-1886-9d22-56f9a26f76b4

Authentication CR:
Spec:
  Override:
    Ext:
      Disabled:  true
    Type:        ext
  Target Ref:
    Group:
    Kind:       Resource
    Name:       01edd8ea-1be0-1886-a132-da476802bc47
    Namespace:  apk

Observing similar error for migrated APIs as well since the migration client uses import-definition resource.

Fixed


Cursors Beam and Underline revert to Block during grab and drag or lose focus

Linux Mint 18.3 Sylvia, up to date.
X11 with Xinerama, with Nvidia binary driver.
No Composite extension, No Wayland.
Alacritty cloned from git Master, with src/window.rs line 211 edited to disable transparency.
Was trying the other cursors to see what they looked like, and noticed while dragging the Alacritty window, the cursor changed to a Block. Once dragging stopped, the desired cursor shape came back.

#1079 should allow changing this behavior.

@siiptuo thank you; that option was not in my config file and I did not find that thread when searching earlier. Cheers!


[release] workaround for OSSRH-66257 - java.util.AbstractList.modCount accessible: module java.base does not "opens java.util"

Type of change
Select the type of your PR

Bugfix

Description
Apply workaround for avoid an exception during release deploy.
See: https://issues.sonatype.org/browse/OSSRH-66257.
See #238
Additional Context
Why are you making this pull request?
Checklist
Please go through this checklist and make sure all applicable tasks have been done

[ ] Write tests
[ ] Make sure all tests pass
[ ] Update documentation
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

Do we need a similar fix in the Kroxylicious repo or have we not got to the same stage of release automation there?

Do we need a similar fix in the Kroxylicious repo or have we not got to the same stage of release automation there?

The automation is not present in the kroxylicious repo yet.  I wanted to see the automation work in the ext repo first.


Plan for feature integration

What is the plan/strategy for adding new features?
PR #31 has a bunch of promising new features, and I was wondering what the process would be to get them merged.
I assume that adding ESP32 support, adding wifi transport, adding battery, should all be broken into separate PRs.
With the addition of CI, from now on we should know if the firmware will still build correctly for any particular PR, but I'm not sure this indicates if it will function as intended. Should we test that? Do we have any ideas for how unit tests might be done, or if they would even be desirable?
Would love to get your thoughts on this @grassjelly, and I would be willing to work on implementing whatever conclusion there is.

Would be great to have ESP32 (or Wifi enabled uCs) support, however that PR had a lot of intrusive changes especially on the core hardware libraries and the main firmware itself (which is understandable due to how the hardware interface works in ESP32 board as well as the different transport used. I think the least disruptive way is to:

Create a new firmware folder that will house the new wifi-based firmware.
Create new copies of existing sensor/hardware libraries that needs to be modified for ESP32 integration. This could be temporary and merge to default libraries, we just want to find out which part of the libraries to poke.

Let me know what you think

That's a good point. I honestly haven't looked super closely at the diff of that PR, so while those steps seem sane to me I think it would be good to get the opinion of @hippo5329 about how to go about merging features.
There seem to be a bunch of features added in that PR that would be less intrusive and would be of immense value to existing users on existing boards. Just to name a few of them:

Magnetometer support
Ultrasonic sensor support
Battery voltage & current measurement
Battery current measurement
Reduced stopping distances
I personally would love battery info for my robot, so wish to see this integrated into the current code.

It seems to me the PR should be broken up into PRs for individual features? So each of the bullet points above, as well as ESP32 support and pico-w support should each be separate PRs. Would be a bit of work, but I would love to see this repo get those features in a well-tested way.
I'm pretty interested in the idea of creating unit tests for this codebase, as I think each PR that adds features should be tested both to function and to not interfere with existing functionality.   I also personally want to gain some experience with unit testing, and I think this would be a great place to do it. It seems that PlatformIO has pretty good support for it.. Does it make sense to you if I create unit tests for the existing code?

I'm open to more PRs (ie. unit tests and new sensors). I do have a few  concerns tho on the new features proposed:
This should be fine assuming it'll use the i2c interface.

Magnetometer support

The Teensy boards might not have enough pins to support these sensors but I'm open to i2c based implementation).

Ultrasonic sensor support
Battery voltage & current measurement
Battery current measurement

Not really sure what you mean by this

Reduced stopping distances

Whoops, didn't mean to list battery info twice as a feature.
What I meant by reduced stopping distance was @hippo5329 's addition of USE_SHORT_BRAKE, that from my very quick and cursory glance at some of the code, seems  to attempt stopping more aggressively by locking the wheels by enabling both directional pins of the motor driver, instead of simply putting them in a neutral state with pwm of 0. Not totally sure, but also noticed a section of his PR branches README dedicated to it.

Understood. Honestly, I don't have the bandwidth at the moment to develop those features, but If you're okay to work on it, I'll be happy to review PRs,

hey @atticusrussell this might be a good start

Dear all,
I am just back from traveling. I will follow up soon. Thanks.

About the "Reduced stopping distance" is using the "slow decay mode" to control the motors. This will give much better motor speed control at low speed and reduce the stopping distance of the robot to avoid collision just like that of driving a car. The configuration should become default. Please see the following link, https://learn.adafruit.com/improve-brushed-dc-motor-performance/current-decay-mode

Sorry for the confusion on my ESP32 PR. I had been a contributor/maintainer of Linux Kernel and u-boot very long ago. I had tried to keep my patches clean and ready for merge. But I did not get a reply from my 100+  patches. I am glad they got some attention now. I will create a new branch and resubmit my patches in groups. Let's work together.

Cheers,
Thomas

Last week I began work on creating unit tests for the existing libraries. Despite the fact that these unit tests are far from complete or comprehensive, I will try to get a PR created that incorporates the created unit tests into CI.
My plan behind this is that any PR that adds functionality will also need unit tests written for those functions, and can be verified not to cause regressions from any of the existing code, in order to be merged.
Would love to hear if anyone agrees or has differing opinions - all feedback is welcome.

Atticus, Thanks for your efforts on unit testing. It is great to have tests code.
I have tried to limit the scope of each change with configuration and run building tests on all available targets. So that the regressions from existing code should be minimized.
BTW. In README.md, I have described the configuration to reduce the stopping distance is
USE_SHORT_BRAKE - Short brake for shorter stopping distance, only for generic_2 BT6612 and BTS7960 like motor drivers
Result with USE_SHORT_BRAKE.

MOTOR1 SPEED   0.46 m/s   4.10 rad/s STOP  0.135 m
MOTOR2 SPEED   0.49 m/s   4.40 rad/s STOP  0.171 m
You can see that the stopping distance is much longer without USE_SHORT_BRAKE. It can be dangerous in some case. The short brake also provides better speed control.

@hippo5329, I wanted to let you know that I just created PR #65 that adds unit tests for some of the existing code. I hope the tests in the PR can provide an example of how to add unit tests to PlatformIO so that each PR proposing a new feature can be accompanied by unit tests. Please see the addition to the README in the PR if you have any confusion, and I would also be happy to elaborate if necessary.
I only created unit tests for a small bit of the existing code in the PR, but I aim to create more in the future as my schedule allows.

I submitted a pr for esp32 support onto rolling. It should be the same for other ROS2 distro. I am not familiar with the CI testing. Will the pr run through all the tests?


thrift proxy: add upstream_rq_time histograms to cluster metrics

Signed-off-by: William Fu<EMAIL_ADDRESS>Commit Message:
In #15668 we began supporting cluster level metrics for the thrift_proxy connection manager. These metrics were limited to messageType counters only; now that these are working OK we are comfortable moving to cluster level histograms for upstream_rq_time.
Additional Description:
One interesting design choice here that surfaced was the naming convention for thrift-related cluster metrics. Mirroring off HTTP as much as possible, we adopted the upstream_ prefix, but to avoid conflating with the HTTP counterpart (in the event that we start supporting multi-protocol clusters) we opted to add thrift in the StatName.
Happy to revise this decision if desired.
Risk Level: Low, #15668 was successful
Testing: New unit tests
Docs Changes: Planning to update docs

Thanks for your help @zuercher !


bump kerlescan 0.74

Secure Coding Practices Checklist Link

https://github.com/RedHatInsights/secure-coding-checklist

Secure Coding Checklist

[ ] Input Validation
[ ] Output Encoding
[ ] Authentication and Password Management
[ ] Session Management
[ ] Access Control
[ ] Cryptographic Practices
[ ] Error Handling and Logging
[ ] Data Protection
[ ] Communication Security
[ ] System Configuration
[ ] Database Security
[ ] File Management
[ ] Memory Management
[ ] General Coding Practices

Codecov Report

Merging #165 (40108d0) into master (209c0c9) will increase coverage by 16.71%.
The diff coverage is 66.23%.

@@             Coverage Diff             @@
##           master     #165       +/-   ##
===========================================
+ Coverage   50.14%   66.85%   +16.71%
===========================================
  Files          13       16        +3
  Lines         357      543      +186
===========================================
+ Hits          179      363      +184
- Misses        178      180        +2

Impacted Files
Coverage Δ

historical_system_profiles/deleter.py
0.00% <0.00%> (ø)

historical_system_profiles/listener_logging.py
0.00% <0.00%> (ø)

historical_system_profiles/mgmt_views/v0.py
100.00% <ø> (ø)

...rical_system_profiles/payload_tracker_interface.py
0.00% <0.00%> (ø)

..._system_profiles/notification_service_interface.py
35.00% <35.00%> (ø)

historical_system_profiles/archiver.py
58.22% <58.62%> (+58.22%)
:arrow_up:

...ical_system_profiles/baseline_service_interface.py
60.00% <60.00%> (ø)

...torical_system_profiles/drift_service_interface.py
66.66% <66.66%> (ø)

historical_system_profiles/db_interface.py
78.68% <76.00%> (+12.02%)
:arrow_up:

historical_system_profiles/views/v1.py
94.56% <89.58%> (+27.89%)
:arrow_up:

... and 13 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 839963f...40108d0. Read the comment docs.


AL-50: Get alerts for person pagination, filtering and sorting

Codecov Report
Attention: Patch coverage is 96.29630% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 93.12%. Comparing base (29f7432) to head (44ae515).

Files
Patch %
Lines

...al/hmpps/hmppsalertsapi/repository/AlertsFilter.kt
93.93%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #48      +/-   ##
============================================
+ Coverage     92.97%   93.12%   +0.15%
- Complexity      315      325      +10
============================================
  Files            54       55       +1
  Lines          1010     1062      +52
  Branches         46       54       +8
============================================
+ Hits            939      989      +50
- Misses           62       63       +1
- Partials          9       10       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


minor issue: readme correction

In https://github.com/hongsukchoi/3DCrowdNet_RELEASE/blob/main/assets/directory.md#pytorch-smpl-layer-and-vposer
The description is

Download basicModel_f_lbs_10_207_0_v1.0.0.pkl, basicModel_m_lbs_10_207_0_v1.0.0.pkl, and basicModel_neutral_lbs_10_207_0_v1.0.0.pkl from here (female & male) and here (neutral) to ${ROOT}/smplpytorch/smplpytorch/native/models.

It seems that it should be ${ROOT}/common/utils/smplpytorch/smplpytorch/native/models. rather than ${ROOT}/smplpytorch/smplpytorch/native/models.

@YrralH  Thank you!


Make run() repeat exactly every interval number of seconds

This PR makes run() wait only long enough so that the seconds since last time enqueue_jobs() was called is waited.   Currently, run() would sleep interval seconds even though it already took some time to enqueue_jobs().  With this fix, we're pretty-well guaranteed each repeated run is exactly interval seconds apart instead of interval number of seconds since the last time jobs finished enquing.

Sorry for the long delay. Could you please fix the conflicts so I can merge this in?

@selwin I fixed the conflicts - enjoy!

Thanks!