[BUG] There is no way to configure some security plugin settings

Hi, looks like there is no way to configure some of plugins.security config:
Example:
https://github.com/opensearch-project/opensearch-k8s-operator/blob/c3d2a79f932b9a6e02e742318911e93b5d511b11/opensearch-operator/pkg/reconcilers/configuration.go#L66-L67
I have:
#...
  general:
    additionalConfig:
      # doesn't work here (?)
      plugins.security.restapi.roles_enabled: '["all_access", "security_rest_api_access", "full_access"]'
      plugins.security.system_indices.enabled: "false"
#...

I see the default settings in opensearch-config ConfigMap.
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]
plugins.security.system_indices.enabled: true

Also see my overrides provided via environment variables in pod, but looks like they doesn't work.
There is a way to disable system indices protection?

Looks like env vars handled by opensearch-docker-entrypoint.sh

[Triage]
Hey @vchirikov just checking is this still an issue with the operator?
Thanks

@prudhvigodithi maybe it's issue with opensearch plugin, not with operator. I found the root cause here

Any updates? I am trying to figure out how to enable cert hot reload with plugins.security.ssl_cert_reload_enabled: "true"
Is there any way to configure opensearch.yml without spec.general.additionalConfig ?


azure-search-documents needs docstring updates for sphinx

ACTION NEEDED: All sphinx errors and warnings must be fixed by 2024-04-15. The build will begin to fail for this library if errors are not fixed.
This issue indicates that your library reference documentation is rendering with errors. To avoid customer issues, please ensure you take care of these errors and warnings ASAP.
Library name: azure-search-documents
Sphinx build: Link to build (2023-12-31)
How to fix: Run the strict-sphinx tox command at the library package-level and resolve the docstring errors and warnings.

../azure-search-documents>pip install "tox<5"

../azure-search-documents>tox run -e strict-sphinx -c ../../../eng/tox/tox.ini --root .

Once resolved, set strict_sphinx = true in the package's pyproject.toml file.

See Sphinx and docstring checker for more information.

Done.


Infer Object Rest Type

Search Terms
Infer, object, rest, spread, type, unwrap, fields, exclude
Suggestion
This works:
type X = ["A", "B", "C"] extends ["A", ...infer BAndC] ? BAndC : never;

This does not work:
type X = {a: "A"; b: "B"; c: "C"} extends {a: any, ...infer BAndC} ? BAndC : never;

I'm probably not the first to point out this asymmetry, although I was unable to find pertinent issues. Apologies if this is on the roadmap & I'm creating excess noise.
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

Tuples are special in a lot of ways... objects are, in many ways, easier to work with, this probably doesn't exist because you can already do it (as far back as when conditional types were introduced!)
type A<T> = T extends { a: any } ? Omit<T, 'a'> : never

type X = A<{a: "A"; b: "B"; c: "C"}>

@Gerrit0 I never suggested a lack of alternatives for omitting fields. This issue is about symmetry in the language. Not only symmetry with tuple types, but also with runtime code, where it is possible to destructure the rest type from both tuples and objects.

"Language symmetry" sounds like a questionable benefit given the additional complexity in various aspects.

We generally don't create an additional way of doing something just so the syntaxes line up. ... was necessary for tuples because removing elements changes the keys and length, but this isn't needed for objects.

@RyanCavanaugh that sounds sensible! Thank you for considering.


fix: format on signed url

What kind of change does this PR introduce?
Bug fix
What is the new behavior?

Add format to signed url token
Do not include metadata if empty

Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

17 of 17 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 85.946%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
4931

Relevant Lines:
5711

💛  - Coveralls


Date format?

When the worksheet is readed, the cells formated as complete Dates return an odd number (43115.47584490741 e.g) and are of String type.
How do I convert these into dates?

@DanteNahuel What is the format of the cell you are trying to read?
Can you post a sample Excel document and your code that is reading that cell?

I'm having the same problem

var worksheet1 = fastExcel.Read(1);
FastExcel.CellRange cellRange = new FastExcel.CellRange("A", "BB");
var cells = worksheet1.GetCellsInRange(cellRange);
var cellValue= cells.FirstOrDefault(x => x.RowNumber == 1 && x.ColumnNumber == 1).Value;
var date = Convert.ToDateTime(cellValue);

same problem

This SO may help you. I think that additional processing should be added to this library.

Opened a new issue for this #58.


A few image not show in preview div

I try upload image in Cropit but have a few image not show in preview div.
Example like this image : (image). It isn't showing in live demo and my local.

found answer in #102


No extract on reads with no events

Hello! I just tried to run Nanopolish on some recent sequencing data and found that nanopolish extract didn't return any sequence at all from my fast5 files.
The reads have fastq basecalling but no events. Here's a screenshot of one read's structure:

