vmsingle cannot remove pvc

install command:
helm upgrade --install vmks vm/victoria-metrics-k8s-stack -f values.yaml -n monitoring
values.yaml
... ...
# Configures vmsingle params
vmsingle:
  # -- VMSingle annotations
  annotations: {}
  # -- Create VMSingle CR
  enabled: true
  # -- Full spec for VMSingle CRD. Allowed values describe [here](https://docs.victoriametrics.com/operator/api#vmsinglespec)
  spec:
    port: "8429"
    # -- Data retention period. Possible units character: h(ours), d(ays), w(eeks), y(ears), if no unit character specified - month. The minimum retention period is 24h. See these [docs](https://docs.victoriametrics.com/single-server-victoriametrics/#retention)
    retentionPeriod: "1h"
    replicaCount: 1
    extraArgs: {}
    nodeSelector:
      business_type: prometheus
    resources: {}
    storage: {}
    storageDataPath: "/vmdata"
... ...

Combined with the code below operator, vmsingle should not have PVC dependencies after installation
	if cr.Spec.Storage != nil && cr.Spec.StorageDataPath == "" {
		if err := createVMSingleStorage(ctx, cr, rclient); err != nil {
			return fmt.Errorf("cannot create storage: %w", err)
		}
	}

https://github.com/VictoriaMetrics/operator/blob/v0.49.0/internal/controller/operator/factory/vmsingle/vmsingle.go#L72
But after the installation, it was found that vmsingle has always been PVC dependent, which is why?
get the pod yaml of vmsingle
k -n monitoring get pod vmsingle-vmks-victoria-metrics-k8s-stack-6584f64f97-qp6qs -o yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: "2024-11-14T10:40:40Z"
  generateName: vmsingle-vmks-victoria-metrics-k8s-stack-6584f64f97-
  labels:
    app.kubernetes.io/component: monitoring
    app.kubernetes.io/instance: vmks-victoria-metrics-k8s-stack
    app.kubernetes.io/name: vmsingle
    managed-by: vm-operator
    pod-template-hash: 6584f64f97
  name: vmsingle-vmks-victoria-metrics-k8s-stack-6584f64f97-qp6qs
  namespace: monitoring
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: vmsingle-vmks-victoria-metrics-k8s-stack-6584f64f97
    uid: e2b6ed73-d36f-493f-88be-3ea08293d0f0
  resourceVersion: "2327881791"
  uid: f73c7f52-7f66-4722-bafa-4c7b60cdb8be
spec:
  containers:
  - args:
    - -httpListenAddr=:8429
    - -retentionPeriod=1h
    - -storageDataPath=/victoria-metrics-data
    image: victoriametrics/victoria-metrics:v1.106.0
    imagePullPolicy: IfNotPresent
    name: vmsingle
    ports:
    - containerPort: 8429
      name: http
      protocol: TCP
    readinessProbe:
      failureThreshold: 10
      httpGet:
        path: /health
        port: 8429
        scheme: HTTP
      periodSeconds: 5
      successThreshold: 1
      timeoutSeconds: 5
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: FallbackToLogsOnError
    volumeMounts:
    - mountPath: /victoria-metrics-data
      name: data
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-sxgjz
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeSelector:
    business_type: prometheus
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: vmsingle-vmks-victoria-metrics-k8s-stack
  serviceAccountName: vmsingle-vmks-victoria-metrics-k8s-stack
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - name: data
    persistentVolumeClaim:
      claimName: vmsingle-vmks-victoria-metrics-k8s-stack
  - name: kube-api-access-sxgjz
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2024-11-14T10:40:40Z"
    message: '0/1026 nodes are available: pod has unbound immediate PersistentVolumeClaims.
      , preemption: 0/1026 nodes are available: 1026 No preemption victims found for
      incoming pod..'
    reason: Unschedulable
    status: "False"
    type: PodScheduled
  phase: Pending
  qosClass: BestEffort

Issue will be fixed at the next release.  But provided configuration example is not valid and operator will reject it with validation error.
Proper configuration must have defined volumes and volumeMounts for defined storageDataPath:
# Configures vmsingle params
vmsingle:
  enabled: true
  spec:
    retentionPeriod: "1h"
    replicaCount: 1
    nodeSelector:
      business_type: prometheus
    storageDataPath: "/vmdata"
    volumes:
    - name: storage
      # replace with actual volume source
      emptyDir: {}
    volumeMounts:
   - name: storage
     mountPath: "/vmdata"

Issue was fixed at v0.50.0 release


Issues in specific Error tags generation

As per RFC6241, I am supposed to push these errors using edit-config in Netopeer2, but I'm unable to get the below error tags. Instead, I'm getting an 'operation-failed' error-tag. I have checked with other Netopeer versions, including version 2.1.36, where it described the fix for Netconf error tags, but still, I'm unable to see the expected error-tag. Any guidance would be much appreciated.
1.error-tag: missing-attribute
error-type: rpc, protocol, application
error-severity: error error-info:  : name of the missing attribute.
 : name of the element that contains the unexpected attribute
Description: An expected attribute is missing.
2.error-tag: unknown-attribute
error-type: rpc, protocol, application
error-severity: error error-info:  : name of the unexpected attribute
 : name of the element that contains the unexpected attribute
Description: An unexpected attribute is present.
3.error-tag: missing-element
error-type: protocol, application
error-severity: error
error-info:  : name of the missing element
Description: An expected element is missing.
4.error-tag: resource-denied
error-type: transport, rpc, protocol, application
error-severity: error
error-info: none
Description: Request could not be completed because of insufficient resources.
5.error-tag: malformed-message
error-type: rpc
error-severity: error
error-info: none
Description: A message could not be handled because it failed to
be parsed correctly. For example, the message is not
well-formed XML or it uses an invalid character set.

Describe the exact use-cases for all of these errors and I can add them if it makes sense.

Describe the exact use-cases for all of these errors and I can add them if it makes sense.

To validate or modify the Netconf server by pushing XMLs is the traditional approach, and the  is essential for pinpointing exact issues within the XML.For example, If an XML includes an unknown or missing attribute, it should accurately trigger the specified . This precision is vital for ensuring proper validation of the Netconf server. Therefore, the error tags I have mentioned appear to be crucial for validation
1)While using edit-config, If the xml  have an expected attribute missing then it should throw the missing-attribute error tag
2)Similarly, If the xml  have an undefined attribute then it should throw the unknown-attribute error tag
3)Similarly, If the xml  have an expected element missing then it should throw the missing-element error tag
4)Similarly, If the xml request failed due to insufficient resource then it should throw the resource-denied error tag
5)Similarly A message could not be handled because it failed to be parsed correctly. For example, the message is not well-formed XML or it uses an invalid character should throw the malformed-message error tag.
I'm relatively new, so forgive me if I'm mistaken. When I looked into RFC6241 Appendix B, I noticed the code file netconf.xsd. Does that kind of code need to be manually configured on the server side, or is it integrated with the Netopeer package?

Describe the exact use-cases for all of these errors and I can add them if it makes sense.

To validate or modify the Netconf server by pushing XMLs is the traditional approach, and the  is essential for pinpointing exact issues within the XML.For example, If an XML includes an unknown or missing attribute, it should accurately trigger the specified . This precision is vital for ensuring proper validation of the Netconf server. Therefore, the error tags I have mentioned appear to be crucial for validation
1)While using edit-config, If the xml  have an expected attribute missing then it should throw the missing-attribute error tag
2)Similarly, If the xml  have an undefined attribute then it should throw the unknown-attribute error tag
3)Similarly, If the xml  have an expected element missing then it should throw the missing-element error tag
4)Similarly, If the xml request failed due to insufficient resource then it should throw the resource-denied error tag
5)Similarly A message could not be handled because it failed to be parsed correctly. For example, the message is not well-formed XML or it uses an invalid character should throw the malformed-message error tag.
I'm relatively new, so forgive me if I'm mistaken. When I looked into RFC6241 Appendix B, I noticed the code file netconf.xsd. Does that kind of code need to be manually configured on the server side, or is it integrated with the Netopeer package?

I may have not been clear enough, please provide the RPC message or the steps to generate the message that you think does not return the expected error. Most of them should be handled but some are not mostly because there is no way of generating such messages with libnetconf2 client API.

Sorry , I couldn't get you properly. Basically consider any of the xml for this case , lets assume supervision xml , the original xml was

60
10

Sorry if I'm wrong, when I'm about to add a new unknown attribute like michal='123' in the above xml ,

