New-GSuser Permissions issue

Whenever I try to create a new user using New-GSUser it gives me an error: Not Authorized to access this resource/api [403]
This is strange to me because I used a Super Admin account and followed all of the initial setup instructions to a t. I am able to use New-GSOrganizationalUnit just fine as well as other OU related commands. I just now got to the part of my script where I am adding users and have hit a brick wall here. I cant figure out why it thinks I dont have access to the API. I enabled everything just like I was told to. How can I troubleshoot this farther?
Here is the exact command I am trying to run as a test:
New-GSUser -PrimaryEmail<EMAIL_ADDRESS>-GivenName "billy" -FamilyName "bob" -Password (ConvertTo-SecureString -String 'Password1!' -AsPlainText -Force) -ChangePasswordAtNextLogin

Also if it helps I just tested and I am able to update a user with Update-GSUser just fine. Its only New-GSUser thats giving me an error.

 If anyone else gets this error its because the domain for the email address you are assigning them has to be your own...


Use hashset instead of treeset to resolve duplicate record literal keys

Purpose
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/14074

Codecov Report

Merging #14080 into master will increase coverage by 0.19%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master   #14080      +/-   ##
============================================
+ Coverage     64.54%   64.74%   +0.19%
  Complexity      426      426
============================================
  Files          2172     2173       +1
  Lines         95562    95929     +367
  Branches      12736    12815      +79
============================================
+ Hits          61682    62107     +425
+ Misses        28875    28799      -76
- Partials       5005     5023      +18

Impacted Files
Coverage Δ
Complexity Δ

...lang/compiler/semantics/analyzer/CodeAnalyzer.java
85.27% <100%> (+0.58%)
0 <0> (ø)
:arrow_down:

...allerinalang/net/jms/LoggingExceptionListener.java
50% <0%> (-50%)
0% <0%> (ø)

...ng/compiler/packaging/converters/ZipConverter.java
46.91% <0%> (-23.46%)
0% <0%> (ø)

...a/org/ballerinalang/bre/bvm/WorkerDataChannel.java
83.95% <0%> (-1.24%)
0% <0%> (ø)

...in/java/org/wso2/ballerinalang/util/RepoUtils.java
51.11% <0%> (-1.17%)
0% <0%> (ø)

...g/compiler/packaging/converters/PathConverter.java
43.18% <0%> (-1.01%)
0% <0%> (ø)

...a/org/ballerinalang/bre/bvm/GlobalMemoryBlock.java
78.43% <0%> (-0.99%)
0% <0%> (ø)

...org/ballerinalang/bre/bvm/WaitCallbackHandler.java
81.08% <0%> (-0.91%)
0% <0%> (ø)

.../org/ballerinalang/database/sql/SQLDatasource.java
67.03% <0%> (-0.55%)
0% <0%> (ø)

...ng/compiler/packaging/converters/URIConverter.java
12.5% <0%> (-0.27%)
0% <0%> (ø)

... and 34 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d412184...0e18b11. Read the comment docs.


add unit test to document (counter-intutive?) collectAll path-tracking behavior

duplicate of https://github.com/ShiftLeftSecurity/overflowdb/pull/360, mostly to debug github actions runners

didn't start those runners either...


Small bug in discriminator.py

Seems like there is a small bug here . conv2d_res doesn't take norm as an argument. So, you might wanna remove it.

Yes, as long as we comment the norm line, it is able to work smoothly


Deprecated class in favor of Web Resource Activity and Security Control.

Related Issue:
Description of changes:
Deprecated class in favor of Web Resource Activity and Security Control.

Redundant with a previous PR.


GSK 1191 Allow to save scan transformation in Hub catalog

Description

Related Issue

Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

Checklist

[ ] I've read the CODE_OF_CONDUCT.md document.
[ ] I've read the CONTRIBUTING.md guide.
[ ] I've updated the code style using make codestyle.
[ ] I've written tests for all new methods and classes that I created.
[ ] I've written the docstring in Google format for all the methods and classes that I used.

Adding a wrapper function will be more efficient, we would have to rethink the class are heavily impacted with the @transformation_function annotation and the change will be extremely breaking.


Failed to update DllInjector.ini,check errors.log

what is the problem？
Invalid file？
GreenLuma 2020 files download link is what？Or how to generate?

Make sure the file is lost, where is the file download address?

Mine doesn't even come with dllinjector

The manager does not come with GreenLuma 2020 itself, DLLInjector.ini is a part of GreenLuma. I need the errors.log file to actually be able to help at all.


Exec shell and view logs do not work in an upgraded set up from rancher v2.2.6 to 2.2.7-rc1

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):
Have an rke cluster in v2.2.6 - AWS - 3 etcds, 2 control plane and 3 worker nodes.
Deploy some workloads in the cluster
Upgrade rancher to v2.2.7-rc1
Do an exec shell/view logs of the workload's pod.
Expected Result:
User should be able to exec shell/view logs of the workload's pod.
Actual Result
User is not able to exec shell/view logs of the workload's pod.
Error in console
WebSocket connection to 'wss://x.x.x.x/k8s/clusters/c-6mqzn/api/v1/namespaces/post-ns1/pods/post-testingresswl1-2rl9g/log?container=test1&tailLines=500&follow=true&timestamps=true' failed: Error during WebSocket handshake: Unexpected response code: 403

Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.2.6 to 2.2.7-rc1
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): AWS rke

@sowmyav27 Can be tested with v2.2.7-rc2.

@sowmyav27 let's use this to track that for 2.3 upgrades, that exec shell still works.

Have few  rke clusters in v2.2.6  with dedicated worker nodes:
AWS  cluster - k8s 1.13
AWS  cluster - k8s 1.14
Custom cluster -  k8s 1.13
Custom cluster -  k8s 1.14
Deploy few workloads in all the clusters.
Upgrade rancher to v2.2.7-rc4
After upgrade , exec shell/view logs works for pods in all the above clusters.


No RPM available for separated Kibana plugins

The RPM that OpenDistro provides includes Kibana + OpenDistro plugins for Kibana and these installations cannot be decorrelated. This means that we cannot provide our own Kibana distribution, but also that we cannot install plugins separately.
This is something we can do with OpenDistro ES plugins because the global RPM references  ElasticSearch RPM + OpenDistro plugins separately.

Hi fabdslv, you are correct. The Kibana RPM Open Distro provides includes Kibana-oss and the OpenDistro plugins for alerting and security. We are working to make the build scripts as well as artifacts for each plugin available. Stay tuned.


Any support for performing markup validation on JSON-LD with json-ld/json schema ?