[This recent PR[(https://github.com/jts/nanopolish/pull/79) mentions that a read 'must have sequence as well as events', so it seems this is expected behaviour.
This run was basecalled locally (possible with a recent MinKNOW update), not in the cloud with Metrichor. Is it possible that with this new basecalling approach, Oxford Nanopore is no longer saving event in the fast5 files? I hope that doesn't mean any locally basecalled reads are unusable with Nanopolish...

Hi Ryan,
Yes, right now locally basecalled reads do not have events so they cannot be used with nanopolish. ONT have assured me that will be changed soon but in the meantime you'll have to send them through metrichor/epi2me if you want to use them with nanopolish. If you don't need to run nanopolish poretools will extract the sequences for you.
Jared
PS: If you have an ONT account feel free to upvote/comment on the feature request I put in 30 minutes ago: http://features.nanoporetech.com/ideas/ALGS-I-3 :)


Implement top-down command type graph

I have added the top-down command discovert approach that I have mentioned. The parent commands would list all their children with the Subcommands UDA, and the user will just have to specify the very first root command. The graph will be constructed by appending the children into the list of commands.
Rant on the current build system:
What I found incredibly frustrating is moving files around, refactoring the repo structure. It's clearly messed up! You have to specify all of your dependencies by copy-pasting names BOTH in the meson project file, AND in the dub project file. Dub discovers your source files automatically, while with meson you have to list them manually. The fact that every change to the directory structure/package naming involves so many changes, in files all over the place is so incredibly frustrating. Like, just why make us do that when you could in theory at least figure out the dependencies from package.d, generating the build files into a separate directory. The actual source files are cluttered with these meaningless build files, with repetitive information. I'm just incredibly frustrated after having wasted 30 minutes on just separating out another package.
You've got to agree with me, that this is drugde work. You yourself, as I see, shortened the project variable names in meson project files, because, I would guess, it was too annoying to write them fully. IMO this is not OK. Even if you said other people do that too, IMO that's just a meaningless waste of time, which is never OK. I think this has to be addressed in some way.

I think git considers that there these many commits because I merged the master from the main repo into mine, but continued working on the refactor branch, so it considered those commits twice?? I don't know git well enough to know wth happened.

I think git considers that there are that many commits because I merged the master from the main repo into mine, but continued working on the refactor branch, so it considered those commits twice?? I don't know git well enough to know wth happened.

Yeah, it likes to do that sometimes if you don't use the right base branch, it's pretty harmless though most of the time.
I'll finally get around to addressing this PR and your feedback later today hopefully (really sorry about these delays, work is draining me a bit more than I expected).

;^) The build system is indeed as awful as you say. And I do agree it's drudge work.
I don't know what I want to do about it really tbh, I don't have the energy recently to really think about it anyway.
I'll leave this another day and see if I can muster up the energy to work through the changes to the graph, but everything else looks ok. If I can't then I might just do a  blind trust thing and assume it's all ok and merge.
Also that float is float thing was interesting to learn about. I both love and hate the transitive issues with float.nan


Escape column type name, example: 'enum('x', 'y')' => 'enum('x', 'y')'

For fix issue #68

Seem a good fix, may need to test to be sure it don't break anything but I don't think.
Thank for the Pull !


Android 14 - Exif not being returned from the camera

Bug Report
Problem
What is expected to happen?
Exif data is returned - including geolocation
What does actually happen?
On Android 11 it works fine.
On Android 14, geolocation EXIF information is missing.
Information

Command or Code

Environment, Platform, Device

Galaxy Tab A for Android 11.
Galaxy Tab A9 for Android 14.
Version information

Cordova-Android : 13.0.0
Cordova-Camera_Plugin: 7.0.0
Checklist

[x] I searched for existing GitHub issues
[x] I updated all Cordova tooling to most recent version
[x] I included all the necessary information above

Are you able to confirm if a particular image has location information in the exif by some other means? (Perhaps by pulling the image directly over ADB or over USB)
Normally the geolocation information is provided only if the underlying camera plugin adds it when the image was captured. The camera application itself would need the geolocation permissions granted for it to do this. Images in the gallery could also come from any source that may or may not have added geolocation information. So if the image itself lacks the geolocation exif data, then naturally it won't be available in cordova either.
When it comes to android changes, a good place to start is:

https://developer.android.com/about/versions/15 (This is for Android 15 / API 35 but sometimes they introduce breaking behaviour changes across the board)
Android 14 / API 34

I haven't looked through them but if there are intended behaviour changes at the android SDK level, it should be noted in one of those links.

Taking from the gallery I can confirm that when I copy the file locally from DCIM, the exif location information is present, but if I select the same picture from the gallery in the application the location information is not present when the camera launcher reads the EXIF. It is present on Android 11, but not Android 14.
So Camera is working fine on its own, it's processing through the camera plugin that isn't working.
I've been trying to pin down which Android change is affecting the location permissions and, it's not obvious to me.

Reading more I believe it's due to this policy:
https://support.google.com/googleplay/android-developer/answer/13986130
Location permission is being tightened up. Our app has location permission, it's core functionality. The camera app has permission, it's optional functionality that's useful. I suspect that passing the permission between applications and sharing location information is now more difficult, but I've not dug into the details of the policy implementation.

https://support.google.com/googleplay/android-developer/thread/304805154?hl=en&sjid=13835760325836208891-EU
I raised a ticket on Google, their reply:
To address the missing EXIF location tags on Android 14 (API 34), try the following steps:

Check Permissions: Ensure that your app has the ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions in your manifest and that they are granted at runtime.
Add Location to Intent: When launching the camera intent, explicitly set the location. You can use the ExifInterface to manually add the location tags to the image after capturing it.
Use MediaStore API: If you're saving the image to a specific location, make sure to include the location metadata when inserting the image into the MediaStore.
Review Camera Implementation: If you're using a custom camera implementation, ensure that it’s configured to include location metadata in the EXIF data.
Check for Known Issues: Look into any known issues or changes in behavior with the camera API in the Android 14 documentation or forums.
By following these steps, you should be able to ensure that location tags are properly included in the EXIF data for photos taken with your app.

First step is true, we have both permissions. Not quite sure what the implications of the remaining steps are.

This is a significant issue for our application. Photos are used by our users for two purposes, audit trail to prove the work they did in the field (before and after photos while time and location stamps), also for logging the condition which can be important for insurance claims, being able to prove it was taking at the location on the specific date is again important.
We have photo watermarking capability which can cover this requirement, but we've always relied on being able to fall back on the exif metadata.

Check Permissions: Ensure that your app has the ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions in your manifest and that they are granted at runtime.
We definitely have these permissions.

Add Location to Intent: When launching the camera intent, explicitly set the location. You can use the ExifInterface to manually add the location tags to the image after capturing it.
The latter part of these, we could figure temporarily, but we couldn't share the result back due to our company's open source policies.
The first part implies that location can be passed through the camera intent. I'm going to check how that's done, because if that's all that's needed that would be ideal.

Use MediaStore API: If you're saving the image to a specific location, make sure to include the location metadata when inserting the image into the MediaStore.
I believe we already have issues with the gallery copy and exif, to be honest as long as the image returned from the camera has the exif metadata our application is working acceptably.

Review Camera Implementation: If you're using a custom camera implementation, ensure that it’s configured to include location metadata in the EXIF data.
I don't believe it possible for Cordova to use a custom camera on Android any more, this is why we added the watermark since our customers were previously using a custom camera with watermarking.

Check for Known Issues: Look into any known issues or changes in behavior with the camera API in the Android 14 documentation or forums.
I think we've understood why the issue is occurring and we're looking for a fix now.

I was wondering if you were able to verify the issue, we're concerned about this loss of functionality and finding a fix is going to become important quickly.

Add Location to Intent: When launching the camera intent, explicitly set the location. You can use the ExifInterface to manually add the location tags to the image after capturing it.

I believe this is how the iOS implementation kind of works, but it involves an additional level of complexity as it requires managing location state with another asynchronous process. I think it was necessary for iOS whereas Android, the underlying camera application typically handled it assuming the Camera application itself had the geolocation permissions.
To make the geolocation permissions optional, iOS uses a preference, and when enabled it will request and use the geolocation APIs and add to the exif itself. Android could do the same thing, and use the same preference to enable the functionality.
The core location API available in Android is not great to say the least, and documentation is sparse. They have a Google Play services API for geolocation instead, but making the camera plugin depend on that will likely be considered a breaking change.
Before we get into that though, I would like to see why the EXIF attributes are not being returned in the first place, given you said that they are actually available if you pull directly from DCIM and inspect the metadata manually.

I don't believe it possible for Cordova to use a custom camera on Android any more, this is why we added the watermark since our customers were previously using a custom camera with watermarking.

Cordova never implemented a custom camera, or uses the camera APIs directly. It always relied on using Intents, which is a way for one application to delegate camera tasks to another installed application (which the user may choose) and have the result be given back to the requesting application.
It is possible that the installed Camera application being used just doesn't use geolocation or set the location EXIF attributes anymore when capturing photos. But I think you've cleared that possibility in this case by stating:
Taking from the gallery I can confirm that when I copy the file locally from DCIM, the exif location information is present, but if I select the same picture from the gallery in the application the location information is not present when the camera launcher reads the EXIF.

If the underlying image contains the EXIF attributes, then at least sourcing that same image by picking from the gallery

I don't believe it possible for Cordova to use a custom camera on Android any more, this is why we added the watermark since our customers were previously using a custom camera with watermarking.

Is it possible that your watermarking tool is messing with EXIF attributes? Are you able to reproduce the issue in a Sample Reproduction app? If so then that sample project can be shared which will help serve as a test case.

I was wondering if you were able to verify the issue, we're concerned about this loss of functionality and finding a fix is going to become important quickly.

I have not and I haven't had an opportunity to try to replicate the issue either. To be frank my volunteer time is better spent elsewhere to solve the problems with using READ_MEDIA_* permissions which affects a larger user base of developing Cordova applications currently. So I don't foresee myself getting much deeper in the near future than the support I'm currently attempting to provide. I don't mean any disrespect, so I apologise if it's coming across this way.
I'm sharing knowledge in hopes that it can provide enough assistance for you/your company to find the root cause and potential solutions, especially since at the moment you have a reproduction case available to test against. And if you do find the cause and solution, then it would be nice (but not required to) send a pull request back to the Camera plugin under the Apache 2.0 license. If your company forbids it, then your company will likely require to fork and maintain their own version of the camera plugin instead of relying on open source contributions, especially if a fix for this feature is mission critical for your app.


DoubleTapZoom doesn't work,when the value of minScale  is between doubleTapZoomScale and doubleTapZoomScale * 0.9

DoubleTapZoom doesn't work,when the value of minScale   is between doubleTapZoomScale and doubleTapZoomScale * 0.9.
boolean zoomIn = scale <= doubleTapZoomScale * 0.9;
float targetScale = zoomIn ? doubleTapZoomScale : minScale();

I think this is a rare edge case but I've added a quick fix - if the current scale is at the minimum, a double tap is always interpreted as a zoom in.


AzPainter 2.0.1

AzPainter 2.0.1 released 7 FEB 2017

Website - http://azsky2.html.xdomain.jp/linux/azpainter/index.html
Source code - https://osdn.net/projects/azpainter/releases/67071

Blogs:

official - http://azsky2.html.xdomain.jp/memo/index.html
unofficial - https://aznosekai.wordpress.com/

References:

https://www.linux.org.ru/news/multimedia/13216485#comments
https://www.linux.org.ru/forum/multimedia/12283767

Thank you for telling me. It seems to be able to deal with it, please wait for a while.

It would be cool if you also could upload ready to use dmg-file in "releases" section.

Support of version 2.0.1 is now complete.
However, there are no plans to release the compiled application.
Please compile yourself and use it.


Uncaught TypeError: styled.img is not a function

In the version  1.3.5 my code works.
In the new version I get this error in the jsx files
file.jsx:46 Uncaught TypeError: styled.img is not a function
file.jsx:46 Uncaught TypeError: styled.div is not a function
thanks.

what is under file.jsx:46?

Dashboard.jsx

https://gitlab.com/santiagandre/yupay-app/-/tree/master/src/admin/components
i have a some custom components, in FileInputPreview on line 47 mark that error.

please try add on the top:
import styled from 'styled-components';

and let me know if that helped

I added it and it didn't work but I realized that I was using version 1.3, I changed it to 1.4 and it already worked, thank you very much


Can't set in and out points or put a cut on the timeline

So I'm having the issue where if I set a in and out point it will just set it to the start of the clip and if I put a cut on the timeline it will reset the cut clip to the start of the clip. Is there anything I'm doing wrong or is it a bug that can be fixed?
Thank you in advance!
Love the plugin !

It sounds like you're editing the "insides" of a Synchronised Clip or Multicam Clip?
You shouldn't "cut" the Generator that lives inside the Synchronised Clip or Multicam Clip - however you are able to adjust the RAW parameters that exist on the Generator as an Effect.
You should insert the Synchronised Clip or Multicam Clip onto a Project/Timeline - and edit there.
See: https://brawtoolbox.io/installation/


fix: using an existing issuance/label on a project deletes it from the project it was created on

DEPRECATED
Project should only create labels/issuances

@MichaelTaylor3D this issue can be deleted. The project should only create labels/issuances


migrate export to 2x and 3x from deprecated

Type of Change
others
Description
The torch2onnx export API is used by optimum-intel, so move it from deprecated.

@xin3he target v2.6 release?

@xin3he target v2.6 release?

Yes


Version problem

Hello，author：
Now，I need validation fabric-v1.2。but，This app doesn't seem to meet my requirements。When will this version of the application be released?
thanks！

@HenryGits , Now Caliper is able to support fabric-v1.1 , 1.2 and 1.3+. You can fetch a new version of Caliper to do some tests. This issue is closing.


[SPARK-16190][CORE] Fix "Duplicate worker" error during failover

During the worker registration after Spark failover the following race condition may occur:
(1) Master A fails and Worker attempts to reconnect to all masters
(2) Master B takes over and notifies Worker
(3) Worker responds by registering with Master B
(4) Meanwhile, Worker's previous reconnection attempt reaches Master B, causing the same Worker to register with Master B twice
This race condition was already once fixed in SPARK-4592, but the very first connection retry was forgotten: right after the worker was losing connection to the master it was first trying to connect to both masters (usually this first request times out, because in general failover takes 10-15 seconds and many people almost never notice this problem). After the first try worker was continuing to try to reregister only with the last known master.

What changes were proposed in this pull request?

If there was an active master before, never try to reregister with both masters.
reregisterWithMaster function is smart to understand if it is a failover scenario and worker was already registered with some
master or if it is the very first try and registration should be tried with both masters.
Why are the changes needed?

If failover happens relatively fast, then Duplicate worker ID error may happen and worker gets killed.
Does this PR introduce any user-facing change?

No
How was this patch tested?

This bug has a lot of concurrency and timing issues, but can be stably reproduced with the following steps:

To make failover really fast changes from https://github.com/apache/spark/pull/26598 can be used
Start several contexts
Without the patch during failover some workers will always get lost

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #128895 has started for PR 29809 at commit 3f3f31f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/33517/
Test PASSed.

Test build #128895 has finished for PR 29809 at commit 3f3f31f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128895/
Test PASSed.

@dongjoon-hyun I don't see a way to write a test reproducing the issue itself (as there are a lot of timing and concurrency problems involved). Yet, I assume it should be possible to write a test that checks the RPC messages sent from a worker to the master and that worker reregisters only with one master in case of failover and with both masters in case of initial registration.
Unfortunately, I didn't find any similar tests checking message exchanges between the worker and the master, so I may need a bit of time to figure it out 🙂

The duplicate registration should not fail the Worker after SPARK-23191?

@Ngone51, you are right. We are using Spark 2.4.4 and there the issue is still present.
If the duplicate registration is not a problem in Spark 3.0.0, should I close this PR or is there still any sense to proceed?

I think so. I guess you could backport the fix of SPARK-23191.

Thank you, @Ngone51 and @valan4ik .


[5.4] Fix persisting user and request info to session table

Fixes #17581
Problem
The payload is correctly passed by reference in the addUserInformation and addRequestInformation methods, however, for the results of these two methods to be correctly merged with the payload, the payload must be passed by reference in the tap function of the getDefaultPayload method.
Before
Starting with a fresh laravel app, run php artisan session:table then php artisan make:auth.
Run php artisan migrate
Then log in and check your sessions table in the database.
The user id, ip address and user agent would be null.
After
Repeat the above steps and all columns will be populated correctly in db.

Thanks


[BUG]OpenSearch - http asking for tls keys.

Describe the bug
Documentation seems incomplete, quite a few things are missing, like why vm.max_map_count causes issues.
Almost all of the options in the documentation are left for the user to guess how to set them up, or how they are formatted.
To Reproduce
Steps to reproduce the behavior:

clone this repository
navigate to opensearch charts.
modify these values in values.yaml

sysctl:
  enabled: false

## Set optimal sysctl's through privileged initContainer.
sysctlInit:
  enabled: false

uncomment and modify ingress

ingress:
  enabled: true
  # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  ingressClassName: alb

  annotations:
    alb.ingress.kubernetes.io/ip-address-type: dualstack
    alb.ingress.kubernetes.io/target-type: instance
    alb.ingress.kubernetes.io/scheme: internal
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 9200}]'
  path: /
  hosts:
    - opensearch-data.local