60
10

So now it should need to throw the error tag like
error-tag: unknown-attribute
error-type: rpc, protocol, application
error-severity: error
error-info: : name of the unexpected attribute: name of the element that contains the unexpected attribute
Description: An unexpected attribute is present.
but the actual output is ok , it doesn't bother about that undefined attribute.
similar process for the above error tags I've mentioned. The relatable information was defined in RFC6241 APPENDIX A,B,C --> https://datatracker.ietf.org/doc/html/rfc6241


Open secure and guid github

https://github.com/github/opensource.guide

I'm not sure what the question is here. Let us know :+1:


First pass at a repository layout

Does not need to be permanent, but it'll be good to carve out space for how we see this garden growing.

First shot on the web_backend:
--> web_backend
--->---> assets
--->--->---> css
--->--->---> js
--->--->---> img
--->---> templates
--->---> requirements/setup
--->--->---> requirements_dev.txt
--->--->---> requirements_production.txt
Pretty much standard so far.
Thoughts very welcome.
The question for me is what else should be in this repo? The web-backend should be task-agnostic so maybe another repo would be a better place to live.

FWIW, this guy is a Flask guru and makes some good points in this tutorial about "Flask at scale" + he also has a book:
https://www.youtube.com/watch?v=tdIIJuPh3SI

Based on that book, I would start with this tag:
https://github.com/miguelgrinberg/flasky/tree/7a
That got blueprints running and nicely separates the routes which otherwise will get messy pretty soon in the app.py. I give it a start and will also include the api @ejhumphrey started to implement.

pretty sure this is closed at this point (feel free to reopen if anyone feels differently)


Refactor useSearch from itemsjs to fuse.js

Closes #197
Description
Refactor useSearch from using itemsjs to properly typed fuse.js
Current Tasks

[ ] Refactor search function
[ ] Add function to sort the result based on selected sort
[ ] Restructure filter items
[ ] Add function to create aggregate items for filter
[ ] Change any to proper type
[ ] Create index file after fetching

@ekamuktia Please update from main branch to merge in changes from #286.

@zainfathoni has finished implementing tests infrastructure. I think we can use this PR to start with writing unit tests for the useSearch() hook. @ekamuktia

@resir014 @zainfathoni
because search will be changed to typesense, I think this PR should be closed
also there's test problem with typesense search, the data is from index so I can't pass data from faqBuilder as the source

@ekamuktia You're right. Closing this in favour of the Typesense PR.


Added Rust program to check lowercase

📑 Description
copilot:summary
🐞 Related Issue

Closes #3262
📋 Explanation of changes
copilot:walkthrough
copilot:poem

Sure do @anandfresh.


Bus Route

User Story
As a Pathfinder user I want to be able to which stop I am approaching within the bus line, so that I'm aware of my route progress.

Acceptance criteria

The system will display the complete bus line along with its stops for both passengers and drivers
The system will display which bus stop is being approached for both passengers and drivers

Update the issue so it reflects the new requirements.


[Suggestion] Vue 2.x should follow strict Semantic Versioning.

I posted about this on the forum a few months back, but I think it fell through the cracks.  It would be awesome if the Vue project started adhering to strict Semantic Versioning.
Past versions of Vue 1.x have included a lot of new functionality in patch versions rather than bumping the minor version.  This can be tricky when trying to figure out if new functionality can be used.
For example, v1.0.21 added support for using a string of multiple classes in :class bindings.  Since Vue is using a versioning scheme that looks like semver, it's not clear on the surface that v1.0.20 doesn't support this feature.
The semver issue is highlighted by the bold message at the top of the release notes for v1.0.20:

This is a small patch release with only bug fixes. There were a few new features in 1.0.19 - make sure to check it out.

With semver, a bump from v1.0.19 -> 1.0.20 already implies that only bug fixes are included.

This is something I wanted to do, but the practical difficulty in isolating new features and patch fixes costs a lot more than you think.
The 1.x process has basically followed the development model of "every commit goes into dev" - so when we are releasing a patch, inevitably it includes some new features. Separating features and bug fixes into separate branches and keeping them in sync until a minor release makes the development model a lot more complex.
That said - I'm not convinced about every little detail re semver, especially for projects with marketing concerns. (It is often easy for people to argue in favor of strict semver when version numbers have practically no impact on the success of their project, but that is not the case for Vue). The most important part is the major/breaking bumps. If we really want to go super-strict semver, we could've just hidden those features and later announce them as part of 1.1 ;)

@yyx990803 Isolating new features from patches is a solved problem.  It's presumptuous to think that I do not understand the costs.  My argument is that the benefits outweigh the costs, though I understand that on this point we may disagree.
However, I can't get on board with the marketing claim.  What marketing benefit can be derived from calling a version 1.0.21 v.s. calling it 1.1.0?
Finally, some anecdotes:
Lodash follows strict semver but I don't see jdalton having a marketing problem.  If anything, more developers use lodash instead of underscore.js simply because lodash follows semver and underscore.js does not.  This level of stewardship is greatly appreciated by their users.
React follows semver.  They did some goofiness by switching from 0.14 to 15.0 this year, and that was due to marketing concerns, but it's interesting to see them embracing a very large major version number.
I'm happy to hear that you will "explore the possibility of semantic minor releases" and I hope you can come to the conclusion that it will only better the community.

@young-steveo what I'm basically saying is - it's not worth it for 1.x at this point, but we will reconsider for 2.x.

@yyx990803 Gotcha.  Thanks!


[OPAL-261] Fix upload issue

sub_tenant was not loaded, triggering a 404 when api/app/views/mno_enterprise/jpi/v1/admin/users/_user.json.jbuilder was called

@ouranos I've fixed + added more spec


Prevent "Unrecognized arguments: version" Fog warning when specifying region.version

The :version argument is not recognized by the Fog::AWS::ELB service

What version of fog are you using?

I'm not sure the version of fog is relevant here since even in the most recent fog-aws, the constructor for the ELB service object does not include :version as one of the accepted constructor arguments: https://github.com/fog/fog-aws/blob/master/lib/fog/aws/elb.rb#L17
Compare this to the compute service object's accepted constructor arguments: https://github.com/fog/fog-aws/blob/master/lib/fog/aws/compute.rb#L7
Since vagrant-aws conflates the fog_config for both service objects, the :version argument should be excluded when instantiating the ELB service object for the same reason the other exclusions are in place in the event that the vagrant-aws user specifies the version on the region_config in their Vagrantfile.


Warning: It appears the mexjulia MEX function is missing.

Hello, I'm having trouble getting the mexjulia part to work. And I really would like to get started with migrating parts of my Matlab code into julia from within the "comfort zone" of the Matlab IDE.
Set-up: Windows 7, SP1; Matlab R2015b; MinGW64 Compiler (C++); Julia 0.5.0.
>> Jl.build
The path of the Julia executable is F:\software\Julia\Julia-0.5.0\bin\julia.exe
The path of the Julia configuration script is F:\software\Julia\Julia-0.5.0\share\julia\julia-config.jl
Building with 'MinGW64 Compiler (C++)'.
MEX completed successfully.
Ensuring the MATLAB package is installed...
INFO: Nothing to be done
INFO: METADATA is out-of-date ÔÇö you may not have the latest version of MATLAB
INFO: Use `Pkg.update()` to get the latest versions of your packages
Is F:\software\Julia\mexjulia\branches\rebranding on the MATLAB path? Yes.

I have run Pkg.update() multiple times but the "out-of-date" warning persists. Reinstalled the MATLAB package and got v0.4.2.
When I run Jl.eval it asks me to select the julia executable again:
>> Jl.eval('2+2')
Warning: It appears the mexjulia MEX function is missing. Attempting to build...\n
> In Jl.check_init (line 42)
  In Jl.mex (line 9)
  In Jl.eval (line 16)
The path of the Julia executable is F:\software\Julia\Julia-0.5.0\bin\julia.exe
The path of the Julia configuration script is F:\software\Julia\Julia-0.5.0\share\julia\julia-config.jl
Building with 'MinGW64 Compiler (C++)'.
MEX completed successfully.
Ensuring the MATLAB package is installed...
INFO: Nothing to be done
INFO: METADATA is out-of-date ÔÇö you may not have the latest version of MATLAB
INFO: Use `Pkg.update()` to get the latest versions of your packages
Is F:\software\Julia\mexjulia\branches\rebranding on the MATLAB path? Yes.
Invalid MEX-file 'F:\software\Julia\mexjulia\branches\rebranding\mexjulia.mexw64': The specified module
could not be found.

Error in Jl.check_init (line 47)
      mexjulia('');

Error in Jl.mex (line 9)
        Jl.check_init;

Error in Jl.eval (line 16)
        [varargout{:}] = Jl.mex(nargin, 'Mex.jl_eval', varargin{:});

Checking with Matlab, the mex file appears to exist (of course I can also see it in the rebranding folder):
>> which mexjulia
F:\software\Julia\mexjulia\branches\rebranding\mexjulia.mexw64

So I set a breakpoint on line 38 in Jl.m and try to evaluate again:
Jl.eval('2+2')
38        try

The mexjulia "module" (I assume this is something related to object-oriented programming in Matlab) has the "value":
K>> mexjulia
Invalid MEX-file 'F:\software\Julia\mexjulia\branches\rebranding\mexjulia.mexw64': The specified module
could not be found.

And again, still in the debugger, the path to the mex-file checks out:
K>> disp(exist('F:\software\Julia\mexjulia\branches\rebranding\mexjulia.mexw64'))
     3

Do you have any ideas of what I am doing wrong based on the information provided? Should this work with the mingw compiler?
Regards, Martin

A quick response about MinGW: it should work fine. If it doesn't right now, we should be able to fix it. In fact, when I was first developing this, I was using the MinGW toolchain (in a custom make file) to build the mex function. It was only after getting it basically functional that I migrated to doing the build through MATLAB's mex function.
As for your particular problem here, hopefully I'll be able to dig into the issue this weekend.
Thanks for checking mexjulia out.

With rev.28, this now works using the above set-up. Thanks!


Batch parallel contract result requests for detailed block info

Description:
Batch parallel contract results calls for getBlockBy calls

Add ETH_GET_BLOCK_BY_RESULTS_BATCH_SIZE env to set batch size
Update ETH_GET_TRANSACTION_COUNT_MAX_BLOCK_RANGE to an increased size as parallel calls increase support
Replace sequential contract results logic when showDetails is true with parallel logic

Related issue(s):
Fixes #1383
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 81.81% and project coverage change: -0.03 :warning:

Comparison is base (a3e5064) 77.31% compared to head (ab5e731) 77.29%.

:exclamation: Current head ab5e731 differs from pull request most recent head bf25300. Consider uploading reports for the commit bf25300 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1384      +/-   ##
==========================================
- Coverage   77.31%   77.29%   -0.03%
==========================================
  Files          32       32
  Lines        2561     2563       +2
  Branches      531      532       +1
==========================================
+ Hits         1980     1981       +1
  Misses        414      414
- Partials      167      168       +1

Impacted Files
Coverage Δ

packages/relay/src/lib/constants.ts
90.32% <ø> (ø)

packages/relay/src/lib/eth.ts
85.64% <81.81%> (-0.09%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[TEST] - Splitting PurRepositoryTest

@mattyb149, @brosander, review it please.
Actually, I don't like PurRepositoryTest as it is a monstrous class with lots of tests that hardly relate to each other. Thus I decided to create a "lightweight" version of the test thereby alleviating future testing.
Now, it is much easier to create a brand new test class just by extending PurRepositoryBaseTest. It has extension points for injecting additional code in handling ApplicationContext and MicroPlatform, though I believe such cases are really rare.
And last but no least, I replaced hardcoded /tmp/ path with a SpEL expression that utilizes the system property. This is useful for Windows users. Also it creates a new directory for each re-initialisation, hence there is no need to manually clean the repo's folder anymore.

create PurRepositoryBaseTest as a parent for PurRepository-related tests and copy all necessary actions for installing establishing environment from PurRepositoryTest
introduce PurRepositoryTestingUtils and move some common actions there
override JCR factory bean with new spring configuration and use SpEL to locate test repository in temporary folder (picked up from the system variable)
create PurRepository_GetObjectInformation_Test as a child of PurRepositoryBaseTest and move there related tests from PurRepositoryTest
create PurRepository_MoveAndRename_Test as a child of PurRepositoryBaseTest and move there related tests from PurRepositoryTest

@akhayrutdinov I like the idea, I think we should probably wait until after the 6.0 branch is created

@brosander, the branches has been diverged. Can you please take a look at this once again?

@brosander, review it please

@pminutillo, @brosander, review it please

@akhayrutdinov  When I run ant clean-all resolve test, I get an error that PurRepositoryBaseTest has no runnable methods.  If you intend it to have tests, it doesn't seem to, if you didn't want it to be directly run, maybe rename to PurRepositoryTestBase

@brosander, cannot believe I missed it!
Anyway, I updated the PR and had checked with an Ant build all tests are passing now.

@akhayrutdinov
test/org/pentaho/di/repository/pur/PurRepositoryTest.java
line: 30 column: None message: Using the '.' form of import should be avoided - java.util..
line: 59 column: None message: Using the '.' form of import should be avoided - org.pentaho.di.repository..
test/org/pentaho/di/repository/pur/PurRepositoryTestBase.java
line: 77 column: None message: assign child at indentation level 0 not at correct indentation, 4

@brosander, I've fixed it


add option for zlib compression in .nc file cutout exports

Rejected

I've directly commited a simpler version into your branch:

without the additional function (not needed) and the ability to specify compression levels for an individual feature rather than re-applying the compression to all the data (potentially requiring recompression of existing features)
Also: enabled by default (because it doesn't hurt)
Removed additional function
to_file(..) continues to work this way and not further code changes necessary :)

I approve.


Support for multiple uploaded files from the Web UI

A user might want to flatten multiple JSON files together using Web UI.
Multiple provided files should be "merged" for export as if it is one document.
This issue depends upon implementation of https://github.com/open-contracting/spoonbill/issues/145.

Closing as no demand, same as #280.


Add support for displaying file sizes in bytes with a separator

This is a redo of the excellent work by @areq212 on PR https://github.com/lsd-rs/lsd/pull/569 for supporting thousand separators when displaying bytes.

TODO

[x] Use cargo fmt
[x] Add necessary tests
[x] Update default config/theme in README (if applicable)
[x] Update man page at lsd/doc/lsd.md (if applicable)

Investigating why the unit test is failing on Unix (I'm on Windows but will setup WSL or a VM to test and see what's going on).

OK, the problem is simply that the failing environments don't have the required locales pre-installed. As an example, the cross image used (ghcr.io/cross-rs/x86_64-unknown-linux-musl:0.2.5) provides a very limited number of locales out of the box:
root@cd931a9b586d:/# locale -a
C
C.UTF-8
POSIX
root@db27beebc168:/# export LC_ALL=en_US.UTF-8
bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory

This can be rectified within the image, but this may be quite tedious to do via CI.
e.g.
# Install the locales package.
apt install locales

# Generate the required locale for testing.
locale-gen en_US.UTF-8

# Observe the locale is now available.
locale -a

Exporting the locale now works:
root@cd931a9b586d:/# export LC_ALL=en_US.UTF-8
root@cd931a9b586d:/#

I think this is now ready for review 😊

Just a little FYI that I've been using this for the last day and it works really well. 😄


readme: fix maintainer link

[x] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

The previous URL for @vladshablinsky 404ed for me.
Out of curiosity, I checked a similar URL for an organisation I'm a member of, and it also 404ed. 🤔

When I log in with a sock puppet (shh!) it does 404 for me. But when I'm logged into this account it doesn't. I think only an org owner can access that page.
By the way, the ordering looks totally inscrutable to me...

Ah, yes, when I check with an organisation I'm an owner of, rather than just a member, I can access it.

Thanks @penman!


Add SwiftShader support to the Vulkan HAL

We can use SwiftShader as a software Vulkan ICD. At first, this will let us run tests and other CI on machines with no hardware Vulkan driver.

Needs a bit more work to get working on Linux. I have some fixes, just need to make them flexible enough to merge.


FetchMap and UpdateMap commands

Also 2 small logging changes in RiakNode.

clients-291 has been merged into this. UpdateMap and FetchMap both use the new constructor signature  and pass the callback to CommandBase.


fix: bump engines to 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e

This is for reviewing the 3.15.x patch commits (review only for 3.15.1)

Todo: back merge latest commits on main.

Note: 3.15.2 backmerge happened in https://github.com/prisma/prisma/pull/13844


Asset 262: AZD 3355 ID choice

This asset currently uses DRUGBANK:DB05404 as the expected answer ID for AZD 3355.
However, this chemical may be better known as lesogaberan - which is a separate entity in NodeNorm with the primary ID PUBCHEM.COMPOUND:16686147. BTE consistently has Lesogaberan in its result set (scored too low for a TopAnswer, but still).
Should this test use this different ID for AZD-3355/Lesogaberan? Or is this a NodeNorm issue?

I think all tools have been consistently failing this test, which may be in part due to the answer ID choice:
https://github.com/NCATSTranslator/Tests/issues/69
https://github.com/NCATSTranslator/Tests/issues/32

I cannot confirm AZD-3355 is the same compound as PUBCHEM.COMPOUND:16686147. AZD-3355 has another PubChem ID : https://pubchem.ncbi.nlm.nih.gov/substance/347910120. I would need to do a deeper search.

After a deeper search that sounds like it is the same compound as lesogaberan


GPVar Model Evaluation "Incompatible Input Shape"

Description
Hey there, trying to get used to using this package and I am having a persistent issue while trying to evaluate my model forecasts. I'm quite lost, as I previously had issues getting the model to train on the data, and as soon as I got through that, I now can't evaluate my predictions, which are taking 20-30 minutes to run.
My full dataset is 2000+ columns, though I am truncating it while I'm just learning to speed up run time. However, I have noticed that the error message seems to be getting passed this full 2000 column data set regardless.
Now, I am not sure which error is stopping me now, because it seems there are two being thrown here, one for bad array shape and one for IndexError.
I have tried reshaping and everything, and cannot even get things to work with arrays of 0s, as you can see below.
Here is my minimum code to reproduce:
To Reproduce
import mxnet as mx
from mxnet import gluon
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import json
import os
from itertools import islice
from pathlib import Path
import pyodbc
from gluonts.dataset.common import ListDataset

test_data = np.zeros(shape=(249,100))

# define the parameters of the dataset
freq='1D'

start_tr = '2021-01-01'

start_tst = '2021-08-27'

prediction_length = 10

train_ds = ListDataset(
    [
        {'target': test_data[:-prediction_length], 'start': start_tr}

    ],
    freq=freq,
    one_dim_target=False
)

test_ds = ListDataset(
    [
        {'target': test_data[-prediction_length:], 'start': start_tst}

    ],
    freq=freq,
    one_dim_target=False
)

from gluonts.model.gpvar import GPVAREstimator
from gluonts.mx import Trainer

trainer = Trainer(epochs=1)

estimator = GPVAREstimator(freq = '1D', target_dim = 100, prediction_length = prediction_length, batch_size=2, context_length = 30, num_layers= 2, num_cells=40 , trainer= trainer)

predictor = estimator.train(train_ds)

from gluonts.evaluation import make_evaluation_predictions

#test_ds = ListDataset([{'start': '2021-01-01', 'target': target.values[239:]}], freq='1D', one_dim_target= False)

forecast_it, ts_it = make_evaluation_predictions(
    dataset= target,  # test dataset
    predictor=predictor,  # predictor
    num_samples=100  # number of sample paths we want for evaluation
)

forecasts = list(forecast_it)
tss = list(ts_it)

Error message or code output
(Paste the complete error message, including stack trace, or the undesired output that the above snippet produces.)
IndexError                                Traceback (most recent call last)
<ipython-input-36-e22746254ed1> in <module>
----> 1 forecasts = list(forecast_it)
      2 tss = list(ts_it)
      3
      4 #MXNetError: Check failed: shape_assign(&(*in_shape)[i], dshape): Incompatible input shape: expected [100,1,2,-1], got [100,1,2159,8]

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/mx/model/predictor.py in predict(self, dataset, num_samples, num_workers, num_prefetch, **kwargs)
    169                 freq=self.freq,
    170                 output_transform=self.output_transform,
--> 171                 num_samples=num_samples,
    172             )
    173

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/model/forecast_generator.py in __call__(self, inference_data_loader, prediction_net, input_names, freq, output_transform, num_samples, **kwargs)
    170         **kwargs
    171     ) -> Iterator[Forecast]:
--> 172         for batch in inference_data_loader:
    173             inputs = [batch[k] for k in input_names]
    174             outputs = predict_to_numpy(prediction_net, inputs)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __iter__(self)
    102     def __iter__(self) -> Iterator[DataEntry]:
    103         yield from self.transformation(
--> 104             self.base_dataset, is_train=self.is_train
    105         )
    106

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/dataset/loader.py in __call__(self, data, is_train)
    136
    137     def __call__(self, data, is_train):
--> 138         yield from batcher(data, self.batch_size)
    139
    140

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/itertools.py in get_batch()
     62
     63     def get_batch():
---> 64         return list(itertools.islice(it, batch_size))
     65
     66     # has an empty list so that we have a 2D array for sure

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    174     ) -> Iterator:
    175         num_idle_transforms = 0
--> 176         for data_entry in data_it:
    177             num_idle_transforms += 1
    178             for result in self.flatmap_transform(data_entry.copy(), is_train):

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    174     ) -> Iterator:
    175         num_idle_transforms = 0
--> 176         for data_entry in data_it:
    177             num_idle_transforms += 1
    178             for result in self.flatmap_transform(data_entry.copy(), is_train):

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    121         self, data_it: Iterable[DataEntry], is_train: bool
    122     ) -> Iterator:
--> 123         for data_entry in data_it:
    124             try:
    125                 yield self.map_transform(data_entry.copy(), is_train)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __iter__(self)
    102     def __iter__(self) -> Iterator[DataEntry]:
    103         yield from self.transformation(
--> 104             self.base_dataset, is_train=self.is_train
    105         )
    106

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    125                 yield self.map_transform(data_entry.copy(), is_train)
    126             except Exception as e:
--> 127                 raise e
    128
    129     @abc.abstractmethod

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in __call__(self, data_it, is_train)
    123         for data_entry in data_it:
    124             try:
--> 125                 yield self.map_transform(data_entry.copy(), is_train)
    126             except Exception as e:
    127                 raise e

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in map_transform(self, data, is_train)
    138
    139     def map_transform(self, data: DataEntry, is_train: bool) -> DataEntry:
--> 140         return self.transform(data)
    141
    142     @abc.abstractmethod

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/transform/_base.py in transform(self, data)
    157
    158     def transform(self, data: DataEntry) -> DataEntry:
--> 159         return self.func(data.copy())
    160
    161

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/gluonts/evaluation/backtest.py in truncate_target(data)
     88     def truncate_target(data):
     89         data = data.copy()
---> 90         target = data["target"]
     91         assert (
     92             target.shape[-1] >= prediction_length

IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

Environment

Operating system: Windows 10 Home 19042.1237
Python version: 3.6.9
GluonTS version:  0.8.1
MXNet version:  1.8.0.post0

Thanks so much for any help!

I think
if test_data = np.zeros(shape=(249,100)),  You should set target_dim to 249.
Hope this helps.


Created sowrovsarkar63.json

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

Can anyone help me? I followed the link free profile addition guide and then created this pr. But it's getting weird conflict

You might need to rebase your PR to the latest version of the main branch
It's closed now. But can not find my profile on linkfree


Support using GGUF chat template

This references #386 and is the last step for #326.

[x] Support discovering GGUF chat template
[x] Support overriding chat template
[ ] Update docs
[ ] Testing

Will recreate.


add support for EG 2.0 encryption

EG 2.0 encryption changes from using the generator as the base for encoding the 0-or-1 counter to using the public key. This ultimately removes the need for one of the modular exponentiation operations in the disjunctive Chaum-Pedersen proof.
Changes that will be required:

Add support for discrete log for multiple base values
Changing the encryption / decryption code
Change the Chaum-Pedersen proof computation
Change all the unit tests around

Tests are passing.
I think this can be closed, do you agree danwallach?


Invitee email can be None which break the Ftrack commit.

Approving

awesome! Do we need to convert this to v3? @iLLiCiTiT

@tokejepsen please follow the name convention for branches. bugfix is targeting 2.x/develop and hotfix goes to 2.x/main

Do we need to convert this to v3?

v3 PR https://github.com/pypeclub/OpenPype/pull/1788

@tokejepsen please follow the name convention for branches. bugfix is targeting 2.x/develop and hotfix goes to 2.x/main

Sorry, yeah will do from now.


'Deploy Bicep File' does not detect change in file used in loadJsonContent()

I have a Azure Logic app definition file called "workflow.json" and I made changes to this file.
But when I tried to deploy(update) the logic app with bicep, the new changes did not be reflected to the logic app.
The bicep file is shown below. I use loadJsonContent() function in it.
I found a similar github issue which is related to the loadTextContent() function: https://github.com/Azure/bicep/issues/8239
Could you please help to check if the loadJsonContent() function has same caching issue?
How to fix it? Or, if we have any workaround?

param logicAppDefinition object = **loadJsonContent('../logicapps/workflow.json')**
...
resource logicApp 'Microsoft.Logic/workflows@2019-05-01' = {
  name: logicAppName
  location: location
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    state: 'Enabled'
    integrationServiceEnvironment: {
      id: integrationServiceEnvironment
    }
    definition: logicAppDefinition.definition
    parameters: {}
  }
}

