How to set active link color in ListItem?

As seen at http://material-ui.com/#/components/appbar (the appbar link is pink)
can't seem to get it working in my code.. the active link is still black.

Having same problem here. Anyone got workarounds? Because the ListItem component itself doesn't seem to have any properties that allow it to behave like a MenuItem (i.e. selected property, color change, etc.)

+1

@raptoria @desduvauchelle : A work-around for that would be to handle this in a function for the onClick event and assign a style to the ListItem then. Do let us know if that helps.
Let us know if that helps.

I am closing this for now. Do let us know if the above suggestion helps or not.

Doesn't work because:
I want to set backgraund color for active ListItem component. Background color trigges when I do click, but at the same moment onHover event fires which change background color to gray. When I move pointer event onMouseLeave clears background (set it to 'none').

Please reopen this issue, I am facing this same problem, many people have asked this but I am not being able to find an appropriate answer.

I am assuming this issue is related to the very latest version of material ui. I found a work around but its not 'great', mainly because I expected this to be one of the default things a List Item would actually do.
So here it goes:
first make sure you have a class for an activle list Item:
function styleDefinition(theme){
  return {
    activeItem: {
      backgroundColor: theme.palette.primary[100]
    },
    item: {}
  };
}

var styles = createStyleSheet('YourList',styleDefinition);

Use the global theme object to select a color in your palette.
when you do your mapping of data to list items, put the 'correct' class on.
    let currentClass = (item.id === selected.id) ?
        classes.activeItem :
        classes.Item;

@johnnyPescarul you have to set "exact" to point to exact route. e.g.
<ListItem button component={NavLink} exact to={to} activeClassName={classes.active} >. . .

@fionaDawn's answer worked for me with classes.active set to:
active: {
  backgroundColor: theme.palette.action.selected
}

Can anyone advise on also changing the props of the ListItemText (specifically making it bold or changing the color)?  Given the code from an above comment:
return (

{icon}

);
I figure that I would have to verify whether it is active by checking match, wrap the Link in a Route and then use primaryTypographyProps with the color/style I want.  Basically, I would have to copy the logic in NavLink.  Unless there is another easier way?

What if I want each ListItem with a different active state colour? Any fancy way to do or override by inline style?

theme.palette.action.selected

with  @fionaDawn 's answer and this,
theme is undefined?

@D3athSpank try this:
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';

const styles = theme => ({
  active: {
    backgroundColor: theme.palette.action.selected
  },
});

class MyComponent extends Component {
// More stuff here...
}