add toleration for your node-group

    - key: "opensearch"
      operator: "Exists"
      effect: "NoSchedule"

add the initContainer

  - name: sysctl
    image: docker.io/bitnami/bitnami-shell:10-debian-10-r199
    imagePullPolicy: "IfNotPresent"
    command:
      - /bin/bash
      - -ec
      - |
        CURRENT=`sysctl -n vm.max_map_count`;
        DESIRED="262144";
        if [ "$DESIRED" -gt "$CURRENT" ]; then
            sysctl -w vm.max_map_count=262144;
        fi;
        CURRENT=`sysctl -n fs.file-max`;
        DESIRED="65536";
        if [ "$DESIRED" -gt "$CURRENT" ]; then
            sysctl -w fs.file-max=65536;
        fi;
    securityContext:
      runAsUser: 0
      privileged: true

set protocol to http instead of https

protocol: http
httpPort: 9200
transportPort: 9300
metricsPort: 9600
httpHostPort: ""
transportHostPort: ""

Expected behavior
opensearch starts and runs with http and is only internal to the vpc
Chart Name
opensearch
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):

Helm Version: [e.g. 3.12.0]
Kubernetes Version: [v1.27.1-eks-2f008fe]

Additional context
the error that is given:
uncaught exception in thread [main]
java.lang.IllegalStateException: failed to load plugin class [org.opensearch.security.OpenSearchSecurityPlugin]
Likely root cause: OpenSearchException[Unable to read /usr/share/opensearch/config/esnode.pem (/usr/share/opensearch/config/esnode.pem). Please make sure this files exists and is readable regarding to permissions. Property: plugins.security.ssl.transport.pemcert_filepath]
	at org.opensearch.security.ssl.DefaultSecurityKeyStore.checkPath(DefaultSecurityKeyStore.java:983)
	at org.opensearch.security.ssl.DefaultSecurityKeyStore.resolve(DefaultSecurityKeyStore.java:235)
	at org.opensearch.security.ssl.DefaultSecurityKeyStore.initTransportSSLConfig(DefaultSecurityKeyStore.java:394)
	at org.opensearch.security.ssl.DefaultSecurityKeyStore.initSSLConfig(DefaultSecurityKeyStore.java:256)
	at org.opensearch.security.ssl.DefaultSecurityKeyStore.<init>(DefaultSecurityKeyStore.java:177)
	at org.opensearch.security.ssl.OpenSearchSecuritySSLPlugin.<init>(OpenSearchSecuritySSLPlugin.java:218)
	at org.opensearch.security.OpenSearchSecurityPlugin.<init>(OpenSearchSecurityPlugin.java:266)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at org.opensearch.plugins.PluginsService.loadPlugin(PluginsService.java:782)
	at org.opensearch.plugins.PluginsService.loadBundle(PluginsService.java:731)
	at org.opensearch.plugins.PluginsService.loadBundles(PluginsService.java:533)
	at org.opensearch.plugins.PluginsService.<init>(PluginsService.java:195)
	at org.opensearch.node.Node.<init>(Node.java:454)
	at org.opensearch.node.Node.<init>(Node.java:381)
	at org.opensearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:242)
	at org.opensearch.bootstrap.Bootstrap.setup(Bootstrap.java:242)
	at org.opensearch.bootstrap.Bootstrap.init(Bootstrap.java:404)
	at org.opensearch.bootstrap.OpenSearch.init(OpenSearch.java:180)
	at org.opensearch.bootstrap.OpenSearch.execute(OpenSearch.java:171)
	at org.opensearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:104)
	at org.opensearch.cli.Command.mainWithoutErrorHandling(Command.java:138)
	at org.opensearch.cli.Command.main(Command.java:101)
	at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:137)
	at org.opensearch.bootstrap.OpenSearch.main(OpenSearch.java:103)

I see the error and that it's asking for a pem but there's two things.

I don't know how to add my certificates, the documentation seems to be missing this bit of information.
I want http because regardless it's only accessible through a vpn and won't be public facing, so to me, the error seems irrelevant.

Hi @Greeley ,
Here is some documentation on how to add TLS certificates https://opensearch.org/docs/latest/security/configuration/tls/
You can disable security plugin as mentioned here https://opensearch.org/docs/latest/security/configuration/disable/
@prudhvigodithi Can add more from helm side of things!
Thanks!

I am facing the same issue, I want to disable HTTPS and keep the authentication (I am using this chart for local development and local testing). I can't find that information anywhere.

@prudhvigodithi Here is my config but i still cant access with http, only https works
    plugins:
      security:
        ssl:
          transport:
            pemcert_filepath: certs/tls.crt
            pemkey_filepath: certs/tls.key
            pemtrustedcas_filepath: certs/tls.crt
            enforce_hostname_verification: false
          http:
            enabled: false
            pemcert_filepath: certs/tls.crt
            pemkey_filepath: certs/tls.key
            pemtrustedcas_filepath: certs/tls.crt

@prudhvigodithi  I am also facing the same issue.
When using Opensearch 2.13.0 with
plugins.security.http.enabled: false

The application still won't accept http requests.
Logs :
[o.o.s.s.DefaultSecurityKeyStore] [opensearch-cluster-manager-0] Enabled TLS protocols for HTTP layer

When using any version < 2.12.1 this does not happen.


Fix bug when using HDUs with underscore in name with ASDF-in-FITS

The FITS standard actually says that EXTNAME can contain any printable ASCII character, so to be completely correct the regex should probably accommodate that range instead.

Coverage remained the same at 93.868% when pulling 6ce3739f2d2fdd48fe9e535537ff94c071300441 on drdavella:fits-allow-underscore into 41878f119cb2b10cec2497734d28428f260e087f on spacetelescope:master.


AbortSignal listeners should be attached with { once: true} to avoid memory leaks

According to the NodeJS documentation:

Any event listeners attached to the AbortSignal should use the { once: true } option (or, if using the EventEmitter APIs to attach a listener, use the once() method) to ensure that the event listener is removed as soon as the 'abort' event is handled. Failure to do so may result in memory leaks.

A recent change to @smithy/node-http-handler has introduced event listeners being added to AbortSignals without { once: true }.
Even though I've not found any evidence of memory leaks, we should probably follow the advice in the NodeJS documentation.

I've also raised an issue for this here: https://github.com/smithy-lang/smithy-typescript/issues/1318

I've also raised an issue for this here: #1318

This is a slightly different issue @nicholasgriffintn (but I was inspired by your issue!).

If you expect a new AbortSignal to be passed on every request, you should use { once: true } as per the NodeJS docs, but do not have to remove the event listener once the request is completed.
If you expect re-use of AbortSignal objects across requests, you should use { once: true } as per the NodeJS docs, and must also remove event listeners once requests have completed.

As you can see, both situations require the change for this issue (and the associated PR), but more work is needed if AbortSignals are to be re-used across multiple requests.
Currently it seems that the expected pattern in this library is that you pass a different AbortSignal on each request (which is a perfectly valid API, though it's not documented anywhere that I've found in the @smithy docs). I've checked and AbortSignal objects are garbage collected once the reference to them is removed, regardless of whether they have event listeners attached so you shouldn't need to worry about memory leaks unless you're hanging on to references to the AbortSignal.
I actually think re-using AbortSignal objects across multiple requests can be problematic since you lose fine-grained control over the cancellation (since requests can overlap / happen in parallel).

Yeah I was pretty sure we'd need both.
That all makes sense, for our use case, we're aborting globally so do have a reference used across multiple requests, which used to work fine and is also something I do with libraries like undici.
I think your pr may be a solution to some of this problem for sure.
In unici, they are also returning a callback to remove the listener, that seems to be all that needs to be done to make abort controllers work globally.

Released in
<EMAIL_ADDRESS><EMAIL_ADDRESS>For AWS SDK and other client consumers, you can remove your lockfile for a fresh install that should bring these in transitively.

pass a different AbortSignal on each request

We assumed this was the MO, but that was wrong given the issue demonstrated here. Thanks for reporting and contributing the fix.


🐛 Bug Report: Error: connect ECONNREFUSED after upgrade to v0.17.1

👟 Reproduction steps
After upgrading to the latest docker image (v0.17.1) Pingvin Share doesn't start anymore.
docker-compose.yml
version: '2'
services:
  pingvin-share:
    image: stonith404/pingvin-share
    environment:
      - TZ=${TZ}
    networks:
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ping.entrypoints=websecure"
      - "traefik.http.routers.ping.rule=Host(`**REDACTED**`)"
      - "traefik.http.routers.ping.service=ping"
      - "traefik.http.routers.ping.tls.certresolver=default"
      - "traefik.http.routers.ping.tls.options=cloudflare@file"
      - "traefik.http.services.ping.loadbalancer.server.port=3000"
      - "traefik.http.routers.ping.middlewares=coudflare-whitelist@file,waf@docker"
    volumes:
      - "./data:/opt/app/backend/data"
      - "./data/images:/opt/app/frontend/public/img"
    restart: "${RESTART:-unless-stopped}"

networks:
  web:
    name: traefik_web
    external: true

sven@erebor:/opt/ping$ uname -a
Linux erebor 5.15.0-78-generic #85-Ubuntu SMP Fri Jul 7 15:25:09 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
sven@erebor:/opt/ping$ free -h
               total        used        free      shared  buff/cache   available
Mem:            31Gi       6,7Gi       1,3Gi       120Mi        23Gi        24Gi
Swap:          2,0Gi          0B       2,0Gi
sven@erebor:/opt/ping$ docker version
Client: Docker Engine - Community
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Fri Jul 21 20:35:18 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.6
  Git commit:       a61e2b4
  Built:            Fri Jul 21 20:35:18 2023
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
sven@erebor:/opt/ping$ docker compose version
Docker Compose version v2.20.2
sven@erebor:/opt/ping$ docker compose up -d

👍 Expected behavior
Pingvin Share should accept connections.
👎 Actual Behavior
I get an "internal server error" (500).
sven@erebor:/opt/ping$ docker compose ps
NAME                   IMAGE                      COMMAND                  SERVICE             CREATED             STATUS                     PORTS
ping-pingvin-share-1   stonith404/pingvin-share   "docker-entrypoint.s…"   pingvin-share       6 minutes ago       Up 6 minutes (unhealthy)   3000/tcp
sven@erebor:/opt/ping$ curl -f http://<IP_ADDRESS>:3000
curl: (22) The requested URL returned error: 500
sven@erebor:/opt/ping$ docker compose logs
ping-pingvin-share-1  |
ping-pingvin-share-1  |
ping-pingvin-share-1  | ><EMAIL_ADDRESS>prod
ping-pingvin-share-1  | > prisma migrate deploy && prisma db seed && node dist/src/main
ping-pingvin-share-1  |
ping-pingvin-share-1  |
ping-pingvin-share-1  | Listening on port 3000 url: http://911b3c8d456b:3000
ping-pingvin-share-1  | Environment variables loaded from prisma/.env
ping-pingvin-share-1  | Prisma schema loaded from prisma/schema.prisma
ping-pingvin-share-1  | Datasource "db": SQLite database "pingvin-share.db" at "file:../data/pingvin-share.db"
ping-pingvin-share-1  |
ping-pingvin-share-1  |
ping-pingvin-share-1  | 16 migrations found in prisma/migrations
ping-pingvin-share-1  |
ping-pingvin-share-1  |
ping-pingvin-share-1  |
ping-pingvin-share-1  |
ping-pingvin-share-1  | No pending migrations to apply.
ping-pingvin-share-1  | Environment variables loaded from prisma/.env
ping-pingvin-share-1  | Running seed command `ts-node prisma/seed/config.seed.ts` ...
ping-pingvin-share-1  |
ping-pingvin-share-1  |
ping-pingvin-share-1  | 🌱  The seed command has been executed.
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [NestFactory] Starting Nest application...
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] PrismaModule dependencies initialized +30ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] JwtModule dependencies initialized +3ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] ThrottlerModule dependencies initialized +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] DiscoveryModule dependencies initialized +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] AppModule dependencies initialized +7ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] ScheduleModule dependencies initialized +0ms
ping-pingvin-share-1  | Connected to the database
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] EmailModule dependencies initialized +14ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] ClamScanModule dependencies initialized +2ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] ConfigModule dependencies initialized +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] JobsModule dependencies initialized +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] FileModule dependencies initialized +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] UserModule dependencies initialized +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] ReverseShareModule dependencies initialized +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] AuthModule dependencies initialized +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [InstanceLoader] ShareModule dependencies initialized +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RoutesResolver] AuthController {/api/auth}: +15ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/signUp, POST} route +3ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/signIn, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/signIn/totp, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/resetPassword/:email, POST} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/resetPassword, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/password, PATCH} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/token, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/signOut, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/totp/enable, POST} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/totp/verify, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/auth/totp/disable, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RoutesResolver] ShareController {/api/shares}: +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares, GET} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:id, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:id/metaData, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:id, DELETE} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:id/complete, POST} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/isShareIdAvailable/:id, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:id/token, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RoutesResolver] FileController {/api/shares/:shareId/files}: +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:shareId/files, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:shareId/files/zip, GET} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/shares/:shareId/files/:fileId, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RoutesResolver] ReverseShareController {/api/reverseShares}: +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/reverseShares, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/reverseShares/:reverseShareToken, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/reverseShares, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/reverseShares/:reverseShareId, DELETE} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RoutesResolver] ConfigController {/api/configs}: +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/configs, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/configs/admin/:category, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/configs/admin, PATCH} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/configs/admin/testEmail, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/configs/admin/logo, POST} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RoutesResolver] UserController {/api/users}: +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/users/me, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/users/me, PATCH} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/users/me, DELETE} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/users, GET} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/users, POST} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/users/:id, PATCH} route +1ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [RouterExplorer] Mapped {/api/users/:id, DELETE} route +0ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [NestApplication] Nest application successfully started +14ms
ping-pingvin-share-1  | [Nest] 175  - 07/31/2023, 9:08:57 AM     LOG [ClamScanService] ClamAV is not active
ping-pingvin-share-1  | Error: connect ECONNREFUSED fc10:3285:2315:1654::e:40987
ping-pingvin-share-1  |     at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1532:16) {
ping-pingvin-share-1  |   errno: -111,
ping-pingvin-share-1  |   code: 'ECONNREFUSED',
ping-pingvin-share-1  |   syscall: 'connect',
ping-pingvin-share-1  |   address: 'fc10:3285:2315:1654::e',
ping-pingvin-share-1  |   port: 40987
ping-pingvin-share-1  | }

The error message is repeated.
🌐 Browser
Firefox 115.0.3 (64-Bit)

That's bad :( Thanks for your report, I'll look into it ASAP. For the moment please use v0.17.0.

It's strange, did you configure something that the backend runs on fc10:3285:2315:1654::e:40987? Normally it should run on localhost:8080

If not, could you run docker compose exec pingvin-share curl localhost:8080, it should return {"message":"Cannot GET /","error":"Not Found","statusCode":404}
If this works please try to add the env variable API_URL=http://localhost:8080 to the container and try again.

I just downgraded to stonith404/pingvin-share:v0.17.0 and it works fine.
Yes, the port number is really weird. I added API_URL=http://localhost:8080...
sven@erebor:/opt/ping$ docker compose exec pingvin-share bash -c 'echo $API_URL'.
http://localhost:8080

... but only the port number changes:
ping-pingvin-share-1 | Error: connect ECONNREFUSED fc10:3285:2315:1654::e:46763
ping-pingvin-share-1 | on TCPConnectWrap.afterConnect [as oncomplete] (node:net:1532:16) {
ping-pingvin-share-1 | errno: -111,
ping-pingvin-share-1 | code: 'ECONNREFUSED',
ping-pingvin-share-1 | syscall: 'connect',
ping-pingvin-share-1 | address: 'fc10:3285:2315:1654::e',
ping-pingvin-share-1 | port: 46763
ping-pingvin-share-1 | }

Perhaps a problem with IPv6 enabled?

Maybe? Could you try to disable it temporary, or is that difficult?
It's strange that this issue only occurs on v0.17.1 because I only updated translations and upgraded the dependencies. It must be an issue with a dependency but the strange thing is that I can't reproduce it.

I don't want to change the configuration of my production machine, but I can reproduce the problem on my test machine with the following configuration.
sven@gondor:/opt/ping$ cat /etc/docker/daemon.json
{
        "ipv6":true,
        "fixed-cidr-v6":"fd00:dead:beef:c0::/80",
        "experimental":true,
        "ip6tables":true,
        "registry-mirrors": ["https://mirror.gcr.io"]
}
sven@gondor:/opt/ping$ cat docker-compose.yml
version: '2'
services:
  pingvin-share:
    image: stonith404/pingvin-share:v0.17.1
    environment:
      - TZ=Europe/Berlin
      - API_URL=http://localhost:8080
    networks:
      - web
    volumes:
      - "./data:/opt/app/backend/data"
      - "./data/images:/opt/app/frontend/public/img"
    restart: unless-stopped

networks:
  web:
    driver: bridge
    enable_ipv6: true
    ipam:
      driver: default
      config:
        - subnet: <IP_ADDRESS>/24
        - subnet: fc10:3285:2315:1654::/64
sven@gondor:/opt/ping$ docker compose logs
[...]
ping-pingvin-share-1  | Error: connect ECONNREFUSED fc10:3285:2315:1654::2:41395
ping-pingvin-share-1  |     at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1532:16) {
ping-pingvin-share-1  |   errno: -111,
ping-pingvin-share-1  |   code: 'ECONNREFUSED',
ping-pingvin-share-1  |   syscall: 'connect',
ping-pingvin-share-1  |   address: 'fc10:3285:2315:1654::2',
ping-pingvin-share-1  |   port: 41395
ping-pingvin-share-1  | }
sven@gondor:/opt/ping$ docker network inspect ping_web
[
    {
        "Name": "ping_web",
        "Id": "d5c3f6896c3b530db20deceba367255ac2855934c21ba808b92956649a141675",
        "Created": "2023-07-31T09:59:36.72278654Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": true,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "<IP_ADDRESS>/24"
                },
                {
                    "Subnet": "fc10:3285:2315:1654::/64"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "d0378a901df79d7e9aa3162d7947c26156101d72cbe8b06c64912d54e6a23804": {
                "Name": "ping-pingvin-share-1",
                "EndpointID": "090542fafc681681f6fab029e286fbb9e40c6852d5b867cc98362565e8ec2746",
                "MacAddress": "02:42:0a:00:01:02",
                "IPv4Address": "<IP_ADDRESS>/24",
                "IPv6Address": "fc10:3285:2315:1654::2/64"
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "web",
            "com.docker.compose.project": "ping",
            "com.docker.compose.version": "2.20.2"
        }
    }
]```

Okay I think I've found the issue. I upgraded NextJS to the latest version and I've found this issue: https://github.com/vercel/next.js/issues/52150. I didn't really dig into why this issue  occurs but it seems like it's because ipv6.
A solution that is suggested there is that we should replace localhost with <IP_ADDRESS>. Can you try to set API_URL to http://<IP_ADDRESS>:8080?

A solution that is suggested there is that we should replace localhost with <IP_ADDRESS>. Can you try to set API_URL to http://<IP_ADDRESS>:8080?

Unfortunately, this does not fix the error for me - neither on the test machine nor on the production machine. No idea.

Can you try the image pingvin-share:development? I was able to reproduce it locally and I made a fix. Please let me know if it works with the image pingvin-share:development.

Yes, pingvin-share:development also works with IPv6 enabled. Thanks for the quick fix! 👍

No problem, thanks for your help! You can now use the latest tag again. The patch release should be pushed in a hour.


Component "default" in record with path "/(route name)" is not a valid component. Received "undefined"

Hello guys thanks for this package
i'm trying to use on this way in my main.ts
import { createApp } from 'vue'
import App from './App.vue'

import { createRouter, createWebHistory } from 'vue-router'
import { setupLayouts } from 'virtual:generated-layouts'
import generatedRoutes from 'virtual:generated-pages'

import store from './store'
import Oruga from '@oruga-ui/oruga-next'
import Maska from 'maska'

import 'virtual:windi.css'
import<EMAIL_ADDRESS>import './assets/styles/global.sass'

const routes = setupLayouts(generatedRoutes)

const router = createRouter({
	history: createWebHistory(),
	routes
})

const app = createApp(App)

app.use(store)
app.use(router)
app.use(Oruga)
app.use(Maska)
app.provide('$oruga', app._context.provides.oruga)
app.mount('#app')

but im getting this error

im using
"vite": "^2.7.4",
"vite-plugin-pages": "^0.19.7",
"vite-plugin-vue-layouts": "^0.5.0",

i already using on the same way in a project that does not use typescript and works.
console.log(routes)

im sorry
its related o vite-plugin-vue-layouts
was missing layouts/default.vue


build(windows):Add msvs parameter to ocio_deps.bat for ocio.bat argument parity

Might be, thing is nowadays we would be using vswhere either way.
Closing in favor to #1980.


Add space option to apps:index

This adds a hidden option to list apps in a given space.
/cc @dickeyxxx @tim-lang

Looks like this wouldn't cope well with specifying an org and a space at the same time presently, thought I would put that on the radar, but doesn't seem like a blocker. Also, should there be a short-arg?

Looks like this wouldn't cope well with specifying an org and a space at the same time presently

Since spaces are owned by orgs, there should be no need to specify both options. I considered doing the space filtering after the API calls so that it work with the orgs option; however, the v2 org apps endpoint does not include the space attribute and adding it gets pretty messy with variants without much benefit. Once space is added into mainline in API, this can be simplified and support both options. However, since it would never make sense to specify both options (unless the space is actually owned by the org), it might be better to explicitly block it. What do you think?

should there be a short-arg?

I didn't add one since there isn't one for apps:create (where -s would conflict with --stack). I also didn't really want to add a short args for a hidden option.

Yeah, I didn't think specifying both really made sense, but I wasn't sure. Might be good to explicitly error there.
Fair enough, it just stuck out as being odd/different since the others all appeared to have short versions.

Added explicit error in https://github.com/heroku/heroku/pull/1662


Sled tc dispatcher

Finishes https://github.com/bpfman/bpfman/issues/860 depends on the changes in #901  (I'll leave as a draft until that work merges)

Done!


add_executable called with incorrect number of arguments in CMakeLists.txt

Thanks for reading my issue during installation.
I found the Boost Gil tool recently and tried to use it (to escape from the OpenCV tool ;) ).
 -DCMAKE_BUILD_TYPE=Release

Actual behavior
but I face these errors:
output
~/Downloads/gil/build$ cmake .. -DCMAKE_BUILD_TYPE=Release
-- Boost.GIL: Require C++11
-- Boost.GIL: Turning on detailed compiler warnings
-- Boost.GIL: Looking for Boost from current source tree and libraries from stage.
-- Boost.GIL: Disable stage look-up with passing -DBOOST_ROOT=/path/to/your/boost.
-- Boost 1.72.0 found.
-- Found Boost components:
   filesystem
-- Boost.GIL: Using Boost_INCLUDE_DIRS=/usr/include
-- Boost.GIL: Using Boost_LIBRARY_DIRS=
-- Conan: Automatic detection of conan settings from cmake
-- Conan: Settings= -s;build_type=Release;-s;compiler=gcc;-s;compiler.version=7;-s;compiler.libcxx=libstdc++11
-- Conan: checking conan executable
-- Conan: Found program /home/ccho/anaconda3/bin/conan
-- Conan: Version found Conan version 1.45.0

-- Conan executing: /home/ccho/anaconda3/bin/conan install /home/ccho/Downloads/gil/conanfile.txt -s build_type=Release -s compiler=gcc -s compiler.version=7 -s compiler.libcxx=libstdc++11 -g=cmake --build=missing
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=7
os=Linux
os_build=Linux
[options]
[build_requires]
[env]
.
.
.
-- Boost.GIL: Configuring tests in test/extension/io
-- Boost.GIL: Configuring self-contained header tests for all headers
CMake Error at test/header/CMakeLists.txt:63 (add_executable):
  add_executable called with incorrect number of arguments

CMake Error at test/header/CMakeLists.txt:65 (target_sources):
  Cannot specify sources for target "test_header_concepts-basic" which is not
  built by this project.

CMake Error at test/header/CMakeLists.txt:71 (target_link_libraries):
  Cannot specify link libraries for target "test_header_concepts-basic" which
  is not built by this project.

-- Configuring incomplete, errors occurred!
See also "/home/ccho/Downloads/gil/build/CMakeFiles/CMakeOutput.log".

Expected  behavior
Build Success
C++ Minimal Working Example
None because this is from installation.
Environment

Compiler version: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Build settings:

option(BOOST_GIL_BUILD_EXAMPLES "Build examples" ON)
option(BOOST_GIL_BUILD_HEADER_TESTS "Enable self-contained header tests" ON)
option(BOOST_GIL_ENABLE_EXT_DYNAMIC_IMAGE "Enable Dynamic Image extension, test\
s and examples" ON)
option(BOOST_GIL_ENABLE_EXT_IO "Enable IO extension, tests and examples (requir\
e libjpeg, libpng, libtiff)" ON)
option(BOOST_GIL_ENABLE_EXT_NUMERIC "Enable Numeric extension, tests and exampl\
es" ON)
option(BOOST_GIL_ENABLE_EXT_TOOLBOX "Enable Toolbox extension, tests and exampl\
es" ON)
option(BOOST_GIL_USE_CONAN "Use Conan to install dependencies" ON)
option(BOOST_GIL_USE_CLANG_TIDY "Set CMAKE_CXX_CLANG_TIDY property on targets t\
o enable clang-tidy linting" ON)
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard version to use (default is\
 11)")

Version (Git ref or <boost/version.hpp>): Boost 1.72.0 (I actually installed 1.78 but 1.72.0 showing from cmake ..)
OS: Ubuntu 18.04

It looks like I miss something. Please let me know, thanks.

So I attempted to build Gil

From the README.md: "The Boost Generic Image Library (GIL) is a C++11 header-only library",
As the README.md points out, CMake is dedicated for contributors only. If you wish to contribute, you need to read the warning(s) and instructions in the CONTRIBUTING.md.

@cloudlakecho https://www.boost.org/doc/libs/1_78_0/more/getting_started/windows.html#header-only-libraries


nixos/release-notes: fix slaptest command for openldap section

Motivation for this change
When running - as suggested - slaptest -f slapd.conf $TMPDIR I get the
following result:
[root@ldap:/tmp/tmp.De46ABIbFf]# slaptest -f /nix/store/lks3ihydj40ff6yqvz0k33ycrc9vbyry-slapd.conf $TMPDIR
usage: slaptest [-v] [-d debuglevel] [-f configfile] [-F configdir] [-o <name>[=<value>]] [-n databasenumber] [-u] [-Q]

[root@ldap:/tmp/tmp.De46ABIbFf]# echo $?
1

Adding a -F option fixes the issue.
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)
[ ] 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/)
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 124530 at b5a12b4b run on x86_64-linux 1

1 package failed to build:

nixos-install-tools

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

Realized a bit too late that I have to set this label before merging. Manually backported as 95f6c0b7e06ae41cbf5f1c1d754953d96a5b3072.

@Ma27 You can find the action and re-run it manually. It may still not be working very well though.

Sorry for the noise from the bot. I think this was an instance of this same bug: https://github.com/rmcgibbo/r-rmcgibbo/issues/7

Realized a bit too late that I have to set this label before merging. Manually backported as 95f6c0b.

I don't think it works right now anyway due to some permission issue.


Update dependencies

Updating lodash and tiny-lr to latest version for fixing auditing dependencies.

thanks for the PR


OPA Polishing

Constraint (Create)

[x]  Pick the template first before seeing the tabs

Kinds:

[x]  Styling The header for the inputs don't look like header

[x]  Style of the boxes should be consistent ⇒ Make a component "Group list" (cody)

Add Kind Buttons:

[x] Outer "Kind" ⇒ called "Rule"
[x]  Change the tab to be called "Rule"

Parameters:

[x]  Show yaml all the time and remove the add parameter option

Enforcement:

[x]  Move the radio buttons out of the tabs to the section above and add a description

Namespace list:

[x]     Multi-select on two separate rows for Namespaces and Excluded Namespaces
[x]     Any rules needed on filtering the namespaces (confirm with Prachi)
[x]     Add description on what this does if needed

Selectors: to be removed (confirm with Prachi)

[x]  Label Selector should be moved to "Rules" tab
[x]  Namespace selector should be moved to "Namespace" tab

Constraints (Details):

[x] Only shows violations and drop the bottom tabs
[x] Show the "Enforcement action" since it will be moved out
[x] Name in the violations should be linked to the resource to see it
[ ] (nice to have) Show what is list of matched kinds & namespaces

Overview (list of all violations):

[x]  Name should be linked to resources
[x]  constraints, templates, violations (color numbers)

Templates:

[ ] Do we need to change the yaml to forms? (Confirmed with Bill that we just need yaml, but can we get the Rego syntax validator?)

Installing:

[x] Need a simple form for fields that are useful and don't show the yaml (Confirm with Prachi)

Create Kind:

[ ] Redesign inside of Kind block so it has headers & the Label/fields are displayed properly (spacing as well adding headers) - (Cody & Lauren)

[ ] If adding a description to the top of Parameters/Namespace, can we put them into an info boxes?

[ ] If moving Label & Namespace selector to the two other tabs, can we have Lauren help to give a quick design for that?

[ ] Operator field - It's too small & The text does not line up with the V.

If adding a description to the top of Parameters/Namespace, can we put them into an info boxes?
I added descriptions as tooltips. We can move the tooltips to info boxes but I'll let lauren comment in the PR one way or another.

Do we need to change the yaml to forms? (Confirmed with Bill that we just need yaml, but can we get the Rego syntax validator?)

I opened a separate issue for this https://github.com/rancher/dashboard/issues/1860. I think this is going to be a sizable amount of work as I haven't found a rego or datalog validator.

(nice to have) Show what is list of matched kinds & namespaces

We don't appear to have the info readily available to make use of an existing solution. So I didn't implement this.

Verified fixed


Support access log timestamp with milliseconds

What does this PR do?

Motivation
Fixes #9317
More

[ ] Added/updated tests
[ ] Added/updated documentation

Additional Notes

In case it's useful; if you want to use a default with nanosecond precision,  in containerd and docker, we define a RFC3339NanoFixed const, to use nanosecond-precision, but to make sure timestamps always have the same length (to prevent trailing 0 to be stripped);
https://github.com/containerd/containerd/blob/3d7a93fed8f3153783ba1490f08b9368f8cf9de0/cmd/containerd/command/main.go#L354-L375
func setLogFormat(config *srvconfig.Config) error {
	f := config.Debug.Format
	if f == "" {
		f = log.TextFormat
	}

	switch f {
	case log.TextFormat:
		logrus.SetFormatter(&logrus.TextFormatter{
			TimestampFormat: log.RFC3339NanoFixed,
			FullTimestamp:   true,
		})
	case log.JSONFormat:
		logrus.SetFormatter(&logrus.JSONFormatter{
			TimestampFormat: log.RFC3339NanoFixed,
		})
	default:
		return fmt.Errorf("unknown log format: %s", f)
	}

	return nil
}

const itself is here; https://github.com/containerd/containerd/blob/22beecb7d9bd06e743be9da7e519976417755466/log/context.go#L41-L43
// RFC3339NanoFixed is time.RFC3339Nano with nanoseconds padded using zeros to
// ensure the formatted time is always the same number of characters.
RFC3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00"

Hey @V-R-Dighe and @thaJeztah, thanks so much for this PR.  In the end, we have decided to revamp the whole logging system as we are switching from Logrus to zerolog.
To learn more about this, you can check out this issue and associated PR.


Dashboard 500 Server Error

Package version (if known): RDM 9.1
Describe the bug
User attempted to publish a restricted metadata-only record (JSON attached), navigates to her dashboard, and receives a HTTP 500 server error on the '.../api/user/records' call. The 'Oops! Something went wrong while fetching results.' message is displayed. Additionally the new record does not appear for any user when using the search bar, though searches complete successfully and without producing errors.
Steps to Reproduce

Add metadata-only restricted record.
Navigate to the dashboard.
Error message and HTTP 500 api/user/records error encountered.

...

rdm_rec_json.txt

Important
This happens with custom resource types, in particular:
- id: dataset-datastore
  icon: table
  props:
    csl: dataset
    datacite_general: Dataset
    datacite_type: ''
    schema.org: https://schema.org/Dataset
    subtype: datastore
    type: dataset
  title:
    en: Data Store
  tags:
    - depositable
    - linkable

Needs to be added to resource_types.yaml before running setup/fixtures.

This error is caused due to missconfiguration when adding resource types. The docs were improved in this PR to explain how to correctly group resource types.
However, we should improve some aspects, here are the points that should be considered to improve:

Improve error handling. When failing the error shuld be more explicit about what's going on, it should raise an exception reporting that no label could be found for the vocabulary.
Verify creation of resource types: When creating the resource type vocabulary it should validate all the implicits relations, if a subtype is defined it must assure that the parent resource type is created as well and that the type/subtype value is the same as the id. Otherwise it should fail to initialise them and report the error.


Added LowerBound and UpperBound implementations for IList

It would be better to use TestCase attribute int tests instead of multiple asserts


Daily long GPU tests failing due to (m_atomicLog.size() > 0) assertion when running random tester

Describe the bug
The Daily Long GPU Tests are failing: https://github.com/gem5/gem5/actions/runs/6034233301/job/16377497140.
An assertion is being triggered when running the "configs/example/ruby_gpu_random_test.py" script with VEGA_X86/gem5:
Assertion failed: (m_atomicLog.size() > 0), function popAtomicLogEntryFront, file DataBlock.cc, line 141.
I have managed to reproduce this bug locally.
Affects version
The bug exists, at the time of writing, on the develop branch of gem5.
Known to not affect revision  c156df6 due to success of Daily tests running on that revision
First observed in Daily Test failure at revision 0e323bc4.
Reproduced locally at 4de4e22.
Possible breaking patches
Using git log --oneline c156df6..0e323bc4 , I can determine the following PRs are the only candidates PRs which could break these tests:

0e323bc409 mem: Atomic ops to same address (#200)
fceb7e05a3 util-docker: Add GitHub Action to create Docker Images (#236)

It seems very likely #200 is causing this.
To Reproduce
# Assume our pwd is the root of the gem5 repository,
# in-sync with https://github.com/gem5/gem5.

git switch develop
build/VEGA_X86/gem5.opt -j <num compilation threads>

./build/VEGA_X86/gem5.opt configs/example/ruby_gpu_random_test.py --test-length 50000 --num-dmas 0

Terminal Output
gem5 Simulator System.  https://www.gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version DEVELOP-FOR-23.1
gem5 compiled Sep  1 2023 00:28:04
gem5 started Sep  1 2023 00:32:08
gem5 executing on Bobbys-M2-Macbook-Pro.local, pid 89646
command line: ./build/VEGA_X86/gem5.opt configs/example/ruby_gpu_random_test.py --test-length 50000 --num-dmas 0

Attaching ruby ports to the tester
Creating 0 DMAs
Creating 1 WFs attached to 1 CUs
Global frequency set at<PHONE_NUMBER> ticks per second
warn: system.ruby.network adopting orphan SimObject param 'ext_links'
warn: system.ruby.network adopting orphan SimObject param 'int_links'
warn: rounding error > tolerance
    1.250000 rounded to 1
warn: rounding error > tolerance
    1.250000 rounded to 1
warn: rounding error > tolerance
    1.250000 rounded to 1
warn: rounding error > tolerance
    1.250000 rounded to 1
warn: No dot file generated. Please install pydot to generate the dot file and pdf.
warn: rounding error > tolerance
    1.250000 rounded to 1
warn: rounding error > tolerance
    1.250000 rounded to 1
src/mem/dram_interface.cc:692: warn: DRAM device capacity (8192 Mbytes) does not match the address range assigned (1024 Mbytes)
src/cpu/testers/gpu_ruby_test/protocol_tester.cc:140: warn: Data race check is not enabled
src/cpu/testers/gpu_ruby_test/protocol_tester.cc:157: warn: If `random_seed == 0` (or `random_seed` is unset) ProtocolTester does not seed the RNG. This will NOT result in the RNG generating different results each run. In this case the RNG is seeded by a default value. This differs from behavior in previous versions of gem5. Setting `random_seed` to a non-zero value is strongly recommended.
src/base/statistics.hh:279: warn: One of the stats is a legacy stat. Legacy stat is a stat that does not belong to any statistics::Group. Legacy stat is deprecated.
src/sim/simulate.cc:194: info: Entering event queue @ 0.  Starting simulation...
      1: global: Episode 0
Assertion failed: (m_atomicLog.size() > 0), function popAtomicLogEntryFront, file DataBlock.cc, line 141.
Program aborted at tick 521
--- BEGIN LIBC BACKTRACE ---
0   gem5.opt                            0x00000001013166a8 _ZN4gem515print_backtraceEv + 44
1   gem5.opt                            0x0000000101329da0 _ZN4gem512abortHandlerEi + 132
2   libsystem_platform.dylib            0x000000018eb42a84 _sigtramp + 56
3   libsystem_pthread.dylib             0x000000018eb13c28 pthread_kill + 288
4   libsystem_c.dylib                   0x000000018ea21ae8 abort + 180
5   libsystem_c.dylib                   0x000000018ea20e44 err + 0
6   gem5.opt                            0x000000010189a888 _ZNK4gem54ruby9DataBlock7getDataEii.cold.1 + 0
7   gem5.opt                            0x00000001017ce800 _ZN4gem54ruby9DataBlock21clearAtomicLogEntriesEv + 0
8   gem5.opt                            0x00000001017a3dd0 _ZN4gem54ruby12GPUCoalescer11hitCallbackEPNS0_16CoalescedRequestENS0_11MachineTypeERNS0_9DataBlockEbNS_6CyclesES7_S7_b + 624
9   gem5.opt                            0x00000001017a39e8 _ZN4gem54ruby12GPUCoalescer13writeCallbackEyNS0_11MachineTypeERNS0_9DataBlockENS_6CyclesES5_S5_b + 232
10  gem5.opt                            0x00000001017721e8 _ZN4gem54ruby14TCP_Controller14wab_bypassDoneERPNS0_7TCP_TBEERPNS0_9TCP_EntryEy + 172
11  gem5.opt                            0x000000010177f990 _ZN4gem54ruby14TCP_Controller18doTransitionWorkerENS0_9TCP_EventENS0_9TCP_StateERS3_RPNS0_7TCP_TBEERPNS0_9TCP_EntryEy + 2900
12  gem5.opt                            0x000000010177e338 _ZN4gem54ruby14TCP_Controller12doTransitionENS0_9TCP_EventEPNS0_9TCP_EntryEPNS0_7TCP_TBEEy + 112
13  gem5.opt                            0x0000000101782b88 _ZN4gem54ruby14TCP_Controller6wakeupEv + 936
14  gem5.opt                            0x00000001017ce040 _ZN4gem54ruby8Consumer19processCurrentEventEv + 272
15  gem5.opt                            0x0000000101321dc4 _ZN4gem510EventQueue10serviceOneEv + 244
16  gem5.opt                            0x000000010133c3ec _ZN4gem59doSimLoopEPNS_10EventQueueE + 272
17  gem5.opt                            0x000000010133be3c _ZN4gem58simulateEy + 424
18  gem5.opt                            0x00000001006ab4b0 _ZZN8pybind1112cpp_function10initializeIRPFPN4gem522GlobalSimLoopExitEventEyES4_JyEJNS_4nameENS_5scopeENS_7siblingENS_5arg_vEEEEvOT_PFT0_DpT1_EDpRKT2_ENKUlRNS_6detail13function_callEE_clESP_ + 84
19  gem5.opt                            0x0000000100653284 _ZN8pybind1112cpp_function10dispatcherEP7_objectS2_S2_ + 3968
20  Python                              0x000000010438a604 cfunction_call + 60
21  Python                              0x0000000104343aa8 _PyObject_Call + 124
22  Python                              0x000000010441cbf8 _PyEval_EvalFrameDefault + 48384
23  Python                              0x00000001044103b4 PyEval_EvalCode + 168
24  Python                              0x000000010440c798 builtin_exec + 332
25  Python                              0x000000010438b058 cfunction_vectorcall_FASTCALL_KEYWORDS + 76
26  Python                              0x000000010441acfc _PyEval_EvalFrameDefault + 40452
27  Python                              0x000000010441f480 _PyEval_Vector + 116
28  gem5.opt                            0x000000010069a528 _ZNK8pybind116detail10object_apiINS0_8accessorINS0_17accessor_policies8str_attrEEEEclILNS_19return_value_policyE1EJEEENS_6objectEDpOT0_ + 76
29  gem5.opt                            0x000000010132a80c main + 320
30  dyld                                0x000000018e7bbf28 start + 2236
--- END LIBC BACKTRACE ---
For more info on how to address this issue, please visit https://www.gem5.org/documentation/general_docs/common-errors/

Host Operating System
Reproduced on a Macbook M2 System. Originally observed in Daily Tests, an ubuntu system.
Host ISA
ARM (Apple Silicon), also observed in X86
Compiler used
Clang 14.0.3, but also obsered in GCC

@mattsinc @abmerop @bujset : As mentioned in the post this appears to have been caused by #200. Could someone on your end try to come up with a fix for this?

#255 probably fixes this

#255 probably fixes this

Thanks @abmerop! Let's get this in ASAP and verify.


optimized trending page

The Trending component has been optimized to improve readability, error handling, and performance. Below are the key changes made:
Changes Made:
Loading and Error State Management:
Added separate loading and error states to handle loading and error conditions more clearly.
Destructuring Axios Response:
Utilized destructuring to directly extract the data property from the Axios response for cleaner code.

Thanks for the changes in trending page.


Fixing dependencies in setup.py

I have installed Melting Pot via the Dockerfile, and while it passes the tests, I get issues with the RLLib and PettingZoo examples that seem to stem from the versions of a number of packages, and their respective dependencies. I have been able to get the self_play_train.py RLLib example to run using the following combination of packages
pettingzoo==1.18.1
supersuit==3.3.1
stable_baselines3==1.2.0
gym==0.21.0

but the sb3_train.py script currently yields the following error:
Traceback (most recent call last):
  File "/home/samuelab/software/meltingpot/examples/pettingzoo/sb3_train.py", line 185, in <module>
    main()
  File "/home/samuelab/software/meltingpot/examples/pettingzoo/sb3_train.py", line 122, in main
    env = ss.concat_vec_envs_v1(
  File "/home/samuelab/.local/lib/python3.9/site-packages/supersuit/vector/vector_constructors.py", line 49, in concat_vec_envs_v1
    vec_env = MakeCPUAsyncConstructor(num_cpus)(*vec_env_args(vec_env, num_vec_envs))
  File "/home/samuelab/.local/lib/python3.9/site-packages/supersuit/vector/concat_vec_env.py", line 12, in __init__
    self.vec_envs = vec_envs = [vec_env_fn() for vec_env_fn in vec_env_fns]
  File "/home/samuelab/.local/lib/python3.9/site-packages/supersuit/vector/concat_vec_env.py", line 12, in <listcomp>
    self.vec_envs = vec_envs = [vec_env_fn() for vec_env_fn in vec_env_fns]
  File "/home/samuelab/.local/lib/python3.9/site-packages/supersuit/vector/vector_constructors.py", line 11, in env_fn
    env.seed(None)
  File "/home/samuelab/.local/lib/python3.9/site-packages/supersuit/vector/markov_vector_wrapper.py", line 32, in seed
    self.par_env.seed(seed)
  File "/home/samuelab/.local/lib/python3.9/site-packages/supersuit/generic_wrappers/utils/shared_wrapper_util.py", line 89, in seed
    super().seed(seed)
  File "/home/samuelab/.local/lib/python3.9/site-packages/pettingzoo/utils/env.py", line 250, in seed
    raise NotImplementedError(
NotImplementedError: Calling seed externally is deprecated; call reset(seed=seed) instead

Looking into it, this seems to be an issue with supersuit==3.3.1 which is resolved in 3.4.0. But then this version of supersuit requires gym==0.22.0, while stable_baselines3 needs gym<=0.21.0 up until its latest version.
Is there some combination of versions for these packages so that all of the constraints are satisfied and I can get all of the Melting Pot example scripts to run?

@duenez I have updated Melting Pot to v1.0.4 but this still does not seem to work.

Not sure that you want to bump to Ray 2.0.0, the rllib examples were written for ray 1.13.0, and there could be breaking changes.
I think there is some conflict between the sb3 and rllib examples, and the user should only install one of the dependencies.

I've fixed the RLLib example, and updated it to 2.2.0. It should pass at head.


No implementation found for method webAuth#login on channel auth0.com/auth0_flutter/web_auth

Checklist

[X] The issue can be reproduced in the auth0_flutter sample app (or N/A).
[X] I have looked into the README and have not found a suitable solution or answer.
[X] I have looked into the API documentation and have not found a suitable solution or answer.
[X] I have searched the issues and have not found a suitable solution or answer.
[X] I have searched the Auth0 Community forums and have not found a suitable solution or answer.
[X] I agree to the terms within the Auth0 Code of Conduct.

Description
I am currently using Flutter with the following versions:
Flutter 3.7.12 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 4d9e56e694 (4 weeks ago) • 2023-04-17 21:47:46 -0400
Engine • revision 1a65d409c7
Tools • Dart 2.19.6 • DevTools 2.20.1
And using the package auth0_flutter: ^1.1.0.
I followed the installation and configured both, iOS and Android to be able to login/logout users in my app.
For iOS it works like a charm but it does not work in Android (tested in emulators)
I am getting the following error after calling the login function:
Auth0 api = Auth0(<domain>, <myClientId>);

Future<Credentials> login() async {
  return await api.webAuthentication().login();
}

Exception: No implementation found for method webAuth#login on channel auth0.com/auth0_flutter/web_auth

I configured the auth0 allowed callback/logout URLs (notice I used https schema es suggested in the docs for Android) as following:
<myBundleId>://<domain>/ios/<myBundleId>/callback, https://<domain>/android/<myAppId>/callback

And updated the android/app/src/build.gradle file with the suggested configuration:
defaultConfig {
        applicationId "<myAppId>"
        ...
        minSdkVersion 21 // <--- min sdk version needed by auth0 package
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName

        manifestPlaceholders += [auth0Domain: "<domain>", auth0Scheme: "https"] // <--
    }

What am I missing here?
I would appreciate any help.
Many thanks.
PS: Official package documentation (https://pub.dev/packages/auth0_flutter) states that the manifestPlaceholders should be defined as following:
manifestPlaceholders = [auth0Domain: "company.us.auth0.com", auth0Scheme: "https"]

But that generates the following error:
Attribute application@name at AndroidManifest.xml:5:9-42 requires a placeholder substitution but no value for <applicationName> is provided.

since it is overwriting instead of just appending the auth0 properties. That is why I used the += instead
PS 2: Downgrading to version 1.0.2 works for both, Android and iOS
Reproduction

Install specified versions (flutter and auth0_flutter packages)
Run app in Android device (tested in emulator)
Try to login

auth0_flutter version
1.1.0
Flutter version
3.7.12
Platform
Android
Platform version(s)
minSdk 21

Hi @ivantrave, thanks for raising this. @poovamraj could you please take a look?

Oh
Wish I had read this before trying
Seems like $25/month for nothing is not enough to provide even a very primitive web example

Closing due to inactivity. Please feel free to ping if you'd prefer to reopen.

I have the same problem. I checked out the example, put my clientID and the domain in the .env file. then flutter run -d linux. There is no configuration as for Android or iOS. Is there something I need to do?

Same here, is there any update?


Activation Delay does not work (partly)

Alarmo Version
v1.9.9
HA Version
2023.5.3
Bug description
I have a Activation Delay set to 60 seconds. But when arming and then opening the door arming process cancels! If I don't open the door it arms correctly after the 60 second period.
Steps to reproduce
Just add a few sensors to the profile, set activation delay, arm and open the door..
Relevant log output
No response

Please share a screenshot of the settings of this door sensor.

My fault, didn't know these advnced sensor settings.. Sorry..


Cannot add custom keys to the localization object without type errors

mantine-react-table version
2.0.0-beta.7
react & react-dom versions
18.3.1
Describe the bug and the steps to reproduce it
It's simple.
If you add a custom key it shows a type error - "Object literal may only specify known properties ..."
How can I overcome this problem?

// e.g.

    localization: {
      ...MRT_Localization_EN,
      'exact': 'Exact'
    },

Minimal, Reproducible Example - (Optional, but Recommended)
N/A
Screenshots or Videos (Optional)

Do you intend to try to help solve this bug with your own PR?
No, because I do not know how
Terms

[X] I understand that if my bug cannot be reliably reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

What's your use case here? This is meant to replace strings in MRT components, if you need a new string you should probably add it to a custom component.

Thanks for responding.
Specifically this is the use case at the moment.  I want to add my own filters.

I suppose I could work around this but doesn't it make sense for all translations to be in the same localization object?

i18n support is very basic (just a big plain object), this is by design because we don't want to constrain the users into any i18n solution. So if you need anything on top you would have to implement it in userland. FWIW, in my case I use i18next, and I have custom components that I add to the table that use the useTranslation hook.


feat: Improve group by logic in duckGrid component to handle when groupKeys and rowGroupCols are the same

…

#12


implement box avoidance

fix #2638

adds internal BoxedPrimitives helper that holds boxed instances for common primitive values and has helper APIs
use BoxedPrimitives in preference to vanilla boxing in JValue and JsonTextReader
avoid new JValue(object) in key paths

Disclosure: if someone uses Unsafe methods to mutate the inside of one of these boxes: bad things. But that is self-inflicted.

@JamesNK nits resolved

Does this have any impact on comparisons when the value is still boxed? I wonder about people doing something dumb like:
if (JValue1.Value == JValue2.Value)
{
}

Before it would be false but now it is true (if values are -1 to 8 and share a box)

@JamesNK  yes, technically the change is observable; however, the code as shown is already incorrect for most definitions of "correct"/"incorrect"; when dealing with boxed values, what they almost certainly mean is something like:
if (Equals(JValue1.Value, JValue2.Value)
{
}

or
if ((JValue1.Value.Equals(JValue2.Value))
{
}

The == usage is simply ... wrong. It will already behave very inconsistently. For example, if the values are strings, it would currently report true for two empty strings but only two empty strings.
I'm not sure we should be too concerned about obviously-broken code.

Thanks @mgravell


Guild not preserving nested INI sections as expected

Original issue reported here: https://my.guild.ai/t/resolving-a-nested-ini-cfg-file-changes-its-format/995/3
Issue resolution doc: https://github.com/guildai/issue-resolution/tree/master/my.guild.ai-995-resolving-a-nested-ini-cfg-file-changes-its-format

This issue is resolved in main, an example of the resolution can be found here


Avoid _prims_common.check in favor of torch._check

torch._prims_common.check will be removed in https://github.com/pytorch/pytorch/pull/102219

@pmeier, do you think we could merge this one first? torch._check already exists in pytorch, and having this change in torchvision will fix a CI error I'm getting in the other PR

Yes, we can do that as well.

It seems like these CI failures must be unrelated to my changes, right?


useRefinementList in Show Less state doesn't respect transformItems sort

🐛 Current behavior
According to the docs, transformItems can be used to reorder the refinement values with a custom sort.
When a custom sort is used together with Show More/Show Less functionality, the custom sort isn't applied in the Show Less state. It's only applied in the Show More state.
🔍 Steps to reproduce

The static sort is defined as Whirlpool, Sony, Metra (then the rest).
Observe that in the default state of Show Less, the first three items are incorrectly Metra, Insignia, Samsung.
Observe that when selecting Show More, the first three items are correctly Whirlpool, Sony, Metra.

Live reproduction
https://codesandbox.io/p/sandbox/next13-4-4-forked-79jevr?file=%2Fcomponents%2FBrands.js%3A11%2C78
💭 Expected behavior
A custom sort in transformItems is respected in the Show Less state.
Package version
algoliasearch 4.17.1, react-instantsearch-hooks-web 6.44.0
Operating system
Mac 11.6.5
Browser
Chrome 113.0.5672.126
Code of Conduct

[X] I agree to follow this project's Code of Conduct

While this is still something I'd like to look into fixing, you can also use "Facet Ordering" (docs: https://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/facet-display/js/) to pin certain facets, and not need to use transformItems to sort the items.

We have quite a complex sort - for example: sort brands by most popular per category. It would be difficult to manage with facet ordering.

I believe this is happening because limit gets evaluated before transformItems, which is logical for some use cases, but doesn't seem to match yours, as that causes the items aren't guaranteed to be in place.
However, there's also the sortBy option which does get evaluated before transformItems and seems to match your use case quite well:
https://codesandbox.io/p/sandbox/refinement-list-sort-issue-forked-pjx46b?file=%2Fcomponents%2FBrands.js%3A35%2C14
useRefinementList({
      attribute: "brand",
      showMore: true,
      limit: 5,
      sortBy: useCallback((a, b) => {
        if (
          CUSTOM_BRAND_SORT[a.escapedValue] !== undefined &&
          CUSTOM_BRAND_SORT[b.escapedValue] !== undefined
        ) {
          return (
            CUSTOM_BRAND_SORT[a.escapedValue] -
            CUSTOM_BRAND_SORT[b.escapedValue]
          );
        }
        if (CUSTOM_BRAND_SORT[a.escapedValue] !== undefined) {
          return -1;
        }

        if (CUSTOM_BRAND_SORT[b.escapedValue] !== undefined) {
          return 1;
        }

        return 0;
      }, []),
    });

@Haroenv Thanks, didn't realize that sortBy accepts a function too.

Sorry, I'm not used to the new sandbox system that automatically makes links private (instead of public).
As sortBy runs first, I think this solves your use case, and the documentation doesn't need to be updated, as the function is already mentioned (not sure how to make it clearer)


update ISSUE_TEMPLATE after dcos --version change

To merge with 0.4.5 release

LGTM. One minor comment.

updated. thanks!


version tags

Question?
For the Garden Linux project we create a package for onmetal-image, at the moment we identify the version we build by its commit hash since this project does not have any tags. Can you add tags to this project to make identifying versions easier?

onmetal-image now has releases and tags, see https://github.com/onmetal/onmetal-image/releases/tag/v0.1.1


Code blocks and text format fixed

All bash commands in {pre} {/pre} block
Titles for main tasks
Text formatting

Awesome! @zh


Rule SIM401 should only trigger for immutable literals and variables

If I were to make this change then the dictionary would be created regardless of key membership. This would be particularly costly if the default was the result of a function call.
src\hatch\template\files_default.py:117:13: SIM401 Use `plugin_config.get('project_urls', {'Documentation': 'https://github.com/unknown/{project_name_normalized}#readme', 'Issues': 'https://github.com/unknown/{project_name_normalized}/issues', 'Source': 'https://github.com/unknown/{project_name_normalized}'})` instead of an `if` block

project_urls = (
    plugin_config['project_urls']
    if 'project_urls' in plugin_config
    else {
        'Documentation': 'https://github.com/unknown/{project_name_normalized}#readme',
        'Issues': 'https://github.com/unknown/{project_name_normalized}/issues',
        'Source': 'https://github.com/unknown/{project_name_normalized}',
    }
)

We don't trigger SIM401 if the default value contains an effectful expression (like a function call) -- you can verify it in the playground: https://play.ruff.rs/79791de1-e3ff-452e-b0a0-fab819b58e1c

Nice, I didn't test that one! Do you think creation of data structures should be avoided here?

I don’t think so, creating a hierarchy of dicts, lists, etc. is cheap. I bet other parts of the code absolutely dominate benchmarks if you make some. That being said, performance issues should be measured, not assumed. So if you need things to be faster, you should measure first.
Regarding this rule, you don’t even need an if branch if you do things lazily if your values aren’t falsy:
foo = bar.get('key') or default_expression()

I think we already have a suitable heuristic here. If you have a real-world example with costly object creation we should avoid suggesting, please let us know.


add minimal node and npm requirements

Please see my comment here

As per https://docs.npmjs.com/files/package.json#engines

You can also use the "engines" field to specify which versions of npm are capable of properly installing your program.

It wouldnt protect us much and only warns users of the package needlessly. If we want to protect ourselves against using older node/npm during publication we need to incorporate other check. I've prepared it and created a new PR - https://github.com/Pomax/react-onclickoutside/pull/224


Clarified partner reordering lock

Wasn't clear why group members couldn't be reordered - clarified that (see gif)

@soumyabasu @Sumukh REady.

Front-end changes look good to me. It looks like this PR depends on #551 being merged first so once that's merged we can merge this.

Looks good. The diff seems a bit out of date. @alvinwan


Sync master with new-table-impl branch

Codecov Report

Merging #22951 into new-table-impl will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           new-table-impl   #22951   +/-   ##
===============================================
  Coverage           14.59%   14.59%
===============================================
  Files                  51       51
  Lines                1411     1411
  Branches              219      219
===============================================
  Hits                  206      206
  Misses               1189     1189
  Partials               16       16

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 ed235ba...d41da4f. Read the comment docs.