Can you share which version of the bicep extension you are using? I agree it seems to be the same issue as #8239.

az bicep version
A new Bicep release is available: v0.13.1. Upgrade now by running "az bicep upgrade".
Bicep CLI version 0.8.9 (33a85174de)

az bicep upgrade
Installing Bicep CLI v0.13.1...
Successfully installed Bicep CLI to "/root/.azure/bin/bicep".
az bicep version
Bicep CLI version 0.13.1 (e3ac80d678)

No changes propagated from local workflow.json to cloud with newer version.

That is the version of the CLI, but can you check the version of the VS code extension too? Since you are deploying from the VS code extension, that is the more relevant version in this case.

We are not deploying from VS Code. We use Bamboo to run az cli commands:
az login --service-principal -u ${bamboo.spn_id} -p ${bamboo.spn_password} --tenant ${bamboo.tenant_id}
az account set --subscription "${bamboo.subscription}"
bicep restore /apps/cdmservices/${bamboo.env}/bicep/main.bicep --force
az deployment group create --resource-group "${bamboo.ResourceGroup}" --template-file /apps/cdmservices/${bamboo.env}/bicep/main.bicep  --parameters @/apps/cdmservices/${bamboo.env}/bicep/main.bicep.parameters.${bamboo.env}.json
Let's have an online session to get on the same page.

Sure, feel free to email me at<EMAIL_ADDRESS>If you are deploying via CLI, then it is not related to the issue you referenced. Can you share more details so we can try to reproduce on our end? Can you share the "workflow.json" v0, the "workflow.json" v1, and the main.bicep you are using?

We solved the issue by restructuring main.bicep and logicapp.bicep. Now definition of workflow is passed as a parameter from main.bicep to logicapp.bicep vs. sourced in logicapp.bicep.

But it is still using loadJsonContent() in main.bicep? Would be strange for that to be working in one file, but not another. Going to close for now since you got the issue resolved.


GDScript: Fix type inference for const reference to global class

Fix: #37529
(sorry for the commit message, I can't come up with one, any suggestions?)

(sorry for the commit message, I can't come up with one, any suggestions?)

Well coming up with a descriptive commit message is quite important as it shows that you understand what changes you're making and why.
I'm not familiar with the parser to understand exactly what this code block handles, but going by the bug it's supposed to fix it could be something like:
GDScript: Fix type hints for const reference to global class

Fixes #37529.

Thanks!


Execute DBT SQL results in Cannot read properties of undefined (reading 'webview')

Expected behavior
VS Code should provide a preview of the data
Actual behavior
The followin message is displayed:

Encountered an unknown issue: Cannot read properties of undefined (reading 'webview'). If the issue persists, please seek help in our dbt Community Slack channel #tools-dbt-power-user or report it on GitHub.

Steps To Reproduce
I just run any script.  This has been an issue for me for over half a year even though I've kept the extension up to date.
Log output/Screenshots
[error] TypeError: Cannot read properties of undefined (reading 'webview')
    at QueryResultPanel_1.<anonymous> (c:\Users\dtlut\.vscode\extensions\innoverio.vscode-dbt-power-user-0.17.5\dist\extension.js:31316:25)
    at Generator.next (<anonymous>)
    at c:\Users\dtlut\.vscode\extensions\innoverio.vscode-dbt-power-user-0.17.5\dist\extension.js:31501:68
    at new Promise (<anonymous>)
    at Module.__awaiter (c:\Users\dtlut\.vscode\extensions\innoverio.vscode-dbt-power-user-0.17.5\dist\extension.js:31480:12)
    at QueryResultPanel_1.transmitError (c:\Users\dtlut\.vscode\extensions\innoverio.vscode-dbt-power-user-0.17.5\dist\extension.js:31315:21)
    at QueryResultPanel_1.<anonymous> (c:\Users\dtlut\.vscode\extensions\innoverio.vscode-dbt-power-user-0.17.5\dist\extension.js:31381:19)
    at Generator.throw (<anonymous>)
    at rejected (c:\Users\dtlut\.vscode\extensions\innoverio.vscode-dbt-power-user-0.17.5\dist\extension.js:31490:28)

Operating System
Windows 11
dbt version
This seems to be an issue for every dbt-version
dbt Adapter
and it seems to be an issue for every dbt-adapter
dbt Power User version
0.17.5
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

There was an issue before about the same but. But it as marked as resolved without actually being resolved. And not reopened after I asked it to. This is a pretty vital component to the plugin so I think it should be adressed.

It should be addressed. We found some issues that were resolved that also resulted in the same error.
It looks like there is a promise rejection but we don't know which promise it was. These errors are listed on the extension page. Maybe you could copy paste those here. That would help us in debugging.

Hi @mdesmet, thanks for the quick response!
In the runtime status tab that you show, all I see is the Uncaught Error Cannot read properties of undefined (reading 'webview'). I don't know if that's helpful for you? If I can help by checking something else, I will be glad to help.

@Luttik ： I contacted you on dbt Slack to setup a call.

Thanks, @mdesmet for the fix on master!


support SET variable

Which issue does this PR close?
Closes #4067
Rationale for this change

to support
SET [VARIABLE] [TO | =] [VALUE | 'VALUE']

What changes are included in this PR?

support u64 value
❯ set datafusion.execution.batch_size = 1;
0 rows in set. Query took 0.001 seconds.
❯ show datafusion.execution.batch_size;
+---------------------------------+---------+
| name                            | setting |
+---------------------------------+---------+
| datafusion.execution.batch_size | 1       |
+---------------------------------+---------+
1 row in set. Query took 0.013 seconds.

support bool
❯ set datafusion.execution.coalesce_batches to false;
0 rows in set. Query took 0.000 seconds.
❯ show datafusion.execution.coalesce_batches;
+---------------------------------------+---------+
| name                                  | setting |
+---------------------------------------+---------+
| datafusion.execution.coalesce_batches | false   |
+---------------------------------------+---------+
1 row in set. Query took 0.007 seconds.

support single quoted string
❯ set datafusion.execution.coalesce_batches to 'false';
0 rows in set. Query took 0.000 seconds.
❯ show datafusion.execution.coalesce_batches;
+---------------------------------------+---------+
| name                                  | setting |
+---------------------------------------+---------+
| datafusion.execution.coalesce_batches | false   |
+---------------------------------------+---------+
1 row in set. Query took 0.007 seconds.

support alias TIME ZONE and TIMEZONE
as discussed in https://github.com/apache/arrow-datafusion/issues/3148#issuecomment-1226105182
we disallow set timezone for now until timezone integration is full completed
❯ set time zone = 1;
Plan("Changing Time Zone isn't supported yet")

throw error for unknown variable
❯ set abc = 1;
Execution("Unknown Variable abc")

throw error for incorrect data type
❯ set datafusion.execution.batch_size = a;
Execution("Failed to parse a as u64")

❯ set datafusion.execution.batch_size = -1;
Execution("Failed to parse -1 as u64")

Are there any user-facing changes?

@alamb thank you for the review, learned a lot from it.
updated the test cases according to the suggested changes


tests: Fix local tests

Since commit f833c18, the package definition has slightly changed and
the local tests haven't been updated to understand the new format.
Signed-off-by: Damien Lespiau<EMAIL_ADDRESS>

Coverage decreased (-0.3%) to 74.504% when pulling 621b472a331fddc153b1f18fcdea813392221203 on dlespiau:20170624-fix-local-tests into 5f49b59a9c99c642f3941a4c5a12fff94b5cad67 on clearcontainers:master.

lgtm

lgtm


[RESOLVED] Unavailable by ICMP ping

Problem started at 17:30:14 on 2022.12.14
Problem name: Unavailable by ICMP ping
Host: ZO-FG
Severity: High
Operational data: Down (0)
Original problem ID: 4490
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23123&eventid=4490

Problem has been resolved in 1m 0s at 17:31:14 on 2022.12.14
Problem name: Unavailable by ICMP ping
Host: ZO-FG
Severity: High
Original problem ID: 4490


Add Storage interface

It should be just an abc.Meta and documentation.
See https://github.com/datapackages/datapackage-py/issues/51

FIXED


[Landcover Toolkit] Upgrade npm packages

Fixes audit warnings due to EE API and eslint.

Thank you! 👍


Expose client IPs/ports in API

I could be missing something, but right now there doesn't seem to be a way to get the address/port of a connected client from a server instance.
Are there any concerns about adding netcode_address_t to the API and adding a method like netcode_address_t netcode_server_client_address(int client_index) that returns the appropriate entry from netcode_server_t::client_address?

Yes. I don't want to expose the netcode_address_t as a public interface. The idea behind this is to keep  the interface simple, eg. only pass addresses around as strings.
So if you want to add a function that returns the client address as a string, I'm OK with that, but not as a netcode_address_t
cheers

Ah, that makes sense! I'm fairly new to network programming and wasn't sure if there was a security issue to worry about. :)
I had actually added void netcode_server_client_address(struct netcode_server_t * server, int client_index, char* client_address); in my fork. Since it's so straightforward I'm not sure if it's worth submitting a pull request, but I can do that if you want.
Cheers, Dario


Check for unused variables, functions, modules, structures, and enums

Perhaps these should be warnings (if so they could be optional warnings that can be disabled too?). Or we can do the Go route where we throw an error, but maybe not for unused modules, because it's really annoying.
Though I do think maybe unused functions/variables/structures could be errors.

Maybe by default a warning, and trough a compiler switch, an error (by appending --strict or something?).

If it's default, the flag would probably be the opposite of strict to disable it. I'd imagine something like --no-warnings or I dunno --lenient?

Boom, an attribute for ignoring the unused warnings?


Possible incompatibility with WebStorm 10

Hi,
I'm Dennis from WebStorm team. Our internal check indicated that your plugin v1.0.12 is using API that is not compatible with upcoming v10 EAP:
com.intellij.lang.javascript.index.JSIndexEntry com.intellij.lang.javascript.index.JavaScriptIndex#getEntryForFile(VirtualFile, GlobalSearchScope)
com.intellij.lang.javascript.index.CompositeIndexContent com.intellij.lang.javascript.index.JSSymbolUtil#indexFile(PsiFile, com.intellij.util.indexing.FileContent)
com.intellij.lang.javascript.index.JSIndexEntry
com.intellij.lang.javascript.index.JSEntryIndex

As I don't see these calls in the repository (as well as v1.0.12), I suppose they're not yet pushed. Please contact me to receive WS10 nightly build and API migration advice if you want to adopt your plugin early.

I've cleaned up unused code, can you please check again?
Thanks

It seems ok now, thank you!


Strange characters coming through Kinesis stream

I just added the following flags to enable the Kinesis Recorder and I can see rows flowing over but when I hook up the stream to Kinesis Analytics I'm seeing a bunch of what looks like binary data flow over(per the screen shot above.
{
"name": "FLAGR_RECORDER_TYPE",
"value" : "kinesis"
},
{
"name": "FLAGR_RECORDER_KINESIS_STREAM_NAME",
"value": "test-flagr-stream"
},
{
"name": "FLAGR_RECORDER_FRAME_OUTPUT_MODE",
"value" : "payload_raw_json"
}
I'm using the 1.1.3 release from docker hub running on AWS Fargate.

Hi @smithatlanta , while I'm looking into it, can you show us how exactly did you get/print the log in the first place?
CC @marceloboeira, did you see similar things from Kinesis? I don't have kinesis setup from AWS currently, I can try to find some time to see if I can reproduce this.

This screen shot was after I created the stream in Kinesis Data Streams and attempted to connect that stream to Data Analytics and discover the Schema.
This is the Data Analytics screenshot:

And this is after clicking the Discover Schema and then clicking Edit Schema.

It may actually be an issue with Data Analytics but I just wanted to report it if anyone else tried to do this.

@smithatlanta can you change encoding to UTF-8 and try again? JSON requires UTF-8 encoding usually.

Unfortunately I can’t help much, my setup was mainly using firehouse and I haven’t faced this issue. It seems to be encoding related, I’m to say that the record encoding has something to do with it for sure.  If it was flagger related we would’ve seen it as well. Unless the flagger encoring is somehow OS dependent...

@marceloboeira / @raviambati I'll double check that I'm sending using UTF-8 in the morning.  That makes the most sense to me based on what I'm seeing.

The screenshot shows windows 1252 encoring, on the steaming side...

So it must be something with the AWS Schema Discovery tool in Kinesis Analytics.  I tried sending UTF-8 encoded API calls and it still came up with binary characters.  So I verified things by hooking it up to a firehose and sent it to an S3 bucket and it looks clean.


LACKING DETAILS

While the package might be good, but friendly documentation would be greatly appreciated. From the ReadMe, the assumption is that everyone using the package was there when you were writing it. I mean, there's no detail about the arguments, like the width of the image, height of the image, or what to do when you want to generate random multiple images at once. There's also no type of hint on the construction classes to check ahead if there are any arguments expected. It would be great if you could think of that in your next release or whenever possible to work on the documentation. Also, what $imageFaker = new ImageFaker(new Picsum()); return and what we can do with it

@MotionPhix Thanks. I'll get right on it and have it completed asap!


Run Bloodhound with Podman

Hello guys,
i was looking for an alternative to docker desktop to run Bloodhound.
Found your projekt, but having problems to test it.
I installed Podman as it is the requirement (No dependencies except for podman (and bash, grep and date)!)
But i am not exactly sure how i do the step: Simply run ./bloodhound-su
Could you pleae help me out what i need to do exactly ?
thank you for your work & help

Just go into a command line, clone this repository, change to the right directory, and enter ./bloodhound-ce. (Note: the command changed.) If you have issues with any of those steps, I suggest asking ChatGPT or so. It's pretty basic stuff. Hope that helps!


Reorder Vimeo colors

Since the primary Vimeo brand color is the blue, it should be first in the list, which helps in situations where you want to iterate over the data.

🤜


pylint issue

Environment data

VS Code version: 1.30.1
Extension version (available under the Extensions sidebar): 2018.12.1
OS and version: macOS Mojave 10.14
Python version (& distribution if applicable, e.g. Anaconda): Python 3.7.1
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: matplotlib (3.0.2)

Expected behaviour
No red line should appear since syntax is correct. When I run the code, the expected plot with the right colormap is produced.
Actual behaviour
Red line under plt.
Steps to reproduce:

Write the code in the attached screenshot.
Run the code.

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
Starting Jedi Python language engine.
##########Linting Output - pylint##########
************* Module scatter_squares
6,49,error,E1101:Module 'matplotlib.cm' has no 'Blues' member

------------------------------------------------------------------
Your code has been rated at 5.00/10 (previous run: 5.00/10, +0.00)

##########Linting Output - pylint##########

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)
[Extension Host] debugger listening on port 14245
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:5724 [ms-python.python]: Command `python.datascience.exportoutputasnotebook` appears multiple times in the `commands` section.
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:3267 Extension Host
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:3267 Debugger listening on ws://<IP_ADDRESS>:14245/886d2f9d-23a6-4558-81ad-76e58c25981c
For help see https://nodejs.org/en/docs/inspector