MyComponent.propTypes = {
  classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(MyComponent);

const  NavLinkMui = (props: any) => {
    const { forwardedRef, ...otherProps } = props
    return <NavLink {...otherProps} ref={forwardedRef} activeClassName="Mui-selected" />
}

<ListItem key={item.title} component={NavLinkMui} exact to={item.url}>


Cache SelectorProvider is not suitable for NioServerSocketChannel

Cache SelectorProvider is not suitable for NioServerSocketChannel , see issue https://github.com/netty/netty/issues/9660

As explained in #9660 by @johnou I think we should keep the current implementation. It not really hurts and may help in some scenarios.

As explained in #9660 by @johnou I think we should keep the current implementation. It not really hurts and may help in some scenarios.

ok


!feat: simulate directory in blob list

resolves nuxt-hub/core#101
This creates a slightly breaking change when delimiter is defined in request
https://github.com/nuxt-hub/core/assets/2047945/ee7627f4-0972-4179-b064-8a76a80ea04a

Thanks for the PR!
I would like to give a consistent experience for what is returned from the list() method and returns:
{
  blobs: []
  hasMore: boolean
  cursor?: string
  folders?: string[]
}

Also, adding the option folded: true option instead to return the folders:
// Folded mode
const { blobs, folders } = await hubBlob().list({ folded: true })

// Expanded mode
const { blobs } = await hubBlob().list()

By returning hasMore and cursor, we also fix the pagination issue we have (to be tested):
We should be able to do:
const { list } = hubBlob()
let hasMore = true
let cursor

while (hasMore) {
  const res = await list({
    limit: 10,
    cursor,
  })
  hasMore = res.hasMore
  cursor = res.cursor
}

Also, adding the option folded: true option instead to return the folders:

Buckets accepts delimiter string to create these folds. I think kipping this delimiter makes more sense, and allows users to customise folding bahavior. WDYT @Atinux ?
const { blobs, folders } = await hubBlob().list({ delimiter: true })


feat: custom DQL queries within catalog-info.yaml and SRG validations as default query

Introduction
resolves #46 and
resolves #107
More details: https://github.com/Dynatrace/backstage-plugin/pull/124#issuecomment-2271005099
Technical Solution Before This PR
Previously, custom DQL queries had to be defined within the app-config.yaml file of the Backstage instance. This approach did not allow developers to define their own custom actions for their components. Moreover, for each custom query, an EntityDqlQueryCard with the query ID had to be added.
There was no default query to get site reliability guardian validations and display them in Backstage.
Technical Solution for #46
The EntityCatalogInfoQueryCard is used to display a result table for each query defined in the metadata.dynatrace.queries property of an entity in the catalog-info.yaml file.
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: demo-backstage
  description: Backstage Demo instance.
  annotations:
    backstage.io/kubernetes-id: kubernetescustom
    dynatrace.com/guardian-tags: "service=my-service,stage=development,novalue"
  dynatrace:
    queries:
      - id: Error Logs
        description: Fetch Error Logs
        query: >
          fetch logs, from: -2d
                | filter status == "ERROR"
                | sort timestamp desc
                | fieldsAdd content=if(isNull(content), "N/A", else: content)
                | fieldsAdd source=if(isNull(log.source), "N/A", else: log.source)
                | fieldsAdd host=if(isNull(host.name), "N/A", else: host.name)
                | fieldsAdd environment = "${environmentName}"
                | fieldsKeep timestamp, source, content, host, environment

Given this example, it is possible to define multiple custom queries in the config-info.yaml that are executed against all configured Dynatrace environments. The result of one query is then merged into one table, which the plugin displays.
To showcase the custom query results, an additional route was added to the EntityPage.tsx file in the demo-backstage component.
Additionally, three sample queries were added to the README.md:

Error Logs
Problem Events
Security Vulnerabilities

Technical Solution for #107
A default query has been integrated to automatically fetch SRG validation results from Dynatrace.
Each entry in the validation results table now includes a direct link that opens the Site Reliability Guardian (SRG) view.

To filter for specific guardians, you can filter tags defined in the metadata.annotations property of the catalog-info.yaml file under the key dynatrace.com/guardian-tags.
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: demo-backstage
  description: Backstage Demo instance.
  annotations:
    backstage.io/kubernetes-id: kubernetescustom
    dynatrace.com/guardian-tags: 'service=my-service,stage=development,novalue'

There are two ways to filter tags:

Key-Value Match: The tag must match both the key and the value. For
example, the key service must have the value my-service.
Key Exists: The tag key must exist with any value. For example, the key
novalue.

The difference between these filtering methods is indicated by the presence of
the = symbol.
:heavy_check_mark: Common checklist

[x] Added tests for new functionality and regression tests for bug fixes
[x] Screenshots of before and after attached (for UI changes)
[x] Added or updated documentation (if applicable)
[x] Helpful resources linked (if applicable)

@blasget When testing out the new features, I ran into the issue that one property returned a boolean and not a string. Hence, I got the error:

Can we handle this situation? If not, we should at least mention in the Readme that the DQL must return string values.

@blasget When testing out the new features, I ran into the issue that one property returned a boolean and not a string. Hence, I got the error:
Can we handle this situation? If not, we should at least mention in the Readme that the DQL must return string values.

Source: https://github.com/Dynatrace/backstage-plugin?tab=readme-ov-file#custom-queries

@Kirdock will take over and incorporate feedback items.


redo custom error messages

When I checked CircleCI (https://circleci.com/gh/maticzav/graphql-shield) I did see that they're having some Github outages (https://status.circleci.com/)

Yeah I saw that I don't know why the build didn't trigger but I modified some settings and I hope it'll work properly in the next PRs + I wanted to introduce automatic npmversioning (that's why I failed with the first PR...) Anyway, huge thanks!


[WIP][SPARK-34886][PYTHON] Port/integrate Koalas DataFrame unit test into PySpark

What changes were proposed in this pull request?
Now that we merged the Koalas main code into the PySpark code base (#32036), we should port the Koalas DataFrame unit test to PySpark.
Why are the changes needed?
Currently, the pandas-on-Spark modules are not tested at all. We should enable the DataFrame unit test first.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Enable the DataFrame unit test.

Can one of the admins verify this patch?

ok to test.

Test build #137049 has started for PR 32083 at commit 3b924c0.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41627/

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

Can one of the admins verify this patch?

Test build #137049 has finished for PR 32083 at commit 3b924c0.

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

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

add to whitelist

Test build #137076 has started for PR 32083 at commit 3b924c0.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41654/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41654/

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

Test build #137076 has finished for PR 32083 at commit 3b924c0.

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

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

Test build #137092 has started for PR 32083 at commit 6d13af9.

Test build #137092 has finished for PR 32083 at commit 6d13af9.

This patch fails Python style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41670/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41670/

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

Test build #137097 has finished for PR 32083 at commit 4abe527.

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41678/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41678/

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

Test build #137107 has started for PR 32083 at commit f5d9fd3.

Test build #137100 has finished for PR 32083 at commit 3a73eba.

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

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41685/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41685/

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

Test build #137107 has finished for PR 32083 at commit f5d9fd3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

retest this please

Test build #137113 has started for PR 32083 at commit f5d9fd3.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41692/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41692/

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

Test build #137113 has finished for PR 32083 at commit f5d9fd3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

retest this please

Test build #137119 has started for PR 32083 at commit f5d9fd3.

I manually checked that all related tests passed during running multiple times. I don't believe this cause any extra test failures.
Merged to master.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41698/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/41698/

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

Test build #137119 has finished for PR 32083 at commit f5d9fd3.

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

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


Change getLoginRoute to accept $route parameters

In reference to #4423 which highlights an issue of setting the login screen only maintaining the cluster main page and not the sub-pages within.
This PR changes the getLoginRoute to set the path based on the $route store parameters rather than the base level cluster explorer.
To Test

Navigate to a page which allows setting the login page
Set the login page by the 3 dots in Header Nav
Logout and log back in to be redirected to the page that was set.

Tested the route of an uninstalled app using monitoring as an example. If the monitoring page was set as the login page and then uninstalled monitoring, the new login page will be the chart that corresponds to the uninstalled app.


[Feature Request] Control screen brightness and/or volume in locked state

Locking my screen at night and unlocking in the morning can lead to unreadable situations. It would be great if hyprlock would allow screen brightness control.

hyprlock can't do that. That's something you have to script yourself, e.g. with brightnessctl

https://wiki.hyprland.org/Configuring/Binds/#bind-flags -> use bindl.

Damn, and I thought I'd properly googled. Thanks @fufexan, fixed it in 2 seconds.


Support gpu.js

Add support for GPU.js. Thank You

Caniuse does not track libraries and it doesn't make sense to do so.

Indeed, libraries are out of scope for what caniuse tracks.

Okay, thank you.


Brand new install, 2 deprecated messages (but on console error output)

Hi,
By installing grunt-cli on a brand new Linux
npm install -g grunt-cli
I get the following warnings on npm error console:
+<EMAIL_ADDRESS>added 150 packages from 121 contributors in 7.772s
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated

It seems that source-map-resolve removed the dependencies in 0.6.0
See https://github.com/lydell/source-map-resolve/commit/df811258cf7021ab6e6a485a2a49be0e33d2e87a#diff-b9cfc7f2cdf78a7f4b91a753d10865a2
And it is a dependencies from liftoff
npm ls urix
C:\Users\pasb\AppData\Roaming\npm
`--<EMAIL_ADDRESS>  `-- UNMET DEPENDENCY<EMAIL_ADDRESS>    `-- UNMET DEPENDENCY<EMAIL_ADDRESS>      `-- UNMET DEPENDENCY<EMAIL_ADDRESS>        `-- UNMET DEPENDENCY<EMAIL_ADDRESS>          `-- UNMET DEPENDENCY<EMAIL_ADDRESS>            `-- UNMET DEPENDENCY<EMAIL_ADDRESS>
(same npm ls for resolve-url)
And "up to date version" of liftoff is 3.1.0, here you have in package.json
   "liftoff": "~2.5.0",
As all run well "after", I mean grunt is working, but you may perhaps update grunt-cli or dependencies to avoid this ?

From what I can see, this has been resolved in grunt-cli 1.4.0. Let us know if if you still experience this on the latest version!


Discrepancy between docs.docker.com and docs in repo

The docs in this repo for container creation say the SecurityOpt field belong in the HostConfig field:
         "HostConfig": {
           ...
           "SecurityOpt": [""],
           ...
        }

But the docs on docs.docker.com here say it's outside of HostConfig
         ...
         "SecurityOpts": [""],
         "HostConfig": {
         ...

They both work but there should be consistent documentation. Also the SecurityOpts in the second example should be SecurityOpt (no "s").

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any duplicates already open.
We would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this because we cannot debug your issue. We can reopen whenever the information is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:

`docker version`:

`docker info`:

`uname -a`:

Environment details (AWS, VirtualBox, physical, etc.):

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual Results:

Expected Results:

Additional info:

#ENEEDMOREINFO

Closing since docs.docker.com is generated from these docs.

To clarify, the docs on docs.docker.com are generally "behind" what's on GitHub and are periodically updated by hand-picking (cherry-picking) changes.
To view the latest version of the docs, based on GitHub, look at http://docs.master.dockerproject.com
but be aware that those docs contains documentation that may not work yet on the current release.

Ah I see. The typo of the additional "s" on securityOpts should at least be
fixed because that actually doesn't work at all.
On Tuesday, May 19, 2015, Sebastiaan van Stijn<EMAIL_ADDRESS>wrote:

To clarify, the docs on docs.docker.com are generally "behind" what's on
GitHub and are periodically updated by hand-picking (cherry-picking)
changes.
To view the latest version of the docs, based on GitHub, look at
http://docs.master.dockerproject.com
but be aware that those docs contains documentation that may not work yet
on the current release.
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/13334#issuecomment-103699274.

--
David Xia
davidxia.com


Policy evaluation and rule enforcement

It looks like policy evaluation is currently done on the provider side and performed by checking JWT token claims against stored policy (please correct me if I am wrong here).
Could you please provide an example of such JWT tokens and an example of their evaluation against the corresponding policy?
What are mechanisms to enforce policy on the client side (ex. delete the data after some period)?
Is there a way to enforce the "One up, one down" case, to ensure that different consumers access different subsets of data?

Hi,
Policy evaluation can also be done on the client-side...it's just that it hasn't been implemented yet.
The JWT structure is just a standard JWT with the added constraint that claims should be key-value string pairs (no complex type values). Th specific claims that are passed in the JWT is implementation-specific.
For examples of policy evaluation, please see the test cases and usage of the PolicyEvaluator class.
The mechanisms to enforce policy will be implementation-specific. For example, a policy could potentially be transformed to REGO, cloud infrastructure configuration (e.g. access controls on data), etc. The idea is that once policy is received on the client, it can be transformed/converted based on the execution environment.
Regarding "one up, one down", you'll need to be more specific. What type of data is being transferred and where is it stored? What identifiers are being used to determine consumers and how are they resolved in the dataspace?

Hello! Thanks for the feedback.
I believe for the "one up, one down" case a data type is not important. It might be just a file.
On the Provider side evaluation is done based on policy, token, and connector IDs. Consider a scenario when I have
a bunch of files comprising some sort of data tree and three different consumers want to access that files.
I want to be able to serve specific files (subset) to specific consumers. As I see it now, to get information
about a consumer, I need to look at the connector's ID or inside the token for some specific claims that all sides have agreed on.
Also, there should be some AgreementStorage where providers can store information about what to serve to each consumer.
The question is - is this AgreementStorage also implementation-specific or will be covered by the core connector specification?
Regarding client-side policy validation. Considering the spatial constraint examples. If a data transfer has been made and the data is already in the consumer's storage I see no mechanisms to prevent potential policy violations other than having all data interactions performed via the connector. I mean that I could access my S3 bucket I have downloaded resources to without using the connector and read the file from anywhere and as many times as I want.

Hello! Thanks for the feedback.
I believe for the "one up, one down" case a data type is not important. It might be just a file.
On the Provider side evaluation is done based on policy, token, and connector IDs. Consider a scenario when I have
a bunch of files comprising some sort of data tree and three different consumers want to access that files.
I want to be able to serve specific files (subset) to specific consumers. As I see it now, to get information
about a consumer, I need to look at the connector's ID or inside the token for some specific claims that all sides have agreed on.

Yes, you would need to look inside the token for a verifiable credential and map that to an identity.

Also, there should be some AgreementStorage where providers can store information about what to serve to each consumer.
The question is - is this AgreementStorage also implementation-specific or will be covered by the core connector specification?

Each connector will have access to a set of assets it shares via an AssetIndex (work in progress). Each asset will be associated with a set of policies that can be used to determine access rights. Those access rights can be mapped to an identity resolved through the JWT. This should be sufficient.

Regarding client-side policy validation. Considering the spatial constraint examples. If a data transfer has been made and the data is already in the consumer's storage I see no mechanisms to prevent potential policy violations other than having all data interactions performed via the connector. I mean that I could access my S3 bucket I have downloaded resources to without using the connector and read the file from anywhere and as many times as I want.

There are ways of constraining access. For example, object storage can be restricted to a particular private network, which can be geographically bound. The design of the connector is to have the policy engine capable of transforming or mapping usage policy to these types of configured resources during the provisioning phase.
I would argue this type of approach is likely to be more "secure" than requiring all data access to go through the connector. For example, the connector is likely going to have to persist data somewhere, introducing a potential backdoor.
Stepping back, I would also say that it's nearly impossible to "absolutely" guarantee enforcement of usage policy. The key thing is reasonable steps are in place to help enforce that policy and there is an audit trail..all things the connector provides.

Oh, I think I see now. This is where resource management comes into play. The consumer-side storage might also be provisioned dynamically according to the policy configured for the requested resource. And, in general, storage is not necessarily something that consumers or providers have full control over (ex. it might be separate geospatial-aware storage that a consumer will be allowed to access only from certain areas). Right?

Yep, that's it!


docs: Add piglit_worker documentation

Since the piglit worker may replace the GLES worker for Mesa testing, it might be useful to have some documentation explaining the requirements and perhaps a basic usage guide.

Fixed by #631.


Quantum Storage for Mnesia (WIP)

Hello there, inspired by QuantumStoragePersistentEts, I created an equivalent but using Mnesia.
You can check it out here: https://github.com/sezaru/quantum_storage_mnesia
It stills a WIP since I don't have tests for it, but it seems to work great.
If you don't mind, can you take a look and see if there is something that you see as a problem with it?
Also, I'm not sure what is the best way to handle the nodes parameter from mnesia, for now, it is hardcoded to [node()], I'm not sure if I should handle remote nodes from it since I guess Quantum already does the synchronization for me right?
And if not, do you have any suggestions on how to send the nodes list to mnesia? I didn't find any way to send some custom data to the storage child_spec args for example.

@sezaru That sounds great. As soon as you consider it ready, you‘re welcome to create a PR linking to your storage adapter.
For tests I recommend looking at the ets adapter. They’re quite basic.
I can‘t say that I know a lot about mnesia, I guess you‘d be better of asking questions to erlang / elixir support channels.


"undefined reference to 'pthread_create'" error while linking executable

$ make
[ 16%] Building CXX object CMakeFiles/scope.dir/src/run_alstructure.cpp.o
[ 33%] Building CXX object CMakeFiles/scope.dir/src/alstructure.cpp.o
[ 50%] Building CXX object CMakeFiles/scope.dir/src/matmult.cpp.o
[ 66%] Building CXX object CMakeFiles/scope.dir/src/genotype.cpp.o
[ 83%] Building CXX object CMakeFiles/scope.dir/src/storage.cpp.o
[100%] Linking CXX executable scope
CMakeFiles/scope.dir/src/matmult.cpp.o:matmult.cpp:function MatMult::multiply_y_post_fast(Eigen::Matrix<double, -1, -1, 1, -1, -1>&, int, Eigen::Matrix<double, -1, -1, 1, -1, -1>&, bool): error: undefined reference to 'pthread_create'

System Details:

Kernel version:  $ uname -r
3.10.0-957.12.2.el7.x86_64
OS:  CentOS linux 7 (Core)
Architecture:  x86_64
make v3.82
cmake v3.14.3
pthread version: 2.17   I think.  I get the following output

$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.17

Hello,
Can you try adding -pthread to the line set(CMAKE_CXX_FLAGS "-std=c++0x -O3 -lrt") to CMakeLists.txt?
It should read set(CMAKE_CXX_FLAGS "-std=c++0x -O3 -lrt -pthread") after the change.
Best,
Alec

Yes, linking is successful after that

Hi!  I noticed this issue is closed.  Will there be changes to the makefile so that pthreads is linked by default?


There is a problem in reademe file

Describe the Bug

should be apply

add static check

apply/install: fixed in the latest PR
make fmt/vet: please add in the next PR.

Add: the doc should mention that GOPATH/bin needs to be placed in PATH so that goimports can work.


special form of shortcut refinement doesn't work

interface I {
    shared formal Anything foo();
}

object o satisfies I {
    foo = () { return 0; };
}

results in:
error: compiler bug: null at com.redhat.ceylon.compiler.java.codegen.ClassTransformer.transformSpecifiedMethodBody(ClassTransformer.java:4283)
error: Ceylon backend error: o_ is not abstract and does not override abstract method foo() in I
2 errors
Note: Created module simple/1.0.0
ceylon compile: There were 2 errors

Fixed.

Thanks, that was quick!


Add SARIF parser

OASIS Static Analysis Results Interchange Format (SARIF) for version 2.1.0 only.
https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sarif

Codecov Report

Merging #6 (3d4f13f) into main (42e98ed) will decrease coverage by 5.57%.
The diff coverage is 82.79%.

@@             Coverage Diff             @@
##              main       #6      +/-   ##
===========================================
- Coverage   100.00%   94.42%   -5.58%
===========================================
  Files            5        6       +1
  Lines          191      287      +96
===========================================
+ Hits           191      271      +80
- Misses           0       16      +16

Impacted Files
Coverage Δ

vulnerabilities/sarif.py
83.33% <82.79%> (ø)

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 42e98ed...3d4f13f. Read the comment docs.


fix: Manage route tables for multiple database subnets

Description
Module fails when I try to create multiple database subnets with create_database_subnet_route_table = true and single_nat_gateway = false
Motivation and Context
When I try to create multiple database subnets with it's own route tables, module tries to create:

multiple db subnets
One route table for multiple database subnets
Multiple routes for each NAT gateway. Points all this routes to one route table and fails.

Breaking Changes
There was no possibility to create multiple db subnets with create_database_subnet_route_table = true and single_nat_gateway = false. So there are shouldn't be breaking changes.
How Has This Been Tested?
Case 1
module "vpc-test" {
  ...
  cidr             = "<IP_ADDRESS>/16"
  azs              = ["us-east-1a", "us-east-1b"]
  public_subnets   = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
  private_subnets  = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
  database_subnets = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]

  single_nat_gateway                     = false
  create_database_subnet_route_table     = true
  create_database_nat_gateway_route      = true
  ...
}

Creates 2 route tables for database subnets. Points each route table to appropriate NAT gateway
Case 2
module "vpc-test" {
  ...
  cidr             = "<IP_ADDRESS>/16"
  azs              = ["us-east-1a", "us-east-1b"]
  public_subnets   = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
  private_subnets  = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
  database_subnets = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]

  single_nat_gateway                     = true
  create_database_subnet_route_table     = true
  create_database_nat_gateway_route      = true
  ...
}

Creates 1 route table for all database subnets. Points route table to single NAT gateway
Case 3
module "vpc-test" {
  ...
  cidr             = "<IP_ADDRESS>/16"
  azs              = ["us-east-1a", "us-east-1b"]
  public_subnets   = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
  private_subnets  = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
  database_subnets = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]

  create_database_subnet_route_table     = true
  create_database_nat_gateway_route      = false
  create_database_internet_gateway_route = true
  ...
}

Creates 1 route table for all database subnets. Points route table to internet gateway

Looks good to me, ill try to test all the cases.

@antonbabenko @DrFaust92 Did you have a chance to look at this? Thanks!

@y-batsianouski @antonbabenko @DrFaust92  I can confirm that this fixes the issue I reported https://github.com/terraform-aws-modules/terraform-aws-vpc/issues/516

@y-batsianouski Can you please update this with the base branch?
@antonbabenko @DrFaust92 I can confirm that this fixes the issue I reported #516

@Chili-Man I'll try to manage this soon. But It's not very interesting for me now because I've written my own tf module for VPC which was inspired by this module but provides much more flexibility: https://registry.terraform.io/modules/y-batsianouski/vpc/aws.
Unfortunately full documentation isn't completed yet, but I'm going to update it soon.

@y-batsianouski I understand, thanks for the update;  I can carry this forward then; I'll open a new pr with these changes

@y-batsianouski  I've opened this pr to carry the changes forward here: https://github.com/terraform-aws-modules/terraform-aws-vpc/pull/518 . Feel free to close this PR

Closining. @Chili-Man handover this changes in it's PR: https://github.com/terraform-aws-modules/terraform-aws-vpc/pull/518

hi all, this is fixed now in #518


Chore: Adapt Kotlin DSL and Versions.toml Update

Hi! @sridhar-sp
This PR contains conversion commit to new Android Project Structure (Kotlin DSL and versions.toml) from legacy.
This branch is built upon #7 .
Please review this PR.
Thank you!

Hope this is tested locally,
Will review and reply by tomorrow.

I believe this changes is already a part of #10 . If that's the case you can close this PR.


Add heart rate tool

With a dedicated sensor or camera.
Could be useful to check for signs of overexertion or dehydration.

https://www.fruct.org/publications/fruct13/files/Lau.pdf

https://www.fruct.org/publications/fruct13/files/Lau.pdf

Also check https://f-droid.org/en/packages/com.jwetherell.heart_rate_monitor/ . I use it and I think the results are reasonably accurate.

Also check https://f-droid.org/en/packages/com.jwetherell.heart_rate_monitor/ . I use it and I think the results are reasonably accurate.

After some consideration, I will not be adding a heart rate calculator to Trail Sense. Instead, I will be creating a separate Health Sense app: https://github.com/kylecorry31/Health-Sense
I did this because it will likely have a different userbase than Trail Sense / I don't want Trail Sense to start getting into medical related stuff.

After some consideration, I will not be adding a heart rate calculator to Trail Sense. Instead, I will be creating a separate Health Sense app: https://github.com/kylecorry31/Health-Sense
I did this because it will likely have a different userbase than Trail Sense / I don't want Trail Sense to start getting into medical related stuff.


Add schema and resolvers finder

See https://github.com/Mayank1791989/gql/pull/152

See also:
https://github.com/Mayank1791989/gql-language-server/pull/3


Move / add local clustering coefficient into BaseNode class?

[ ] implement additional BaseNode method & compare to graph-wide computations


CUDA ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives

@davisking
I am working on the ubuntu with Qt 5.11.3 .
I installed latest cuda and cudnn with the dlib 19.17
I compiled dlib as shared library :
cmake -DBUILD_SHARED_LIBS=1 -DUSE_AVX_INSTRUCTIONS=1 ..
and
sudo make install
when I try to compile the projects its giving below error:
main.o: In function _GLOBAL__sub_I_main.cpp': /data/Facial-/main.cpp:(.text.startup+0x39): undefined reference to USER_ERRO R__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives_' worker.o: In function _GLOBAL__sub_I_worker.cpp': /data/Facial-/worker.cpp:(.text.startup+0x39): undefined reference to USER_ER ROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives_' widget.o: In function _GLOBAL__sub_I_widget.cpp': /data/Facial-Z01-Saftas-MileSight-Commercial-v2__/widget.cpp:(.text.startup+0x39): undefined reference to USER_ER ROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives_' camera_02.o: In function _GLOBAL__sub_I_camera_02.cpp': /data/Facial-/camera_02.cpp:(.text.startup+0x39): undefined reference to USER ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives ' camera_01.o: In function _GLOBAL__sub_I_camera_01.cpp': /data/Facial-/camera_01.cpp:(.text.startup+0x39): undefined reference to USER ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives ' camera_03.o:/data/Facial-/camera_03.cpp:(.text.startup+0x39): more undefined r eferences to USER_ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_prepro
cessor_directives_' follow
clang: error: linker command failed with exit code 1 (use -v to see invocation)`
When I switch to the dlib 19.9 and I can compile without Cuda support no problem.
What is  undefined reference to USER ERROR__missing_dlib_all_source_cpp_file__OR__inconsistent_use_of_DEBUG_or_ENABLE_ASSERTS_preprocessor_directives
error ?
is this due to multiple dlib in the path somehow ? have you ever experienced before ?

  I don't know what you did.  You haven't posted what you did.  You
need to post a complete set of steps that someone can type to reproduce
your problem if you want help.


QuestEnded Hook for Data Extraction

Hey :)
First of all, thanks for the mod :)
I would like to export the dmg dealt from me and my friends lobby into a csv file, but i have no lua experience. I understand most of the code, but im not sure about there being a quest ended hook.
Probably can figure out the extraction to csv with lua, but I would need to know what kind of hook i need to use :)
Ofc this is just for private use, we just would love to see how deals mot dmg until sunbreak :D
I was thinking something like:
   function export_stats()

         local output_file = assert(io.open("analysis.csv", "w"))

         output_file:write(""")
         output_file:write("Time")
       output_file:write("",")

         output_file:write(""")
         output_file:write("Seq")
       output_file:write("",")

         output_file:write(""")
         output_file:write("Retransmissions so far")
       output_file:write(""n")

at the end of each quest, so it appends to the file. Could you give me a little pointer on what line in your script to call my export function? :)
I really appreciate the time you have put into this.
Of course there is a little bounty waiting ;)

Thank you for the support! I appreciate it! You can use this hook down below. The script doesnt use it thou, I check for quest status by manually calling getStatus function on each frame. Also I am not sure that IO library is available. If it's not you will have to download the latest version of REFramework and use it's new JSON API.
local quest_manage_type_definition = sdk.find_type_definition("snow.QuestManager");
local on_changed_game_status = quest_manage_type_definition:get_method("onChangedGameStatus");

sdk.hook(on_changed_game_status, function(args)
	local status = sdk.to_int64(args[3]);
	-- status == 0 is village
	-- status == 1 is loading quest
	-- status == 2 is quest in progress
	-- status >= 3 is quest done (afaik)
	if status > 2 then
		-- do stuff
	end

end, function(retval) return retval; end);

Thanks for the quick answer. :) Sorry for these nooby questions. I am a Software Developer in Python, but im not too familiar with games and lua. I have a few little questions:

Your hook makes sense, however, am I right that I can just read the table variable?  For now, I would just want to test it by printing the table in the end.
I dont mind if the table is not sorted, Pandas and python will do that for me when i process the data.
How do I find out if i can use IO or have to use JSON? :D My IDE doesnt really tell me if its available or not. Im using IntelligJ with EmmyLua :)

The only way to tell if IO library is supported is to just try and run a piece of code with it. Which I already did and yes, IO is not available.  So you indeed will have to download the latest REFramework version and use json.dump_file(filename, table).
You can just feed it monster_table and players tables.

Nice, I will try that tonight! :) Thanks a lot for the help for now.
If I get it to work, Ill leave some more GreenTea :D

dont worry, it will work, there is no reason not to xD

json.dump_file(filename, table)

:D Yeah but im also dumb when it comes to new stuff.
Can i somehow have a debug while im running the game and script?`so i can see what it outputs xD

Not really. You can utilize status variable that will show data inside REFramework. And also x variable that i use to draw data on screen while debugging and testing. You will have to uncomment it thou.

json.dump_file(filename, table)

Would you be able to tackle this together on discord? :D so it could be a bit easier than spamming here :D Im unsure if this will work what I tried :(

yeah, sure GreenTea#0040


undefined method `load_validation'

class FileManagerPage < SitePrism::Page
#Top Menu
element :files_tab,                   :link,    'Files'
#check if page is loaded?
load_validation { [ has_no_files_tab?, 'Files tab did not appear' ] }
end
Above is my class, when calling @my_app.file_manager_page.loaded? it shows undefined method `load_validation'

The feature is not yet released. site_prism version 2.8 does not provide this functionality. See the README.md matching your version of the gem.

Thanks


How to deal  distorted  qr code [windows can't recognize]

Hi @drduan, thanks for reaching out. It looks that the font you are using is not monospace, can you please confirm that:

the font is not monospace
it works with a monospace font
?

Thank you!

Also, it looks that you are using an IPv6, for which support is still buggy (there is an issue already opened for this: https://github.com/claudiodangelis/qr-filetransfer/issues/4), so it's probably not going to work even after getting the QR code, sorry for that! I hope to fix the problem with IPv6 real soon.

This is caused by font. The letters using qrterminal are ambigous width in UTF-8. you should use monospace font. Or patch this.
diff --git a/main.go b/main.go
index e9b082e..a4a9fa0 100644
--- a/main.go
+++ b/main.go
@@ -7,7 +7,9 @@ import (
 	"net"
 	"net/http"
 	"os"
+	"runtime"

+	"github.com/mattn/go-colorable"
 	"github.com/mdp/qrterminal"
 )

@@ -49,8 +51,19 @@ func main() {
 	// Generate the QR code
 	fmt.Println("Scan the following QR to start the download.")
 	fmt.Println("Make sure that your smartphone is connected to the same WiFi network as this computer.")
-	qrterminal.GenerateHalfBlock(fmt.Sprintf("http://%s", listener.Addr().String()),
-		qrterminal.L, os.Stdout)
+	qrcfg := qrterminal.Config{
+		Level:      qrterminal.L,
+		HalfBlocks: true,
+	}
+	if runtime.GOOS == "windows" {
+		qrcfg.Level = qrterminal.L
+		qrcfg.HalfBlocks = false
+		qrcfg.Writer = colorable.NewColorableStdout()
+		qrcfg.BlackChar = qrterminal.BLACK
+		qrcfg.WhiteChar = qrterminal.WHITE
+	}
+
+	qrterminal.GenerateWithConfig(fmt.Sprintf("http://%s", listener.Addr().String()), qrcfg)

 	// Define a default handler for the requests
 	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {

BTW, current implementation of qrterminal is wrong direction to draw.
https://github.com/mdp/qrterminal/pull/6
So some camera application failure to scan QR code.

@claudiodangelis if you want this patch, I'll send PR.

QR Code looks good, and IPv6 worked perfectly.

Thanks @NatoBoram, let's wait to hear from @drduan then we can close this.

After 26 days, 0 answers from OP and 0 new complaints I'm assuming this is fixed.


Replace Autoprefixer browsers option to Browserslist

Issue:
We now need to replace the autoprefixer (as of V9) browsers options to use browsers list.  How do we implement this and/or how do we integrate .browserslistrc with the options? Without changing it the console is giving a warning (see below). Outside of using an older version of autoprefixer, and/or if it's even possible with the current version of grunt-postcss.
Grunt post-css options:
With the current example config I'm getting the following message below.
processors: [
  require('autoprefixer')({
    browsers: ['>1%'],
  }),
],

Command line warning output:
  Replace Autoprefixer browsers option to Browserslist config.
  Use browserslist key in package.json or .browserslistrc file.

  Using browsers option cause some error. Browserslist config
  can be used for Babel, Autoprefixer, postcss-normalize and other tools.

  If you really need to use option, rename it to overrideBrowserslist.

  Learn more at:
  https://github.com/browserslist/browserslist#readme
  https://twitter.com/browserslist

As of at least autoprefixer version 9.1.5 it does not show this message. When I was getting the error earlier it was with version 9.7.0.

@webdevnerdstuff https://github.com/C-Lodder/grunt-postcss/issues/14

I had tried both methods described in that other issue, but nothing was getting auto-prefixed. I guess I'll have to revisit it again some more to see where/if I went wrong. But for now I'll most likely be sticking with the older version and circle back when I have more time to experiment.
Perhaps you could update the docs with the info from the other ticket? That might be helpful for others who are able to get it to work. Thank you.

If you want to provide a link to the repo you're working on, maybe I can have a look and see what you're currently doing anf fix it?

It's a private repo with the company I work at, so I'm not allowed to give access. It's a fairly complicated setup as well. I'll try testing things out with a bare bones test next time to see if I can figure it out when I have more time to experiement. If I can, then hopefully I can transfer that over to the project. If I cannot, then I may take you up on that offer.
Thank you for the offer though, I really do appreciate it. :)

I use this and that seem to work.
                processors: [
                    require('pixrem')(), // Add fallbacks for rem units
                    require('autoprefixer')({overrideBrowserslist: ['last 2 versions']}) // 9.7.1: use overrideBrowserslist // Add vendor prefixes for the last x versions
                ]


Missing takeUntil on Observable

I want to end an Observable once another Observable switches. I think this could be achieved with a method takeUntil(other: Observable[_]) analogously to dropUntil.

@ziggystar OK, will happen, not sure when. If you'd like to give it a shot, you can also send a PR :-P
In the meantime you could play with switchMap:
val trigger = myTriggerObservable.headF.completed

Observable.fromIterable(Seq(source, trigger)).switchMap(identity)

@ziggystar the alternative I outlined above doesn't work. Sorry, I'm tired. I mean, my description of switch is correct, but it doesn't do what you want.
OK, here's another approach:
val trigger = Observable.now(true) ++ myTriggerObservable.headF.completed ++ Observable.now(false)
Observable.combineLatest2(source, trigger)
  .takeWhile(_._2).map(_._1)


Allow excluding files from published Java components

When configuring a Java publication, one may wish to exclude certain files from the main published JAR, but not from the build; i.e, an application (fat JAR) generated in the build would contain the file, but the published ("slim") JAR would not.
One particular use case for this is making use of sensitive resource files in local development, but referring from publishing them to a public repository.
Expected Behavior
publishing {
    publications {
        api(MavenPublication) {
            from components.java
            exclude 'secret.txt'
        }
    }
}

Current Behavior
In order to exclude files one can create a custom JAR artifact, but the problem is that the generated POM will be lacking all of the dependencies. This is especially noticeable in multi-module projects.
There is a workaround for this, but it is quite messy. It involved declaring a second internal publication based on from components.java, which is used only to generate the POM and "copy" it to the publication with the custom JAR:
task apiJar(type: Jar) {
    from sourceSets.main.output
    exclude 'secret.txt'
}

publishing {
    publications {
        def pomString = null

        internal(MavenPublication) {
            from components.java
            pom.withXml {
                pomString = asString().toString()
            }
        }

        api(MavenPublication) {
            artifact apiJar
            pom.withXml {
                def builder = asString()
                builder.delete(0, builder.length())
                builder.append(pomString)
            }
        }
    }
}

generatePomFileForApiPublication.dependsOn(generatePomFileForInternalPublication)

Context
This has been brought up on StackOverflow as well.

I like you too @stale bot.

Ahh stale bot my old frenemy.

Excluding entries from a published archive in this way will likely never be possible in Gradle. Conceptually, publishing is not aware of the contents of the artifacts it is publishing. If you wish to publish a modified artifact compared to the "normal" one, that modification should be done at the time of building that artifact. In general, publishing should be transparent -- publishing exactly the component which is declared on from. If you wish to change what is published, the components.java should be updated to reflect that.


[Search] Add Order By

https://myanimelist.net/anime.php?q=&letter=&type=0&score=0&status=0&p=0&r=0&sm=0&sd=0&sy=0&em=0&ed=0&ey=0&c[0]=a&c[1]=b&c[2]=c&c[3]=d&c[4]=e&c[5]=f&c[6]=g&gx=0&o=7&w=2&o=7&w=1
It's possible to order by columns available on the search results by passing some extra GET params.

An attempt to understand get parameters in MAL searches:

Param Name
Description
Example
Range

q
search query
q=Hello
Any Alphabetical character

score
any score that starts with this int
Gintama has a score 9.14, so it should show up on score=9
1 -10, but should be 1 - 9 since nothing will ever be scored 10/10 on MAL

type
type, e.g. Movie/TV
type=0
0=all, 1=TV, 2=OVA, 3=Movie, 4=Special, 5=ONA, 6=Music

status
airing status
status=2
3=unaired, 2=finished airing, 1=airing, 0=all

p
producer
p=11
p=<producer_id>, where producer is the corresponding id in https://myanimelist.net/anime/producer/11

r
rating
r=2
0=all, 1=G, 2=PG, 3=PG-13, 4=R, 5=R+ (no 6=Rx???)

sm, sd, sy
start month/day/year
sd=1&sm=5&sy=2015
typical date ranges. If a start date is specified by no end date, this gives you anything after that start date

em, ed, ey
end month/day/year

analogous to above

I realize that this stuff is already in Jikan, I just wanted to wrap my head around it and thought this might be an alright place to leave this.
Regarding the URL above, I dont know whats going on with the
o=7&w=2&o=7&w=1 at the end.
I'm not super familiar with GET parameters, does one overwrite the other...? o=7 twice?
Also, not sure if its something you'd want to add, but we're missing the letter paramter. E.g.:
https://myanimelist.net/anime.php?letter=. (punctuation)
https://myanimelist.net/anime.php?letter=A
https://myanimelist.net/anime.php?letter=B
For anime that start with that letter

I'm not super familiar with GET parameters, does one overwrite the other...? o=7 twice?
Yep, that's my bad. I just dumped the URL in a hurry. o=7&w=1 is currently applying to the request, it overwrites the previous o and w params.

I realized we were missing the letter param. Seems like I forgot to add it then. I made a commit that adds it. Would be there in the next update

Great.
Also, regarding the w parameter (which only reverses order for o=6,7,8,9), they dont use the w parameter for o=1-5 and instead split those into two (e.g. o=0 ascending name, o=1 descending name)
Using o=7 (popularity) as an example
These two order in descending order
https://myanimelist.net/anime.php?o=7: Descending
https://myanimelist.net/anime.php?o=7&w=1: Descending
Anything else orders in ascending order:
https://myanimelist.net/anime.php?o=7&w=-1
https://myanimelist.net/anime.php?o=7&w=2
https://myanimelist.net/anime.php?o=7&w=0
https://myanimelist.net/anime.php?o=7&w=6023424

Seems the w parameter can be used on o=0-6, but it doesn't offer any additional information.
These sort titles alphabetically
https://myanimelist.net/anime.php?o=0
https://myanimelist.net/anime.php?o=0&w=52345
https://myanimelist.net/anime.php?o=0&w=2
But specifying exactly w=1 to o=0 will sort it in reverse, even though o=1 already sorts it in reverse. i.e. these are equivalent:
https://myanimelist.net/anime.php?o=0&w=1
https://myanimelist.net/anime.php?o=1
I dont think this  that important, following this gives you every possibility for ordering.

Oh, jikan is missing the p (producer) param as well, unless you already added that.
In addition, here, it says the q= is required for v3+, but I dont think it has to be.
It would be pretty useful to not require the q as that means the search endpoint can become a way to create a list of every approved entry on MAL, which is a common problem in the discord.
I understand that the MAL anime.php endpoint requires a minimum amount of parameters to work, and just doing https://myanimelist.net/anime.php?q=&type=0&score=0&status=0&p=0&r=0, where the q is empty, and every other basic param is 0, which means 'all', it results in an error.
However, using the order parameter allows you to search for something without a query:
https://myanimelist.net/anime.php?q=&type=0&score=0&status=0&p=0&r=0&o=0
The corresponding request on jikan might be api.jikan.moe/v3/search/anime?page=1
If no orderby is specified in the jikan parameters, it can default to one (e.g. o=0; alphabetical), to allow searches without queries.
e.g. this:
api.jikan.moe/v3/search/anime?page=1
would convert to:
https://myanimelist.net/anime.php?q=&o=0
One could iterate from
api.jikan.moe/v3/search/anime?page=1
(https://myanimelist.net/anime.php?q=&o=0)
to
api.jikan.moe/v3/search/anime?page=314
https://myanimelist.net/anime.php?q=&o=0&show=15650
to get a list of all entries

You're right seems like producer is missing from just the REST API as well :fearful: I will add that asap.
It seems like I misphrased the "requirement" of q - what I meant was depreciating the backward compatibility of searching like this in v2 /search/Fate which was causing issues. Hence the usage of q was "required". Sorry about the confusion, I will need to fix that in the docs.
Regarding how the search would work without the q parameter, it's currently possible to run that query: api.jikan.moe/v3/search/anime?page=1 returns empty - as would https://myanimelist.net/anime.php?q=
Here are some examples:
/v3/search/anime?genre[]=1&genre[]2 (multiple genre response)
/v3/search/anime?start_date=2019-04-29 "upcoming"
v3/search/anime?status=upcoming alternative "upcoming"
/v3/search/anime?rated=g
api.jikan.moe/v3/search/anime?page=1

would convert to:

https://myanimelist.net/anime.php?q=&o=9&w=2

I feel defaulting these two would be incorrect. The goal is to respond the same stuff MAL would with the same query passed to MAL.
i.e the response for https://myanimelist.net/anime.php?q= would be "No titles that matched your query were found." So /v3/search/anime?q= returns with an empty array of results as it does.
One could iterate from

api.jikan.moe/v3/search/anime?page=1
(https://myanimelist.net/anime.php?q=&o=9&w=2)

to

api.jikan.moe/v3/search/anime?page=314
(https://myanimelist.net/anime.php?q=&o=9&w=2&show=15650)

to get a list of all entries

I'm hoping to have a different orderby value in order to query that sort of request.
We could possibly do something like this instead:
/v3/search/anime?orderby=added&sort=ascending -> https://myanimelist.net/anime.php?q=&o=9&w=2 (from the first added item onwards)
/v3/search/anime?orderby=added&sort=descending -> https://myanimelist.net/anime.php?q=&o=9&w=1 (from the last added item)
What do you think?

All sounds reasonable,.
I suppose its fine if it doesnt default to an ordering, I dont think youd want to return an error for it but its a bit confusing that https://api.jikan.moe/v3/search/anime?page=1 returns empty
Perhaps adding an example that doesnt have a search query in the docs would help push people towards knowing you can do one without a q param

I think an empty array is the correct response. An error would generally be not an option as all keys with array/object values in the API return empty if they're not present on the website.
Devs can easily check whether array/object values are empty and respond accordingly in their apps.
Indeed, I will further document search examples. :100:

So here's my compiled understanding and testing of the ordering and sorting so far:
Note: all these requests are appended with the following GET arguments:
c[]=a&c[]=b&c[]=c&c[]=f&c[]=d&c[]=e&c[]=g
This ensured the availability of all the available columns as listed below. The o value will change if these arguments are not passed on.
There are two sorting values for w that work for o from 0-9

Sort Direction
Value

Ascending
0

Descending
1

Note: However, the behavior for these two value are reversed if a certain o is the reverse of of it's other. See examples below with reverse marked.
Anime

Column
Order By Value o=value
Default Sort Value on MAL (without passing w)

title
0
0

title (reverse)
1
It's same as passing w=1 to o=0; thus we can ignore this value safely

start date
2
1 (Defaulted by the anime with the most future start date to the oldest)

score
3
1 (high -> low)

score (reverse)
4
1 (low -> high)

end date
5
1 (Defaulted by the anime with the most future end date to the oldest)

type
6
1 (Music -> ONA -> Special -> Movie -> OVA -> TV -> Unknown)

members
7
1

rated
8
1 (Rx -> R+ -> R -> PG13 -> PG -> G)

MAL ID
9
1 (high -> low)

Added to the parser, transferring the issue to the jikan-rest repo.


state-set: PCIE slot sensor/effecter state ID update

Change the state set ID for PCIE Slot sensor and effecter to allow old state set ID's to be used for code update.

can we upstream this as well and mention the upstream commit here?


RuntimeError: Given groups=1, weight of size 4 125 1 1, expected input[1, 128, 56, 56] to have 125 channels, but got 128 channels instead

Hi I'm running with the following command line:
CUDA_VISIBLE_DEVICES=0,1 python train_autodeeplab.py --dataset coco --filter_multiplier 4 --resize 358 --crop_size 224 --batch-size 2
This gives me:
RuntimeError: Given groups=1, weight of size 4 125 1 1, expected input[1, 128, 56, 56] to have 125 channels, but got 128 channels instead
I understand what the error about, but I can't really fix it, why I'm getting this error?
Thanks.

@BBarak Hi sorry, this one is our bad. Someone merged broken code this morning. It should be working now, can you give it a try and let me know?

I'm getting this error now:
"ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 20, 1, 1])" I saw in the closed issues that this was solved..

@albert-ba are you using the most recent version of the code? It should be much smaller now. Would allow you to use batch 2 on a single machine.

So I changed my line to be:
"CUDA_VISIBLE_DEVICES=0 python train_autodeeplab.py --dataset coco --filter_multiplier 4 --resize 358 --crop_size 224 --batch-size 2"
And I'm getting:
File "train_autodeeplab.py", line 356, in
main()
File "train_autodeeplab.py", line 345, in main
trainer = Trainer(args)
File "train_autodeeplab.py", line 80, in init
self.architect = Architect (self.model, args)
File "./AutoML/architect.py", line 11, in init
self.criterion = self.model.module._criterion
File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 591, in getattr
type(self).name, name))
AttributeError: 'AutoDeeplab' object has no attribute 'module'
What I'm missing?

Thanks


Newer foundry version takes more time in fuzz testing

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (91f69dd 2023-05-01T19:02:48.262468700Z)
What command(s) is the bug in?
No response
Operating System
Windows
Describe the bug
I'm using WSL1.
So when I use foundry latest version that is forge 0.2.0 (91f69dd 2023-05-01T19:02:48.262468700Z) then my tests takes a lot of time and if I use older version like forge 0.2.0 (e15e33a 2023-08-15T15:28:37.376537200Z) then it takes less time.
For later version forge 0.2.0 (91f69dd 2023-05-01T19:02:48.262468700Z), it takes 101.72s:
Running 5 tests for solidity/test/e2e/CryptoAnts.t.sol:E2ECryptoAnts
[PASS] testBeAbleToCreate100AntsWithOnlyOneInitialEgg() (gas: 144)
[PASS] testBurnTheAntAfterTheUserSellsIt(uint256) (runs: 1000, μ: 2432930, ~: 2375428)
[PASS] testBuyAnEggAndCreateNewAnt() (gas: 134403)
[PASS] testOnlyAllowCryptoAntsToMintEggs(address,uint256) (runs: 1000, μ: 86772, ~: 86569)
[PASS] testSendFundsToTheUserWhoSellsAnts(uint256) (runs: 1000, μ: 1917240, ~: 2005421)
Test result: ok. 5 passed; 0 failed; 0 skipped; finished in 4.46s
Ran 1 test suites: 5 tests passed, 0 failed, 0 skipped (5 total tests)
Done in 101.72s.

For older version forge 0.2.0 (e15e33a 2023-08-15T15:28:37.376537200Z), it takes 11.24s:
Running 5 tests for solidity/test/e2e/CryptoAnts.t.sol:E2ECryptoAnts
[PASS] testBeAbleToCreate100AntsWithOnlyOneInitialEgg() (gas: 144)
[PASS] testBurnTheAntAfterTheUserSellsIt(uint256) (runs: 1000, μ: 1874984, ~: 1776765)
[PASS] testBuyAnEggAndCreateNewAnt() (gas: 134403)
[PASS] testOnlyAllowCryptoAntsToMintEggs(address,uint256) (runs: 1000, μ: 86800, ~: 86569)
[PASS] testSendFundsToTheUserWhoSellsAnts(uint256) (runs: 1000, μ: 1907862, ~: 1897328)
Test result: ok. 5 passed; 0 failed; finished in 4.45s
Done in 11.24s.

It looks like older version executes asynchronously all of the tests whereas newer version executes synchronously.

without any repro this is impossible to triage this your referenced version is 3 months old

without any repro this is impossible to triage this your referenced version is 3 months old

Understandable, will share repo. Please give me some time.

@mattsse guess this is a good time to resurface the idea of adding benchmarks somewhere in the CI flow (or at least on-demand when fuzz related stuff changes) so we can better diagnose these
I don't think there have been many fuzz related changes recently so this is probably due to https://github.com/foundry-rs/foundry/issues/5262

Heavily improved with multiple optimization PRs over the past few days—we still need to introduce benchmarks, but will close.


[AutoPR logic/resource-manager] typo: logic/resource-manager/Microsoft.Logic

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4927

Build output:

dist/com.microsoft.azure.logic.v2018_07_01_preview/azure-mgmt-logic-1.0.0-beta-sources.jar
dist/com.microsoft.azure.logic.v2018_07_01_preview/azure-mgmt-logic-1.0.0-beta.pom
dist/com.microsoft.azure.logic.v2018_07_01_preview/azure-mgmt-logic-1.0.0-beta-javadoc.jar
dist/com.microsoft.azure.logic.v2018_07_01_preview/azure-mgmt-logic-1.0.0-beta.jar

This PR has been merged into https://github.com/Azure/azure-sdk-for-java/pull/2311


webcord: Implement ${commandLineArgs}

Description of changes
Taking inspiration from the packaging of brave:
https://github.com/NixOS/nixpkgs/blob/6308cb8b066539d2fbc7637d2de02349e985e177/pkgs/applications/networking/browsers/brave/make-brave.nix#L49
To enable configuration alike:
https://github.com/Kreyren/nixos-config/tree/e16b1776ffca750cd7ed872efa0becf279780ab3/src/nixos/users/kreyren/home/machines/pelagus/home-configuration.nix#L54-L57
To manage a scenario where the system is using a system-proxy which is causing issues for the user while avoiding doing impure declaration through using environment.localBinInPath and making script:
#!/usr/bin/env sh

# Instruct webcord's electron to not use system proxy
/home/USER/.nix-profile/bin/webcord --no-proxy-server $*

Things done

Built on platform(s)

[X] x86_64-linux
[-] aarch64-linux
[-] x86_64-darwin
[-] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[-] sandbox = relaxed
[-] sandbox = true

[-] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[-] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[-] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[X] (Package updates) Added a release notes entry if the change is major or breaking
[-] (Module updates) Added a release notes entry if the change is significant
[-] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Not sure I see the point, sure we could add this kind of arg to every GUI app, but I think it makes more sense for the user to just use e.g. wrapProgram on their own rather than overriding (thereby rebuilding) the app itself.
BTW, the file is formatted with nixfmt-rfc-style, please don't reformat it.

There's also #294601 as a solution to consider, which I kinda like more, but I'm not sure what the status of is.

Not sure I see the point, sure we could add this kind of arg to every GUI app, but I think it makes more sense for the user to just use  e.g. wrapProgram on their own rather than overriding (thereby rebuilding) the app itself. -- @eclairevoyant (https://github.com/NixOS/nixpkgs/pull/311937#issuecomment-2112756777)

Can you elaborate? The problem is to configure the package in a declarative way to not use system proxy or use non-system proxy
Tbh i kept it as a draft, bcs i wanted to brainstorm this in nixpkgs contributors as i also don't think this is a good idea in terms of management for that same reason

BTW, the file is formatted with nixfmt-rfc-style, please don't reformat it with some other formatter. -- @eclairevoyant (https://github.com/NixOS/nixpkgs/pull/311937#issuecomment-2112756777)

My editor should automatically do that, thanks for highlighting that i will investigate where is the issue with it.

There's also #294601 as a solution to consider, which I kinda like more, but I'm not sure what the status of is. -- @huantianad (https://github.com/NixOS/nixpkgs/pull/311937#issuecomment-2113301095)

if i understand the PR correctly this seems to be already implemented? But i don't see an easy way to utilize this in a nix configs.
https://github.com/NixOS/nixpkgs/pull/311937#issuecomment-2113301095
https://github.com/NixOS/nixpkgs/blob/eb2449cce5170f2fec6b35456bd5057afffb9cdb/pkgs/by-name/we/webcord/package.nix#L61

Can you elaborate?

https://nixos.org/manual/nixpkgs/stable/#fun-wrapProgram
Use this in a new package that depends on webcord (or whatever program you want to wrap)

Agree that wrapping that is better implementation, implemented as https://github.com/NiXium-org/NiXium/blob/ec5a7e8b4f113de4cbd295221d6265e52454d629/src/nixos/users/kira/home/machines/tupac/home-configuration.nix#L34-L51


-or option is not working in 1.4

Hello, I have encountered the following issue when running ffuf after the 1.4 release:
Using the -or option always returns [INFO] No results and -or defined, output file not written. even if there are valid results.

Still not fixed, tested on 1.5.0-dev

Similar problem on v2.1.0, the -or parameter will cause ffuf not to create output file in some cases.  I see it often when the results are few, e.g. one response of 200 in total will not create an output.


Initial contribution of Age_Verification.yaml

What type of PR is this?

enhancement/feature

What this PR does / why we need it:

Initial contribution of Age_Verification.yaml to create the initial version of Age Verification API (v0.1.0)

Which issue(s) this PR fixes:

Related to Issue #46

Special notes for reviewers:
Changelog input
Additional documentation

To start the discussion

Some functional restrictions may exist, for example:

User's phone number must be the primary phone number of the contract holder because the age of secondary phone number and (particularly for a minor) must not be stored according to the local law
the returned attribute isVerified (boolean) could be replaced by a string (enum=Y:Yes, N-AV: No, information available, N-NAV: No, information not available).

Also, some information could be help with the decision,

does a parental control exist for this user mobile phone ?
tenure of the contract.

Find a draft proposal of API documentation (to be reviewed)
KYC-AgeVerify.MD

Hi @GillesInnov35 , all,
Regarding the draft User Story above, it looks good to me.  Just some comments for error corrections:

'Scope: Any phone line (not limlited to 4G, 5G)'

limlited -> limited

'Starts when: The customer application server makes a request to the KYC service (API) with the age restricted value.'

the KYC service (API) -> the Age Verification service (API)

'Exceptions  Several exceptions might occur during the KYC Match API operations:'

the KYC Match API operations -> the Age Verificaiton API operations
Thanks.
Toshi

Thanks a lot @ToshiWakayama-KDDI , errors have been corrected.
BR
Gilles

@ToshiWakayama-KDDI, @HuubAppelboom , @KevScarr, @fernandopradocabrillo I've updated this design proposal. Let me know if it's ok according to your comments
Thanks
BR
Gilles

@GillesInnov35
Overall it looks great, just a couple of small things:
address is listed as one of the optional inputs, you probably mean email
Two typo's:
It says for ageVerified in the KYC_ReponseBody [ true, false, unverified, not_Available ]
It should be not_available (lowercase)
There is a typo in the identityMatchScore "Aggregate score of user's identity match result i =n case of information have been included in the request."

Thanks @HuubAppelboom , corrections have been applied
BR
Gilles

Hi @GillesInnov35 , all,
I have reopened this PR, as I beleive it was closed unintentionally; probably because of close of Issue #46 that was associated with this PR.
Please note that now this PR is associated with Issue #81 practically.  And I am searching for how to change an association technically...
Thanks,
Toshi

Hi all,
"An example of a JSON response object ..." from Line 45 needs to be corrected.  Now we onle need ageThreshold [R], ageVerified[R], andidentityMatchScore` [O].  (meaning R:required, O:optional)
Could you @GillesInnov35 correct this part?  (I am not quite sure how I can propose a correction...)
Thanks,
Toshi

Thanks, @GillesInnov35 ,
One proposal to clarify and correct 'ageCheck' definition (Line 36~):
---Current---
## Outputs
If successful, a JSON object is returned containing the following data:
- ageCheck: true when the age of the user is older than the age threshold, otherwise false if not. unverified if the MNO has never verified whether this is valid or not.
---Proposed Change---
## Outputs
If successful, a JSON object is returned containing the following data:
- ageCheck: true when the age of the user is older than the age threshold (age >= age threshold), and false if not (age < age threshold).  Otherwise, not_available. [Required]
Thanks and best regards.
Toshi

hi @ToshiWakayama-KDDI , that's fine. Do you want to create an new PR "Initial API Proposal" with those updates in order to have a common approval ? this one seems not to be well created.
Thanks a lot
BR
Gilles

Hi @ToshiWakayama-KDDI and @GillesInnov35 ,
I wanted to bring to your attention a concern regarding the proposed change from 'unverified' to 'not available' for age verification.
Context
Changing the status from 'unverified' to 'not available' could have significant implications for verification processes and overall system efficiency because some users are typically classified as 'unverified' due to the lack of mandatory identity verification (e.g. UK prepaid users).
Best regards.

@luislopezcorpas , thanks for your comment.

some users are typically classified as 'unverified' due to the lack of mandatory identity verification (e.g. UK prepaid users).

In this case my thought was that verifiedStatus should be returned to false, shouldn't it ?
BR
Gilles

Hi @GillesInnov35 , all,
I have another proposal for clarification of API Description part for ##Otputs, Line 40 around~ :
---Current---
- `verifiedStatus`: true if the information provided was checked against another form of official identification, otherwise false.
- `identityMatchScore`: the overall match score of identity information provided in the request compared to what MNO holds.

---Proposed---
- `verifiedStatus`: true if the information provided was checked against another form of official identification, otherwise false. [Optional]
- `identityMatchScore`: the overall match score of identity information provided in the request compared to what MNO holds. [Optional]
Note: It is optional for a MNO/API provider to return the match score.  If a MNO/API provider decides not to return the match score, even though any of `idDocument`, `name`, `givenName`, `familyName`, `middieNames`, `familyNameAtBirth`, `birthdate`, `email` are included in the request body, no identityMatchScore parameter will not be returned.

Thanks.

Hi @GillesInnov35 , all,
Another proposal for Request Body Example, LIne 127 around~ :
---Current---
          $ref: '#/components/schemas/KYC_RequestBody'
        examples:
          RequestExample:
            value:
              phoneNumber: '+34629255833'
              idDocument: 66666666q
              name: Federica Sanchez Arjona
              givenName: Federica
              familyName: Sanchez Arjona
              middleNames: Sanchez
              familyNameAtBirth: YYYY
              birthdate: '1978-08-22'
              email<EMAIL_ADDRESS>              ageThreshold: 18

---Proposeal backgrounds---
・move 'ageThreshold' to the top, as it is only the required parameter.
・remove 'phoneNumber', or add note 'Only required in case a 2-legged flow has been agreed between API Provider and API Consumer'.  Not quite sure if this is the right way, though.
---Proposal---
          $ref: '#/components/schemas/KYC_RequestBody'
        examples:
          RequestExample:
            value:
              ageThreshold: 18
              phoneNumber: '+34629255833' [Note: Only required in case a 2-legged flow has been agreed between API Provider and API Consumer; otherwise, none]
              idDocument: 66666666q
              name: Federica Sanchez Arjona
              givenName: Federica
              familyName: Sanchez Arjona
              middleNames: Sanchez
              familyNameAtBirth: YYYY
              birthdate: '1978-08-22'
              email<EMAIL_ADDRESS>

Thanks.

@ToshiWakayama-KDDI @GillesInnov35
I would suggest to make the description for ageCheck as follows:
properties:
ageCheck:
 type: "string"
 description:
 Indicate 'true' when the age of the user is the same age or older than the age threshold (age >= age threshold), and 'false' if not (age < age threshold).  Otherwise, 'not_available'.

 enum:
        - 'true'
        - 'false'
        - 'not_available'

@ToshiWakayama-KDDI
Regarding your suggestion:
phoneNumber: '+34629255833' [Note: Only required in case a 2-legged flow has been agreed between API Provider and API Consumer; otherwise, none]
I would not recommend to add "otherwise, none", otherwise you have people adding phoneNumber: 'none'  literally to the request, complicating the processing.  It may be better to simply omit it.
Here is a  suggestion:
phoneNumber: '+34629255833' [Note: Only required in case a 2-legged flow has been agreed between API Provider and API Consumer; otherwise, do not include phoneNumber]

hi @ToshiWakayama-KDDI , @HuubAppelboom , Thanks. if approved I can update the yaml file.
BR
Gilles

Please @GillesInnov35 , @ToshiWakayama-KDDI , @HuubAppelboom ,
Before approval, I'm reviewing internally in VF. I need some time. I'll come back as soon as possible. Thanks!

we should have also to update error code sections according what has been proposed by Eric for Tenure API  https://github.com/camaraproject/Tenure/pull/11.

Thanks, @GillesInnov35 , @luislopezcorpas ,
Actially I would like to propose the following for correction, based on our agreement in Issue #81:
---Current (Line 257 around)---
  properties:

    ageCheck:
     type: "string"
     description: Indicates if the age has been verified (true) or not (false). If age information is not available not_available is returned, else unverified indicates that MNO has not verified the validity of the information it holds.
     enum:
            - 'true'
            - 'false'
            - 'unverified'
            - 'not_available'

---Proposal---
  properties:

    ageCheck:
     type: "string"
     description:
     Indicate 'true' when the age of the user is older than the age threshold (age >= age threshold), and 'false' if not (age < age threshold).  Otherwise, 'not_available'.

     enum:
            - 'true'
            - 'false'
            - 'not_available'

Can I propose the above change directly into the yaml file, @GillesInnov35 ? I am not sure how to do it..
Do you have any problem, @luislopezcorpas ?
Thanks, Toshi

All rigth Toshi,
No problem with changing "true, false, unverified, and not available" to "true, false, and not available" in ageCheck if verifiedStatus is keept as optional

Hi @GillesInnov35 , @HuubAppelboom , @luislopezcorpas  ,
This is my last proposal to the current YAML, which was shared in Issue #81.
As we have decided to make phoneNumber 'not included in the request' for Age Verification API, I think we need to modify the Error handling part of the API Description, becuase current text is not applicable.  (I think it is ok because Guidlielines is just a guideline.)  I would propose this here in PR to incoporate into the current YAML, as there is discrepancy existing.
The following is an idea for modification.
---Current---
Identifying a device from the access token
This specification defines the phoneNumber field as optional in API requests, specifically in cases where the API is accessed using a 3-legged access token, and the device can be uniquely identified by the token. This approach simplifies API usage for API consumers by relying on the device information associated with the access token used to invoke the API.
Handling of device information:
Optional phoneNumber for 3-legged tokens:

When using a 3-legged access token, the device associated with the access token must be considered as the device for the API request. This means that the phoneNumber is not required in the request, and if included it must identify the same device, therefore it is recommended NOT to include it in these scenarios to simplify the API usage and avoid additional validations.

Validation mechanism:

The server will extract the device identification from the access token, if available.
If the API request additionally includes a phoneNumber parameter when using a 3-legged access token, the API will validate that the device identifier provided matches the one associated with the access token.
If there is a mismatch, the API will respond with a 403 INVALID_TOKEN_CONTEXT error, indicating that the device information in the request does not match the token.

Error handling for unidentifiable devices:

If the phoneNumber parameter is not included in the request and the device information cannot be derived from the 3-legged access token, the server will return a 422 UNIDENTIFIABLE_DEVICE error.

Restrictions for tokens without an associated authenticated identifier:

For scenarios which do not have a single device identifier associated to the token during the authentication flow, e.g. 2-legged access tokens, the phoneNumber parameter MUST be provided in the API request. This ensures that the device identification is explicit and valid for each API call made with these tokens.

---Proposed change---
Identifying a device from the access token
This specification defines the phoneNumber field as required optional in API requests, specifically in cases where the API is accessed using a 2-legged access token (under agreement between API Consumer and API Provider).  However, this specification defines it as none in cases where the API is accessed using a 3-legged access token, and because the device can be uniquely identified by the token. This approach simplifies API usage for API consumers by relying on the device information associated with the access token used to invoke the API.
Handling of device information:
Optional phoneNumber for 3-legged tokens:

When using a 3-legged access token, the device associated with the access token must be considered as the device for the API request. This means that the phoneNumber is not required in the request, and so if included it must be neglected identify the same device, therefore it is recommended NOT to include it in these scenarios to simplify the API usage and avoid additional validations.

Validation mechanism:

The server will extract the device identification from the access token, if available.
If the API request additionally includes a phoneNumber parameter when using a 3-legged access token, the API will validate that the device identifier provided matches the one associated with the access token.
If there is a mismatch, the API will respond with a 403 INVALID_TOKEN_CONTEXT error, indicating that the device information in the request does not match the token.

Error handling for unidentifiable devices:

If the phoneNumber parameter is not included in the request and the device information cannot be derived from the 3-legged access token, the server will return a 422 UNIDENTIFIABLE_DEVICE error.

Restrictions for tokens without an associated authenticated identifier:

For scenarios which do not have a single device identifier associated to the token during the authentication flow, e.g. 2-legged access tokens, the phoneNumber parameter MUST be provided in the API request. This ensures that the device identification is explicit and valid for each API call made with these tokens.

BR
Toshi

Thank you, @GillesInnov35 ,

we should have also to update error code sections according what has been proposed by Eric for Tenure API camaraproject/Tenure#11 and the new recommended template for info.description proposed in camaraproject/Commonalities#324.

May I ask one question?  I understand the new recommended template proposed in  camaraproject/Commonalities#324 is for v0.5 Spring25.  Are error sections that have been proposed by Eric for Tenure API aligned with commonalities v0.5?
Thanks,
Toshi

hi @ToshiWakayama-KDDI , I guess @rartych and Eric will confirm. From what I compared it seems to be fully aligned with https://github.com/camaraproject/Commonalities/blob/a9caf6472908abc60fdd203fe33040e0caa259a7/artifacts/CAMARA_common.yaml.
As it has been done for Tenure API we may include in advance this next version commonalities. Do you agree ?
Thanks
Gilles

Hi @GillesInnov35 ,

hi @ToshiWakayama-KDDI , I guess @rartych and Eric will confirm. From what I compared it seems to be fully aligned with https://github.com/camaraproject/Commonalities/blob/a9caf6472908abc60fdd203fe33040e0caa259a7/artifacts/CAMARA_common.yaml. As it has been done for Tenure API we may include in advance this next version commonalities. Do you agree ?

Thanks.  Yeah.  I think we should release the initial version as early as possible, as GSMA is pushing us.  So, basically it is fine with me to include those error codes in advance, as long as they are aligned with Commonalities v0.5 i.e. for Spring25 meta.  Shoud I look at this Tenure YAML https://github.com/camaraproject/Tenure/pull/11/files ?
But I would also like to iterate my last proposal above https://github.com/camaraproject/KnowYourCustomer/pull/50#issuecomment-2488212180 , as I believe we should do this customisation because, for Age Verification API, we have decided to omit phoneNumber attribute in the request body, so there is no optional phoneNumber and no need for validation between phoneNumber input and phoneNumber derived from 3-legged access token.  Template is just a template (not must), and we should customise it for our Age Verification API.  Hope everyone agrees with this.
Thanks,
Toshi

But I would also like to iterate my last proposal above #50 (comment) , as I believe we should do this customisation because, for Age Verification API, we have decided to omit phoneNumber attribute in the request body, so there is no optional phoneNumber and no need for validation between phoneNumber input and phoneNumber derived from 3-legged access token. Template is just a template (not must), and we should customise it for our Age Verification API. Hope everyone agrees with this.

Hi @ToshiWakayama-KDDI I'm sorry I think I've missed this discussion, can you point me to the conversatation where it was decided to drop the phone number from the request? Thanks!!

Hi @GillesInnov35 ,

Hi @GillesInnov35 ,

hi @ToshiWakayama-KDDI , I guess @rartych and Eric will confirm. From what I compared it seems to be fully aligned with https://github.com/camaraproject/Commonalities/blob/a9caf6472908abc60fdd203fe33040e0caa259a7/artifacts/CAMARA_common.yaml. As it has been done for Tenure API we may include in advance this next version commonalities. Do you agree ?

Thanks. Yeah. I think we should release the initial version as early as possible, as GSMA is pushing us. So, basically it is fine with me to include those error codes in advance, as long as they are aligned with Commonalities v0.5 i.e. for Spring25 meta. Shoud I look at this Tenure YAML https://github.com/camaraproject/Tenure/pull/11/files ?
But I would also like to iterate my last proposal above #50 (comment) , as I believe we should do this customisation because, for Age Verification API, we have decided to omit phoneNumber attribute in the request body, so there is no optional phoneNumber and no need for validation between phoneNumber input and phoneNumber derived from 3-legged access token. Template is just a template (not must), and we should customise it for our Age Verification API. Hope everyone agrees with this.
Thanks, Toshi

I have looked through the latest Tenure yaml file, and I think it is fine with me to follow their error responses.  There might be some differences because of diffferent scope of Age Verification API and Tenure API, though.
Other than this, I have also checked Commonalities PR #324 (https://github.com/camaraproject/Commonalities/pull/324) to find the new sentences about "Identifying the phone number from the access token" part as below.  We need to modify the same part of Age Verification based on this.
========
Identifying the phone number from the access token
This API requires the API consumer to identify a phone number as the subject of the API as follows:

When the API is invoked using a two-legged access token, the subject will be identified from the optional phoneNumber field, which therefore MUST be provided.
When a three-legged access token is used however, this optional identifier MUST NOT be provided, as the subject will be uniquely identified from the access token.

This approach simplifies API usage for API consumers using a three-legged access token to invoke the API by relying on the information that is associated with the access token and was identified during the authentication process.
Error handling:

If the subject cannot be identified from the access token and the optional phoneNumber field is not included in the request, then the server will return an error with the 422 MISSING_IDENTIFIER error code.

If the subject can be identified from the access token and the optional phoneNumber field is also included in the request, then the server will return an error with the 422 UNNECESSARY_IDENTIFIER error code. This will the case even if the same phone number is identified by these two methods, as the server is unable to make this comparison.

========
For the above new sentences, I still believe we need to cusutomise them.  As we have decided no phoneNumber input for 3-legged access token cases, we do not need to consider "the optional phoneNumber field is not included in the request" and "the optional phoneNumber field is also included in the request" in the two Error Handling bullets, if you agree.
Thanks.
Toshi

hi @ToshiWakayama-KDDI , I don't get clearly what you'd like to update/add. I've updated the yaml with your and @HuubAppelboom propositions (I hope all of them have been included, excepted the last one).
Could you have a look and see what should be modified before asking approval.
Thanks a lot
Gilles

Thank you, @GillesInnov35 .  I will take a look, and will get what I would like to update/add clear.
Thanks,
Toshi

hi @GillesInnov35 , hi @fernandopradocabrillo ,
As we have added the ageThreshold value range, we need the following error, I think:
Status: 400
Code: OUT_OF_RANGE
Message: Phone number mismatch with access token context
Thanks,
Toshi

@ToshiWakayama-KDDI , you're right 400 - OUT OF RANGE should be added with description Client specified an invalid range.
Thanks
Gilles

There is a typo in the file name: age-vefification.yaml

thanks @rartych for your point

hi @GillesInnov35

@ToshiWakayama-KDDI , you're right 400 - OUT OF RANGE should be added with description Client specified an invalid range. Thanks Gilles

Oh, sorry, my mistake.
Status: 400
Code: OUT_OF_RANGE
Message: Client specified an invalid range
Could add the above, please?  I still do not know how to propose modification of yaml as Fernando does.
Thanks,
Toshi

hi @ToshiWakayama-KDDI, the bellow error example exists in the errors section of AgeVerification yaml file. From what I see that is what the next Commonalities version recommend, isn't it ?
       GENERIC_422_SERVICE_NOT_APPLICABLE:
          description: Service is not available for the provided identifier
          value:
            status: 422
            code: SERVICE_NOT_APPLICABLE
            message: The service is not available for the provided identifier.

for the second point which concerns Out Of Range, I've added the error example. Tell me if it's OK
        GENERIC_400_OUT_OF_RANGE:
          description: Out of Range. Specific Syntax Exception used when a given field has a pre-defined range or a invalid filter criteria combination is requested
          value:
            status: 400
            code: OUT_OF_RANGE
            message: Client specified an invalid range.

As the yaml file name is not corect, perhaps we should create a new PR with the last file version in order to have a global approval ?
Thanks
BR
Gilles

Hi @GillesInnov35 ,

hi @ToshiWakayama-KDDI, the bellow error example exists in the errors section of AgeVerification yaml file. From what I see that is what the next Commonalities version recommend, isn't it ?
       GENERIC_422_SERVICE_NOT_APPLICABLE:
          description: Service is not available for the provided identifier
          value:
            status: 422
            code: SERVICE_NOT_APPLICABLE
            message: The service is not available for the provided identifier.

To the best of my knowledge, no, I don't think so.  According to the latest updated API Design guidelines  https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#61-standardized-use-of-camara-error-responses  , my understanding is that "422 DEVICE_NOT_APPLICABLE The service is not available for the provided device. " is existing, instead of previous "422 NOT_SUPPORTED Service not supported for this phoneNumber".
So, my proposal was to add "422 DEVICE_NOT_APPLICABLE The service is not available for the provided device."
I hope I am correct.
Many thanks,
Toshi

Hi @GillesInnov35 ,

for the second point which concerns Out Of Range, I've added the error example. Tell me if it's OK
        GENERIC_400_OUT_OF_RANGE:
          description: Out of Range. Specific Syntax Exception used when a given field has a pre-defined range or a invalid filter criteria combination is requested
          value:
            status: 400
            code: OUT_OF_RANGE
            message: Client specified an invalid range.

Thank you so much.  It is OK with me.
Thanks,
Toshi

@ToshiWakayama-KDDI , regarding the PR#316 (https://github.com/camaraproject/Commonalities/pull/316/files) I don't see any reference to DEVICE.

hi @fernandopradocabrillo, yes same as kyc-match. Huub has proposed algo to calculate the result   PR https://github.com/camaraproject/KnowYourCustomer/issues/81
Gilles

Hi @GillesInnov35 , @fernandopradocabrillo ,
Please advise me if the following 'Errors' part is described in the Commonalities API Design Guidelines.  I cannot find it by myself...

## Errors
If the authentication token is not valid, a `401 UNAUTHENTICATED` error is returned
If the API call contain a formatting or other error, a `400 INVALID_ARGUMENT` error is returned.
If the network subscription cannot be identified from the provided parameters (e.g. the subscription identifier is not associated with any customer of the CSP), a `404 IDENTIFIER_NOT_FOUND` error is returned.
If the API consumer has a valid access token but is not authorised to obtain tenure information for the specified network subscription, then a `403 PERMISSION_DENIED` error is returned.
Other errors may be returned as specified below.

Many thanks,
Toshi


Remove unnecessary parenthesis. For a reader that does not know Pytho…

…n, I think, it adds useless details(symbols)

I agree completely with removing those parenthesis. It isn't even standard style as far as I know.
Thanks for the contribution!

Thanks @ner0x652, I'll merge these changes in.
In the future, it would be great to pull from the develop branch instead. I still need to write the contributing documentation to explain this though.

We have now switched the default branch on GitHub to be develop which should solve any PR issues.


The thread pool is created by ThreadPoolExecutor. This method allows students to be more clear about the running rules of the thread pool and avoid the risk of resource exhaustion.

Thread pools are not allowed to be created using Executors, but through ThreadPoolExecutor. This processing method allows students to write more clearly the running rules of the thread pool and avoid the risk of resource exhaustion.

Coverage decreased (-0.002%) to 54.17% when pulling 4968300f2ff203d355e42ed1c82ef08d32336a26 on zhaohai1299002788:dev-ThreadPoolExecutor-replace-Executors into ec985ee67354a55607c3b5fde2e110dfb1268fea on apache:develop.

111


build-dashboard relies on instanceof checks to locate reports due to type hierarchy of Reporting interface

When looking for any tasks that implement Reporting, the build-dashboard plugin traverses all projects and all tasks looking for any task that is an instanceof Reporting.  This means that we need to realize all possible tasks when a build uses the build-dashboard plugin and executes the buildDashboard task.
The buildDashboard task is also a finalizer for any Reporting task, so executing any Reporting task with the build-dashboard plugin applied causes a chain reaction:
Reporting task realized -> Reporting task finalized by buildDashboard -> buildDashboard realized -> all tasks in all projects are realized.
Expected Behavior
It seems like we may have intended Reporting to be implemented by things other than a task, but we only use it with tasks.  If Reporting extended Task, we could search for tasks without realizing all possible tasks.
Current Behavior
tasks.withType(Reporting) is invalid since Reporting is unrelated to Task.  The workaround is to use .all or .configureEach and look for any task that is instanceof Reporting.

@big-guy This is very much related to this issue: #4050


mBot2 Plugin

This PR introduces the new mBot2 to the lab.
Important  before merging this PR also merge its corresponding blockly PR

Added new AST classes
mBot2 Code generation and validation
Added mBot2 to Integration tests

not mBot2 exclusive:

Introduced Composite pattern for nested ConfigurationComponents
added port to ast classes that were previously missing one

merged with 77ed5a92441b601d4b0b92b681db65147a83120a


Search results mobile UX: What should thumbnail click do?

Right now, clicking on the thumbnail will start or pause the video, because I wanted to offer this on devices that didn't have hover... but maybe the right thing is for it to be a link, so it's more like the collection thumbnails. Not sure.
Thoughts?

making it a link makes sense to me. @AlisonCSmith?
@mccalluc would it be crazy to emulate a "hover" on mobile by starting playback when video is a certain distance from the top of the view port? I've never seen this before, but it was just a thought. Also, not to be considered for soft launch :)

@afred: At least in the past on idevices video just wouldn't play unless the user explicitly initiated it, the idea being to avoid unnecessary bandwidth charges.
@AlisonCSmith : going to go ahead with this: particularly on smaller screens I think we need a larger click target.

:+1: