Add type check

説明 / Description
#788
チェックリスト / Checklist

MUST

[x] npm test passed
[x] npm run lint was applied without warnings
[x] changes of /docs/webapp not included (except release branch)
[x] console.log not included (except script file)

MUST (for Outside Contributor)

[ ] understand プロジェクトへの関わり方について

RECOMMENDED (it depends on what you change)

[ ] unit test added/updated
[ ] i18n

Summary by CodeRabbit

New Features

Introduced new type definitions and validation using io-ts for enhanced setting configurations.
Added file format handling improvements for better user experience.

Refactor

Updated various settings and configurations to use string literals and direct file extensions for clarity and simplicity.
Enhanced error handling and logging mechanisms for smoother operation and debugging.

Tests

Adjusted test cases to align with new type definitions and string literal usage.

Chores

Added fp-ts and io-ts dependencies for functional programming and type validation support.

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

Project coverage is 76.39%. Comparing base (3cb3397) to head (5d6ce9e).

Files
Patch %
Lines

src/common/settings/csa.ts
87.65%
9 Missing and 1 partial :warning:

src/common/helpers/iots.ts
41.66%
7 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #798      +/-   ##
==========================================
+ Coverage   76.35%   76.39%   +0.04%
==========================================
  Files          88       89       +1
  Lines       12354    12419      +65
  Branches     1778     1776       -2
==========================================
+ Hits         9433     9488      +55
- Misses       2897     2907      +10
  Partials       24       24

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

変更量の割に効果があまり期待できないので中止する。


bug: Show Contents Button Glitch

Describe the bug
The "SHOW CONTENTS" button on the webpage of https://app.100xdevs.com/ is showing some unusual behavior. It's usual functionality is to show the side menu that has the list of all the videos folder wise (Week Folders). But whenever someone clicks on the middle part of the button or on the area of the button apart from the "Hamburger" icon of the same button, the side menu flickers. The side menu opens and closes and again opens. But if someone clicks on the "Hambuger" icon of the "Show Contents" buttonthen it is functioning as expected without any errors or glitches.
To Reproduce
Steps to reproduce the behavior:

Click on any part of the "Show Contents" button apart from the "Hamburger" icon of the button

Expected behavior
The button is expected to OPEN and CLOSE the side menu bar whenever someone clicks on the button regardless of any part clicked of that same button.
Screenshots or GIFs

Info

Browser -> Microsoft Edge
Version -> 129.0.2792.65

Can I pick this up?

just remove xl:absolute in show contents button


python3Packages.solaredge: init at 0.0.4

Motivation for this change
Python wrapper for Solaredge monitoring service
https://github.com/bertouttier/solaredge
This is a Home Assistant dependency.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 117534 run on x86_64-linux 1

3 packages built:

home-assistant
python38Packages.solaredge
python39Packages.solaredge

Result of nixpkgs-review pr 117534 at 70cb86a6 run on aarch64-linux 1

3 packages built successfully:

home-assistant
python38Packages.solaredge
python39Packages.solaredge


DPE Leaf certificate authority key identifier formatting incorrect

Current certificate creation code for the DPE Leaf certificate treats the KeyIdentifier field (tag [0]) of the AuthorityKeyIdentifier extension as EXPLICIT instead of IMPLICIT. This causes verification of the leaf certificate to fail because the OCTET STRING tag and length are interpreted as part of the KeyIdentifier.
Incorrect:
X509v3 Authority Key Identifier:
keyid:04:14:E2:46:2E:61:DC:1F:DA:C3:25:82:06:72:AE:B0:8D:15:A8:61:79:A8
Correct:
X509v3 Authority Key Identifier:
keyid:FC:B4:9F:26:61:71:77:99:1B:E6:DC:70:E6:E8:17:D6:24:A4:A4:1B
I modified a test in the Caliptra sw repo to explore this behavior but a test should be added to the DPE repo to check the cert chain.

I had opened https://github.com/chipsalliance/caliptra-dpe/issues/325 earlier to track this but closed it since the go x.509 parsers in verification/ were working with and without adding the extraneous bytes so I wasn't sure how big of an issue it would be. Further, the Rust X.509 parser fails if we try to make these structures implicit, so I left it as is.


Add ability to clone escorts for subsequent moves

Uses deep_cloneable to clone AR object graph.
Resets certain status fields on various tables so we know that
its an escort with sections that need reviewing.

deep_cloneable causes a spec to fail:
1) Forms::CurrentOffence#save sets the data on the model
     Failure/Error: subject.save

     ActiveRecord::StatementInvalid:
       PG::NotNullViolation: ERROR:  null value in column "offences_id" violates not-null constraint
       DETAIL:  Failing row contains (d42466f5-2a85-4048-9164-9bd12e49efbd, null, Burglary, T123456, 2016-07-22 15:42:12.450868, 2016-07-22 15:42:12.450868).
       : INSERT INTO "current_offences" ("offence", "case_reference", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"
     # ./spec/forms/current_offence_spec.rb:22:in `block (3 levels) in <top (required)>'

🔬


Add feedback button and dialog

This PR adds a new modal dialog for providing per-chapter feedback. It also adds some upsell language advertising Ctrl-E.

This took me a while to review, because when I started reviewing I had a bunch of improvements I wanted to suggest (for example—if someone has already activated the typo tools, don't ask them their name again, don't show the legalese again). But as I thought about it more—most of these improvements aren't about adding chapter comments, but a broader overhaul of the typo & feedback system.
So here's my take: let's merge this now, and rethink the typo & feedback system separately.

Ok merging now. Let's be careful about rolling it out though and do some testing on the live site. Also back up the existing db in case.


clear-text logging of sensitive information {patch}

To address the clear-text logging of sensitive information in the given code, I had modify it to avoid exposing the sensitive data directly. Instead, i had log a more generic message without including the sensitive value
patch for issue: https://issuetracker.google.com/issues/324681523
In this way convey that the certificate information is involved without explicitly logging the sensitive data. It's essential to log in a way that does not expose sensitive details, especially in environments where logs might be accessible to unauthorized parties.

The patch doesn't seems to fix any issue, can you elaborate your problem in an issue? The tracker link is invisible.

Hii
This was the issue
Clear-text logging of sensitive information https://github.com/envoyproxy/envoy/blob/main/test/integration/python/hotrestart_handoff_test.py#L356 log.info(f"cert path = {IntegrationTest.server_cert}") Above This expression logs sensitive data as clear text. The sensitive data is written to a log entry it could be exposed to an attacker who gains access to the logs.
Potential attackers can obtain sensitive user data when the log output is displayed. Additionally that data may expose system information such as full path names, system information, and sometimes usernames and passwords.

This is test code, there is no security implication.


[Feature] Support HorNet

Motivation
[HorNet: Efficient High-Order Spatial Interactions with Recursive Gated Convolutions(https://arxiv.org/pdf/2207.14284v2.pdf)
github
Weights
hornet-tiny
hornet-tiny-gf
hornet-small
hornet-small-gf
hornet-base
hornet-base-gf
hornet-large
hornet-large-gf
hornet-large-gf384
Checklist
Before PR:

[x] Pre-commit or other linting tools are used to fix the potential lint issues.
[x] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests.
[x] The modification is covered by complete unit tests. If not, please add more unit test to ensure the correctness.
[x] The documentation has been modified accordingly, like docstring or example tutorials.

After PR:

[x] If the modification has potential influence on downstream or other related projects, this PR should be tested with those projects, like MMDet or MMSeg.
[x] CLA has been signed and all committers have signed the CLA in this PR.

Great!  Thanks for your contribution!


Test for PipelineJob details action and  drawer

Closes: RHOAIENG-4730
Description

added additional test for pipeline job detail page
How Has This Been Tested?

npm run test
Test Impact

Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit or cypress tests for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

tested locally
/lgtm


Include port_platform in gcp_environment tests.

Both the Windows and Linux tests use platform-specific macros to
determine whether they should execute, but they weren't including the
file where those macros were defined, so they were always running the
else case of that check, which meant they weren't testing anything.
(This is why I was having trouble making a repro for #15888.)

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

The debug and ASAN failures appear to be unrelated to my change. Are they known to be flaky, or do I need to pull an upstream fix?


integration test for coordinator and overlord leadership client

Description
This PR adds integration tests that try to get some coverage of coordinator and overlord leadership changes, using queries against system tables and then cycling which containers are running and forcing leadership changes. The goal is to get some coverage for DruidLeadershipClient in the integration tests and avoid any sort of regressions if possible. Once kubernetes integration tests are in place, I imagine we could run these tests against k8s discovery instead of curator based as well since #10544 has now gone in.
To aid in my sanity while testing this stuff, I have added is_leader to sys.servers which is a long column which returns 1 if the server is the leader and 0 if it is not (for coordinators and overlords), and for services which do not have the concept of leadership, will return the default long value (0 in default mode, null if druid.generic.useDefaultValueForNull=false).
The integration tests add a new test group, 'high-availability', which has a special docker-compose file that brings up a cluster with 1 router, 1 broker, 2 overlords, and 2 coordinators (and zk/kafka and metadata store). The tests check which containers are the leader, issues some system tables queries which should flex the leadership clients to both the current overlord and coordinator leaders, and then restart the containers to force leadership change, repeating this process a few times.
I modified the base docker-compose file to specify the hostnames to the container names, and set druid.host to the same, so that the tests could refer to hosts by hostname instead of container IP address (which is what druid.host defaults to if not specified otherwise). This was because I also had to plumb this through to the integration test config so that I could fill in the correct internal host information for test code and query/expected response templates.
In other docker stuffs, I removed many of the links sections of the docker-compose file for integration tests, which afaict is deprecated and not necessary.
Finally, I fixed a funny race condition that i think could really only happen when doing something like this in docker and starting multiple coordinators at the same time, which would have a race condition when trying to initialize the basic auth extension default auth stuffs, where both containers would detect that it had not been initialized, one would lose the race, and explode out of lifecycle start causing the service to die before starting. This probably isn't a big deal even in a real system because if the process gets started again it would succeed because it would be initialized on the 2nd pass, but our integration test configs do not auto-restart (which is noisy on purpose I think), so instead I just wrapped the initialization in a retry which will skip and continue startup if the duplicate initialization explosion is detected.

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[x] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[x] added integration tests.
[ ] been tested in a test Druid cluster.

Nice idea!  And I have made a PR https://github.com/apache/druid/pull/10669 which run IT for druid on K8s. Maybe it can be helpful here.

LGTM , thanks.

I made another change to this PR after it was approved, which was to split out the logic in docker_run_cluster.sh which picks which compose file to use for the tests into a new file docker_compose_args.sh which provides the function getComposeArgs.
In docker_run_cluster.sh it is used like
docker-compose $(getComposeArgs) up -d

and the main reason for this change, was to modify stop_cluster.sh so that it could do the same-ish thing to stop the cluster
docker-compose $(getComposeArgs) down

thanks for the review @abhishekagarwal87, @himanshug, and @jihoonson :+1:


Updation of post request to include Quality Estimate flag

AFAIK, a new flag has been introduced to return Quality Estimate. It would be great to have the https://github.com/ugermann/mts/wiki/BergamotAPI page updated accordingly.
Probably, @ugermann can help here? Thanks :)

I'ts been updated, but Kenneth moved the repo to http://github.com/browsermt/mts, so see https://github.com/browsermt/mts/wiki/BergamotAPI


why am I having double close buttons?

I follow the sample code but I ended up with two set of maximize/minimize & close button.

@frostless  Because you have to set the FormBorderStyle to None


feature(p2pe2e): Peer-to-peer, end-to-end encrypted webrtc messaging prototype

https://test.free2give.xyz/tools/p2pe2e


feat(errors): added global error handler class

Add global error handler and set it as provider in main module
Could be a starting point for issue #4
Had some doubts about where to place the GlobalErrorHandler in the folder structure. I thought shared could be the right place, what do you think @fsciuti ?

Hi @fathorMB, it's a starting point but we should manage some types of errors.
We will continue your work! ;)


Missing left quotes in numbers are not parsed properly

Describe the bug
If there's a missing out quote at the left of a json define, it doesn't repair properly
To Reproduce
Steps to reproduce the behavior:
Run this json file with json_repair
{
  "words": abcdef",
  "numbers": 12345",
  "words2": ghijkl"
}

Gets parsed like this
{'words': 'abcdef', 'numbers': 12345, ',\n  ': 'ords2', 'ghijkl': ''}
Expected behavior
Proper output:
{'words': 'abcdef', 'numbers': '12345', 'words2': 'ghijkl'}

Hi! Thank for reporting the bug, one note about numbers in canonical JSON though. The expected output here is:
{ "words": "abcdef", "numbers": 12345, "words2": "ghijkl" }
So the library should fix this by removing the dangling " and not eating the following key


dataprep: Fix issue in uploading docx with embedding image

Description
dataprep: Fix issue in uploading docx with embedding image
Issues
issue #407
Type of change
List the type of change like below. Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Dependencies
n/a.
Tests
Describe the tests that you ran to verify your changes.

It looks like the CI error happened in docker system prune, not related to this PR itself at all.


HTML5 markup for config.php

Where is the base.html.twig used at all? I guess it's just some dummy template.


Feature/table border

This PR Closes Issue #371
Screenshot

I don't believe this deserve a prop for it. This goes against all the other components and as you can see here this can be achieved in 3 lines from the app.config.ts or through the ui prop.

No creo que esto merezca un apoyo por ello. Esto va en contra de todos los demás componentes y, como puede ver aquí , esto se puede lograr en 3 líneas desde app.config.tsoa través del uiaccesorio.

This makes it global, it is not dynamic, it would be good if it were like in bootstrap .table-bordered

By using the ui prop this doesn't make it global: https://ui.nuxtlabs.com/getting-started/theming#components

By using the ui prop this doesn't make it global: https://ui.nuxtlabs.com/getting-started/theming#components

I wanted to say that the borders would be applied to all the tables when defining the configuration in app.config.ts, sometimes the borders are required and sometimes they are not, in case it requires them it would be very good to apply it in the  component with a bordered prop that adds the default borders
//default bordered
<UTable         :loading="loadingTable"         bordered       >
//personalised border
<UTable         :loading="loadingTable"         :ui="{                   base: 'min-w-full table-fixed border border-red-200 dark:border-red-800',                   divide: 'divide-y divide-red-200 dark:divide-red-800',                   tbody: 'divide-y divide-red-200 dark:divide-red-800',                   tr: {                     base: 'divide-x divide-y divide-red-200 dark:divide-red-800',                   },           },       >

You can solve this by making your own component on top of the UTable with the ui prop defined the way you want.


Automated cherry pick of #1076: 避免OpenStack为设置默认值,导致认证失败

Cherry pick of #1076 on release/2.10.0.
#1076: 避免OpenStack为设置默认值,导致认证失败

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@1de294b). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             release/2.10.0   #1077   +/-   ##
================================================
  Coverage                  ?   7.87%
================================================
  Files                     ?     356
  Lines                     ?   56477
  Branches                  ?       0
================================================
  Hits                      ?    4448
  Misses                    ?   51631
  Partials                  ?     398

Flag
Coverage Δ

#aFlag
7.87% <ø> (?)

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 1de294b...3630033. Read the comment docs.

/lgtm
/approve


Kitten activity not updating with ball of wall

Whenever I use ball of wool on the kitten, even with completing the dialogue, the activity timer does not update. I was bankstanding when I attempted this so no interactions were happening that could cause a delay or dialogue skip.

Can confirm this is an issue for me as well. Doesn't seem to update no matter the circumstance when using a ball of wall.

the plugin doesnt not seem to support the ball of wool... such a big oversight.

the plugin does not seem to support the ball of wool... such a big oversight.

it worked for me before now its not working anymore

A fix has been provided in https://github.com/pieterjanbuntinx/kitten-tracker/pull/32 and merged to the master branch, however the plugin has not been released to RL's plugin hub. @pieterjanbuntinx are you planning on updating the SHA in plugin hub's repo?

Just submitted a PR on plugin-hub after testing for a little bit (see here). Hopefully it will be up soon!

PR was accepted on plugin-hub. Should (hopefully) be resolved.


Changed catkin version to 0.7.17 to fix catkin -lpthread error

Several do_configure tasks fails as catkin make error can not find library '-lpthread'. Refer to #620. This has been fixed recently on catkin 0.7.15 and 0.7.16 version. Refer to https://github.com/ros/catkin/pull/975.
I can also confirm that pull request #621 works and needs to be merged along this pull request to make it work.

It looks like the catkin patch for cross compilation is still needed, otherwise many components are failing with errors like this:
| CMake Error at /jenkins/mjansa/build-webos-ose-thud/BUILD/work/qemux86-webos-linux/rostime/0.5.8-r0/recipe-sysroot/opt/ros/indigo/share/cpp_common/cmake/cpp_commonConfig.cmake:113 (message):
|   Project 'cpp_common' specifies
|   '/jenkins/mjansa/build-webos-ose-thud/BUILD/work/qemux86-webos-linux/cpp-common/0.5.8-r0/recipe-sysroot/usr/include'
|   as an include dir, which is not found.  It does neither exist as an
|   absolute directory nor in
|   '/opt/ros/indigo//jenkins/mjansa/build-webos-ose-thud/BUILD/work/qemux86-webos-linux/cpp-common/0.5.8-r0/recipe-sysroot/usr/include'.
|   Check the website 'http://www.ros.org/wiki/cpp_common' for information and
|   consider reporting the problem.
| Call Stack (most recent call first):
|   /jenkins/mjansa/build-webos-ose-thud/BUILD/work/qemux86-webos-linux/rostime/0.5.8-r0/recipe-sysroot-native/opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
|   CMakeLists.txt:4 (find_package)
So instead of whole catkin upgrade, I'm testing backporting just this fix:
https://github.com/ros/catkin/commit/98f97ffcffbb7127d4a8aff0fcb26d1578557906

@herb-kuta-lge this might be related to the rosgraph-msgs/1.11.2 build failure with melodic we dicussed.

-lpthread issue was fixed in legacy branch, we're not going to upgrade catkin in legacy, there is new version in thud-drafts branch (with melodic).


Backport PR #2065 to address issue #2066, then bump version to 0.18.1 for urgent release.

Issue #2065 brownbags our 0.18.0 release.

LGTM. How was the releases-0.18.x branch created?

How was the releases-0.18.x branch created?

I created it locally via:
$ git checkout -b releases-0.18.x 0.18.1

and pushed it directly to this repo.

I assume you meant 0.18.0 the tag?

Yup.


add displayAfterHiPayAccepted hook and allow to set special_cards in theme

This pull request allow module consumer to override special_cards without overriding it in the module itself.
It also allows to perform some action with the accepted cart and order_id, with a hook "displayAfterHiPayAccepted".

Hello !
Can you change your pull request from hipay:master to hipay:develop ?
Thank you very much for your contribution !

Done, with the add of more hooks: displayHiPayAccepted, displayHiPayCanceled, displayHiPayDeclined, displayHiPayException and displayHiPayPending.

Hi Pierre,
You have created custom Hooks and added the procedure for installing and removing the module.
Can you add the module update procedure?
Using the directory "update" in the HiPay module, thus already having the module installed will automatically update with the custom hooks into database.
Does that sound possible and correct?
Thank you
All the best.

Hi Johan,
Sorry, I don't understand what do you expect, because I don't see any update directory in the module, and Prestashop uses install method on module update process.
Pierre.

Sorry, i speaker about auto-update with directory "upgrade" but WE don't need it.
When we use a hook::exec, please prefer the syntax array() on input  that the syntax [ ]. The module must be compatible with old PHP.
We can continous by email, if you want<EMAIL_ADDRESS>Thx


docs: point users to the Releases page

CHANGELOG.md is deprecated
Relates to #6850

I signed it!

I'm going to close this and point to it in my PR. Cheers.


How to modify my-detection.py for my own dataset?

I have done the "Collecting your own Datasets" and it can classify the object. Cool.
May I know how to change the function call of my-detection.py?
load the object detection model
net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold=0.5)
Changing ssd-mobilenet-v2 to my onnx file? Thx

After Collecting your own Datasets and it can classify my own objects. Then, how to
"Performing object detection to locate object coordinates"?
What tools to capture the data pictures and draw a box around it?
What is the procedure to create the onnx and put into the detectnet for example? Thx

Hi @AK51, please see this post for suggestions of re-training object detection model on customized datasets:
https://devtalk.nvidia.com/default/topic/1070225/jetson-nano/digits-or-somthing-else/post/5421938/#5421938

Hi @dusty-nv , any chance you can add to your excellent tutorial a section on training a custom detectnet object detection model, similar to the one you did for object classification? I have not found another tutorial that walks through the process clearly.

Hi @GOBish, I am working on it now actually, I hope it will be ready soon.
The PyTorch training code that it uses is here:  https://github.com/dusty-nv/pytorch-ssd
Indeed custom object detection training has not been very simple in the past, however this PyTorch way is pretty easy because the model can be exported to ONNX and then imported to TensorRT.

thank you @dusty-nv ! I will try the code you reference, and I really look forward to your tutorial!

@GOBish, alpha version of the tutorial is here:  https://github.com/dusty-nv/jetson-inference/blob/dev/docs/pytorch-ssd.md
Let me know how it goes - thanks.

Wow, this is awesome @dusty-nv . Thank you for all your hard work. I am really looking forward to the next step, "collecting your own datasets" as well. That will be a huge help for my work.
Thanks again.

I am really looking forward to the next step, "collecting your own datasets" as well

Yep working on that part now...will let you know when it's ready to try.

@GOBish - see here:  https://github.com/dusty-nv/jetson-inference/blob/dev/docs/pytorch-collect-detection.md
You will need to pull the latest for some updates that went into the camera-capture tool.

Running through the tutorial today, will let you know how it goes!! Very much appreciate your hard work on this.

Hi @dusty-nv — would you recommend a method for putting negative images in the mode to lower false detections?

awesome work on this, @dusty-nv .
One recomendation for the tutorial on using your own images for object detection training --
more guidance on folder structure and file needs if you are using your own images and not using the camera tool (which is excellent, by the way).
Right now I have to use the camera tool to see the file structure it creates (i.e. Annotations, ImageSets, JPEGImages) and the files (i.e. trainval.txt) so that I can know where to put the images, and the xml files from labelimg.
I think adding some guidance for that would be useful.
Thanks again for the great work on this.

I'm having a tough time getting the object detection training to run on my system.

When I try training using images captured and labelled on the jetson using the camera app, I get the following output and error:

~/jetson-inference/python/training/detection/ssd$ python3 train_ssd.py --dataset-type=voc --data=/home/gbenel/Desktop/data_test/ --model-dir=/home/gbenel/Desktop/data_test/
2020-07-18 20:19:47 - Using CUDA...
2020-07-18 20:19:47 - Namespace(balance_data=False, base_net=None, base_net_lr=0.001, batch_size=4, checkpoint_folder='/home/gbenel/Desktop/data_test/', dataset_type='voc', datasets=['/home/gbenel/Desktop/data_test/'], debug_steps=10, extra_layers_lr=None, freeze_base_net=False, freeze_net=False, gamma=0.1, lr=0.01, mb2_width_mult=1.0, milestones='80,100', momentum=0.9, net='mb1-ssd', num_epochs=30, num_workers=2, pretrained_ssd='models/mobilenet-v1-ssd-mp-0_675.pth', resume=None, scheduler='cosine', t_max=100, use_cuda=True, validation_epochs=1, weight_decay=0.0005)
2020-07-18 20:19:47 - Prepare training datasets.
2020-07-18 20:19:47 - VOC Labels read from file: ('BACKGROUND', 'BACKGROUND', 'BACKGROUND', 'BACKGROUND', 'BACKGROUND', 'RedGate', 'BlueGate')
2020-07-18 20:19:47 - Stored labels into file /home/gbenel/Desktop/data_test/labels.txt.
2020-07-18 20:19:47 - Train dataset size: 2
2020-07-18 20:19:47 - Prepare Validation datasets.
2020-07-18 20:19:47 - VOC Labels read from file: ('BACKGROUND', 'BACKGROUND', 'BACKGROUND', 'BACKGROUND', 'BACKGROUND', 'BACKGROUND', 'RedGate', 'BlueGate')
2020-07-18 20:19:47 - Validation dataset size: 3
2020-07-18 20:19:47 - Build network.
2020-07-18 20:19:47 - Init from pretrained ssd models/mobilenet-v1-ssd-mp-0_675.pth
2020-07-18 20:19:47 - Took 0.17 seconds to load the model.
2020-07-18 20:19:51 - Learning rate: 0.01, Base net learning rate: 0.001, Extra Layers learning rate: 0.01.
2020-07-18 20:19:51 - Uses CosineAnnealingLR scheduler.
2020-07-18 20:19:51 - Start training from epoch 0.
/home/gbenel/.local/lib/python3.6/site-packages/torch/optim/lr_scheduler.py:123: UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`. In PyTorch 1.1.0 and later, you should call them in the opposite order: `optimizer.step()` before `lr_scheduler.step()`.  Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate
  "https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate", UserWarning)
/home/gbenel/jetson-inference/python/training/detection/ssd/vision/transforms/transforms.py:247: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
  mode = random.choice(self.sample_options)
/home/gbenel/.local/lib/python3.6/site-packages/torch/nn/_reduction.py:44: UserWarning: size_average and reduce args will be deprecated, please use reduction='sum' instead.
  warnings.warn(warning.format(ret))
/media/nvidia/WD_NVME/PyTorch/JetPack_4.4/GA/pytorch-v1.6.0-rc2/aten/src/THCUNN/ClassNLLCriterion.cu:108: cunn_ClassNLLCriterion_updateOutput_kernel: block: [0,0,0], thread: [12,0,0] Assertion `t >= 0 && t < n_classes` failed.
/media/nvidia/WD_NVME/PyTorch/JetPack_4.4/GA/pytorch-v1.6.0-rc2/aten/src/THCUNN/ClassNLLCriterion.cu:108: cunn_ClassNLLCriterion_updateOutput_kernel: block: [0,0,0], thread: [13,0,0] Assertion `t >= 0 && t < n_classes` failed.
/media/nvidia/WD_NVME/PyTorch/JetPack_4.4/GA/pytorch-v1.6.0-rc2/aten/src/THCUNN/ClassNLLCriterion.cu:108: cunn_ClassNLLCriterion_updateOutput_kernel: block: [0,0,0], thread: [15,0,0] Assertion `t >= 0 && t < n_classes` failed.
/media/nvidia/WD_NVME/PyTorch/JetPack_4.4/GA/pytorch-v1.6.0-rc2/aten/src/THCUNN/ClassNLLCriterion.cu:108: cunn_ClassNLLCriterion_updateOutput_kernel: block: [0,0,0], thread: [16,0,0] Assertion `t >= 0 && t < n_classes` failed.
/media/nvidia/WD_NVME/PyTorch/JetPack_4.4/GA/pytorch-v1.6.0-rc2/aten/src/THCUNN/ClassNLLCriterion.cu:108: cunn_ClassNLLCriterion_updateOutput_kernel: block: [0,0,0], thread: [19,0,0] Assertion `t >= 0 && t < n_classes` failed.
Traceback (most recent call last):
  File "train_ssd.py", line 346, in <module>
    val_loss, val_regression_loss, val_classification_loss = test(val_loader, net, criterion, DEVICE)
  File "train_ssd.py", line 159, in test
    regression_loss, classification_loss = criterion(confidence, locations, labels, boxes)
  File "/home/gbenel/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 722, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/gbenel/jetson-inference/python/training/detection/ssd/vision/nn/multibox_loss.py", line 43, in forward
    predicted_locations = predicted_locations[pos_mask, :].reshape(-1, 4)
RuntimeError: copy_if failed to synchronize: cudaErrorAssert: device-side assert triggered

When I try running using a dataset I created using labelImage (and all folder structure is correct with Annotations, ImageSets, JPEGImages, and text files) I get the following output and error:

~/jetson-inference/python/training/detection/ssd$ python3 train_ssd.py --dataset-type=voc --data=/home/gbenel/Desktop/downloadedImages/ --model-dir=/home/gbenel/Desktop/downloadedImages/
2020-07-18 20:20:40 - Using CUDA...
2020-07-18 20:20:40 - Namespace(balance_data=False, base_net=None, base_net_lr=0.001, batch_size=4, checkpoint_folder='/home/gbenel/Desktop/downloadedImages/', dataset_type='voc', datasets=['/home/gbenel/Desktop/downloadedImages/'], debug_steps=10, extra_layers_lr=None, freeze_base_net=False, freeze_net=False, gamma=0.1, lr=0.01, mb2_width_mult=1.0, milestones='80,100', momentum=0.9, net='mb1-ssd', num_epochs=30, num_workers=2, pretrained_ssd='models/mobilenet-v1-ssd-mp-0_675.pth', resume=None, scheduler='cosine', t_max=100, use_cuda=True, validation_epochs=1, weight_decay=0.0005)
2020-07-18 20:20:40 - Prepare training datasets.
Traceback (most recent call last):
  File "train_ssd.py", line 214, in <module>
    target_transform=target_transform)
  File "/home/gbenel/jetson-inference/python/training/detection/ssd/vision/datasets/voc_dataset.py", line 24, in __init__
    self.ids = VOCDataset._read_image_ids(image_sets_file)
  File "/home/gbenel/jetson-inference/python/training/detection/ssd/vision/datasets/voc_dataset.py", line 87, in _read_image_ids
    for line in f:
  File "/usr/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

@dusty-nv , this is awesome work. I trained a model based on images I labelled in LabelImage and it is performing well, a great start. I need to add more images (currently using ~500 and 2 classes).
One question - I can run using both detectnet and detectnet.py using the flags as in the demo.
Would you be able to show how the model can be input to my-detection.py that we developed during the tutorial? I can't seem to get it to use the onnx file successfully. It would be useful for me to be able to use this simple script so that I can integrate the object detection into other applications I am developing.
Again, thanks for the great work!

@GOBish, glad you got it working.  If you look at detectnet.py, you can see that it passes the raw command line to detectNet when loading the network.  Those custom model parameters are then parsed from the command line by detectNet.
So you can either add the command line argument to my-detection.py like detectnet.py has, or if you want to hard-code it, you can construct the command line array in code and pass that to detectNet (not ideal I know, but should work).

Thanks @dusty-nv .
Even with putting in the full paths for the model, labels, and output files, I still seem to need to run my-detection.py from inside the /python/training/detection/ssd directory. If I run it from anywhere else, the image comes up and then closes after a couple of seconds (I imagine maybe when it makes a detection). Do you know why this is the case?

It should automatically create the GL window unless the --headless flag is specified, or if you are running detectnet-console.py

It's strange, it creates a GL window without specifying a save file when I use the default model (ssd-mobilenet-v2), but not when I use the onnx model.

Hmm can you provide the command line you are launching with, so I can try something similar to debug?  Thanks.

gbenel@gbenel:~/jetson-inference/python/examples$ python3 detectnet.py --network=/home/gbenel/jetson-inference/python/training/detection/ssd/models/gates/ssd-mobilenet.onnx --labels=/home/gbenel/jetson-inference/python/training/detection/ssd/models/gates/labels.txt  --input-blob=input_0 --output-cvg=scores --output-bbox=boxes /dev/video2 /home/gbenel/jetson-inference/python/training/detection/ssd/test_gates/output.mp4 --threshold=.2

Thanks @GOBish , I just patched a bug in the command-line parsing that fixes this.
If you git pull origin master on your jetson-inference, and then run make and sudo make install, it should be fixed.

hmm, I still seem to have the same behavior after the git pull, still need to be saving the input video or camera image in order for it to come up on screen.

Hmm can you post the terminal log?   Are you sure you did a sudo make install?   (otherwise python would still run the previous build of the libraries)
What happens if you run it with display://0 instead of the output video?
python3 detectnet.py --network=/home/gbenel/jetson-inference/python/training/detection/ssd/models/gates/ssd-mobilenet.onnx --labels=/home/gbenel/jetson-inference/python/training/detection/ssd/models/gates/labels.txt --input-blob=input_0 --output-cvg=scores --output-bbox=boxes /dev/video2 display://0

yes, did the sudo make install.
the display://0 got it to work!

Do you have any examples if we wanted to run the code with a TensorRT model, not an onnx model?  The basic code example get the pretrained models but I am not sure how to feed it a different trt model (.pb file). I do have the .pbtxt and config files as well for that model.

Do you have any examples if we wanted to run the code with a TensorRT mode

Do you mean TensorFlow model (the jetson-inference repo already uses TensorRT)?
The default SSD-Mobilenet model (COCO) is actually a TensorFlow model.   However it isn't all that easy to convert it, which is another positive of using the PyTorch SSD-Mobilenet.  You can see here for how it was converted from TF though:   https://github.com/AastaNV/TRT_object_detection

I have converted a tensorflow model I made (transfer off of sad-mobile net-v2) successfully to tensorRT, now I am just looking to run inference with it using the tutorial code.

There are some extra parameters needed for TensorFlow UFF detection model (like input dims) that aren't parsed from the command line - see where they are defined in the code here:
https://github.com/dusty-nv/jetson-inference/blob/62cec4054cf14b61fb7b722dad91077c57a80bec/c/detectNet.cpp#L258
essentially add an enum and your model info to another else if statement there.

Hi Dusty, I found that line, but still not sure exactly how to do this -
I have the trt model I have created that is a .pb file, and I have the .pbtxt labels file. I see that detectNet.cpp is looking for a .uff file.

@GOBish see here for a tool that converts object detection model from TB .pb to .uff - https://github.com/AastaNV/TRT_object_detection
These extra steps are one reason I prefer to just use the PyTorch ONNX workflow.


DNM Increase the test coverage for consoleui/openshift

Bring it up to 100% coverage.
(CI test mostly)
Changes

Submitter Checklist

[ ] 📝 Please ensure your commit message is clear and informative. For guidance on crafting effective commit messages, refer to the How to write a git commit message guide. We prefer the commit message to be included in the PR body itself rather than a link to an external website (ie: Jira ticket).

[ ] ♽ Before submitting a PR, run make test lint to avoid unnecessary CI processing. For an even more efficient workflow, consider installing pre-commit and running pre-commit install in the root of this repository.

[ ] ✨ We use linters to maintain clean and consistent code. Please ensure you've run make lint before submitting a PR. Some linters offer a --fix mode, which can be executed with the command make fix-linters (ensure markdownlint and golangci-lint tools are installed first).

[ ] 📖 If you're introducing a user-facing feature or changing existing behavior, please ensure it's properly documented.

[ ] 🧪 While 100% coverage isn't a requirement, we encourage unit tests for any code changes where possible.

[ ] 🎁 If feasible, please check if an end-to-end test can be added. See README for more details.

[ ] 🔎 If there's any flakiness in the CI tests, don't necessarily ignore it. It's better to address the issue before merging, or provide a valid reason to bypass it if fixing isn't possible (e.g., token rate limitations).

+0.01% is still a win in my view,
and moving the e2e-tests snippets from workflow to a common shell scripts is working!
hopefully nightly tomorrow will be green!

ok there is some problems with the script :(

data race in unittest i logged this  https://github.com/openshift-pipelines/pipelines-as-code/issues/1554
/test go-testing

should fix CI


Designing a public CRISPR widget

As we make progress with processing and interpreting CRISPR results from
Brain CRISPR #2821
BIOGRID #2920
we need to design a public CRISPR widget for the 23.06 release - keeping in mind that the PPP will host both a public and a pre-publication widget.
This issue will be completed with widget specifications once the schema for these datasets is finalised, as discussed with @DSuveges.
Evidence schema (example from Brain CRISPR):
{
  "studyId": "Glutamatergic Neuron-CellRox-CRISPRi",
  "datatypeId": "sysbio",
  "datasourceId": "crispr_screen",
  "projectId": "crispr_brain",
  "studyOverview": "CRISPRi FACS screen for reactive oxygen species in human iPSC-derived glutamatergic neurons.",
  "experiment": "WT CRISPRi-iPSCs were transduced with genome-wide CRISPRi-v2 sgRNA libraries. Two days after infection, the cells were selected for lentiviral integration using puromycin (1 g/mL) for 3 days as the cultures were expanded for the screens.",
  "cellType": "Glutamatergic Neuron",
  "contrast": null,
  "diseaseFromSource": "neurodegenerative disease, ageing",
  "diseaseFromSourceMappedId": "EFO_0005772",
  "targetFromSource": "MIS12",
  "pValue": 0.1350578615532632,
  "statisticalTestTail": "lower tail",
  "resourceScore": -3.5780208400785147
}

@buniello for your interest: I have reviewed the ot_crispr dataset schema and made a few changes to make sure the two are more similar. Now it looks like this:
{
  "studyId": "Glutamatergic Neuron-Survival-CRISPRi",
  "datatypeId": "sysbio",
  "datasourceId": "crispr_screen",
  "projectId": "crispr_brain",
  "crisprScreenLibrary": "Genome-wide CRISPRi-v2",
  "studyOverview": "CRISPRi survival screen in human iPSC-derived glutamatergic neurons (standard medium).",
  "cellType": "Glutamatergic Neuron",
  "literature": [
    "34031600"
  ],
  "diseaseFromSource": "essential genes / neurodegenerative disease",
  "diseaseFromSourceMappedId": "EFO_0005772",
  "contrast": "Survival",
  "targetFromSourceId": "SOD2",
  "resourceScore": 0.0029283011705045,
  "statisticalTestTail": "lower tail",
  "log2FoldChangeValue": -24.05642773885583
}

The type of the datasource, consistent with projectscore, is sysbio.
The identifier of the datasource is crispr_screen that would pool different sources eg. Brain CRISPR, BioGRID ORCS etc. (similar to gene burden)
The identifier of the project tells which source the screen was integrated from. In this case crispr_brain. This would allow both the user and the frontend to connect the piece of evidence.
The studyId identifies the screen in the project. In this case it allows the frontend to generate the link to crisprBrain page: Glutamatergic Neuron-Survival-CRISPRi
There are other screen specific fields to contextualise the experiment: crisprScreenLibrary, cellType
Contrast is either curated and pulled from the disease mapping file or pulled from the Phenotype column in the study table. (which is always the case at the moment, as we have no curation for any of the studies).
diseaseFromSource and diseaseFromSourceMappedId are all curated by our experts. The mapped identifier is the EFO id. (if the diseaseFromSource could be mapped to multiple EFO terms, the evidence is exploded).
targetFromSrouce  - Hits are coming from the already annotated gene lists from CRISPR Brain. Where the annotation for the genes is either positive or negative hit.
statisticalTestTail is inferred by the annotation  positive or negative hit
resourceScore is the p-value of the gene
log2FoldChangeValue this is the phenotype score. I'm not 100% sure if this is indeed log2 fold change.

First draft of CRISPR Screens(public) widget - please see data schema above for reference
CRISPR Screens
CRISPR knockout screens from public CRISPR datasources, associating  "targetFromSourceId" and CRISPR results. Sources: "projectId" (link) e.g. CRISPRBrain (will be a comma separated list when data from more sources will be integrated)
Table
Reported disease: "diseaseFromSource" (Link to “diseaseFromSourceMappedId” disease page - can be multiple links for multiple mappings)
Study Identifier: “studyId" (Link link to CRISPRBrain study page: e.g. Glutamatergic Neuron-Survival-CRISPRi) - will have different identifiers from different sources when integrating more sources
Contrast/Study overview:  "contrast”/ "studyOverview" (tooltip: SCREEN LIBRARY: "crisprScreenLibrary")
Cell type: "cellType"
Log2 fold change:  "log2FoldChangeValue"
Significance:  "resourceScore" (with tooltip "statisticalTestTail”)
Source:  "projectId" (link to source e.g. CRISPRBrain) - we plan to integrate  data from multiple sources with time, so this link can vary depending from the source
Publication: "literature" (link to EPMC similar to OT Genetics widget)

@LucaFumis:
"datatypeId": "sysbio"
Position of new data source on the "Association on the Fly" page: before Project Score (first data type for the sysbio aggregation)

Thanks @LucaFumis for the first version of the CRISPR Screens widget - it looks good! Just a few minor comments, as already discussed on Slack -
Contrast / Study overview : delete full stop at the end
log2 fold change: format (i.e. trim)
source: format it to CRISPBrain (same as link in the header)
diseaseFromSource: when the record returns "essential genes / neurodegenerative disease" - visualise as neurodegenerative disease (essential genes)
or
neurodegenerative disease (tooltip: essential genes)

Thank you @buniello - I've updated the preview with the changes we've discussed today and the new datasource: looks to be working correctly in both AOTF and classic associations.
I have to fix the table download.


Skip gaff.ipynb

gaff.ipynb is causing main CI to fail
https://github.com/openforcefield/openff-docs/actions/runs/8824960226/job/24228393312
https://github.com/openforcefield/openff-docs/actions/runs/8841046242/job/24277477369

/regenerate-cache


fix v16 changelog

Explanation
Currently, the v16 changelog incorrectly missed information about two commits: bc04f49 and deb9317.
This PR introduces those lines retroactively into the changelog.
Checklist

[ ] I've updated the test suite for new or updated code as appropriate
[ ] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate

Ah sorry, I think these commits must have slipped in while release 84.0.0 was being reviewed. There is a bug in the release automation that's causing this which we will fix very soon.


.success deprecated using $http

"The $http legacy promise methods success and error have been deprecated. Use the standard then method instead. If $httpProvider.useLegacyPromiseExtensions is set to false then these methods will throw $http/legacy error."
Replace to .then function.
[Reference] (https://docs.angularjs.org/api/ng/service/$http)

@mateomarconi - could you take a stab at converting the success() / error() to the then() conversion? i'll merge an PR with passing tests. have zero time to devote otherwise, atm.

@booleanbetrayal - Yes, i can but i have not much time, I will check it the weekend ! i will create a new branch and PR you when test has finished.

thanks @mateomarconi !

@booleanbetrayal i do the changes but i cant test it, can you test for me please? and how i do a pull request if i cant push them to the repo? i have to put this in my own repo and then do a pull request? sorry for my ignorance!

@booleanbetrayal That's exactly how it works

+1


Spinner style on Android

Spinner On Android
is there any option to change the modal from default datepicker style to spinner style on android?

Hey @fadhilmi , here are the available display options for android

Just as an FYI for anyone else searching. This lib spreads all the props you send into it to the DateTimePicker component
which you can see here
Meaning that you can simply do:
import DateTimePicker from 'react-native-modal-datetime-picker';
<DateTimePicker
  isDarkModeEnabled={colorScheme === 'dark'}
  display="spinner"
/>

to achieve the spinner style on either platform.
If i get the time. I will try to submit pr for documentation to make that more clear.

Just as an FYI for anyone else searching. This lib spreads all the props you send into it to the DateTimePicker component
which you can see here
Meaning that you can simply do:
import DateTimePicker from 'react-native-modal-datetime-picker';
<DateTimePicker
  isDarkModeEnabled={colorScheme === 'dark'}
  display="spinner"
/>

to achieve the spinner style on either platform.
If i get the time. I will try to submit pr for documentation to make that more clear.

@mmazzarolo Even I have display="spinner" still it display calendar in samsung tablet but don't show in mobile.
How to fix it?

@mmazzarolo Even I have display="spinner" still it display calendar in samsung tablet but don't show in mobile.
How to fix it?

Hi ,
I am facing same issue in Android Tablet.
Please let me know if any fixes for the above issue.
Using below pacakage:
"react-native-modal-datetime-picker": "9.1.0",

Is there any fixes for the above issue?
Unable to fix calendar overlapping issue in Android Tablet.
Currently using below package:
react-native-modal-datetime-picker: 9.1.0,
react-native-cli: 2.0.1
react-native: 0.60.5


Image list fixes: Bounding boxes image missmatch, Unknown annotation category

When selecting a set of images, some of which share the same image shape, the bouding boxes could be on the wrong image.
The horse drawn trolly thing in the sample dataset has a category ID of 0, which caused a JS error.  Not sure about root cause...

Thanks for the PR, why do we need the changing of return a dict of {path:{model pred}} rather than an array of of model predictions. The model keeps the order of the array that we pass as input.

Ill come back to this PR later, I think that we can further refactor.

@PaulHax I pushed a commit to this PR that adds your changes to object_dectector but also changes the output. Let me know what do you think

+1 Works good!


Badges

Addes badges to Menu to indicate number of sub-items
fix #363

Hi @plaetzchen79, thanks for your contribution. We've discussed this feature internally, and don't think that this is something we'd want to add at this point.
The main reason is that we feel the solution is a bit too specific to one use-case, and we wouldn't want these counts to show up everywhere by default. We'd also like to redesign the navigation menu to be more flexible in the near future, so we don't want to add more features to it right now (but we'll keep your request in mind).
Sorry, and thanks again for your time and effort you put into this!

Thank yor for your answer!
Badges are quite common on most web-sites and ui-frameworks.
Anyway, the best solution would be to make them optional.
One more think you can consider when you redesign the menu:

An  (optional :-) ) indicator for new or important sides.

Background: I have added more than 60 sides with sub-meuns in catalog.
And i found it a little hard to keep orientation with the current menu design.
We should be able to give users hints what they can expect, whats new or
whats important for them.
I would like to contribute more but react is not my first language


Update dependencies and localize the 404 page

Changelog:

Updated VitePress to version 1.0.0-rc.31.
Custom-container (tip, warning, danger, code snippet) and button now adheres to the upstream design (ex: no border line).
Code snippet theme now utilizes the default theme (no longer using the Dracula theme) as it's more readable in light mode.
If a page is not found, it will be redirected to 404.html. This is done as a workaround for pages (especially the navbar menu) that do not adhere to the i18n format.

Ready for review

4. If a page is not found, it will be redirected to 404.html. This is done as a workaround for pages (especially the navbar menu) that do not adhere to the i18n format.

Can you give an example for when this happens?

Feel free to update the title once more if you feel like its inaccurate

If a page is not found, it will be redirected to 404.html. This is done as a workaround for pages (especially the navbar menu) that do not adhere to the i18n format.

Can you give an example for when this happens?

https://grammy.dev/id/foo, the navbar at the top remains in English instead of being in Indonesian as intended.

Oooh I see, I didn't even notice! That makes a lot more sense now, thanks


Options Routes

I could not find any Attribute for creating Options-Routes.
So I created the Attribute and the corresponding tests.

Nice, thanks!


Don't do server push when referrer contains $__SERVER['SERVER_NAME']

We don't want to send all static assets on every page load and should save bandwidth when the browser already previously cached the assets. This could be detected by using a cookie, or checking if a referrer matches the current domain.
Since it's not guaranteed there is a cookie present and you probably don't want to introduce one, I'd suggest to go the referrer route.

The problem with that is it's not compatible with full-page caching. With a full-page cache like Batcache in place, if the first visitor to a page has the referer header set, nobody else will get assets pushed to them until the cache expires or is purged.
One workaround might be for your theme or plugin to use the http2_link_preload_src filter and check the Referer header. If your filter function returns an empty value (empty string, 0, null, false…) the plugin won't push any assets or include them in preload headers.
This code hasn't been tested, but I'm thinking it could be something like:
function roelven_only_push_on_first_visit( $src ) {

     // If the request contains a Referer header from this site (i.e. following an internal link)
     if ( isset( $_SERVER[ 'HTTP_REFERER' ] ) && false !== strpos( $_SERVER[ 'HTTP_REFERER' ], 'example.com' ) ) {
          return false;
     }

     // All else, return the original $src value
     return $src;
}
add_filter( 'http2_link_preload_src', 'roelven_only_push_on_first_visit' );

Batcache supports creating multiple cache "buckets" through vary_cache_on_function, but I'm hesitant to add support for specific cache plugins. Once I start down that road, I'm going to need to build and maintain support for the numerous cache plugins out there and it defeats the purpose of a simple plugin like this.

Isn't it up to the browser to accept the server push or not? If it has a file in cache it's not obligated to "preload" that file again...
If a browser does not cache pushed resources, than that's a browser issue.

Yes and no. The way server push works is the server sends its intent to push a file and then just goes ahead and starts sending it at some point after. The browser can send a cancel signal for that data stream and the server should stop sending it.
I've seen this behavior when debugging server push in Chrome. But my understanding is not every browser will cancel the stream like that. And even the browser does, there's a chance a couple packets of the file were sent already by the time the cancel is processed.
So I get why this is so important to people. I just don't have a good way to do it within the framework WordPress gives us.

...not every browser will cancel the stream like that.
Like I said, a browser issue ;)

I'd say the discussion about overhead of sent packets (before a push is cancelled) on second visits being worth it against the speed benefits of server push on first visit, is outside the scope of this plugin. As is creating a fix/work-around that fits all scenarios... In fact, might it not negate the speed benefits when too much stuff like this is handled on PHP level?

Browsers and server makers are messing around with "cache digests" but they also have an inherent privacy risk. I'm waiting to see if the proposed IETF standard to build cache digests into the protocol itself goes anywhere.


add trust for new admin kubeconfig client-ca

pulls the admin client-ca.crt from installer and sets it up to be included in the client-ca for our server.

/lgtm

/retest

/retest

/retest


Fix locking of pip.exe on windows during upgrade

Fixes #3142

Signed-off-by: Dan Ryan<EMAIL_ADDRESS>

Hm I dont think this will work


Duplicate selector

Hello,
I use cssnano with PostCSS width Gulp.
On my personal website (https://guillaume.germain.bzh/), I have duplicate selectors.
Some examples (https://guillaume.germain.bzh/css/main.css):

a
.btn
body

Originally, I have 3 "body" selectors. Why the 2 remaining selectors are not grouped ?
Thanks,
Guillaume

Ran into a similar issue.  I have mergeRules turned on but when I process the following string it fails to merge the selectors:
.A{color:blue}.B{font-weight:700}.B{font-weight:700}.C{font-weight:400}

Same issue happens with mergeRules and the background-image property, which, unfortunately, is often a long string and adds a lot of redundant CSS to the file. (In my case, there are dozens of duplicate rules after optimising.)
For a quick example, this CSS:
.sp-facebook {
  background-image: url(/static/sprite-b83caa4a9c.png);
  background-position: -95px -45px;
  width: 45px;
  height: 45px;
}
.sp-googleplus {
  background-image: url(/static/sprite-b83caa4a9c.png);
  background-position: 0px -50px;
  width: 45px;
  height: 45px;
}
.sp-linkedin {
  background-image: url(/static/sprite-b83caa4a9c.png);
  background-position: -95px 0px;
  width: 45px;
  height: 45px;
}
.sp-twitter {
  background-image: url(/static/sprite-b83caa4a9c.png);
  background-position: -45px -50px;
  width: 45px;
  height: 45px;
}

Is minified to:
.sp-facebook{
  background-position:-95px -45px;
}
.sp-facebook,.sp-googleplus{
  background-image:url(/static/sprite-b83caa4a9c.png);
  width:45px;
  height:45px;
}
.sp-googleplus{
  background-position:0 -50px;
}
.sp-linkedin{
  background-position:-95px 0;
}
.sp-linkedin,.sp-twitter{
  background-image:url(/static/sprite-b83caa4a9c.png);
  width:45px;
  height:45px;
}
.sp-twitter{
  background-position:-45px -50px;
}

(mergeRules on, but core off to keep the readability -- although the issue also happens with core on, for that matter.)
I would expect that the mergeRules optimisation result in:
.sp-facebook,
.sp-googleplus,
.sp-linkedin,
.sp-twitter {
    background-image: url(/static/sprite-b83caa4a9c.png);
    width: 45px;
    height: 45px;
}
.sp-facebook {
  background-position: -95px -45px;
}
.sp-googleplus {
  background-position: 0px -50px;
}
.sp-linkedin {
  background-position: -95px 0px;
}
.sp-twitter {
  background-position: -45px -50px;
}

I still get the same problem with version 3.10.0

It's on the TODO list.

The "optimized" output requested is actually larger after compression. (172 bytes for the original, 187 bytes for the proposed output) The only way to make this kind of optimization work out is to generate new selectors that are highly compressible, if you duplicate the authored selector idents, it causes more bloat.
https://github.com/ben-eb/cssnano/issues/424 for more information


Layout settings: Replace the popup menu with a modal window

When any project is open.
Then the layout settings button appears in the top panel.
When the user clicks on the button, a popup menu appears.
Your mission, should you choose to accept it, is to replace the popup menu with a modal window.

Implemented in v1.2.


Scan.cpp: scan_displacement_references crashes if module region has unallocated gaps

return scan_displacement_references((uintptr_t)module, *module_size, ptr);
Probably an odd case, but I noticed that scanner doesn't check for pointer validity, and this example has a gap of unallocated memory between module and module + module_size.

I'm attaching a minimal reproducible example, open Dll1.sln and run in debugger (it's pcsx2 emulator with injected dll).
const auto s = utility::scan_string(GetModuleHandleA(NULL), "    ================  EE COUNTER VSYNC START (frame: %d)  =======");
auto test = utility::scan_displacement_references(GetModuleHandleA(NULL), *s);

test.7z.zip
(spdlog is awkwardly removed in this, I would like to suggest making it available under a define)

Hmm, yeah that is a rare issue - never seen it myself in any Unreal game (hundreds) or RE Engine game, and a few others. A pre-emptive set of VirtualQuery calls to find valid regions in the scan area could work. Doing it during the AVX2 scan would defeat the purpose of how fast is it supposed to be.

A try-catch block would probably work too. Any exception handler really. Will have to see how that fares and if it even affects scan speed.

Yeah, I was thinking there's no need to destroy performance during a loop, but maybe getting shorter size in get_module_size or something of the sort would do it as well. Exception handler ofc can be used too, I'm fine with whatever you decide is best.

A __try __except block around the scan shouldn't affect performance unless an exception is thrown.

Can you try latest commit and check if it fixes the issue you ran into?
I went with the __try/__except, it has a minimal performance hit. The hit does exist, though it's only around 500 MB/s off of an already 10.5-11GB/s scan on my machine, so not really anything of note.
I tried the VirtualQuery method initially, but VirtualQuery call takes 10ms for whatever reason, so that was completely unacceptable for the performance the scans are going for.

Can you try latest commit and check if it fixes the issue you ran into?

Seems good, all string refs are found.


CatFaceGenerator-Cral-Cactus

In my artwork, I've coded a whimsical cat face generator using procedural drawing techniques. The code defines functions for drawing various elements such as ears, eyes, mouth, nose, and moustaches, each with randomized styles for a playful and unique appearance. It incorporates bezier curve transformations and noise functions to add smooth transitions and organic textures, resulting in a lively and interactive visual experience.

Thank you for the submission! I think this may be too similar to the face generators we currently have in the gallery. How could you make it more cat like? Perhaps draw a cat body too.

I'm going to close this for housekeeping but please resubmit when you are ready!


Update home page to reflect the change from Tiramisu to Aroma

Change Tiramisu to Aroma on cfw.guide home page as Tiramisu is no longer the main CFW for Wii U and not what the guide teaches

thank you :)


Update Bitstream Parameters for AD8K5

Previous bitstream constraints were able to generate binaries that fail to configure the FPGA during post. The failing bitstreams included the MIG controller for the SDRAM and were larger in size when compared to hlshelloworld.

Replaced with #754


java not installing

Step 6/14 : RUN heroku plugins:install java

 ---> Running in 57dc79ca6c15

/bin/sh: 1: heroku: not found

The command '/bin/sh -c heroku plugins:install java' returned a non-zero code: 127

I also tried sudo apt-get install openjdk-8-jre which is mainly i want even that getting error

What was the error with sudo apt-get install openjdk-8-jre? I believe this is the way to install Java

What was the error with sudo apt-get install openjdk-8-jre? I believe this is the way to install Java

already tried that but didn't work so I tried this

Hi - sorry for the late response. I have not been active on this repo.
You can install Java in your project by adding this to the Dockerfile:
USER root

# Install "software-properties-common" (for the "add-apt-repository")
RUN apt-get update && apt-get install -y \
    software-properties-common

## Install Oracle's JDK
# add oracle jdk repository
RUN add-apt-repository ppa:ts.sch.gr/ppa \
# accept oracle license
  && echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections \
  && echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections \
  && apt-get update \
# install oracle jdk 8 and make it default
  && apt-get -y install oracle-java8-installer \
  && apt-get -y install oracle-java8-set-default \
# clean up
  && apt-get clean all \
  && rm -rf /var/lib/apt/lists/*

USER coder

Ah, it looks like Java 8 is not supported on Debian 11. You can, however, use:
RUN sudo apt-get update && sudo apt-get install -y openjdk-11-jre

see this for workarounds: https://www.itzgeek.com/how-tos/linux/debian/how-to-install-java-jdk-on-debian-11.html


Add ingress resources to Kong chart

What this PR does / why we need it: Add Ingress resource to Kong chrt. Not each K8S cluster is being run on cloud provider, some are being deployed to bare-metal or cloud providers without native LB. So Service resource is not enough for chart, ingress should be added also. This changes come from our company needs, I suppose someone may be interested too.

/test all

/ok-to-test
@shashiranjan84 can you review this? Approve if it's ok.

Thanks @kchugalinskiy for PR. Personally I never tested ingress resource but PR makes sense to me. I will review it further.

/lgtm

/approve

/assign @mattfarina

Overall LGTM, left few comments before things which need to addressed.

We should wait for @kchugalinskiy to increment the chart version as noted earlier before merging.

@mattfarina ok, now it's 0.4.0 as mentioned above

/lgtm

/lgtm


Add aws image generation based of the raw image

Uses the new cos-deploy script to install the image from recovery and
the user-data facility to partition the disk
As a side effect it moves from using json to using HCL for packer as json is no longer receiving any features and HCL is the recommended config language for packer
Signed-off-by: Itxaka<EMAIL_ADDRESS>

This has been tested by creating a raw image from master, uploading it to s3, creating a snapshot then turning that snapshot into an ami (cos_0.5.6-recovery.raw)
Then launching the packer process and deploying version 0.5.5 from the repositories snapshooting the image and manually booting from it to test that it was working.


Fix deletion of ServiceMonitor CR

We could never detect a failed deletion because the condition was
prefixed with a false boolean.
Signed-off-by: Daniel Belenky<EMAIL_ADDRESS>
What this PR does / why we need it:
In order to properly handle the deletion of service monitors
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

Thanks for catching this @danielBelenky

/approve

/lgtm

/release-note-none

/retest


Add hoverRange capability

Hi,
The latest release of rust-analyzer added the ability to view the type of selected code in visual mode while hovering.
I really wanted that to be enabled in neovim and hacked something together :smile: .
I added a new command RustHoverRange and an experimental capability which will do the work of making the request. It uses the default hover handler for better integration with the hover actions.
I added the new command to the documentation, but did not make a gif of how it works (didn't know how :cry: )
Here some extra links:

PR hoverRange in rust-analyzer with example gif
Specification of the protocol in rust-analyzer

Hope you like it! :+1:

Hello, how to use this?
i have this keybinding
    buf_set_keymap("v", "<C-space>", "<cmd>RustHoverRange<CR>", opts)

and when i press control space a error pops up
Error executing vim.schedule lua callback: ...ker/start/rust-tools.nvim/lua/rust-tools/utils/utils.lua:99: attempt to call upva
lue 'fn' (a nil value)
stack traceback:
        ...ker/start/rust-tools.nvim/lua/rust-tools/utils/utils.lua:99: in function 'handler'
        ...eovim-unwrapped-0.6.1/share/nvim/runtime/lua/vim/lsp.lua:964: in function 'cb'
        vim.lua:285: in function <vim.lua:285>


misp:Feature - v3.0.0 Improve the "add attribute" functionality

Please ensure your pull request (PR) adheres to the following guidelines:

Please refer to our contributing documentation for any questions on submitting a pull request, link: Contribution Guide

Pull Request Checklist
Please check if your PR fulfills the following requirements:

[X] Testing of all the changes has been performed (for bug fixes / features)
[X] The manual_readme_content.md has been reviewed and added / updated if needed (for bug fixes / features)
[X] Use the following format for the PR description: <App Name>: <PR Type> - <PR Description>
[X] Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.
[ ] Verify all checks are passing.
[X] Do NOT use the next branch of the forked repo. Create separate feature branch for raising the PR.
[X] Do NOT submit updates to dependencies unless it fixes an issue.

Pull Request Type
Please check the type of change your PR introduces:

[ ] New App
[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation
[ ] Other (please describe):

Security Considerations (REQUIRED)

[ ] If you are exposing any endpoints using a REST handler,
please document them in the manual_readme_content.md.
[X] If this is a new connector or you are adding new actions

[X] Please document in the manual_readme_content.md all methods (eg, OAuth) used to authenticate
with the service that the connector is integrating with.
[ ] If any actions are unable to run on SOAR Cloud, please document this in the manual_readme_content.md.

[ ] Are you introducing any new cryptography modules? If yes, please elaborate their purpose:
[ ] Are you are accessing the file system? If yes, please verify that you are only accessing paths returned through
the Vault API.
[ ] Are you are marking code to be ignored by Semgrep with nosemgrep?
If yes, please provide justification in an additional comment next to the ignored code.

Release Notes (REQUIRED)

Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.
Please see release_notes/3.0.0.md

What is the current behavior? (OPTIONAL)

Describe the current behavior that you are modifying.

What is the new behavior? (OPTIONAL)

Describe the behavior or changes that are being added by this PR.
Please see release_notes/3.0.0.md. I have added 2 new attribute related actions. The existing functionality of create_event action to add attributes was not working.

Other information (OPTIONAL)

Any other information that is important to this PR such as screenshots of how the component looks before and after the change.

Pay close attention to (OPTIONAL)

Any specific code change or test case points which must be addressed/reviewed at the time of GA release.

Screenshots (if relevant)

Thanks for contributing!

Hello @bliew-splunk ,
I have started working on the PR u have raised for MISP : https://github.com/splunk-soar-connectors/misp/pull/11.
We noticed some changes in the latest update and have a couple of questions for clarification:

Previously, the create_event action included an add_attribute functionality. This functionality seems to be missing now.

The add_attribute function itself was previously called update_event. It appears you've renamed it.

Given that adding an attribute essentially updates the event, the original update_event action name seems appropriate. To avoid backward compatibility issues, we suggest keeping update_event unless there's a strong reason for the change to add_attribute.

Hello @bliew-splunk , I have started working on the PR u have raised for MISP : #11.
We noticed some changes in the latest update and have a couple of questions for clarification:

Previously, the create_event action included an add_attribute functionality. This functionality seems to be missing now.
The add_attribute function itself was previously called update_event. It appears you've renamed it.

Given that adding an attribute essentially updates the event, the original update_event action name seems appropriate. To avoid backward compatibility issues, we suggest keeping update_event unless there's a strong reason for the change to add_attribute.

@hardik-crest The MISP API separates the functionality of updating an event and adding attributes:

https://www.misp-project.org/openapi/#tag/Events/operation/editEvent
https://www.misp-project.org/openapi/#tag/Attributes/operation/addAttribute

I have indeed separated out the attribute functionality from create_event into two new actions add attribute and bulk add attributes.

Added new action add attribute to add a single attribute to an existing event.
Added new action bulk add attributes to add multiple attributes to an existing event.

I was engaged by a sales engineer to update this app, because the attribute functionality was not working for a customer.
I believe that separating this out makes it easier for the user to understand.
I understand that this would be a breaking change for the users, but I don't have the time to work further on this.

Hi @tapishj-splunk, I understand you're now assigned to https://splunk.atlassian.net/browse/PAPP-33460.
Would it be better to follow the approach @hardik-crest has described here: https://github.com/splunk-soar-connectors/misp/pull/11#issuecomment-2057478533, to preserve backwards compatibility?
The current code changes are a breaking change for existing users.

Hi @tapishj-splunk, I understand you're now assigned to https://splunk.atlassian.net/browse/PAPP-33460. Would it be better to follow the approach @hardik-crest has described here: #11 (comment), to preserve backwards compatibility? The current code changes are a breaking change for existing users.

Hi @bliew-splunk sorry for the late reply. Ideally we shouldn't be making changes that break customer playbooks. Even with Hardik's suggestions playbooks would be broken because the input parameters would be broken. I think with the create_event action it makes sense to keep the parameters you removed and add the bulk_add_attributes. Not sure if we want to make those changes to update_event, unless this is an ask by several customers or if it's a major problem. What are your thoughts?

Hi @tapishj-splunk, I understand you're now assigned to https://splunk.atlassian.net/browse/PAPP-33460. Would it be better to follow the approach @hardik-crest has described here: #11 (comment), to preserve backwards compatibility? The current code changes are a breaking change for existing users.

Hi @bliew-splunk sorry for the late reply. Ideally we shouldn't be making changes that break customer playbooks. Even with Hardik's suggestions playbooks would be broken because the input parameters would be broken. I think with the create_event action it makes sense to keep the parameters you removed and add the bulk_add_attributes. Not sure if we want to make those changes to update_event, unless this is an ask by several customers or if it's a major problem. What are your thoughts?

Thanks Tapish, I've messaged you on Slack


Loading file in coraza.conf fails on Go 1.23

Description
Describe the issue that you're seeing.
We are using the Coraza Caddy plugin. This week our builds don't run anymore.
When launching Caddy it crashes.
After some debugging we found that the builder image from Caddy instals the newer Go version since last week.
I was first planning to create the issue on the Caddy plugin repo.
But after some researcher the error is thrown from Coraza itself
Being specifically this line:
https://github.com/corazawaf/coraza/blob/a45e359e998e1dab94288b1f62cea9fd452ea15a/internal/seclang/parser.go#L64
Steps to reproduce
https://github.com/ErazerBrecht/coraza.git
The first commit works, the second commit it breaks.
Expected result
It shouldn't crash when specifying a specific coraza config.
Actual result

invalid WAF config from string: failed to readfile: read /opt/coraza/config/coraza.conf: invalid argument

Hey @ErazerBrecht, thanks for reporting this!
I managed to reproduce it and create a minimal repro that does not include caddy: https://github.com/corazawaf/coraza/compare/main...minimal_repo_readfile.
I need some more time or help to come up with a fix, but here is what I think is happening:
The parser calls fs.ReadFile which internally performs a type assertion fsys.(ReadFileFS).
For some reason, starting from Go 1.23, this assertion is failing, and therefore ValidPath function is called.
See https://cs.opensource.google/go/go/+/refs/tags/go1.23.3:src/io/fs/readfile.go;l=32.
ValidPath function is now allowing to have a path starting with /, just like /opt/coraza/config/coraza.conf.
So, looks like the root fs we are providing with WithRootFS(mergefs.Merge(coreruleset.FS, io.OSFS)) does not implement anymore the ReadFileFS interface.
I'll keep investigating from here, but I wanted to update you on the issue.
As a workaround, you might try to use a relative path (if doable).

Actually, I think found it.
Via https://go-review.googlesource.com/c/go/+/560137/4/src/io/fs/sub.go#b36 the error message has been changed from invalid name to invalid argument, therefore we are not catching it anymore and we are not using the correct root to access the file. See https://github.com/jcchavezs/mergefs/blob/07f27d25676181074133e7573825402b88bf2f99/readfile.go#L23-L27

Hi @ErazerBrecht, the fix has been pushed to the main branch of coraza-caddy. If you could give it a try and let me know if it works, I'd really appreciate it!

@M4tteoP
Thank you very much! It's the first thing I'll do tomorrow!
Enjoy the rest of your day!
Sincerely, Brecht

@M4tteoP
I confirm this is fixed 🚀


Object centric model

This pull request has been deployed to Vercel.

Latest commit:
affcff5

✅ Preview:
https://sui-bootcamp-2024-dxzr6gfy6-vbi-academy.vercel.app

🔍 Inspect:
https://vercel.com/vbi-academy/sui-bootcamp-2024/CTfQQWqTHcsUktax24BcWCAAtrgx

View Workflow Logs


Improve table for Understanding the search syntax, exclude certain results

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#exclude-certain-results
What part(s) of the article would you like to see updated?
Current table
Copy/pasted from source file: ^source

Query
Example

-QUALIFIER
cats stars:>10 -language:javascript matches repositories with the word "cats" that have more than 10 stars but are not written in JavaScript.

mentions:defunkt -org:github matches issues mentioning @defunkt that are not in repositories in the GitHub organization

Expected table
I was expecting the second row to look similar to this:

Query
Example

-QUALIFIER
cats stars:>10 -language:javascript matches repositories with the word "cats" that have more than 10 stars but are not written in JavaScript.

mentions:defunkt -org:github
matches issues mentioning @defunkt that are not in repositories in the GitHub organization

Additional information
No response
Added by maintainer
These are two examples of the same qualifier, with a missing | which is messing up the formatting. We don't need two examples, and the mentions:defunkt -org:github example is a little simpler and more accessible,  so let's keep that one, moving it to where the cats stars:>10 -language:javascript example was, and remove the bottom row of the table.

Thanks for opening this @HonkingGoose, you're right that this needs to be updated ✨ I've made an edit to the OP with a summary of what to change, you (or anyone else) is welcome to open a PR to address that change. Thank you 🎉

Thank you for the edit! I'll let somebody else fix this with a pull request.

Opened #11894 with the suggested changes by the maintainer.


Add ADR 9 to supercede ADR 6

This came out of https://www.pivotaltracker.com/story/show/173630293 after we decided that ADR 6 should not be implemented as originally written.
@jspawar and @njbennett also have context on this discussion

I reached out to our CLA manager to resolve the CLA issue. I'm not part of the VMware org, despite being an employee.

Hi @matt-royal , @JenGoldstrich and I are working on moving our default branch from master to main, so we are going to close this issue out. If you could please reopen it against the new main branch we'd appreciate it.
Thanks,
Sarah and Jenna

Closing because consensus was iirc consensus was never reached and we never implemented this proposal fully (also we later moved from writing proposals as RFCs instead of ADRs so this should be closed out anyway I guess). We will probably not get around to doing this refactor either, so no need to keep around.


Missing stateful vjp

The stateful Jax override for jax.vjp is blocking my adoption of Haiku.  I was wondering if there's any plan to add that?
Although I want to keep the issue focused on what's blocking me, the full list of stateful Jax overrides with missing overrides commented is:
TRANSFORMS = {'checkpoint': remat,
              'eval_shape': eval_shape,
              'grad': grad,
              # hessian, invertible, jacfwd, jacrev,
              'jit': jit,
              # jvp,
              # lax.associative_scan,
              # linear_transpose, linearize,
              'lax.cond': cond,
              'lax.fori_loop': fori_loop,
              'lax.scan': scan,
              'lax.switch': switch,
              'lax.while_loop': while_loop,
              'named_call': named_call,
              # pmap,
              'value_and_grad': value_and_grad,
              # vjp,
              'vmap': vmap}

I guess that the most common ones are vjp, jvp, and jacrev (i.e., jacobian).

Since I'm blocked, I guess I'm going to start implementing hk.vjp.  I've been thinking about the design of this, and wanted to see if anyone had time to provide feedback before I implement it.
The forward pass of hk.vjp(f) is like most of the other stateful overrides:

create a pure version of f that accepts the internal state as a parameter and returns the state difference,
call it with the internal state, and
then use the returned state difference to update the internal state.

This produces primals, which are good, and a VJP function g.  This g accepts cotangents for the state difference, and produces cotangents for the internal state (parameters, state, and RNG).
I think we should return g_modified that only returns cotangents for the parameters and state, since the RNG cotangent is going to be zero for normal uses of the RNG.  The parameter and state cotangents are useful, for example when chaining VJPs.
Any thoughts?

I've implemented it here, but it's not working for me yet.

@LenaMartens you know JAX's AD machinery much better than I do, any thoughts here?

Speaking of meta_vjp, I noticed that vmap has a related TODO: "Allow configuration of params/state/rng mapping." This could be implemented as meta_vmap and accept in_params, in_state, in_rng.

We've hesitated a bit on implementing this, because its a little unclear how we could provide full control to users (e.g. allowing you to map only a subset of the parameters). Since we don't have a good answer to this right now, I think its best to advise folks to use hk.lift and jax.vmap since then everything is explicit (if a bit verbose) and Haiku cannot get in your way. It also means that hk.vmap (et al) are as close to their counterparts in JAX as reasonable.

Yup, I agree, and that makes sense.
I wanted to update you on my usage of Haiku going forward and maybe get your thoughts if you have any.
When I first decided to start using Haiku, I wanted to get access to the Haiku modules without having to design them myself.  Then, I thought it would be nice to apply Haiku to my entire project.  I'm already passing a parameters, state, and RNG to many functions.  The idea of having these passed implicitly is very attractive.
Unfortunately, it's not possible to convert my project to Haiku without a working hk.vjp, and probably a few other things (e.g., arbitrary pytree parameters and state).  I understand that there are a lot of deep, and important design questions remaining in Haiku.  I understand how important it is to get those right.
So, I've decided to retreat from the dream of using Haiku for the whole project, and restricting my use of Haiku to using modules.  What I'll do is I'll periodically check back, and when the time is right, I'll consider converting everything over to Haiku.  Thanks for the great project!


Standard serializers [ECR-883]

Overview
Implemented standard serializers:

no-op
bool
fixed32 (integer)
fixed64 (long)
Private key
Public key
Float
Double

See: https://jira.bf.local/browse/ECR-883
Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Please check DoD — there is at least a changelog entry missing.


Problem in PropertyStore when reading UseShellBackButton

Hello, I have the following error when I start my project based on Minimal. The Minimal project works correctly, but not my project. I did an update today of the git repo and now the app does not start while last week it did. I've copy/pasted the whole Minimal folder on top of my project,  then fixed namespaces and other things.
Where is this "UseShellBackButton" setting is supposed to be save? In my other XAML apps (not windows store) it usually would be in app.config, but neither my app nor Minimal have one.
Object reference not set to an instance of an object.
Template10.Services.SettingsService.PropertyStore.Read(key = "UseShellBackButton", fallback = true) Line 45	C#
Template10.Services.SettingsService.SettingsHelper.Read(key = "UseShellBackButton", otherwise = true, strategy = Local) Line 38	C#
MyApp.Services.SettingsServices.SettingsService.UseShellBackButton.get() Line 29	C#
MyApp.App.App() Line 21	C#
MyApp.Program.Main.AnonymousMethod__0_0(p = {Windows.UI.Xaml.ApplicationInitializationCallbackParams}) Line 24	C#
Thank you for any help.

Hi GuillaumeGrillonLabelle!
For all I know the settings stored within your apps folder(s) - c:/Users/..../AppData/.. . There are different types of persistent settings. while "local" means "only on the current computer" another possibility is "roaming" what means "sharing and syncing across different devices".
https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.localsettings.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
For a hint on where to find the actual files, you might debug the following property:
Windows.Storage.ApplicationData.Current.LocalFolder
Line 45 in property store is within a try {} catch-all block and would return the default value in case of
an exception. So I am not yet sure how you could get an exception ... do you have further information about this (sample code, further Infos, what is 'null')?

Now that I am re-reading your question, I wonder if you are asking where the initial value is before the user selects a custom value. In the case of the shell back button it is the default value set /Services/SettingsService/SettingsService.cs line 29. The default is true.
So that this type of investigation is easier for you next time, I recommend placing your cursor on the UseShellBackButton reference in app.xaml.cs and using F12 to navigate to the definition. This will take you to the definition. If you want to put your default settings somewhere else, you might review this question: http://stackoverflow.com/questions/19994632/what-is-the-equivalent-of-an-app-config-in-a-winrt-app


Issue in OLS in VSCode, with a back tick inside a map  of strings initialization.

Hello,
In the following code, when I compile it compiles correctly, but appears in red with a yellow rectangle surrounding the back tick.
the code is in my repository in the line 166.
https://github.com/joaocarvalhoopen/Odin---Manipulating-the-keyboard-input-and-output-in-Linux/blob/main/linux_dyslexic_help.odin#L166
Visually an image of it is the following, the caret is in the plus "symbol", one line above this line:

Best regards,
João Carvalho

In the Odin discord, another Odin programmer "laytan" mentioned that it could be:
````Probably not an ols issue, rather an issue with core:odin/parser```