/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Create file systemwatcher with pattern */python
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Create file systemwatcher with pattern */*/python
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Register Intepreter Watcher, Arg 1: {"$mid":1,"fsPath":"/Users/Miguel/Python Programs/Python Crash Course/project2","external":"file:///Users/Miguel/Python%20Programs/Python%20Crash%20Course/project2","path":"/Users/Miguel/Python Programs/Python Crash Course/project2","scheme":"file"}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Create file systemwatcher with pattern */python
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Create file systemwatcher with pattern */*/python
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Display locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Notify locators are locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Detected refreshing of Interpreters, Arg 1: {}, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Build the workspace interpreter watcher, Arg 1: {"$mid":1,"fsPath":"/Users/Miguel/Python Programs/Python Crash Course/project2","external":"file:///Users/Miguel/Python%20Programs/Python%20Crash%20Course/project2","path":"/Users/Miguel/Python Programs/Python Crash Course/project2","scheme":"file"}, Return Value: UNABLE TO DETERMINE VALUE
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Register Intepreter Watcher, Arg 1: undefined, Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Build the workspace interpreter watcher, Arg 1: undefined, Return Value: UNABLE TO DETERMINE VALUE
6/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Hide locator refreshing progress, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: All locators have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:303 [Extension Host] Python Extension: Checking whether locactors have completed locating, , Return Value:
/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:1504  INFO no standard startup: not a new window

scatter_squares_code.txt

Unfortunately the messages are returned by pylint (external tool).
You'll need to report this to pylint


First revision of FPGA flow augmentation to use FPGA objects that hou…

…se family-specific tool settings and are selected based on part name.
Separate PR stacked on top of SC-559 so that it can be reviewed separately.  Recommend approving this for merge into SC-559 then merging SC-559 to main from there.

Eliminating tool-specifics as requested makes a lot of sense to me.  One note on the comment -- the file isn't a customer file, it's actually a vendor file (though of course for VPR the "vendors" are usually academic).  So when we do "sclib for ebrick-fpga" to provide an SC plugin for fpga flows for our products my expectation is that these files will be furnished by us and bundled with the plugin.

The point is that files used only by one eda tool (vpr) should not have an
entry in the schema. The schema must be tool agnostic.
On Fri, Aug 4, 2023, 16:16 Peter Grossmann @.***> wrote:

Eliminating tool-specifics as requested makes a lot of sense to me. One
note on the comment -- the file isn't a customer file, it's actually a
vendor file (though of course for VPR the "vendors" are usually academic).
So when we do "sclib for ebrick-fpga" to provide an SC plugin for fpga
flows for our products my expectation is that these files will be furnished
by us and bundled with the plugin.
—
Reply to this email directly, view it on GitHub
https://github.com/siliconcompiler/siliconcompiler/pull/1821#issuecomment-1666126695,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARAM4DK3TWRWIMGDHWBHN3XTVKBVANCNFSM6AAAAAA3B5C3A4
.
You are receiving this because your review was requested.Message ID:
@.***>

This should be ready to go now.  I will be leaving to catch my plane very soon; probably can't support additional changes myself until I get back.

@aolofsson These changes simplifies the schema to:

'fpga', 'partname'
'fpga', '<partname>', 'file', 'archfile',
'fpga', '<partname>', 'lutsize',
'fpga', '<partname>', 'var', 'channelwidth',
'fpga', '<partname>', 'vendor',

https://github.com/siliconcompiler/siliconcompiler/pull/1821/commits/8587a9221a5a15a1d88208d54ef93ed0c54c7fb0 restores the old selection code, with modifications to work with this setup.


Multiple memcached does not work

Laravel Version
10.4.1
PHP Version
8.2.1
Database Driver & Version
No response
Description
I have 2 memcached servers configured. As it currently works, if one of the servers goes down, memcached doesn't work.
The correct solution would be if one server stops, the other one is still working.
This is unfortunately not the case at the moment.
Could you confirm if this is a problem or am I mistake something?
Steps To Reproduce
File: src/Illuminate/Cache/MemcachedConnector.php
Current source:
public function connect(array $servers, $connectionId = null, array $options = [], array $credentials = [])
    {
        $memcached = $this->getMemcached(
            $connectionId, $credentials, $options
        );

        if (! $memcached->getServerList()) {
            // For each server in the array, we'll just extract the configuration and add
            // the server to the Memcached connection. Once we have added all of these
            // servers we'll verify the connection is successful and return it back.
            foreach ($servers as $server) {
                $memcached->addServer(
                    $server['host'], $server['port'], $server['weight']
                );
            }
        }

        return $memcached;
    }

Possible solution:
public function connect(array $servers, $connectionId = null, array $options = [], array $credentials = [])
    {
        $memcached = $this->getMemcached(
            $connectionId, $credentials, $options
        );

        if (! $memcached->getServerList()) {
            // For each server in the array, we'll just extract the configuration and add
            // the server to the Memcached connection. Once we have added all of these
            // servers we'll verify the connection is successful and return it back.
            **$serverlist = array();**
            foreach ($servers as $server) {

                $memcached->addServer(
                    $server['host'], $server['port'], $server['weight']
                );

                **if ($memcached->getVersion() !== false)
                {
                    $serverlist[] = [$server['host'], $server['port'], $server['weight']];
                }
                $memcached->resetServerList();**
            }
        }
        **$memcached->addServers($serverlist);**

        return $memcached;
    }

Hey there,
While this may be a legitimate issue, can you first try posting your problem or question on one of the support channels below? If this issue can be definitively identified as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!


triangle: incorrect test in some tracks

Please check if there's a test that states that a triangle with sides 2, 4, 2 is invalid. The triangle inequality states that for any triangle, the sum of the lengths of any two sides must be greater than or equal to the length of the remaining side. If this doesn't affect this track, go ahead and just close the issue.

There is such a test. See: https://github.com/exercism/xfsharp/blame/master/exercises/triangle/TriangleTest.fs#L76

There shouldn't be such a test. 2, 4, 2 is valid.

Whoops! I'll re-open the issue then.

Thanks--there's some confusion here. Check out the discussion in the erlang track: https://github.com/exercism/xerlang/issues/85

@kytrinyx I just read the Erlang discussion. Is the consensus there that the test should be modified or that it should be removed?

I'm not sure yet. Let's give this a week, and then I'll summarize the discussion somewhere, make a recommendation, and then ask people to holler if they disagree.

There was a bit of confusion with this issue. I've summarized my current understanding here: https://github.com/exercism/x-common/issues/202
I am closing this issue. If necessary I will open a new issue once we have come to an agreement about how to resolve the inconsistencies and what exact steps to take.


[HOLD][WIP][No QA] Upgrade Jest and add tests for tooltips

HOLD on https://github.com/Expensify/App/pull/12168
Details
This PR is branched off of https://github.com/Expensify/App/pull/12168. It adds automated tests to cover tooltips and also upgrades Jest to 29. Upgrading Jest isn't strictly necessary, but it was challenging to upgrade and comes with a few performance improvements, new features, and bug fixes, so it seems like a worthwhile change since we'll continue to use Jest for the foreseeable future.
Fixed Issues
$ n/a – more context in https://github.com/Expensify/App/pull/12168
Tests
None – this PR just focuses on automated tests and doesn't actually change the functionality of Tooltips or the app itself.

[ ] Verify that no errors appear in the JS console

Offline tests
None.
QA Steps
None.
PR Author Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for the expected offline behavior in the Offline steps section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Whoa, I'm not sure how this got merged. I did not merge this on purpose. I merged https://github.com/Expensify/App/pull/12168 and it seems like this automatically merged. I should not have been able to merge this without an approver anyways, and while it was on HOLD.

Created a slack thread here and an issue here to investigate further.


Fix160

Should eventually close #160 , needs testing on windows first.

This seems to work on windows.


A11y-friendly KUI

Opening this issue to begin the effort to ensure that KUI is meeting accessibility compliance.  A11y is a mandatory item for many product teams around IBM, and we want to make sure everyone is able to use KUI =).  We should support accessibility for both the desktop and web versions of KUI.
Something that may help is to integrated automated accessibility scans, can see this page:  http://ibm.biz/A11yToolsLandingPage.  This will help cut down on the DAP scan violations.  Will still need to test other things like keyboard navigation, high contrast, etc.

i think we are in pretty good shape here. i will close this, and we can open issues for specific features as we find them.


[WIP] Start making the BasisTranslator Target/BackendV2 aware

Summary
In #5885 we added the next version of the abstract Backend interface
BackendV2 which added the concept of a Target which represents a
compiler target for the transpiler. It contains all the information
about the constraints of a backend for the compiler to use and replaces
the combination of basis_gates, coupling_map, etc and expands the
representation to model more complex devices. However, in #5885 we only
introduced the interface and didn't modify the transpiler to use the
Target natively or any of the extra information it contains. This commit
is the start of the process of updated the transpiler to work with a
target natively. To start if a backend has a target that is now passed
through from transpile to the passmanager_config so we can start passing
it directly to passes as we enable it. Then the basis translator is
updated to work natively with a target instead of the basis gates list
it used before. In addition to using a target directly support is added
for heterogeneous gate sets so that target instructions can work on only
a subset of qargs.
Building off this in the future There are additional features in target
that we might want to expand support for in the BasisTranslator in the
future, such as supporting custom variants of the same gate, or handling
fixed angle rotation gate variants, etc.
Details and comments

This is tagged as on hold because it's on top of #5885 and will need to be rebased after #5885 merges. To see the contents of just this PR you can look at the last commit: https://github.com/Qiskit/qiskit-terra/pull/7227/commits/84361f2f16b90a9ea71c3361c6b896884f2b491b which contains the diff for this PR

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

463 of 517 (89.56%)  changed or added relevant lines in 13 files are covered.
7 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.04%) to 82.425%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/transpiler/passmanager_config.py
5
7
71.43%

qiskit/test/mock/fake_backend_v2.py
40
44
90.91%

qiskit/transpiler/target.py
207
213
97.18%

qiskit/compiler/scheduler.py
13
21
61.9%

qiskit/compiler/transpiler.py
60
68
88.24%

qiskit/providers/backend.py
76
102
74.51%

Files with Coverage Reduction
New Missed Lines
%

qiskit/compiler/transpiler.py
1
90.73%

qiskit/transpiler/passes/basis/basis_translator.py
1
98.98%

qiskit/extensions/quantum_initializer/uc.py
2
88.65%

qiskit/pulse/library/waveform.py
3
90.38%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
50080

Relevant Lines:
60758

💛  - Coveralls

can you add a test to transpile a circuit containing ccx to FakeMumbaiV2? It should utilize rzx(pi/2) and rzx(pi/4) if you base this branch off of https://github.com/Qiskit/qiskit-terra/pull/7279

can you add a test to transpile a circuit containing ccx to FakeMumbaiV2? It should utilize rzx(pi/2) and rzx(pi/4) if you base this branch off of #7279

I have tested this and it doesn't pick rzx right now, for two reasons I think. The first is that the path to cx is likely shorter and will be favored by the basis translator. The second is this PR doesn't handled tuned variants correctly, it only adds support for heterogeneous gate sets (so different gates on different qubits). So right now even where there is a path from ccx -> rzx the basis translator won't think this is valid because rzx_30, rzx_45, and rzx_90 are the targets it considers. The first half should be easily fixable with #7211 where we can change the search based on error rates. The second half though we probably will need to rework how the basis translator finds matches to consider the gate instance and not just the name (although the name will be needed still for mapping).

Ok now that #5885 has merged I've rebased this on main and it's unblocked now

This seems to be more complicated than initially thought. If single qubit gates in Target are non-global, the current version of BasisTranslator will fail to find a solution. The reason is that besides the gates calculated here
https://github.com/Qiskit/qiskit-terra/blob/e6f90030350c3d6606eaa20b2a8637730eb17173/qiskit/transpiler/passes/basis/basis_translator.py#L131-L132
we also have available the gates acting on each individual qubit in qarg but at the same time we can't naively take the union of all of them.
For example:
from qiskit.circuit import QuantumCircuit, Parameter
from qiskit.circuit.library import UGate, RZGate, XGate, SXGate, CXGate
from qiskit.circuit.equivalence_library import SessionEquivalenceLibrary as sel

from qiskit.transpiler import PassManager, Target, InstructionProperties
from qiskit.transpiler.passes import BasisTranslator

gmap = Target()

# U gate in qubit 0.
theta = Parameter('theta')
phi = Parameter('phi')
lam = Parameter('lambda')
u_props = {
    (0,): InstructionProperties(duration=5.23e-8, error=0.00038115),
}
gmap.add_instruction(UGate(theta, phi, lam), u_props)

# Rz gate in qubit 1.
phi = Parameter("phi")
rz_props = {
    (1,): InstructionProperties(duration=0.0, error=0),
}
gmap.add_instruction(RZGate(phi), rz_props)

# X gate in qubit 1.
x_props = {
    (1,): InstructionProperties(
        duration=3.5555555555555554e-08, error=0.00020056469709026198
    ),
}
gmap.add_instruction(XGate(), x_props)

# SX gate in qubit 1.
sx_props = {
    (1,): InstructionProperties(
        duration=3.5555555555555554e-08, error=0.00020056469709026198
    ),
}
gmap.add_instruction(SXGate(), sx_props)

cx_props = {
    (0, 1): InstructionProperties(duration=5.23e-7, error=0.00098115),
    (1, 0): InstructionProperties(duration=4.52e-7, error=0.00132115),
}
gmap.add_instruction(CXGate(), cx_props)

qc = QuantumCircuit(2)
qc.cz(0, 1)
----
raises TranspilerError

@georgios-ts oh that's a good point I hadn't considered that. Yeah it will be trying to do a search on (0, 1) from cz to {'snapshot', 'barrier', 'cx'} and it won't find anything because there is nothing it can use for the intermediate translation of h. I'll have to update that intermediate target set on the non-global gate to use the per qubit 1q matches too.

@georgios-ts I think I've fixed this in: https://github.com/Qiskit/qiskit-terra/pull/7227/commits/963b459b0797e588c75caeeb3542738ceca730eb but I'm a bit concerned that approach might be fragile and there are other edge cases we're missing here

@mtreinish Yeah, 963b459 is not the end of the story since if you try with the same target as in the previous example and the following circuit
qc = QuantumCircuit(2)
qc.iswap(0, 1)

the output circuit will have gates outside of the basis for qubit 0. This is the reason I briefly mentioned

but at the same time we can't naively take the union of all of them.

in the previous comment. (I don't have in mind a nice complete solution)

That's a good point, I think we might be able to get away with just documenting that as a known issue though (I'll add a release note for it). The reason I think this is because when transpile() is called we always run the basis translator > 1 time in this case (for optimization levels >=1 it's part of the optimization loop and for level 0 it's after gate direction is run which it will if there are non_global basis gates) and if you run the basis translator a second time it will correct those cases.

Another unexpected behavior that will not come up in preset pass managers since BasisTranslator runs post-routing and the circuit will already be adapted in hardware connectivity but if run as a standalone pass, the following will raise or will not raise if you uncomment the commented line.
(IMO it should raise in both cases)
from qiskit.circuit import QuantumCircuit, Parameter
from qiskit.circuit.library import UGate, CXGate, ECRGate
from qiskit.circuit.equivalence_library import SessionEquivalenceLibrary as sel

from qiskit.transpiler import PassManager, Target, InstructionProperties
from qiskit.transpiler.passes import BasisTranslator

gmap = Target()

# U gate in qubit 0.
theta = Parameter('theta')
phi = Parameter('phi')
lam = Parameter('lambda')
u_props = {
    (0,): InstructionProperties(duration=5.23e-8, error=0.00038115),
    (1,): InstructionProperties(duration=5.23e-8, error=0.00038115),
    (2,): InstructionProperties(duration=5.23e-8, error=0.00038115),
}
gmap.add_instruction(UGate(theta, phi, lam), u_props)

cx_props = {
    (0, 1): InstructionProperties(duration=5.23e-7, error=0.00098115),
    # (1, 2): InstructionProperties(duration=5.23e-7, error=0.00098115),
}
gmap.add_instruction(CXGate(), cx_props)

ecr_props = {
    (1, 2): InstructionProperties(duration=5.23e-7, error=0.00098115),
}
gmap.add_instruction(ECRGate(), ecr_props)

qc = QuantumCircuit(3)
qc.cx(0, 2)

pm = PassManager([
    BasisTranslator(sel, target_basis=None, target=gmap)
])

circ = pm.run(qc)


Clearing and hiding  check boxes

I modified the code for the check boxes to hide the ones with (0) items after filtering.
      var c = $(this), count = 0
      if(result.length > 0){
        count = jQ.where({ 'litType': c.val() }).count;
      }
	  //hide the checkboxes if value is 0////////
	  if (count ==0) {
		  $('#'+c.val().replace(/\s/g, '')).hide();
	  }	else {
		  $('#'+c.val().replace(/\s/g, '')).show();
	  }
      c.next().text(c.val() + '(' + count + ')')
    });```

I'm trying to figure out how to uncheck All and the items that are left so
the user can just pick the item they want. Currently they have to first
uncheck All, then check the item they actually want.

I did do this which works but produces some unexpected filtering.
I have two different sections with checkboxes Literature Type and Product Type
After entering your search terms, the page refreshes and the checkboxes are all unchecked.
If I check off an item it either area, it works. If I select an item in one area and then the other, it gives unexpected results in the search.
function afterFiltered(){//Unchecks the boxes after a search
  $('#litType_criteria :checkbox').prop('checked', false);
 /$('#prodType_criteria :checkbox').prop('checked', false);
}

And added that function to the callback.

Thanks for the answer. But if all are unchecked by default, when you checked one of the checkbox, the counter of the others is reset(will be 0). Did you find any solution to this?