Looking to validate json-ld(below) with json-ld/json schema. If no support is there any other library which can fulfill my purpose ?
{
    "@context": "http://www.w3.org/ns/odrl.jsonld",
    "@type": "Offer",
    "uid": "d84a3427-735d-4cdc-8e4c-51d9dc8c15ee",
    "permission": [
      {
        "uid": "d8bd23da-8e2d-4e3e-97f0-6e59e1793b14",
        "target": "d8bd23da-8e2d-4e3e-97f0-6e59e1793b00",
        "action": "concurrentUse",
        "assigner": "TEST",
        "assignee": "TSTORNG",
        "constraint": [
          {
            "uid": "1ce11f45-f3a3-49a7-8d23-90d25d0fde5e",
            "leftOperand": "count",
            "rightOperand": {
              "@value": "42",
              "@type": "xsd:nonNegativeInteger"
            },
            "operator": "gteq",
            "unit": "Metric_1.2"
          }
        ]
      }
    ],
    "prohibition": [
      {
        "uid": "6d269472-9f2b-4191-bad7-fef05be6cb53",
        "target": "6d269472-9f2b-4191-bad7-fef05be6cb01",
        "action": "acceptTracking",
        "assigner": "NEWORNG",
        "assignee": "TEST",
        "constraint": [
          {
            "uid": "43f1e066-ff85-4fe8-b4f0-087351c2bafb",
            "leftOperand": "count",
            "rightOperand": {
              "@value": "90",
              "@type": "xsd:nonNegativeInteger"
            },
            "operator": "hasPart",
            "unit": "Metric_1.2"
          }
        ]
      }
    ]
  }```

Thanks for response @kazarena.
Regarding last part you said:

If you are looking for something more practical, for example, an ability to check that your own JSON structures match the desired context (there are no terms/fields that aren't defined in the context, either due to typos or introduction of new fields) I'd recommend using the expansion algorithm, or compaction (with inherent expansion), depending on your data and the desired level of automation. It will be easy to spot if anything is missing.

I checked structs "JsonLdOptions" and "NewJsonLdOptions"  present in "options.go". Couldn't find options to manipulate it to servemy purpose.Any example can you provide where I can validate above mentioned JSON-LD against a JSON-LD/JSON schema ?
Or any other library ?

@vibhordubey333, there are no additional options needed for this kind of validation. If you pass your JSON through a vanilla expansion algorithm (see this example), you will get an error if it's invalid from JSON-LD perspective (a check if you have a valid JSON-LD document). Then, by examining the expanded shape, you will be able to see if the terms were expanded as expected (a check if the provided context describes the data as intended).
But this may not be the validation you are looking for. If you describe your use case, whether the data you are validating comes from internal or external sources, what quality issues you may expect and what you would do with the data if validation fails, I may recommend a strategy.

Hi @kazarena,
Taking below code snippet from above. For instance we need to verify "unit" field, that value should be from the defined schema i.e ["Metric_1.1" , "Metric_1.2" , "Metric_1.3"]. If value is something outside from aforementioned values it will be marked as invalid.
Data which we're trying to validate will come from internal source. And schema which we will be using to validate will be hosted on our organization internal network.
"permission": [
      {
        "uid": "d8bd23da-8e2d-4e3e-97f0-6e59e1793b14",
        "target": "d8bd23da-8e2d-4e3e-97f0-6e59e1793b00",
        "action": "concurrentUse",
        "assigner": "TEST",
        "assignee": "TSTORNG",
        "constraint": [
          {
            "uid": "1ce11f45-f3a3-49a7-8d23-90d25d0fde5e",
            "leftOperand": "count",
            "rightOperand": {
              "@value": "42",
              "@type": "xsd:nonNegativeInteger"
            },
            "operator": "gteq",
            "unit": "Metric_1.2"
          }
        ]
      }
    ],

Hello @kazarena,
Any update ?

@vibhordubey333, sorry for the delay. I've looked at your example above. This kind of validation is out of scope for JSON-LD.
I still don't have enough information about the data you process and architectural requirements to advise on a specific library for validation. The example above looks like a business domain validation and the most efficient way to do it would be validate it in the code, as it would need to be aware of the unit semantics anyway.


Update CONTRIBUTORS.txt

@mildm8nnered do you want a different email address in the contributors file, or are you happy with the @users.noreply.github.com email?

@mildm8nnered do you want a different email address in the contributors file, or are you happy with the @users.noreply.github.com email?

<EMAIL_ADDRESS>please. Thanks!

🤦 didn't mean to merge it!


CADL APIView - manual pipeline tries to use hard-coded cadl-apiview version but that won't work

Due to NPM versioning, each version of cadl-compiler requires a new release of cadl-apiview that is compatible. The current pipeline for manual APIViews (by URL) has a hard-coded value of 0.3.0, meaning it is only compatible with one specific (old) version of Cadl compiler.
Generally speaking, the pipeline needs to install whatever version of cadl-apiview is compatible with the version of cadl-compiler present in the target spec. There are two scenarios:
1 - cadl-apiview not present in package.json
This is the most common case. Every spec must have a dependency on cadl-compiler, so the solution here is to install the version of cadl-compiler specified in package.json and use npm dependency resolution to figure out the compatible version of cadl-apiview to install.
2 - cadl-apiview is present in package.json
Give that we have enabled automatic APIVIews from PRs, this is likely to be the minor case, but if cadl-apiview is present in the package.json then it's reasonable to assume that the versions are compatible and use it. If they are not compatible, that's the fault of the spec author and should be an error.

We use global package.json by default to install typespec/cadl packages. This has been taken care in following PR.
https://github.com/Azure/azure-sdk-tools/pull/5196


Stygian Zinogre and Safi'jiiva localization non-existent in en-US.json

I can confirm that both LOC_MONSTER_STYGIAN_ZINOGRE and LOC_MONSTER_SAFI_JIIVA are not defined in the downloaded en-US.json file that gets downloaded from the auto-update feature that exists with SmartHunter. Upon further investigating, I can see that it is indeed missing from master/SmartHunter/Game/Config/LocalizationConfig.cs. Minor issue, I was able to add them on my own end fine and it works, just wanted to let you know as a regular user will be given the non-localized name.

Yep I forgot those, pushed a new update to add them :)
Thanks for the report

Can confirm this is fixed. Thanks again!


Dark theme stops being applied when children contain client-rendered context (NextJS 13)

Hi!
I was so excited by the release of the themes package that I thought I'd rewrite a small internal app in Next 13 with it and have some fun.
Here's the rub - this works:
export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (

        <Theme appearance="dark" accentColor="red">

This will render dark

        </Theme>

  )
}

This doesn't work (renders light theme):
'use client'

import React from 'react'

const TestContext = React.createContext(null)

export const ClientOnly = () => (
  <TestContext.Provider value={null}>

This is client only and renders light

  </TestContext.Provider>
)

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (

        <Theme appearance="dark" accentColor="red">
          <ClientOnly />
        </Theme>

  )
}

Seems like a bug right?

I'm also noticing that the theme overrides the font imported by Next and there's no way to configure that??

The docs has a section about how to setup with next/fonts

Ok, thanks, but that's not the main issue. Why does the dark theme disappear in the second snippet?

I used your code to create an example:
https://codesandbox.io/p/sandbox/twilight-firefly-h8q8j7

Seems to work fine. Is the example accurate?

This appears to be related to #22
I think if that is solved, so will this issue

@georgiosd See if this comment describes your environment.
Specifically, look for the script tag that looks like: (yours may be slightly different)

Is it mounted directly under the  or is there a parent between the  and


No color applied by default to list dialogs items

Hey there,
I just discovered, after updating to the last version of the lib ,that on dialogs items the text color is not applied by default. You have to define an itemColor in the builder to actually see each item.
Thanks in advanced

Someone else reported this too. You have the wrong version.


Update index.md

Remove the redundant code in the examples from the document.
@coderabbitai review

@coderabbitai ignore

@coderabbitai review

Thank your for contribution. The docs are moved to https://github.com/bacalhau-project/docs. @MichaelHoepler do you mind verifying https://github.com/bacalhau-project/docs/blob/main/contributing.md is up to date?


UnicodeDecodeError when opening files

I'm getting the following error when trying to open files recorded in Acqknowledge 3.8.1.
/usr/local/lib/python3.6/dist-packages/bioread/__init__.py in read(filelike, channel_indexes)
     24     target_chunk_size:  A guide for the number of bytes to read at a time.
     25     """
---> 26     return reader.Reader.read(filelike, channel_indexes).datafile
     27
     28 # Deprecated; provided for compatibility with previous versions.

/usr/local/lib/python3.6/dist-packages/bioread/reader.py in read(cls, fo, channel_indexes, target_chunk_size)
     72         with open_or_yield(fo, 'rb') as io:
     73             reader = cls(io)
---> 74             reader._read_headers()
     75             reader._read_data(channel_indexes, target_chunk_size)
     76         return reader

/usr/local/lib/python3.6/dist-packages/bioread/reader.py in _read_headers(self)
    141         self._read_markers()
    142         try:
--> 143             self._read_journal()
    144         except struct.error:
    145             logger.info("No journal information found.")

/usr/local/lib/python3.6/dist-packages/bioread/reader.py in _read_journal(self)
    164         self.journal_header = None
    165         if self.file_revision <= rev.V_400B:
--> 166             self.__read_journal_v2()
    167         else:
    168             self.__read_journal_v4()

/usr/local/lib/python3.6/dist-packages/bioread/reader.py in __read_journal_v2(self)
    181         self.journal = self.acq_file.read(
    182             self.journal_header.data['lJournalLen']).decode(
--> 183             'utf-8').strip('\0')
    184
    185     def __read_journal_v4(self):

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 10: invalid start byte

Hello! Thanks for the bug report. Both bioread maintainers are pretty busy this month, so response from us may be a bit slow...
Can you please post results of a run with --verbose? Thanks!

Hi @agharibans!
Yes, thank you for the bug report. Is there any chance you can share the file you're having trouble reading?
Also, what version of Python are you running?

Never mind, I looked at the output and it's Python 3.6. Right now, bioread only works with Python 2; getting it going in Py3 is a good plan but not at the top of our list right now. Previously, I wanted to be sure it would work with both 2 and 3, but at this point, dropping support for Python 2 is probably fine.
If you install this with Python 2.7, it should work fine; I'm going to close the ticket — technically, this is probably a duplicate of #25. If that doesn't work, feel free to re-open this ticket.


[Question] npm run build

Just curious if the youtube video you've attached is no longer relevant.
There is no longer a "build" script in the package.json. Is there a new way to build a "distributable" or is this now up to the user?
Thanks!

Hi, @SamJWeissman
It doesn't need to be built anymore. I've added a note on the video:

@diegohaz
Awesome, thank you for the quick response!
The generator/your work is excellent so far.
I've done some front-end work but I'm super foreign to back-end. Is there any specific resource you'd recommend reading up on to get a better understanding of how the MASTER_KEY / JWT_SECRET work together? Just been reading some general stuff on JSON Web Tokens so far but not sure I follow where the MASTER_KEY comes in.


iasToXsuaaTokenExchange relies on a physical xsuaa binding and not using the xsuaa credentials from the destination service binding

Describe the bug
A clear and concise description of what the bug is.
iasToXsuaaTokenExchange relies on a physical xsuaa binding and not using the xsuaa credentials from the destination service binding.
This is a big problem when there is no xsuaa used for user authentication. In this case the iasToXsuaaTokenExchange will always fail.
To Reproduce
Steps to reproduce the behavior:
https://github.com/SAP/cloud-sdk-js/issues/4731
Expected behavior
A clear and concise description of what you expected to happen.
The SAP cloud SDK should only rely on the xsuaa credentials from the destination service
Screenshots
If applicable, add screenshots to help explain your problem.
Used Versions:

node version via node -v
npm version via npm -v
SAP Cloud SDK version you used as dependency

Code Examples
If applicable, add code snippets as examples to help explain your problem. Please remove sensitive information.
Log file
If applicable, add your log file or related error message. Again, please remove your sensitive information.
Impact / Priority

Affected development phase: e.g. Getting Started, Development, Release, Production
Impact: e.g. No Impact, Inconvenience, Impaired, Blocked
Timeline: e.g. Go-Live is in 12 weeks.
Additional context
Add any other context about the problem here.

Hey @ptesny, this is a good point and I think we have missed that. I already implemented that, but we still need to test the whole IAS support end-2-end better to make sure we don't introduce other issues.

@marikaner ; thx for confirmation; on a side note this is how the SAP Approuter works...if IAS only then SAP Approuter will exchange the ias token to xsuaa (using xssec lib) relying on the xsuaa credentials from the destination service itself.
the token exchange is triggered automatically via the SAP IAS application parameter called:
xsuaa-cross-consumption: true


Build step validation

Expected Behavior
I found in the knative docs the following build example:
apiVersion: build.knative.dev/v1alpha1
kind: Build
metadata:
  name: example-build
spec:
  steps:
  - name: ubuntu-second
    image: ubuntu
    args: ['echo', 'hello-example', 'second']
  steps:
  - image: ubuntu
    args: ['echo', 'hello-example', 'one']

The example defines the steps multiple times (actually only two times :D), the expected behavior would be that the build is rejected because the Spec is invalid.
Actual Behavior
Only one of the two steps will be executed (the step which is defined below, at least in my 3 test runs) and the other one will be ignored. The spec actually seems to be correct: https://github.com/knative/build/blob/v0.5.0/pkg/apis/build/v1alpha1/build_types.go#L69
Steps to Reproduce the Problem

Use the manifest from above
Run kubectl apply -f ..
Inspect the resulting build pod

Additional Info

I used the knative release v0.5
Running on a GKE cluster
I already created an issue for fixing the docs: https://github.com/knative/docs/pull/1289

kubectl versio
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-19T22:12:47Z", GoVersion:"go1.12.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12+", GitVersion:"v1.12.7-gke.10", GitCommit:"8d9b8641e72cf7c96efa61421e87f96387242ba1", GitTreeState:"clean", BuildDate:"2019-04-12T22:59:24Z", GoVersion:"go1.10.8b4", Compiler:"gc", Platform:"linux/amd64"}

I will try to dig into the issue and hopefully I will be able to fix this (mentoring or some hints are welcome :) )

This is the resulting build:
apiVersion: build.knative.dev/v1alpha1
kind: Build
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"build.knative.dev/v1alpha1","kind":"Build","metadata":{"annotations":{},"name":"example-build","namespace":"default"},"spec":{"steps":[{"args":["echo","hello-example","one"],"image":"ubuntu"}]}}
  creationTimestamp: "2019-05-08T18:34:07Z"
  generation: 1
  name: example-build
  namespace: default
  resourceVersion: "163654"
  selfLink: /apis/build.knative.dev/v1alpha1/namespaces/default/builds/example-build
  uid: dcfc8c4c-71bf-11e9-b521-42010aa4007f
spec:
  Status: ""
  serviceAccountName: default
  steps:
  - args:
    - echo
    - hello-example
    - one
    image: ubuntu
    name: ""
    resources: {}
  timeout: 10m0s
status:
  builder: Cluster
  cluster:
    namespace: default
    podName: example-build-pod-200876
  conditions:
  - lastTransitionTime: "2019-05-08T18:34:10Z"
    status: "True"
    type: Succeeded
  startTime: "2019-05-08T18:34:07Z"
  stepStates:
  - terminated:
      containerID: containerd://62e441b890dc7f26144b2a2efa5f6bff867bf665342dc0a1a11c7b78f8d0ae80
      exitCode: 0
      finishedAt: "2019-05-08T18:34:09Z"
      reason: Completed
      startedAt: "2019-05-08T18:34:09Z"
  stepsCompleted:
  - build-step-unnamed-0

I found this in thee docs https://knative.dev/docs/build/builds/#steps but I don't know if this is outdated or an outlook :D


DM entry not getting deleted properly

Description

After creating DM entry through campaign details page, then deleting that DM entry in the DM entry index page. The entry will not be deleted in the entries table in the campaign details page.
Expected Behavior

The DM entry should be deleted.
Actual Behavior

The DM entry is deleted in the DM entry index but not in the campaigns entry table.
Steps to Reproduce

Create a DM entry through campaign's detail page
Go to DM entry index (through characters tab)
Delete the DM entry just created
Return to the campaign's detail page and the entry is still there

Context

Possible Fix

Other
Description

Additional Notes

Hey team! Please add your planning poker estimate with ZenHub @bcobo341 @IanjhPhillips @JasonGadoury @RobertoNittolo

I'm not sure this is still valid, it looks like the DM entires don't show up at all on for the DM on the Campaign details page? Maybe what i'll do is re-work the way we show entries on that page


Add Node requirements minimum version

https://github.com/mjmlio/mjml/issues/1665

Closing for now feel free to reopen a PR with every packages


CLI Code snippets

Fix bug with missing query parameter values

Fixes
#1621
#1622
#1623
#1624

@timayabi2020, could you please use separate branches for each of the feature fixes (#1621
, #1622, #1623, #1624) then open a PR against dev? The work on API doctor should be separated from the fixes since we want to merge the fixes as they become available.

@calebkiage Yes, I had actually started working on the targeted branches for those issues, with the aim of merging to this branch, but I wasn't able to. I have been using this branch to run the snippet generation pipeline for cli and testing those snippets. I will close it once I'm done with the tests.

Closing this PR to work on fixes with targeted branches that will be merged to dev


The accuracy of prediction on MUTAG dataset

Hi, I ran the code by its default setting which is training on MUTAG, the learning rate and other parameters are remained as the default value. However, I can only achieve 72.22% accuracy after 300 epochs of training, which is different from the reported 85.83% in the paper. Could you give any suggestions to fix this?

When I adjust the learning rate to 0.001, the accuracy increases to 83.3%

Hi, MUTAG is a rather small dataset that is prone to overfitting and sensitive to parameters/data splitting. I suggest you do 10-fold cross validation and calculate the average accuracy, or more stably average out 10 series of cross validation accuracies. Or perhaps, moving to another larger dataset. Thanks!

@muhanzhang Thank you for your quick reply and suggestions. Your suggestion really works! I should've paid more attention to the experimental settings in the paper.

Hi, after using the 10-fold cross validation, my accuracy for the datasets are respectively: D&D 77.86%; PROTEINS 73.06%; MUTAG 83.33%. Would you give me some suggestions of how to improve the results to the reported values in the paper. Thank you in advance~

I wa using the default hype-parameters. I ran the code with "./run_DGCNN.sh Dataset 0" every time to get the results. The above accuracies were the best I could achieve after repeated execution.

Hi, the original paper uses a batch size 1. By changing bsize=1, I ran on the default permutation indices provided, I got average accuracies:
MUTAG: 0.8611
PROTEINS: 0.797673
DD: 0.773504
on my machine. The results of the paper were got from the original torch version by running 10 series of 10-fold cross validation exps (each using a different permutation order) and reporting the average of the 10 average accuracies.

Yes, I tried it on weekends, now the accuracy seems corresponding now. Thank you so much for the answering, it helped me a lot!


server: use an individual package for join

What problem does this PR solve?
Part of modularizing PD. It should be reviewed after #1657 is merged.
What is changed and how it works?
This PR uses an individual package for join.
Check List
Tests

Unit test

LGTM, please resolve conflicts


Prometheus won't read file_sd_config

When I try to load a file_sd_config file, I get no error, but prometheus doesn't show any of those hosts on the status page as candidate for scraping, no matter how long I wait. Nothing is logged, even with -log.level=debug, and promtool doesn't check that file.
included file:
targets:
  - host1.example.com:9103
  - host2.example.com:9103
  - host3.example.com:9103
  - host4.example.com:9103
  - host5.example.com:9103
labels:
  - job: zookeeper

I'm using this prometheus:
prometheus, version 0.15.0rc3 (branch: master, revision: d437fce)
  build user<EMAIL_ADDRESS>  build date:       20150720-16:25:16
  go version:       1.4.2

The actual prometheus.yaml is here:
global:
  scrape_interval:     15s
  evaluation_interval: 15s

  labels:
      cluster: dev
      replica: "1"

scrape_configs:
  - job_name: 'prometheus'
    target_groups:
      - targets: ['localhost:9090']

  - file_sd_configs:
    - names:
      - /Users/swsnider/hierasd.yml
    job_name: file_sd

If I start up Prometheus with your setup, I do get an error message:
ERRO[0099] Error reading file "sd.yml": yaml: unmarshal errors:
  line 1: cannot unmarshal !!map into []*config.TargetGroup  file=file.go line=172

You need to reformat /Users/swsnider/hierasd.yml to
- targets:
  - host1.example.com:9103
  - host2.example.com:9103
  - host3.example.com:9103
  - host4.example.com:9103
  - host5.example.com:9103
  labels:
    job: zookeeper

I don't see errors upon my prometheus, version 0.17.0 (branch: stable, revision: 6e8d4e9). How do I check for an error?
I'm losing my mind why for example:
http://s.natalian.org/2016-04-13/prometheus.yml
http://s.natalian.org/2016-04-13/targets.yml
Is not working.

Ok, the real issue is that targets.yml wasn't getting picked up & no error message was being shown. It needed to be a absolute URL in my case. I'll file a new bug.


chore: bump version to 1.0.0rc

Dumb question: does this also entail puppeteer landing/packing a stable version of Chrome as well?

@joelgriffith no, this step is to stabilize PPTR api.

@aslushnikov Are there any plans to export the Page class from PPTR in version 1.0.0? Right now, if I want to add methods to the Page prototype, I need to run the same lib/es6 switch logic that is present in index.js. Would be great if Page and other first-class classes were exported as non-defaults.

@alixaxel we currently have no plans to expose inner classes.
For your usecase, would it work if you just add methods to both node6 and regular versions of page?
function extendPuppeteer() {
  extendPage(require('lib/Page'));
  extendPage(require('node6/Page'));
}

function extendPage(pageClass) {
  pageClass.prototype.foo = function() {
    // ...
  }
}

@aslushnikov Yeah, exporting would be more elegant but something like that will do yes.

@aslushnikov Yeah, exporting would be more elegant

@alixaxel Would be. The reason we're reluctant on exporting classes is to limit API abuse: without classes there's no daunting desire to run constructors with hacked-in arguments.


A user should be able to view progress of all goals

[ ] create a loader that displays % progress of all goals

@Sticklo on slack has laid claim to this issue and is now working on it


Better failure analysis when Gateway is embedded in a MVC app

Is your feature request related to a problem? Please describe.
With Spring MVC being the most popular option to build spring web apps, users are likely to try using this project in combination with Spring MVC (spring-boot-starter-web specifically). The fact that this project brings Spring Webflux does not matter unfortunately as Spring Boot starts up in Servlet mode when both web and webflux are on the classpath.
While this is an invalid combination, the failure analysis on startup is too low level and doesn't indicate to the user what is wrong with their setup:
***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' that could not be found.

Action:

Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.

This looks like an oversight of a more general approach as starting the app with a more narrowed web application type leads to:

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

Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. Please remove spring-boot-starter-web dependency.

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

Describe the solution you'd like
Backing off completely sounds heading in the opposite direction given users opting-in for this project. Perhaps the auto-configuration could have a check on MVC and throw a dedicated exception? This exception can have a dedicated failure analyzer that would provide a more precise explanation about the setup and why it is invalid.
An action could be that spring.main.web-application-type should be set to reactive. However, given the warning above, that doesn't sound great so for consistency I guess we should ask the user to remove the dependency.
Describe alternatives you've considered
Backing off completely doesn't sound like a good idea.
Additional context
https://github.com/spring-io/start.spring.io/issues/653

Thanks for the update @spencergibb. I believe this change is a bit too broad, especially considering that Spring Boot supports starting a reactive web server even if Spring MVC is present on the classpath.
With Spring Cloud 2020.0.2, having both MVC and WebFlux on the classpath isn't a problem as long as the user has opt-in for WebFlux using spring.main.web-application-type=reactive.
With Spring Cloud 2020.0.3-SNAPSHOT and the same setup, I get:
***************************
APPLICATION FAILED TO START
***************************

Description:

Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway.

Action:

Please remove spring-boot-starter-web dependency.

With this change, the only solutions I found are to remove Spring MVC or disable Spring Cloud Gateway. Was this intended?

Gateway has narrower constraints than a general boot app (doesn't support tomcat yet for example). I can add setting the type to reactive as a suggestion, assuming it works (will need to test it).

Done. See 2be9d7f91c71861e9fe5e588b1a669d024ccaf2b


Minor updates

Hellu,
this is my first ever pull request :3
I added a glass eye to the packing list, since I recently got mine, and don't wanna forget to bring it.
And while reading the list a friend of mine noticed that some links were still pointing to the 36c3 wiki, so I updated those.
Goodday, and may the juice be with thee
rentin

Awesome, thanks for the contribution!


Target es6, use Object.assign

Simple clean up PR that covers a few things:

Changes TS config to target es6 instead of es5
Uses Object.assign instead of the util lib in the auth library
Switch a few modules over to es6 style imports

Codecov Report

Merging #742 into master will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #742      +/-   ##
==========================================
- Coverage   79.58%   79.49%   -0.09%
==========================================
  Files           6        5       -1
  Lines         240      239       -1
  Branches       53       53
==========================================
- Hits          191      190       -1
  Misses         30       30
  Partials       19       19

Impacted Files
Coverage Δ

lib/discovery.ts
67.64% <ø> (ø)
:arrow_up:

lib/googleauth.ts
100% <ø> (ø)
:arrow_up:

lib/apirequest.ts
97.29% <ø> (-0.04%)
:arrow_down:

lib/googleapis.ts
78.18% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 14e7377...3614828. Read the comment docs.

Does the import statement work in Node 4? I thought it did not.

@lukesneeringer note that this is in typescript now.

Re: target es6: that wouldn't necessarily work with Node 4 as it doesn't have complete ES6 support.

A good example would be array destructing, can't use it in our samples :(

I am counting on the Travis tests that cover Node 4 here :)  Are you ok with me targeting es6?

Given that the code coverage is at 79%, are we confident that we can trust the tests on this matter?

Some good news here is that the scripts/ dir, which contains the generator code, is by far the biggest culprit here:

I can work on getting better coverage for discovery.ts before moving on.


elmPackages.elm-json: init at 0.2.7

elm-json is tool for managing elm.json file. In addition to Elm's built-in elm install command it allows user to uninstall, list or upgrade dependencies.

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

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

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

@domenkozar This one is ready for review. Thanks in advance.

builder for '/nix/store/1h4p1wcv64ydxws9n8w4dfq5d338kq4i-elm-json-0.2.7.drv' failed with exit code 101

@domenkozar tests are now disabled because they perform networking.


Window transparency doesn't work on Windows 10

The DwmEnableBlurBehindWindow method for making windows transparent on Windows doesn't seem to work on Windows 10 anymore. On Windows 10 the DwmExtendFrameIntoClientArea function can be called with the margins set to -1 to make it fully transparent.
EDIT: The new method only works if the window decorations are disabled.

I will attempt to fix this as part of #568.

I've enabled transparency using layered windows. It works with window decorations, as well. See my patch:
diff --git a/src/platform/windows/window.rs b/src/platform/windows/window.rs
index 259376f4..a227c090 100644
--- a/src/platform/windows/window.rs
+++ b/src/platform/windows/window.rs
@@ -905,6 +905,10 @@ unsafe fn init(
         ex_style |= winuser::WS_EX_NOREDIRECTIONBITMAP;
     }

+    if attributes.transparent {
+        ex_style |= winuser::WS_EX_LAYERED;
+    }
+
     // adjusting the window coordinates using the style
     winuser::AdjustWindowRectEx(&mut rect, style, 0, ex_style);

@@ -959,6 +963,11 @@ unsafe fn init(
                                               format!("{}", io::Error::last_os_error()))));
         }

+        if attributes.transparent {
+            let opacity = 100; // transparency value 0-255
+            winuser::SetLayeredWindowAttributes(handle, 0x0, opacity, winuser::LWA_ALPHA);
+        }
+
         WindowWrapper(handle)
     };


Update Note and Occurrence Protos to support SBOM (SPDX) data

Is your feature request related to a problem? Please describe.
Software is being built and deployed in a way that does not provide visibility in between the source and what’s actually running.
Describe the solution you'd like
Add SBOM support to Grafeas by creating new SPDS note and occurrence type protos.
Describe alternatives you've considered
Reusing existing notes and occurrence types which do not contain the fields needed to reconstruct SBOM of other formats, such as SPDX.
Additional context
This is an early step in supporting SBOM storage in Grafeas and it's translation to and from other formats. It has been a topic of discussion with @aysylu and @wkozlik which may have more designs or documents with more details.

Looking forward to this!


How to dynamically adjust the number of TestNG threads after IExecutorFactory is deprecated?

TestNG Version

Note: only the latest version is supported

7.9+
Expected behavior
Hi folks!
We are using TestNG to launch long running mobile e2e tests. One test suite run can take 30 minutes or even more. Throughout the test run, the availability of devices may fluctuate—some devices may become faulty, while others become ready to run tests. Ideally, the number of available devices should match the number of threads allocated in TestNG, ensuring that neither tests nor devices remain idle.
We aim to dynamically adjust the number of TestNG threads during test execution. Java's ThreadPoolExecutor supports this functionality through its methods setCorePoolSize() and setMaximumPoolSize(). Thus, our primary requirement is to obtain references to the ThreadPoolExecutors.
To get the references, we introduced a class that implements IExecutorFactory and stores weak references to created Executors. This class is then passed to TestNG via the -threadPoolFactoryClass parameter. And we can access the executors.
This scheme is working fine for us at the moment.
Actual behavior
However, in the latest version of TestNG IExecutorFactory is marked as deprecated and is supposed to be removed in one of the future versions.
Question: How can we achieve the same functionality in the new versions once IExecutorFactory is removed? Alternatively, do you have suggestions for a better approach to dynamically adjusting the number of running threads?
Is the issue reproducible on runner?

[ ] Shell
[ ] Maven
[ ] Gradle
[ ] Ant
[ ] Eclipse
[ ] IntelliJ
[ ] NetBeans

Test case sample

Please, share the test case (as small as possible) which shows the issue

Contribution guidelines
Incase you plan to raise a pull request to fix this issue, please make sure you refer our Contributing section for detailed set of steps.
Some code examples:
class ThreadPoolExecutorFactory : IExecutorFactory {
    companion object {
        val suiteExecutorInstances = mutableListOf<WeakReference<GraphThreadPoolExecutor<ISuite>>>()
        val methodExecutorInstances = mutableListOf<WeakReference<GraphThreadPoolExecutor<ITestNGMethod>>>()
    }

    override fun newSuiteExecutor(
        name: String?,
        graph: IDynamicGraph<ISuite>?,
        factory: IThreadWorkerFactory<ISuite>?,
        corePoolSize: Int,
        maximumPoolSize: Int,
        keepAliveTime: Long,
        unit: TimeUnit?,
        workQueue: BlockingQueue<Runnable>?,
        comparator: Comparator<ISuite>?
    ): ITestNGThreadPoolExecutor {
        val instance = GraphThreadPoolExecutor(
            name,
            graph,
            factory,
            corePoolSize,
            maximumPoolSize,
            keepAliveTime,
            unit,
            workQueue,
            comparator
        )
        suiteExecutorInstances.add(WeakReference(instance))
        return instance
    }

    override fun newTestMethodExecutor(
        name: String?,
        graph: IDynamicGraph<ITestNGMethod>?,
        factory: IThreadWorkerFactory<ITestNGMethod>?,
        corePoolSize: Int,
        maximumPoolSize: Int,
        keepAliveTime: Long,
        unit: TimeUnit?,
        workQueue: BlockingQueue<Runnable>?,
        comparator: Comparator<ITestNGMethod>?
    ): ITestNGThreadPoolExecutor {
        val instance = GraphThreadPoolExecutor(
            name,
            graph,
            factory,
            corePoolSize,
            maximumPoolSize,
            keepAliveTime,
            unit,
            workQueue,
            comparator
        )
        methodExecutorInstances.add(WeakReference(instance))
        return instance
    }
}

class TestNGThreadPoolSize {
    private val logger: Logger = LoggerFactory.getLogger("TestNGTheadPoolSize")

    fun currentPoolSize(): Int {
        return getMethodExecutor().poolSize
    }

    fun currentCorePoolSize(): Int {
        return getMethodExecutor().corePoolSize
    }

    fun currentMaximumPoolSize(): Int {
        return getMethodExecutor().maximumPoolSize
    }

    @Synchronized
    fun increaseByOne() {
        logger.info("Increasing TestNG thread pool size by 1")
//        Order of the following calls matters. Wrong order will result in an IllegalArgumentException
        getMethodExecutor().maximumPoolSize++
        getMethodExecutor().corePoolSize++
    }

    @Synchronized
    fun decreaseByOne() {
        logger.info("Decreasing TestNG thread pool size by 1")
//        Order of the following calls matters. Wrong order will result in an IllegalArgumentException
        getMethodExecutor().corePoolSize -= 1
        getMethodExecutor().maximumPoolSize -= 1
    }

    private fun getMethodExecutor(): GraphThreadPoolExecutor<ITestNGMethod> {
        val runningExecutors = ThreadPoolExecutorFactory.methodExecutorInstances
            .mapNotNull { it.get() }
            .filterNot { it.isTerminated }

//        currently we only allow 1 suite to be run at a time so only one method executor should be in Running state
        val runningExecutorsCount = runningExecutors.size
        if (runningExecutorsCount != 1) {
            throw CountMismatchException(
                "Unexpected amount of running thread pool executor instances: $runningExecutorsCount. Should be 1."
            )
        }

        return runningExecutors.first()
    }
}

@alex-postnov - Please check the PR and share your observations. A minimal user facing documentation is available in the commit message.


ipv4 block pool without affinity host setting issue

Our system is kind of old
calico_node-libnetwork:v0.8.0
calico_node:v0.20.0

There are some ipv4 block pool missing affinity setting
such as this
/calico/ipam/v2/assignment/ipv4/block/<IP_ADDRESS>-26

# etcdctl get /calico/ipam/v2/assignment/ipv4/block/<IP_ADDRESS>-26
{"affinity": "", "strict_affinity": false, "allocations": [0, 0, 0, null, null, null, 0, null, null, null, null, null, null, 0, null, null, null, null, null, null, 0, null, null, null, null, 0, null, null, null, null, null, null, null, null, null, null, null, null, 0, 0, 0, null, null, null, null, 0, null, null, null, null, null, null, 0, null, null, null, null, null, null, 0, null, null, null, null], "unallocated": [34, 11, 32, 48, 57, 19, 47, 56, 26, 30, 3, 21, 16, 12, 8, 60, 14, 9, 18, 28, 15, 29, 42, 61, 55, 33, 54, 58, 49, 10, 44, 53, 63, 24, 4, 35, 41, 7, 22, 62, 31, 17, 46, 51, 5, 50, 23, 27, 43, 37, 36], "attributes": [{"handle_id": null, "secondary": {}}], "cidr": "<IP_ADDRESS>/26"}

And this is causing issue when allocating docker container inside this ip pool,
bellow is the log from alico_node-libnetwork:
...
    block = AllocationBlock.from_etcd_result(result)
  File "/usr/lib/python2.7/site-packages/pycalico/block.py", line 134, in from_etcd_result
    assert affinity[:5] == "host:"
AssertionError
....

Not sure if I can assign an affinity host (which already have a ipv4 pool) to this /calico/ipam/v2/assignment/ipv4/block/<IP_ADDRESS>-26 for fixing, will that making chaos?
Thanks!

@rmrf did you at any point delete an IP pool which contains that block?
And, does a key exist at /calico/ipam/v2/host/<nodename> for the block? You could try writing in the correct host affinity there in the form host:<nodename> it should at least get rid of the immediate error.
However, v0.20.0 is really old and a lot of IPAM fixes have been made since then. I strongly recommend upgrading to a modern version of Calico.

@caseydavenport we have hosts removed from cluster (docker swarm), which containing this IP pool, which causing this.
And, there is no key exist at /calico/ipam/v2/host/<nodename> for this block (seems this block turn to orphan after host remove)
So am I ok to assign another parent host to this orphan IP pool with bellow 2 steps?

add new key for /calico/ipam/v2/host/<new parent>/ipv4/block/<orphan IP pool>
add this new parent as this orphan IP pool 's host:<nodename>

Will it making big chaos as time goes? (network operation like this is kind of making me nervous... though we have DEV env to play with this, but not sure will it goes well as time goes)


Feature/578

Description
Add "SimilarProducts" component to "Cart" component.
Add algorythm to filter products as similar.
Screenshots

Original
Updated

Checklist

[x] 🔽 My branch is up-to-date with "development" branch
[x] ✅All tests passed locally
[x] ✨My changes working with up-to-date admin and back-end part locally, like charm
[x] 🔗 Link pull request to issue

When I go to another product page, the similar products block should not display the old values from the previous product.


Hooks via webhooks

Relates to https://github.com/defenseunicorns/zarf/issues/1594
This PR adapts the way that Zarf saves the package-secrets so that the secrets are now updated more frequently and can be used as an indicator of what a package is about to (and is the process of) deploying. These more frequently updated secrets can be viewed and acted upon by a webhook such as Pepr.
As Zarf updates the secrets, it will check to see if a webhook has mutated the component webhook status of the secret to Running and respectfully wait for the webhook to change the status of the secret back to indicate whatever non-async work has been completed.
The --skip-webhooks flag can be used to tell Zarf to skip checking/waiting for webhooks to complete during package deployments:
zarf package deploy [package tarball] --skip-webhooks

The other thing that will need to be done is updating and finalizing the ADR for it - https://github.com/defenseunicorns/zarf/blob/hooks-via-webhooks/adr/0018-hooks.md


Topics Api doesnt provide global error handling

Description
For kafka we have
https://github.com/redhat-developer/app-services-cli/blob/main/cmd/rhoas/main.go#L67
Having this done globally is code smell. We should probably have specific handlers called post command execution.

Logged by @merlante when trying to call topics api using old cli

@craicoverflow I think you have done it - now every error is handled the same way (even non API ones)


Don't downscale by steps images which will end up with small dimensions (bug 1445735)

Maybe add https://bugzilla.mozilla.org/attachment.cgi?id=8958936 as a linked eq-test?

/botio test

/botio test

I'd say that the differences are acceptable. @Snuffleupagus, wdyt ?

The following look like, somewhat clear, regressions:
* `fit11-talk`

The "missing" tip of the curly braces on the images are only one pixel which was gray and is now white.
On a normal screen it's almost invisible and if the user needs to really read the content they should zoom and the tip will be there.

* `pr8808-page1`, which is now too "dark" when compared with e.g. Adobe Reader

I opened the pdf in nightly and in Acrobat on mac at 100% and I can't see any differences (that said I'm not that young... I'm likely not a reference).

* `issue1658-page10`

At normal scales there is no problem but I agree at small scales (when the text is really unreadable) some lines become invisible and it's the same in Acrobat.
That said without the patch, the rendering at 22% is better in Firefox when compared to Acrobat, but who cares about the rendering at 22% ?
My feeling is that the images we've in tests aren't representative of what the users have in real life... (on linux, for example, we use a headless mode). It's just a feeling, hence I can be completely wrong here.
That said, I trust your judgement here: so if you prefer having a AND, I'm fine with that (I began with a AND and I hesitated and finally I chose the OR).

That said, I trust your judgement here: so if you prefer having a AND, I'm fine with that (I began with a AND and I hesitated and finally I chose the OR).

I think that it'd be interesting to see what using AND does to the test-results, since then we'd only consider "truly" small images. Otherwise narrow images are affected as well, which might not actually be what you want here?

My feeling is that the images we've in tests aren't representative of what the users have in real life... (on linux, for example, we use a headless mode). It's just a feeling, hence I can be completely wrong here.

It could perhaps be connected to the window.devicePixelRatio value, since I believe that the bots run with window.devicePixelRatio === 1 set?
Hence I suppose that it's possible that things may look slightly "worse" on such systems, but good/fine when testing locally on modern hardware where window.devicePixelRatio > 1.

I'll test tomorrow with one of my old screen with a devicePixelRatio equal to 1 to see if there's something noticeable.

/botio browsertest

I'll test tomorrow with one of my old screen with a devicePixelRatio equal to 1 to see if there's something noticeable.

What became of this testing, since I'm still not sure that this is patch is necessarily always better (e.g. in the mentioned case)?

I'll test tomorrow with one of my old screen with a devicePixelRatio equal to 1 to see if there's something noticeable.

What became of this testing, since I'm still not sure that this patch is necessarily always better (e.g. in the mentioned case)?

I wrote something but I obviously forgot to click on the "Comment" button...
Anyway on some pdfs the lines weren't correctly rendered when compared with Acrobat rendering (the black was too gray).
So normally the last browsertests were with a AND instead of a OR (but I'm not sure I had to fix that when I rebased my patch).

/botio browsertest


Incorrect summarization

Mix.install([{:explorer, "0.3.1"}])

alias Explorer.DataFrame, as: EDF
alias Explorer.Series   , as: ES

df = EDF.new([
  ts: ES.from_list([1, 1, 1, 1, 1]),
  price: ES.from_list([3.3, 3.4, 3.5, 3.6, 3.7]),
  mask: ES.from_list([1, 1, 1, 1, 0]),
])

df
|> EDF.arrange(:price) # without this line everything works as should
|> EDF.group_by(:ts)
|> EDF.summarise_with(&[p: ES.multiply(&1[:price], &1[:mask]) |> ES.max()])

Result should be 3.6, but it's 0.0
#Explorer.DataFrame<
  Polars[1 x 2]
  ts integer [1]
  p float [0.0]
>

the same behavior simple summarise
df
|> EDF.arrange(:price) # without this line everything works as should
|> EDF.mutate_with(&[pp: ES.multiply(&1[:price], &1[:mask])])
|> EDF.group_by(:ts)
|> EDF.summarise([pp: [:max]])

Hi @petrkozorezov :wave:
I think the problem is that summarise_with/2 does not know which row to pick inside the group in order to make the multiply operation.
You can use operations like Series.first/1 or Series.last/1 to take the right mask inside the group:
alias Explorer.DataFrame, as: EDF
alias Explorer.Series   , as: ES

df = EDF.new([
  ts: ES.from_list([1, 1, 1, 1, 1]),
  price: ES.from_list([3.3, 3.4, 3.5, 3.6, 3.7]),
  mask: ES.from_list([1, 1, 1, 1, 0]),
])

df
|> EDF.arrange(:price)
|> EDF.group_by(:ts)
|> EDF.summarise_with(&[p: ES.multiply(&1[:price], ES.first(&1[:mask])) |> ES.max()])

But, if I understood correctly, you could add the column with a mutate_with/2 before groupping and summarising:
alias Explorer.DataFrame, as: EDF
alias Explorer.Series   , as: ES

df = EDF.new([
  ts: ES.from_list([1, 1, 1, 1, 1]),
  price: ES.from_list([3.3, 3.4, 3.5, 3.6, 3.7]),
  mask: ES.from_list([1, 1, 1, 1, 0]),
])

df
|> EDF.arrange(:price)
|> EDF.mutate_with(&[p: ES.multiply(&1[:price], &1[:mask])])
|> EDF.group_by(:ts)
|> EDF.summarise_with(&[p_max: ES.max(&1[:p])])

Does it makes sense?

This is a minimal working example, my real case is much more complected.
And the another working solution for this problem is to swap ES.multiply argument.
But I think this is incorrect and unexpected behavior.
I was surprised to see it after a few hours of debugging.

@petrkozorezov yeah, you are right. This is a bug.
After some investigation, I found that the problem is in Polars -  (we use Polars as the backend of Explorer).
I opened this issue there: https://github.com/pola-rs/polars/issues/4937

@philss great! Thank you!
I thought about, but didn't know how to check, because it isn't obvious to understand what code exactly is generated and passed to polars.

The problem was fixed upstream - https://github.com/pola-rs/polars/pull/4943. But we need to upgrade to v0.24.0 of Polars and then try to use the version from GitHub. I added an issue for the first upgrade: #359

@petrkozorezov this is fixed in the main branch. Thanks for the report!


Twitter detection and bot activation

:tada: This PR is included in version 1.16.1-dev.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Introduce typeprivate access control level

This appears to be an additive proposal and is out of scope for Swift 4 stage 1 goals.

Closing out-of-scope proposal. When it's in scope, please re-open the PR. Thanks!

@goncaloalvarez Are you planning to submit this for phase 2? I think the window closes April 1.

@goncaloalvarez Can you bring this up to the Swift Evolution? There is a lot of talk about about fileprivate and access modifiers. Something to talk about in the swift evolution mail is: Are all typeprivate public outside the module?


Call a jquery function after update the DOM does not work

I have a jquery function that i put it inside a mounted  method. it works good when i refresh the browser . But when i navigate through pages and Vue tries to update the dom it does not work well . How can I call the function after the DOM gets completely updated?
(this.nextTick inside the mounted method is not defined)

Should be this.$nextTick or Vue.nextTick.

It still shows
TypeError: _this.$nextTick is not a function     at VueComponent.mounted (images.vue:49)     at callHook (vue.runtime.esm.js:2697)     at Object.insert (vue.runtime.esm.js:3584)     at invokeInsertHook (vue.runtime.esm.js:5537)     at Vue$3.patch [as __patch__] (vue.runtime.esm.js:5674)     at Vue$3.Vue._update (vue.runtime.esm.js:2446)     at Vue$3.updateComponent (vue.runtime.esm.js:2570)     at Watcher.get (vue.runtime.esm.js:2913)     at new Watcher (vue.runtime.esm.js:2902)     at mountComponent (vue.runtime.esm.js:2574)
This is my page file:
  import axios from 'axios'
  import $ from 'jquery'

  export default {
    mounted: () => {
      this.$nextTick(function () {
        $('#photos').pycsLayout({
          pictureContainer: '.single-image',
          idealHeight:
            200,
          gutter:
            6
        })
      })
    }
  }

Don't use arrow function, it will change the context, try:
export default {
  mounted () {
    this.$nextTick(function () {
      // ...
    })
  }
}

Yes , that works. tnx


Update Globals “site_data”

Automatically generated by Netlify CMS

👷 Deploy Preview for ltcblog processing.
🔨 Explore the source changes: 07e1bf7eed6ed91212a03cdf6c30c58ed58eb807
🔍 Inspect the deploy log: https://app.netlify.com/sites/ltcblog/deploys/61d0fe883b537f0007cdfa11


Update the URL to UI

Outline & Motivation
Update the URL to the release in GitHub once the PL app repo is public
https://github.com/Lightning-AI/lightning/blob/e4c3441b25a8c194a873c8850e9507771de7053c/src/lightning_app/cli/cmd_pl_init.py#L118
@alecmerdler @yurijmikhalevich I believe it is a reference to this one: https://github.com/Lightning-AI/lightning-ui
Pitch
No response
Additional context
No response
cc @borda @justusschock @awaelchli

@Borda this is for the PyTorch Lightning App. This is basically dead code, unmaintained. We should nuke the entire thing.

Hi, was wondering if this issue is still open?

@Borda this is for the PyTorch Lightning App. This is basically dead code, unmaintained. I would nuke the entire thing.

OK with me


Remove depreciated credo check

Pull Request Test Coverage Report for Build 2306

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.454%

Totals

Change from base Build 2298:
0.0%

Covered Lines:
828

Relevant Lines:
841

💛  - Coveralls


Remove wrong sort by version which compared strings

this is also not needed because the packages were already sorted by published date
Before:

After:

This was introduced with https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/commit/6ec767632e2e9a80f2693fa6b4e6c38e77dd3265 (https://npe.codeplex.com/SourceControl/changeset/6ec767632e2e9a80f2693fa6b4e6c38e77dd3265)
The strange thing is that the order by published date  was already there. So maybe we should change that?

Thanks!

I'm not sure if this is a good change.
current:

your proposal:

I think it would be nice if we could click on the "version"  and "published" header to sort it (and that it would behave well)

Yes, I know it can be improved (currently sorting on the detail grid is not implemented at all). But I think that the current behaviour is just wrong for version parts > 9. You can see it in your example that 4.4.0-beta11 is not displayed before 4.4.0-beta9.

The sorting is semver compatible. Also on nuget.org beta11 is after beta6. (which isn't a bug). See semver.org

I forgot to say that sorting direction is descending by publish date. (That's why 11 is before 9.)
Also I think the sorting on nuget is more like mine proposal: https://www.nuget.org/packages/NLog/ or did I miss something?

I think you're right about the latter. Anyway, I think it's debatable if it's an improvement.  If we make it optional (eg. by clicking on the header), then it would be a improvement for sure.

Thanks for the PR, but IMO this isn't an improvement. The current sorting is more in line with nuget.org and semver. I cannot merge this, if it isn't optional.

Thanks for this PR, but as already explained, it's an opinion if this is an improvement. Therefor we will not merge this PR. If you think we're wrong, just let us know.


TCP connection stalls

My app is publishing MQTT messages on a TLS sockets using ethernet.
If I remove the ethernet cable a reinserts it the TCP connection stalls.
The log implies the TX buffer are all allocated and they are not sent or freed when ETH connection is reestablished
I have tried to increase the TX buffers, but it is not fixing the problem.
I can see this with CONFIG_NET_TCP1 & CONFIG_NET_TCP2 on both Zephyr 2.4.0 and 2.5.0-RC4
TCP1 seems to be able to handle it in some situations, but not all.
Getting a RST from the other end fixes it, but that is not a solution.
[00:00:19.002,000]  eth_mcux: ETH_0 link down  <---------  Remove ETH cable
[00:00:19.853,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:19.853,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:20.490,000]  net_if: iface 0x200060a8 is down
[00:00:20.954,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:20.954,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:22.003,000]  eth_mcux: ETH_0 enabled 100M full-duplex mode.   <---------  Reinserted ETH cable
[00:00:22.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs low on buffers.
[00:00:22.054,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:22.054,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:23.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs blocked for 1 secs
[00:00:23.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs low on buffers.
[00:00:23.154,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:23.154,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:24.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs blocked for 2 secs
[00:00:24.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs low on buffers.
[00:00:24.254,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:24.254,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:25.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs blocked for 3 secs
[00:00:25.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs low on buffers.
[00:00:25.354,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:25.354,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:26.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs blocked for 4 secs
[00:00:26.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs low on buffers.
[00:00:26.455,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:26.455,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:27.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs blocked for 5 secs
[00:00:27.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs low on buffers.
[00:00:27.555,000]  net_buf: pkt_alloc_buffer():867: Failed to get free buffer
[00:00:27.555,000]  net_pkt: Data buffer (181) allocation failed (context_alloc_pkt:1321)
[00:00:28.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs blocked for 6 secs
[00:00:28.003,000]  net_buf: pkt_alloc_buffer():867: Pool tx_bufs low on buffers.
.....

@lund-prevas could you try #32290 if it works for you. One problem is that you have too few network buffers so it might be difficult so recover from this situation.

I think I can explain what is going on.
I have an app publishing MQTT messages. This continues while the ethernet is disabled and slowly drains the tcp layer for net_buf buffers.
When ethernet is again enable, the tcp layer needs to allocate a net_pkt, which it can, but not the net_buf's needed for the data.
This is unrecoverable in the tcp layer and connection is stalled.
I will handle my isssue by subscribing to the NET_EVENT_L4_CONNECTED and NET_EVENT_L4_DISCONNECTED events from the net_mgmt and stop sending while tcp is disconnected, this will stop the draining of the net_buf buffers.
I think it should be considered if the tcp_layer could be changed to be able to handle this situation

I think it should be considered if the tcp_layer could be changed to be able to handle this situation

Yes, I think we could do something for this. I try to cook a patch for this. Thanks for the analysis!

@lund-prevas I just sent PR that can prevent the memory exhaustion you saw #32423

Is it possible to limit the window size in Kconfig ?
Then it could be done with some explanation in Kconfig/zephyr documentation that the window size / amount of network buffer should leave atleast this amount of free buffers.
What if I have 32 KB of buffers and sends 32 KB data in one chunk, then all buffers will also be used.

Is it possible to limit the window size in Kconfig ?

There is a config option for this CONFIG_NET_TCP_MAX_SEND_WINDOW_SIZE, it might be possible to use it for this. Would you be able to experiment if it works as expected?


Tweak the RHODS installation steps to fix spacing

Tried to follow the  https://github.com/red-hat-data-services/distributed-workloads/blob/main/rhods-installation.md steps, but there were some issues with spacing.  Going to try to clean that up as well as maybe a little more guidance for a friendly handoff to the regular CodeFlare quick-start demo steps.

Closing issue as complete/merged


[WIP] Extension improvements

To-Do:

[x] Make it compatible with Firefox
[x] Integrate WebExtension Toolbox
[ ] Publication script to Chrome Web Store (CWS)
[ ] Publication script to Addons.Mozilla.com (AMO)

Just started reviewing :) :octocat: Sent from GH.

Just started reviewing :) :octocat: Sent from GH.

Pull request submitted to https://github.com/gamerson/jsp-spy-demo/pull/5. See changes here. :octocat: Sent from GH.


Writing OpenTelemetry traces to Serilog logs

This is not supposed to be merged, this is just an proof of concept I've mentioned in https://github.com/serilog-tracing/serilog-tracing/issues/34#issuecomment-1908185932. Everything before 2bc12c734cea5623c3178cd279151e1b559e2785 is just a set-up.
To reiterate, the premise is the same as in #18:

we have an application that uses Serilog for logging and OpenTelemetry for tracing
some parts of application want to provide more readable logs for operations, so we used SerilogTimings, and now we want these operations to end up in the OpenTelemetry too, so we want to use SerilogTracing
we have a dependencies that are Serilog-independent, but are OpenTelemetry-compliant (and maybe use Microsoft.Extensions.Logging for its logs, but it really doesn't matter), so we want their traces to end up in our logs as well, preferably in the same format as SerilogTracing

So, the idea is simple: because we already use OpenTelemetry, and we happen to prefer its instrumentation for some dependencies we use, why don't we create an OpenTelemetry exporter that would output the traces captured by OpenTelemetry into Serilog logs? This allows us to avoid the configuration issues discussed in #34 and still get the nice logs we love Serilog for.
(there might be issues when combining OLTP logs and traces, but we'll get there when we get there)
Here's the example configuration (notice the lack of TracingConfiguration from SerilogTracing):
using var logger = new LoggerConfiguration()
    .WriteTo.Console(Formatters.CreateConsoleTextFormatter(TemplateTheme.Literate))
    .CreateLogger();

using var tracerProvider = Sdk.CreateTracerProviderBuilder()
    .AddSource(programSourceName)
    .AddSource(Worker.ActivitySourceName)
    .AddSource("Serilog")
    .AddSerilogExporter(logger)
    .Build();

And here's the output:
[10:34:34 INF] │ Started
[10:34:34 INF] │ Worker ba17449e-57c2-4846-88cb-8a74ceee5884 was run
[15:34:34 INF] ├ Worker Run (20.493 ms)
[10:34:34 INF] │ Worker 94195d81-2e3a-4e37-8a24-2a271d44ee5d was run
[15:34:34 INF] ├ Worker Run (0.135 ms)
[10:34:34 INF] │ Finished
[15:34:34 INF] ├ Serilog root (63.577 ms)
[15:34:34 INF] └─ <Main>$ (71.676 ms)

@nblumhardt, I've updated this PoC with a few tests and a (very) small refactoring to SerilogTracing to show the minimal changes required to allow this functionality. Basically, we only need to expose a common activity writing method (I've decided to incapsulate it in a class, but this is not a requirement, it's just how I'm used to do this), and then we get the OpenTelemetry front working with Serilog backend practically for free. Of course there's a lot of writing to be done on the exporter side to support the functionality expected by OpenTelemetry users, but that's fairly trivial.
(I've decided to move the discussion here to avoid bloating #34)

Thanks for the update @srogovtsev. We'll need some time to think though this approach, we're currently pushing on the core abstractions/API and will loop back to this once we have a bit more of the picture in view 👍

I put this out precisely so that you could consider this use case when pushing the core. Thanks!

Sorry, I should have been more specific - we've run over the scenario in your PR, we're just not sure what the shape of the solution might be :-)

This is totally fine by me!

Hi Sergei, hope all's well.
Just checking in, we've reviewed this scenario and don't think we'll provide an API directly for this, but there should still be a fairly straightforward way to do what you're after by relying on SerilogTracing conventions and implementing your own mapping from Activity to LogEvent based on those.
Keen to help unblock anything you hit if you still want to do something along these lines, just let me know.

Hi, Nicholas, thank you for following up.
While I'm still thinking in this direction, right now my main concern is that if the logging pipeline itself produces some activities (big example would be any sink using HttpClient when HttpClient instrumentation is on) we might end up in a feedback loop.
Would you happen to have some recommendations on this? I know that, for example, Serilog.Sinks.Seq just suppresses the instrumentation (on some frameworks), but we do not control the sinks that we use (user can add their own in the configuration file).

Thanks for the follow-up, Sergei. Right now, unfortunately, there's no generic way to suppress instrumentation in arbitrary Serilog sinks.
This could almost be achieved using a sink wrapper (set an AsyncLocal to suppress instrumentation when constructing the sink and when writing to it), but the batched Serilog sinks take explicit steps to clear the execution context before starting the background tasks that would be responsible for making HTTP requests... :thinking:
The problem is really a Serilog one, in that it applies to sinks that generate logs just as much as those that generate traces - it's just that it's easier to implicitly/unknowingly generate traces. It'd be reasonable to propose an upstream solution in Serilog, but I'll raise a new ticket here until we have some idea of what a solution (if any) would look like.


ChildEntitiesTagGroup component fails to clear previous captured information

Steps to reproduce the behavior:

Go to 'https://function-adminportal-test.shesha.dev/dynamic/Boxfusion.SheshaFunctionalTests.Common/afterupgrade1-table'
Click on 'Add'
Click on '+' from the childEntitesTagGroup
Enter all the details including wheels data and click 'OK'
Repeat step 3 to capture a new record
Actual Results: Immediately, the wheels has previous captured information. It does not clear to allow a new record o be captured

Expected behavior
After saving the record, when a user re-creates another one, the component should clear the previous information

Hi @AlexStepantsov , this is still not fixed with the current changes: https://function-adminportal-test.shesha.dev/dynamic/Shesha/test-json-reference-table. Click on 'Hlayi Test Data' and follow these steps:

Click on '+' from the childEntitesTagGroup
Enter all the details including wheels data and click 'OK'
Repeat step 3 to capture a new record
Actual Results: Immediately, the wheels has previous captured information. It does not clear to allow a new record o be captured

We will release it on the next release


add AuditPolicies & SecurityPolicies & RegistryPolicies / extend NetworkIpConfiguration

update documentation

This change is

Thanks again!

Thanks again!


01_init migration failure in some configurations

Now that there is no need to import an sql file at install,
there can be an issue with a fresh install and some MySQL servers which don't have InnoDB set by default.
With that error:
Migration name: 01_init

Database error code: 1071

Database error:
Specified key was too long; max key length is 1000 bytes

Please check the query number 1 from the migration file.

InnoDB was specified in the old way sql file https://github.com/umami-software/umami/blob/master/sql/schema.mysql.sql
Not in the init migration
Don't know if you want to handle that, as it shouldn't be very common nowadays,
and changing an existing migration isn't recommended https://www.prisma.io/docs/concepts/components/prisma-migrate

We need to update that. InnoDB needs to be set.

Fixed in v1.34.0.


Auto rollback when failure during organisation creation flow

Context :
whenever organisation creation request is received, following entities get created in order of left -> right
congnito_user_pool -> admin_user(only in cognito) -> credentials / resources / actions / policies
Summary of change-set :
Changes as part of this PR ->
> Whenever an organisation creation request received, above mentioned workflow is initiated. And hence anything failing on any stage will clean_up from left -> right & then cleaning up all
root entities.
> All entities in database doesn't define delete action in foriegn key constraints. Having on_delete_cascade_action will help us to reduce # of queries made to database when cleaning up related records.
Also that will make sure there are no orphan entries in our dataset & hence reduces memory footprint due to invalid entries.
> Removed redundant code in while data cleanup in test cases ( after changes in database)

@hari-hypto PR is failing with same permissions issue related to commit badging. Any work arounds for this ?

@hari-hypto PR is failing with same permissions issue related to commit badging. Any work arounds for this ?

Hi @shharma-vipin,
Thanks for the contribution. There is a permission issue because your fork is unable to push a commit in the main repo's badging branch. We are currently working to remove this badge commit action. But this should not be blocking to proceed with your PR as other steps are passing in the build step.
We will review the changes and update if we have any comments.

@hari-hypto / maintainers : Any updates on this PR ?

@hari-hypto / maintainers : Any updates on this PR ?

Hi Vipin, thanks for checking back on this. We are working on a different approach to handle this problem. Crux of the problem here is, JOOQ (ORM solution used in iam service) is not natively supporting transactions which are distributed across multiple tables when transaction request is from a Kotlin co-routine. So we recently open-sourced a library (https://github.com/hwslabs/txman) which can help to handle this issue. The approach followed in the library is similar to spring's @Transactional annotation.
Also there is a PR raised (https://github.com/hwslabs/iam/pull/56) which uses the new library to fix auto-rollback issue. Currently we haven't implemented the annotation but the underlying approach of managing a single connection across the transactions follows spring transactional annotation model. Please check the PR and the open-source repo. We welcome any comments.

@hari-hypto / maintainers : Any updates on this PR ?

Hi Vipin, thanks for checking back on this. We are working on a different approach to handle this problem. Crux of the problem here is, JOOQ (ORM solution used in iam service) is not natively supporting transactions which are distributed across multiple tables when transaction request is from a Kotlin co-routine. So we recently open-sourced a library (https://github.com/hwslabs/txman) which can help to handle this issue. The approach followed in the library is similar to spring's @transactional annotation.
Also there is a PR raised (#56) which uses the new library to fix auto-rollback issue. Currently we haven't implemented the annotation but the underlying approach of managing a single connection across the transactions follows spring transactional annotation model. Please check the PR and the open-source repo. We welcome any comments.

very well, much needed thing. I will go ahead and close this PR.


RN 0.60.0 with v2 and remote-* events

Does the combination RN 0.60.0 with the RC of v2 already works with remote-* commands ? I can't seem to figure out how to get play/pause/next/previous working from the notification or lock screen.
Code
index.js
AppRegistry.registerComponent(appName, () => App)
TrackPlayer.registerPlaybackService(() => TrackPlayerService)

service.ts
import TrackPlayer, { Event } from 'react-native-track-player'

export const TrackPlayerService = async () => {

  TrackPlayer.addEventListener(Event.RemotePlay, event => {
    console.log('=== remote play', event)
    TrackPlayer.play()
  })

  TrackPlayer.addEventListener(Event.RemotePause, event => {
    console.log('=== remote pause', event)
    TrackPlayer.pause()
  })

}

It should, but I'll take a look later today.

It's currently working for me using the hooks:
useTrackPlayerEvents([Event.PlaybackTrackChanged], () => {
  setHasTrack(true)
})

I will check with the addEventListener API

This also works for me:
TrackPlayer.addEventListener(Event.PlaybackTrackChanged, () => {
  setHasTrack(true)
})

Are you using v2-rc10?

Keep in mind that you can do this at your component level. It doesn't have to be in the declaration of the service.

@dcvz yes, PlaybackTrackChanged and so work. I am interested in the remote-* commands to hook in play and pause from the iOS Locked Screen etc.

Reproducible on rc12 .
My updateOptions
{
      stopWithApp: false,
      jumpInterval: 15,
      capabilities: [
        TrackPlayer.Capability.Play,
        TrackPlayer.Capability.Pause,
        TrackPlayer.Capability.JumpBackward,
        TrackPlayer.Capability.JumpForward
      ],
      compactCapabilities: [
        TrackPlayer.Capability.Play,
        TrackPlayer.Capability.Pause,
        TrackPlayer.Capability.JumpBackward,
        TrackPlayer.Capability.Stop,
      ],
    }

The buttons Play/Pause are no-op, the event handler never seems to be fired...

@jpolo your issue comes from the fact that constants are now exporting differently. Please look at: https://github.com/react-native-kit/react-native-track-player/issues/662#issuecomment-511792143

@mhabegger I've now fixed this in rc-13 💃

Works now. Thanks @dcvz

@mhabegger what does your event handler look like. I'm on rc13 and have still not been seeing the events as I click the remote control buttons

@drew-royster
The following code is inside our view. and links the remote events to our internal handling of the player state.
import TrackPlayer, {
  usePlaybackState,
  State,
  Capability,
  IOSCategory,
  IOSCategoryMode,
  TrackMetadata,
  useTrackPlayerEvents,
  Event,
} from 'react-native-track-player'

...

const events = [
    Event.PlaybackError,
    Event.RemotePause,
    Event.RemoteNext,
    Event.RemotePlay,
    Event.RemotePause,
    Event.RemoteStop,
  ]
  useTrackPlayerEvents(events, event => {
    if (event.type === Event.PlaybackError) {
      console.warn('An error occured while playing the current track.', event)
    }
    if (event.type === Event.RemoteNext) {
      skipToNext()
    }
    if (event.type === Event.RemotePrevious) {
      skipToPrevious()
    }
    if (event.type === Event.RemotePlay) {
      play()
    }
    if (event.type === Event.RemotePause) {
      stop()
    }
    if (event.type === Event.RemoteStop) {
      stop()
    }
  })

As an example:
// Initialize the Player
useEffect(() => {
    // Initialize
    TrackPlayer.setupPlayer({
      iosCategory: IOSCategory.Playback,
      // iosCategoryOptions:
      iosCategoryMode: IOSCategoryMode.Default,
    })
    TrackPlayer.updateOptions({
      stopWithApp: true,
      capabilities: [
        Capability.Play,
        Capability.Pause,
        Capability.SkipToNext,
        Capability.SkipToPrevious,
        Capability.Stop,
      ],
      compactCapabilities: [Capability.Play, Capability.Pause],
    })
  }, [])

...

const skipToNext = async () => {
    try {
      await TrackPlayer.skipToNext()
      // ... some other code we need inside the app
    } catch (_) {}
  }

@mhabegger so old way from example app of v1 doesn't work anymore?
like
import { AppRegistry } from 'react-native';
import TrackPlayer from 'react-native-track-player';

import App from './App';

AppRegistry.registerComponent('example', () => App);
TrackPlayer.registerPlaybackService(() => require('./service'));

import TrackPlayer from 'react-native-track-player';

module.exports = async function() {

  TrackPlayer.addEventListener('remote-play', () => {
    TrackPlayer.play()
  })

  TrackPlayer.addEventListener('remote-pause', () => {
    TrackPlayer.pause()
  });

  TrackPlayer.addEventListener('remote-next', () => {
    TrackPlayer.skipToNext()
  });

  TrackPlayer.addEventListener('remote-previous', () => {
    TrackPlayer.skipToPrevious()
  });

  TrackPlayer.addEventListener('remote-stop', () => {
    TrackPlayer.destroy()
  });

};

@dcvz I am also wondering if the old way is not enough anymore? And also in "remote-jump-forward" and "backward" sometimes work and sometimes it does not show up. I am using v.1.1.8
like:
import TrackPlayer from "react-native-track-player";
module.exports = async () => {
TrackPlayer.addEventListener("remote-play",  () => {
console.log("#DEBUG remote play #");
TrackPlayer.play();
});
TrackPlayer.addEventListener("remote-pause",  () => {
    console.log("#DEBUG remote pause #");
    TrackPlayer.pause();
});

TrackPlayer.addEventListener('remote-seek', () => {
    console.log("#DEBUG REMOTE-SEEK #");
});

TrackPlayer.addEventListener("remote-jump-forward", () => {
    console.log("#DEBUG remote skipNext #");
});

TrackPlayer.addEventListener("remote-jump-backward", () => {
    console.log("#DEBUG remote skipPrevious #");
});

TrackPlayer.addEventListener("remote-stop", () => {
    console.log("#DEBUG remote stop #");
    TrackPlayer.destroy();
});

};
Thanks in advance!

@dcvz, yes please let me know why remote-* events are not working following event handler
import TrackPlayer, {Event} from 'react-native-track-player';
module.exports = async function() {
TrackPlayer.addEventListener('remote-play', async data => {
console.log('Play Button Clicked');
TrackPlayer.play();
});
TrackPlayer.addEventListener('remote-pause', async data => {
console.log('Pause Button Clicked');
TrackPlayer.pause();
});
TrackPlayer.addEventListener('remote-next', () => {
TrackPlayer.skipToNext();
});
TrackPlayer.addEventListener('remote-previous', () => {
TrackPlayer.skipToPrevious();
});
TrackPlayer.addEventListener('remote-stop', () => {
TrackPlayer.destroy();
});
TrackPlayer.addEventListener('playback-state', async data => {
console.log('service file playback-state: ', data.state);
});
};

@alanhabib  @dimaportenko @hirentech Did any of you figure out how to listen for remote-* events in a new way?

In 2.0.0-rc15 you should be using the way as was mentioned above by @mhabegger: https://github.com/DoubleSymmetry/react-native-track-player/issues/659#issuecomment-532868701
Does this not work for you all? We'll be moving to 2.0.0 soon.


[Feature][Document] Add example and notice about task type SQOOP

We missing task sqoop in our document, and remember should also add task description with some detail, and give an example in the document

I add a PR in apache/dolphinscheduler-website#638, maybe someone who is interested in this feature could take it as an example

Hi. submit PR task type SQOOP  to  apache/dolphinscheduler-website  OR  apache/dolphinscheduler/docs/

Hi @SmallConchs, you should submit and change apache/dolphinscheduler/docs/ instead of apache/dolphinscheduler-website. apache/dolphinscheduler-website only keep some blog and history document currently

Do you interesting about this issue?

@zhongjiaji  thank you for response , I was very interested but it was my first time participating in an open source project ，I might need some time to study the rules.

@zhongjiajie thank you for response , I was very interested but it was my first time participating in an open source project ，I might need some time to study the rules.

@SmallConchs Ofcause, feel free to ping me if you have any question

@zhongjiajie thank you for response , I was very interested but it was my first time participating in an open source project ，I might need some time to study the rules.

@SmallConchs Hi, may I ask whether you are still working on this issue? If there's anything blocking you, I could help. Thx

May I have a try? 😄

May I have a try? 😄

May I have a try? 😄

@SmallConchs Sure, I've assigned this task to u, looking forward to your PR : )

May I have a try? 😄

@SmallConchs Sure, I've assigned this task to u, looking forward to your PR : )

The code has been submitted.  https://github.com/apache/dolphinscheduler/pull/12855


Proposal: Enhancing SEO Capabilities with a Widget-Wrapping Approach

I've been contemplating an enhancement for an existing SEO package and wanted to share my idea to see if it's feasible, as I've not found a clear way to implement it yet.
The core of my proposal is to introduce a mechanism within the SEO package that allows the main app widget to be wrapped in an "SEO Widget". This SEO Widget would automatically convert all child widgets into versions optimized for search engines when the app is running on the web. Additionally, to accommodate cases where certain widgets should not be optimized for SEO, I suggest including an option for developers to specify these exceptions in an exclude list.
This approach would enable the SEO package to effectively optimize all content for search engine visibility, even content that originates from third-party packages, provided that it is encapsulated within the SEO Widget.
I'm sharing this proposal to gather insights on how such functionality could be implemented or if it's even possible. I believe this could significantly enhance the SEO capabilities of Flutter web applications by ensuring their content is more accessible and indexable by search engines. Let's discuss the potential for making this idea a reality.

Hey.
To be honest, I don't think that would be a good solution as in that way every change in flutter or 3rd party dependency might completely break the package. Another thing is that we would need to support hundreds of different packages and their optimisation for SEO which is not quite feasible in long term.

I think I didn't explain it correctly
My idea is if I wrap a custom widget with seo
All text widgets inside it adds the logic of your seo text when building
So if for example people are using alot of packages inside their code the seo package can access their text without changing the code

Maybe you could provide some code examples?

i will try to make a pr as a proof of concept

this is my proposal, i cant code it right now so i am leaving this for discussion
Summary
The proposal introduces a SeoWrapper widget designed to enhance SEO for Flutter web applications. The core functionality of this widget is to automatically replace all child Text widgets with seo.Text widgets during the build phase. This approach aims to simplify the process of optimizing text for SEO, eliminating the need for manual replacements throughout the application code.
Implementation Idea
The SeoWrapper widget would act as a high-level wrapper around the application (or specific parts of it) and utilize the build context to identify and replace Text widgets with seo.Text widgets. This substitution would only occur during the build phase and specifically for web targets, ensuring that the SEO enhancements are applied only where necessary and without affecting the app's functionality on other platforms.
Example Code
Below is a simplified pseudo-code example to illustrate the concept:
class SeoWrapper extends StatelessWidget {
  final Widget child;

  SeoWrapper({required this.child});

  @override
  Widget build(BuildContext context) {
    // Implementation to recursively check and replace Text widgets with SeoText widgets
    // Note: Actual implementation would require more detailed logic to traverse the widget tree
    return TransformTextWidgets(child: child);
  }
}

class TransformTextWidgets extends StatelessWidget {
  final Widget child;

  TransformTextWidgets({required this.child});

  @override
  Widget build(BuildContext context) {
    // This is a placeholder for the logic to recursively transform Text to SeoText
    // For example, using a method that traverses the child widget tree
    // and replaces Text widgets with SeoText widgets on the fly, only for web targets.
    return child; // Transformed widget tree
  }
}

At least from my experience I don't think it's possible to traverse the tree and replace widgets like that, if it is then I still do feel that it might be quite a hit for performance. Do you have any experience with replacing widgets down the tree?

Sadly no, I never tried that,
But the thought of that idea was based on the issue of third party packages and reducing changing codes
I don't even know if such a thing is possible

Ok. I'll leave this issue open as an idea.


Expand integration testing for the weldr API

Continue to expand coverage of the osbuild-weldr-tests to cover the rest of the API.
First priority will be given to routes used the cockpit-composer, followed by composer-cli.

Implement @teg suggestion to pass the open socket descriptor instead of the path
Add more error cases to the blueprint tests
Add tests for other routes

The 'pass the socket' instead of a path PR is #295

PR #314 added more tests for blueprints, focused on error cases, as well as fixing some incorrect API responses.

Blueprint Integration testing is now working with osbuild-weldr-test binary.


Crash on server startup - 1.20.1

Server is crashing on startup with this mod installed.
Error: https://mclo.gs/QIsaNba
Minecraft fabric 1.20.1, mod version 0.2.2

After some fiddling, this appears to be an issue with the mod Redirector.


Warn about expiring/expired secrets

With a message at startup and with flags in tree views

done in v2.1


refactor(e2e):  use require.Eventually(...) in QueryRPC

Background
QueryGRPCGateway(...) uses custom loop logic with retries for querying RPC endpoints. This is done because an RPC endpoint might sometimes return "Service Unavailable" due to timing.
We should use require.Eventually(...) instead of the custom logic for simplicity and consistency with the rest of the e2e setup.
Originally posted by @p0mvn in https://github.com/osmosis-labs/osmosis/pull/2044#discussion_r920251624
Acceptance Criteria

require.Eventually(...) is used instead of custom loop logic
e2e test continues to function without issues

Please note that the method is located here now: https://github.com/osmosis-labs/osmosis/blob/d3c974a0cb7f4922711cdb0797e0c0ba1e2bef8b/tests/e2e/configurer/chain/queries.go#L21


Building on MSYS2

I am attempting to use this library in a cross platform (between GNU+Linux and Windows [not really worried about Mac]) cryptographic tool I am making (Using Mingw64 for the Windows portion)
Compilation completes successfully under Mingw64, however when the tests (.\test_KEM.exe) are run, it just sits maxing out a single CPU core for a very long time. (>10 minutes and still not complete)

To attempt to remedy this, I have tried various permutations of the build options, and see no change.

I have run this on a GNU+Linux machine (with opt_level set to reference) that has a Core 2 Duo and it takes roughly 30 seconds to complete the tests. Therefore it probably shouldn't take longer running on an i7-4770.
Any ideas for where this issue may be stemming from?
Thanks

Update: Successfully compiled OpenQuantumSafe for MSYS2


fix: use default storage class when class is not defined

Thank you for your great works! I fixed some behavior.
This PR is for v4 contribution of https://github.com/grafana-operator/grafana-operator/pull/430 .
Description
use default storage class when class is not defined
Relevant issues/tickets

Type of change

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

Checklist

[ ] This change requires a documentation update
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added a test case that will be used to verify my changes
[x] Verified independently on a cluster by reviewer

Verification steps
When Grafana.spec.dataStorage.class is not defined or set nil, generated PVC.spec.storageClassName is set "".
But I think we prefer to use default storageClass.
apiVersion: integreatly.org/v1alpha1
kind: Grafana
metadata:
  name: grafana
spec:
  baseImage: grafana/grafana:7.4.3
  ...
  dataStorage:
    accessModes:
    - ReadWriteOnce
    size: 5Gi
#    class: null

default bahavior

$ k -n grafana get pvc grafana-pvc -oyaml | k neat
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: grafana-pvc
  namespace: grafana
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
  storageClassName: ""

newer bahavior

$ k -n grafana get pvc grafana-pvc -oyaml | k neat
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: grafana-pvc
  namespace: grafana
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
  storageClassName: my-default-storageclass

Cc: @pb82 @HubertStefanski