Just vscode complaining, nothing to do with ols.
Warning from vscode:
The character U+00b4 "´" could be confused with the ASCII character U+0060 "`", which is more common in source code. Adjust settings```

Thank you DanielGavin.


Translate page on Russian

Translate page on Russian
Check out a review request at GitLocalize

@petele sorry, I didn't urderstand what is wrong. Can I get more explanation?

If you look at _common-links.md, there's an additional line at the bottom that's not included in this translation.

@petele ok, I see, thnaks. This is some problem GitLocalize. I contacted their support.

@sotayamashita & @chikathreesix - would you please take a look! looks like some content was lost here.

@DmitrySkripunov I have created a PR to fix the issue @petele say. Please check this out.
https://github.com/DmitrySkripunov/WebFundamentals/pull/1

@petele look, please. I made translate for new text block from PR @sotayamashita


Payments test fix dev

https://github.com/MinaProtocol/mina/pull/13634

this pr no longer needed
see: https://github.com/MinaProtocol/mina/pull/13634


promotion : other then Queen ?

i like your betafish javascript engine, it seems well written, although i don't understand all code .. but i managed to extend the script with some nice features :

fixed (*) the FEN notation (ep-square missed, halfmove clock and fullmove number were not correct).
show text which side is to move.
show when engine is thinking (and buttons are temp. invisible).
fixed setFEN button action.
added notation list; moves include symbols for check ('+'), mate ('#') and promotion piece; also display engine evaluation cp-value.

*) fullmove number is still not always correct, it may show a broken number like '1.5' : i wasn't able to solve that yet ..
last thing i want to add is selecting the promotion piece : i added a select element to set that piece type before promoting, but i'm unable to make it work : it seems betafish can promote to e.g. a kNight (test FEN 6n1/5P1k/7p/8/8/8/1B4K1/8 w - - 0 1 : the move f7-f8n will give mate and indeed betafish plays that move), but when the user promotes a pawn, a Queen is always set .. how to change that ?
see my current development version at https://www.imoma.eu/projects/betafish-test/
btw. i had to include the code of js/betafish.js and js/main.js into the index.html because loading those scripts the original way gave errors !?
i really hope you can help me with this.
promoting to any piece would make the project complete !

@Strryke this evening ChatGPT helped me a lot to create such function : the move generator should add all promotions to the move list, then adjust the data shift logic and it will work. Soon-

btw. and i managed to import betafish.js and main.js properly (the ES6 way).

I think that this project is now abandoned by its owner....


useScript dont work in nuxt/storybook

📚 What are you trying to do?
Description
The useScript module is not functioning as expected when used within the Nuxt/Storybook environment. This issue is causing scripts to not load or execute properly, which affects the functionality of components relying on external scripts.
Steps to Reproduce

Set up a Nuxt project with Storybook integration.
Import and use the useScript module in a component.
Attempt to load the component in Storybook.

Expected Behavior
The useScript module should load and execute the specified scripts correctly within the Storybook environment, just as it does in the Nuxt application.
Actual Behavior
The scripts do not load or execute properly, leading to missing functionality in the components.
Environment

Nuxt version: [3.12.4]
Storybook version: [8.2.0]
useScript module version: [0.9.5]

Additional Information

The issue does not occur when running the Nuxt application outside of Storybook.
No errors are logged in the console, making it difficult to diagnose the problem.
Warning in console after trigger loading script - [Vue warn] onScopeDispose() is called when there is no active effect scope to be associated with.

🔍 What have you tried?
No response
ℹ Additional context
No response

The way nuxt storybook works currently is kinda buggy. It does runs two different config for Nuxt, one to build and one to be ran within storybook.
They do have an issue to possibly fix this issue by having a single unified config.


buildah bud needs to support caching.

Add a flag to
buildah bud --cache ...
This flag will cause buildah bud to act like docker build, in that every Dockerfile command will create a layer in and record the command used to layer.  Then if you run it a second time, it will check each command before actually executing it, if it matches an existing layer, then it will not be executed.  If does not match then the command will execute and all further commands will execute.

Implemented in #767


Don't allow docker-compose v2 to be used

The Problem/Issue/Bug:
Currently there are so many bugs on docker-compose v2 beta that it's unusable for most ddev purposes.
This PR checks for compose v2 and refuses to use it, and gives instruction.
For a current list of incompatibilities and problems, see https://github.com/drud/ddev/pull/3083#issuecomment-873060929
How this PR Solves The Problem:
Improve the version constraint to disallow v2
Add an extra error message explaining about v2
Manual Testing Instructions:
With compose v2 enabled, ddev start. It should fail, explaining why.
Then docker-compose disable-v2 and ddev start. It should work.
Release/Deployment notes:
Hopefully we can revert this when compose v2 is fully functional and compatible.

Tested this on macOS, Windows 11, WSL2, and Ubuntu 20.04 and it seems to work correctly.

Tested this on macOS, Windows 11, WSL2, and Ubuntu 20.04 and it seems to work correctly.


PSTGRSCROC-135

@rultor merge

@rultor merge

@mgramin OK, I'll try to merge now. You can check the progress of the merge here


React Warning -manually calling a React.PropTypes

Warning: You are manually calling a React.PropTypes validation function for the `channel` prop on `t`. This is deprecated and will not work in the next major version. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.

thanks @tarr11 will update shortly

this was fixed was fixed by https://github.com/rainforestapp/react-pusher/commit/4450df7cb3ec80af2d4a956245e8ffca8684a14b
but not published on npm :(

@juliankrispel : When will this be pushlished ? Still getting that warning

I don't have access to this anymore - maybe @prayogoa  or @ziahamza can publish this :)

Sorry for the delay, we'll publish an update soon!


Add support for a default parameter config

Currently, themis-contract can derive a partial (and generally malformed) configuration by extracting the parameters from a template. This saves time, but as we've seen through internal use, we really want to start working from a parameter configuration which has much more context available. The context should include information like

how to supply parameters (what kinds of types and inputs are valid)
what they default to (in case of optional parameters)
and what they mean (when self-documenting names are not feasible)

Eventually, we might be able to automate this process to some extent by inspecting the context of the passages in which the parameters appear, but this pushes us towards NLP, and such a clever solution isn't necessary and won't add much value to the current process. This is largely due to the fact that porting a contract to a parameterized template invariable involves creating an example configuration to test the port, and because the only interesting problem in such porting is modeling the domain (of which the configuration is just a representation).
To meet the immediate need and improve UI, we can make the new subcommand (and the proposed prepare #46) pull both a contract template and a default configuration (if available) from the source repo.

Implemented as per #23 (currently on branch prototype/v2, soon to be merged to master).


Improve Sunstone customizations

Enhancement Request
Description
This issue is to ease the customization of Sunstone to enable custom logos or to embed custom URLS
Use case
Ease branding and customization of OpenNebula for third parties.

will be redesigned in #5422