Better visualizations

Currently:

the visualizations are not paper/print friendly.
It is also not possible to zoom or drag the network, creating problems for larger graphs.
Implementation is not very extensible and does not make use of a template engine.

Implement/Research:

[ ] Jinja2 Templates
[x] Zoom, Focus & Drag, more in line with http://mlwave.github.io/tda/newsgroup-20.html
[x] Paper-friendly output mode (perhaps SVG graphics)

Re-visit:

[ ] WebGL graphing with https://github.com/ayasdi/grapher

Enabled:

Zoom (mouse scroll and double-click)
Pan
Drag
Persistent tooltips
Scroll larger than screen tooltips
Onscreen show/hide meta and tooltip controls
Prelim future support for: node focus, neighboring node focus, node type
Support for custom and pre-set color functions
Color function distribution histogram
Display hypercube origin coordinates in node tooltip.
Display 1-2-3 (+/-) STD difference of node feature values vs. inverse_X feature values mean
"display"-mode for Computer Screens, "print"-mode for Papers.
Regression from DIV-CSS nodes to pure SVG nodes (for easier zoom support)
Regression in box-shadow support.
Regression (or improvement, de gustibus non est disputandum) in design.

Interesting, no clue if TDA legal:

Rank ordering the projection before mapping.
Inverse_X = another projection (CountVectorizer(binary, remove stopword), clusterer = (H)DBSCAN Hamming Distance. Lens = Any information theoretic text measure you want.
Using as debug or exploration of deep nnets, by mapping on final layers activations with t-SNE(2), then showing the source pictures (and pixel importance activations overlayed) in the HTML tooltip.
Use as a visual search engine on a corpus (Inverse_x = TFIDF(2-grams), tooltips = links to documents, lens = ["search term", "year_range"]).

If you use nr_cubes (which should perhaps be n_cubes to be more in line with sklearn API n_ prefix) of 1, you can also just use KeplerMapper for cluster algo analysis. Next to building maps we could also support buildings dendrograms (unrooted trees), or have these dendrograms build from node members and expand on node click.

very cool. those edits look really great. I look forward to exploring them all more.
These are awesome ideas for application of mapper.

I'm not sure what this means. Would anything change besides reordering?
A projection on the domain would be interesting. I think it would break a lot of the theoretical properties of mapper since we'd now be dealing with the f(g*(U)) instead of just g*(U). [g* is the pullback of g].
This sounds awesome.  It sounds like we could use the mapping of a NN as a lens. I would love to see how this works. If it works well, it would probably be an easy publication.
I like the idea of being able to build a rough map, say with nr_cubes=5, and then zoom in on certain sections, rerunning map with nr_cubes~10 on a selected subset. This could be more of an engineering challenge. We would need to have a server running in the background reprocessing the map.

Visualizing dendrograms along side the map could be very cool. I think that information would greatly help in tuning the parameters quickly.
Also, it would be very cool to be able to export the print friendly version from the browser version. That way you could rearrange the map to look how you want.  Maybe the print version already has the ability to do this?

these new updates are so cool. thanks guys. can't wait to try them out. btw I think we are almost 80% similar to the ayasdi platform.

I'm not sure what this means. Would anything change besides reordering?

I mean rank scaling (with something like ECDF or scipy.stats.rankdata). This makes the points that fall inside an interval way more uniform.
Lens = age [1,87,88,89]. Rankscaled Lens = [0, 1, 2, 3]. n_cubes = 2. Buckets with normal lens: [1] [87, 88, 89], buckets with rankscaled lens: [1, 87] [88, 89].

It sounds like we could use the mapping of a NN as a lens.

Yes, if we use FaceNet for instance, this create 128-dimensional embeddings of faces. Now if we somehow turn this is into good clusters, we can say for a certain cluster (old men with beards): These embedding dimensions are most active. So we could semi-automatically assign categories/clusters to neural/embedding activity (this (subset of) neuron(s) fires mostly on beards). This comes close to an old research project of mine: Zero-Shot Communication with ConvNets. Getting a bit too detailed, but if you feed it well-labeled images to predict (Google Image Search: "men with beards"), the net can learn to explain/describe its predictions in natural language. You can also communicate with it in natural language: "A woman was robbed inside the mall, she described her attacker as an older man with a beard and a ponytail. Show me all old men with beards and ponytails inside the mall right now.". Combine this with LIME and you have a solid explainable/justifiable black-box (https://github.com/marcotcr/lime). In essence, the same would work for XGBoost, and you could even use explanations themselves as a lens.

Also, it would be very cool to be able to export the print friendly version from the browser version.

For now, I suppose this is a screenshot (you can change from Display to Print mode inside the vizualization). Later we could have the option for mapper.map to output a NetworkX object instead of a Dict. Then all graph/network visualization scripts a researcher already has would work.
Shall we open a single issue to brainstorm about the future? Or perhaps a Google Groups is better for this?

Findings:

WebGL is better (smoother, draw more nodes), but drawback is that for more specific things, I have to modify the source of grapher.js and I am just not familiar enough with that code base. It would also introduce another external dependency or a few hundred kB of inline javascript.
Jinja2 templates is better for separating logic from design. But right now it "just works", and it would create another library dependency. I'd rather focus on more visible features right now.

I propose I finish current revamped visualizations, and revisit templates and WebGL in the future, maybe when we switch to a dynamic front-end with local web server.

It sounds like the rank scaling would be equivalent to density based variable size bins. Do know off hand any ways to accomplish this is multiple dimensions?
It sounds like a Google Group could be a better forum for this discussion. There are a lot of ideas floating around over multiple issue threads. It would be nice to give each one their own home.
Do you have any suggested material I could use to get caught up on these zero-shot communication ideas?

Paper: https://ai2-s2-pdfs.s3.amazonaws.com/4b18/303edf701e41a288da36f8f1ba129da67eb7.pdf

Given the simplicity of the approach, there are many different research lines that can be pursued. In this work we focus on semantically meaningful attributes, but the development of similar ideas applied to word embeddings as in (Frome et al., 2013), is both promising and straightforward within this framework. Another interesting research line is to study the addition of non-linearities and more layers into the model, leading to a deep neural network where the top layer is fixed and interchangeable, and all the remaining layers are learned.

Code: https://github.com/MLWave/extremely-simple-one-shot-learning (Imagine the V matrix as a lens and the W matrix as the final layer of a Deep Net).

It sounds like the rank scaling would be equivalent to density based variable size bins. Do know off hand any ways to accomplish this is multiple dimensions?

https://github.com/MLWave/CloudToGrid and https://github.com/MLWave/RasterFairy

Zero-Gravity Mode for easier manipulation of graphs/flares:

These visualizations look great. Do you have a schedule for integrating them into master?
I like that name ‘cubical’ that you’re using for the default cover. I’ll change the name and try to get some documentation incorporated over the next few days.
What do you think about branch schemes? It seems like it would be important to have master head match whatever is on pypi, and dev on a different branch.

I wanted to make a pull request tonight. Tying things up now.

What do you think about branch schemes? It seems like it would be important to have master head match whatever is on pypi, and dev on a different branch.

This sounds like a good idea. I am not versed in working with open source software like this, so please take a lead on these things.
Right now I have my stuff done in a branch, only to .visualize(). I think I need to check-out latest from github, branch it again, do changes, and make pull request? I am not familiar with branch schemes, but if I understand we can have kepler-mapper and kepler-mapper-dev, and just release from there in schedule. That sounds optimal!

I am not versed in working with open source software like this,

I am in the same boat. I'll look around at some popular open source projects and see how they do it. Please don't wait on me to integrate your changes. I imagine it would work as you said. We could set dev to be the default branch (so pull requests automatically go to it) and have master be protected, only pushing to master right before we release.
I think to integrate master into your branch you should be able to get away with
git fetch origin
git merge origin master

and that should be enough to merge in all the new changes.

1500 nodes and 10k edges with dropshadow:

Generative Adversarial Networks can turn horses into art and zebra's, but they can't do this:

7500 nodes, 40000 edges

If I understand correctly a nerve is a certain method to connect the clusters. We currently support "Graph Link" which connects clusters when their members show overlap.
I've experimented with "stacking" an hierarchical tree on top of the clusters found with TDA. From the mean of the features in the clusters a distance matrix is build as input for hierarchical clustering:

http://mlwave.github.io/tda/quartettree-28digits.html
Would an hierarchical cluster connection count as a "nerve"? Could one do both: First Graph Link then an hierarchical nerve? It may make flares more prominent.
Finally: Is an overlap percentage > 100% legal? For some Mapper settings it also seems to promote interesting flares.

If I understand correctly a nerve is a certain method to connect the clusters. We currently support "Graph Link" which connects clusters when their members show overlap.

Essentially, yes. The nerve is a way to construct a simplicial complex from a cover. For each n wise intersection, you add an n-simplex. Mapper estimates elements of a cover by clusters. We only support building the 1-skeleton via pair wise intersections and that produces a graph.

Would an hierarchical cluster connection count as a "nerve"?

I'm not following how you build the heirarchy? The multimapper is constructed from a hierarchy of codomain covers, but the nerve is built from the pullback of that hierarchy of covers. Are you building a hierarchy in the domain?

Is an overlap percentage > 100% legal? For some Mapper settings it also seems to promote interesting flares.

I don't think this makes sense.  If two bins have a 100% overlap, then they are equivalent. It might be a bug in the way we create the bins that are causing this.

I've put together a brief diagram of what I think is going on (it is not exact). I haven't actually looked at the code, but I suspect 100% means distance between bin centers = width of overlap.  If this is true, there should be no problem going much higher than 100%.

Thanks for staying patient with my high school maths :). I certainly need to get up to speed with the correct terminology and formal notation. Your article on TDA/Mapper and clear explanations help with this.
My idea was something like this:

We map the inverse image with 2 cubes per dimension (X,Y axis), overlap of 10%.
A ) 1-Skeleton on pair-wise intersections
B) Quartet Tree/Cayley Tree based on cluster quartet distance matrix. Introduces two empty hierarchy nodes.
C) Combining both A and B
If anything, we can make the quartet tree edges completely transparent, so it is just there to provide some extra structure for the layout. Resulting graphs with this method are always fully connected, no floating nodes.

I'm glad someone has read them :man_dancing:. In a few weeks I'm hoping to push out a few more.
It sounds to me like this is similar to the multmapper, but maybe views the higher levels with more transparency.  I like being able to view the fully connected version at the same time as the high resolution version.  It would be very helpful to know where a disconnected component would connect if you decreased resolution.

Still having trouble with pep8speaks?
We should plan a release 1.0.2 with the updated visualization, an official docs setup, and new cover and nerve builder changes.
I can sit with the dev branch for a bit this weekend and try to get everything polished.

Just figured out how to do small changes to the dev branch without Travis-CI running every time. Tonight, I'll add the old parameters to visualize, and increase the test coverage.
PEP8Speaks is a necessary "evil". I need a way to have these hints when coding, not after I written 500+ lines of PEP8-invalid code :). I'll look at installing a plug-in and having this closer to my IDE. Increasing the line-width to 100 already muted a lot of violations.

It would be very helpful to know where a disconnected component would connect if you decreased resolution.

Cool, I'll start with the simplest version of hierarchical clustering (single-linkage) and depending on usefulness we can look at more advanced hierarchical clusterings, like the Minimum Quartet Tree Cost.

I'll look at installing a plug-in and having this closer to my IDE.

I use atom, and the atombeaufity plug-in works great. I'd be surprised if most editors had something. Which do you use?
PEP8Speaks supposedly can issue a pull request with fixes to violations. That would be very cool if it worked properly. I haven't tested it yet.
I'm interested in what you come up with. I've been playing around with the multimapper, which essentially does the same thing, just over multiple levels.  it sounds like what you're talking about would be a multimapper, but at just two steps (the last step being set with 1 bin).


Fix the CLI option "-o" for guess (#1343)

Fixing #1343. The -o option for guess didn't accept an argument unintentionally.

Thanks!


chore(coverage): integrate with CodeCov

:tada: This PR is included in version 3.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unable to  generate signed App  file in ionic

I have getting problem in generating signed app file. How do i published my updated app on existing  ionic project. I have key_pwd and key _alias. but i unable to generate the update version of app.
i m using the command like
cordova build --release android
Drinkasaurs-MacBook-Pro:drinkasaur_ionic drinkasaur$ my-release-key.keystore /Users/drinkasaur/Downloads/drinkasaur_ionic/platforms/android/build/outputs/apk/android-release-unsigned.apk alias_store name
but its showing command not found.
I don't know what i use it to signed the unsigned app for uploading on beta testing.
If anyone know help me out. it would be a great help

Hi there! This doesn't appear to be an issue with the framework it self, so I'm going to close it. Please post your question on the Ionic Forum instead.


Automatically include subdirectories of src/main/avro

The plugin works beautifully with one schema file in src/main/avro. If I wanted to work with several schema files, it would be nice to organize them in separate subdirectories, for instance, src/main/avro/foo, src/main/avro/bar, etc. Unfortunately, the plugin seems to ignore files that are not direct children of src/main/avro. Could that be changed?

This should be possible to support. In fact, I would have thought it was already supported, though I personally haven't needed it yet. Pull requests welcome, or I'll get to it myself at some point.

We do this (organize schemas into subdirectories) with the following gradle config:
task generateAvro(type: com.commercehub.gradle.plugin.avro.GenerateAvroJavaTask) {
    source("src/main/avro")
    include("**/*.avsc")
}

Thanks for the pointer, @jamesbassett.  Version 0.4.1 will include this as the default behavior.


[improve][broker] Follow up #19230 to tighten the validation scope

Motivation
This PR is following up #19230
As @yuruguo mentioned https://github.com/apache/pulsar/pull/19230#issuecomment-1382865057, we can tighten the validation scope.
I've checked the logic and found we have no way to create the partition topic with the -partition-{index} template. So we can righten the validation scope.
I will keep working on the partition topic section and try to clarify the concept and logic. Plus, ensuring compatibility.
Modifications

tighten the validation scope

Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Thanks to @yuruguo. Could you help to review it?

Codecov Report

Merging #19234 (54f66eb) into master (accae9f) will decrease coverage by 10.89%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master   #19234       +/-   ##
=============================================
- Coverage     48.17%   37.28%   -10.90%
+ Complexity     9695     1991     -7704
=============================================
  Files           633      209      -424
  Lines         59922    14442    -45480
  Branches       6251     1578     -4673
=============================================
- Hits          28870     5385    -23485
+ Misses        27947     8474    -19473
+ Partials       3105      583     -2522

Flag
Coverage Δ

unittests
37.28% <ø> (-10.90%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...pache/pulsar/broker/admin/v2/PersistentTopics.java

.../java/org/apache/pulsar/broker/admin/v3/Sinks.java

...apache/pulsar/proxy/server/ProxyConfiguration.java

...org/apache/pulsar/broker/admin/v2/BrokerStats.java

.../broker/intercept/BrokerInterceptorDefinition.java

...oker/stats/prometheus/AggregatedProducerStats.java

...sar/broker/service/persistent/PersistentTopic.java

...sar/proxy/server/TargetAddressDeniedException.java

...r/broker/loadbalance/extensions/models/Unload.java

...tats/prometheus/metrics/PrometheusStatsLogger.java

... and 415 more

Cherry-picked by #19839


required values

Some values and attributes are required.
This should be considered in the UI and the same logic applied as in the old ui.
Additionally one should not be able to send a query if the required attributes are not selected.
see figma:

To create an optional: false attribute donwload the newest ontology develop.4 and select the "geschlecht" criterion.
The response from the backend should then have the following ui_profile, where optional is set to false:
[
    {
        "id": "a36b6ef7-40ce-3148-b815-dc7b13fb9016",
        "context": {
            "code": "Patient",
            "system": "fdpg.mii.cds",
            "version": "1.0.0",
            "display": "Patient"
        },
        "termCodes": [
            {
                "code": "263495000",
                "system": "http://snomed.info/sct",
                "version": "",
                "display": "Geschlecht"
            }
        ],
        "uiProfile": {
            "name": "Patient1",
            "timeRestrictionAllowed": false,
            "valueDefinition": {
                "type": "concept",
                "selectableConcepts": [],
                "optional": false,
                "allowedUnits": [],
                "precision": 1.0,
                "referencedValueSet": "http://hl7.org/fhir/ValueSet/administrative-gender"
            },
            "attributeDefinitions": []
        }
    }
]

Please review the design; we recommend this for an improved user experience.

@Shayan1375  use blue ! icon as in figma


format service parameters as a table

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind design
/area UX

Documentation changes: CI will automatically skip test runs if it is a doc related change.
/kind documentation

What does this PR do / why we need it:
Currently the operators service parameters are listed as a long list of parameters.

old format
▶ odo catalog describe service postgresql-operator.v0.1.1/Database
Kind: Database
Version: v1alpha1
Description: Database is the Schema for the the Database Database API
Parameters:
Path   Display
- Path: awsAccessKeyId
  DisplayName: AWS S3 accessKey/token ID
  Description: 'Key ID of AWS S3 storage. Default Value: nil Required to create the
    Secret with the data to allow send the backup files to AWS S3 storage.'
- Path: awsS3BucketName
  DisplayName: AWS S3 Bucket name
  Description: 'Name of AWS S3 storage. Default Value: nil Required to create the
    Secret with the AWS data to allow send the backup files to AWS S3 storage.'
- Path: awsSecretAccessKey
  DisplayName: AWS S3 accessKey/token
  Description: 'Secret/Token of AWS S3 storage. Default Value: nil Required to create
    the Secret with the data to allow send the backup files to AWS S3 storage.'
- Path: awsSecretName
  DisplayName: 'AWS Secret name:'
  Description: 'Name of the secret with the AWS data credentials pre-existing in the
    cluster Default Value: nil See here the template: https://github.com/integr8ly/backup-container-image/blob/master/templates/openshift/sample-config/s3-secret.yaml'
- Path: awsSecretNamespace
  DisplayName: 'AWS Secret namespace:'
  Description: 'Namespace of the secret with the AWS data credentials pre-existing
    in the cluster Default Value: nil NOTE: If the namespace be not informed then
    the operator will try to find it in the same namespace where it is applied'
- Path: configMapDatabaseNameKey
  DisplayName: ConfigMap Database Key
  Description: 'Name of the configMap key where the operator should looking for the
    value for the database name for its env var Default value: nil'
- Path: configMapDatabasePasswordKey
  DisplayName: ConfigMap Password Key
  Description: 'Name of the configMap key where the operator should looking for the
    value for the database user for its env var Default value: nil'
- Path: configMapDatabaseUserKey
  DisplayName: ConfigMap User Key
  Description: 'Name of the configMap key where the operator should looking for the
    value for the database password for its env var Default value: nil'
- Path: configMapName
  DisplayName: ConfigMap name
  Description: 'Name of the ConfigMap where the operator should looking for the EnvVars
    keys and/or values only Default value: nil'
- Path: containerImagePullPolicy
  DisplayName: Container Image Pull Policy
  Description: 'Policy definition to pull the Database Image More info: https://kubernetes.io/docs/concepts/containers/images/
    Default value:'
- Path: databaseCRName
  DisplayName: Name of Database CR
  Description: 'Name of the Database CR applied which this backup will work with Default
    Value: "database"'
- Path: databaseCpu
  DisplayName: Database CPU
  Description: 'CPU resource request which will be available for the database container
    Default value: 10Mi'
- Path: databaseCpuLimit
  DisplayName: Database CPU Limit
  Description: 'Limit of CPU request which will be available for the database container
    Default value: 20Mi'
- Path: databaseMemoryLimit
  DisplayName: Database Memory Limit
  Description: 'Limit of Memory which will be available for the database container
    Default value: 512Mi'
- Path: databaseMemoryRequest
  DisplayName: Database Memory Request
  Description: 'Limit of Memory Request which will be available for the database container
    Default value: 128Mi'
- Path: databaseName
  DisplayName: Database Name
  Description: 'Value for the Database Environment Variable (spec.databaseNameKeyEnvVar).
    Default value: example'
- Path: databaseNameKeyEnvVar
  DisplayName: EnvVar Key (Database Name)
  Description: 'Key Value for the Database Environment Variable in order to inform
    the database mame Note that each database version/image can expected a different
    value for it. Default value: nil'
- Path: databasePassword
  DisplayName: Database Password
  Description: 'Value for the Database Environment Variable (spec.databasePasswordKeyEnvVar).
    Default value: postgres'
- Path: databasePasswordKeyEnvVar
  DisplayName: EnvVar Key (Database Password)
  Description: 'Key Value for the Database Environment Variable in order to inform
    the database password Note that each database version/image can expected a different
    value for it. Default value: nil'
- Path: databaseStorageRequest
  DisplayName: Database Storage Request
  Description: 'Limit of Storage Request which will be available for the database
    container Default value: 1Gi'
- Path: databaseUser
  DisplayName: Database User
  Description: 'Value for the Database Environment Variable (spec.databaseUserKeyEnvVar).
    Default value: postgres'
- Path: databaseUserKeyEnvVar
  DisplayName: EnvVar Key (Database User)
  Description: 'Key Value for the Database Environment Variable in order to inform
    the database user Note that each database version/image can expected a different
    value for it. Default value: nil'
- Path: databaseVersion
  DisplayName: Databaseversion
  Description: 'Database version. (E.g 9.6). Default Value: <9.6> IMPORTANT: Just
    the first 2 digits should be used.'
- Path: encryptKeySecretName
  DisplayName: 'EncryptKey Secret name:'
  Description: 'Name of the secret with the Encrypt data pre-existing in the cluster
    Default Value: nil See here the template: https://github.com/integr8ly/backup-container-image/blob/master/templates/openshift/sample-config/gpg-secret.yaml'
- Path: encryptKeySecretNamespace
  DisplayName: 'EncryptKey Secret namespace:'
  Description: 'Namespace of the secret with the Encrypt data pre-existing in the
    cluster Default Value: nil NOTE: If the namespace be not informed then the operator
    will try to find it in the same namespace where it is applied'
- Path: gpgEmail
  DisplayName: 'Gpg public email:'
  Description: 'GPG email to create the EncryptionKeySecret with this data Default
    Value: nil See here how to create this key : https://help.github.com/en/articles/generating-a-new-gpg-key'
- Path: gpgPublicKey
  DisplayName: 'Gpg public key:'
  Description: 'GPG public key to create the EncryptionKeySecret with this data Default
    Value: nil See here how to create this key : https://help.github.com/en/articles/generating-a-new-gpg-key'
- Path: gpgTrustModel
  DisplayName: 'Gpg trust model:'
  Description: 'GPG trust model to create the EncryptionKeySecret with this data.
    the default value is true when it is empty. Default Value: nil See here how to
    create this key : https://help.github.com/en/articles/generating-a-new-gpg-key'
- Path: image
  DisplayName: Image:tag
  Description: 'Database image:tag Default value: centos/postgresql-96-centos7'
- Path: image
  DisplayName: Image:tag
  Description: 'Image:tag used to do the backup. Default Value: <quay.io/integreatly/backup-container:1.0.8>
    More Info: https://github.com/integr8ly/backup-container-image'
- Path: productName
  DisplayName: AWS tag name
  Description: 'Used to create the directory where the files will be stored Default
    Value: <postgresql>'
- Path: schedule
  DisplayName: Schedule
  Description: 'Schedule period for the CronJob. Default Value: <0 0 * * *> daily
    at 00:00'
- Path: size
  DisplayName: Size
  Description: 'Quantity of instances Default value: 1'

This changes the format and displays all parameters in a table

new format
▶ odo catalog describe service postgresql-operator.v0.1.1/Database
Kind: Database
Version: v1alpha1
Description: Database is the Schema for the the Database Database API
Parameters:

 PATH                          DISPLAYNAME                     DESCRIPTION

 awsAccessKeyId                AWS S3 accessKey/token ID       Key ID of AWS S3 storage.
                                                               Default Value: nil Required
                                                               to create the Secret with the
                                                               data to allow send the backup
                                                               files to AWS S3 storage.
 awsS3BucketName               AWS S3 Bucket name              Name of AWS S3 storage.
                                                               Default Value: nil Required to
                                                               create the Secret with the AWS
                                                               data to allow send the backup
                                                               files to AWS S3 storage.
 awsSecretAccessKey            AWS S3 accessKey/token          Secret/Token of AWS S3
                                                               storage. Default Value: nil
                                                               Required to create the Secret
                                                               with the data to allow send
                                                               the backup files to AWS S3
                                                               storage.
 awsSecretName                 AWS Secret name:                Name of the secret with the AWS data credentials pre-existing
                                                               in the cluster Default Value: nil See here the template:
                                                               https://github.com/integr8ly/backup-container-image/blob/master/templates/openshift/sample-config/s3-secret.yaml
 awsSecretNamespace            AWS Secret namespace:           Namespace of the secret with
                                                               the AWS data credentials
                                                               pre-existing in the cluster
                                                               Default Value: nil NOTE: If
                                                               the namespace be not informed
                                                               then the operator will try to
                                                               find it in the same namespace
                                                               where it is applied
 configMapDatabaseNameKey      ConfigMap Database Key          Name of the configMap key
                                                               where the operator should
                                                               looking for the value for the
                                                               database name for its env var
                                                               Default value: nil
 configMapDatabasePasswordKey  ConfigMap Password Key          Name of the configMap key
                                                               where the operator should
                                                               looking for the value for the
                                                               database user for its env var
                                                               Default value: nil
 configMapDatabaseUserKey      ConfigMap User Key              Name of the configMap key
                                                               where the operator should
                                                               looking for the value for the
                                                               database password for its env
                                                               var Default value: nil
 configMapName                 ConfigMap name                  Name of the ConfigMap where
                                                               the operator should looking
                                                               for the EnvVars keys and/or
                                                               values only Default value: nil
 containerImagePullPolicy      Container Image Pull Policy     Policy definition to pull
                                                               the Database Image More info:
                                                               https://kubernetes.io/docs/concepts/containers/images/
                                                               Default value:
 databaseCRName                Name of Database CR             Name of the Database CR
                                                               applied which this backup
                                                               will work with Default Value:
                                                               "database"
 databaseCpu                   Database CPU                    CPU resource request which
                                                               will be available for the
                                                               database container Default
                                                               value: 10Mi
 databaseCpuLimit              Database CPU Limit              Limit of CPU request which
                                                               will be available for the
                                                               database container Default
                                                               value: 20Mi
 databaseMemoryLimit           Database Memory Limit           Limit of Memory which will
                                                               be available for the database
                                                               container Default value: 512Mi
 databaseMemoryRequest         Database Memory Request         Limit of Memory Request which
                                                               will be available for the
                                                               database container Default
                                                               value: 128Mi
 databaseName                  Database Name                   Value for the Database
                                                               Environment Variable
                                                               (spec.databaseNameKeyEnvVar).
                                                               Default value: example
 databaseNameKeyEnvVar         EnvVar Key (Database Name)      Key Value for the Database
                                                               Environment Variable in
                                                               order to inform the database
                                                               mame Note that each database
                                                               version/image can expected
                                                               a different value for it.
                                                               Default value: nil
 databasePassword              Database Password               Value for the Database
                                                               Environment Variable
                                                               (spec.databasePasswordKeyEnvVar).
                                                               Default value: postgres
 databasePasswordKeyEnvVar     EnvVar Key (Database Password)  Key Value for the Database
                                                               Environment Variable in
                                                               order to inform the database
                                                               password Note that each
                                                               database version/image can
                                                               expected a different value for
                                                               it. Default value: nil
 databaseStorageRequest        Database Storage Request        Limit of Storage Request which
                                                               will be available for the
                                                               database container Default
                                                               value: 1Gi
 databaseUser                  Database User                   Value for the Database
                                                               Environment Variable
                                                               (spec.databaseUserKeyEnvVar).
                                                               Default value: postgres
 databaseUserKeyEnvVar         EnvVar Key (Database User)      Key Value for the Database
                                                               Environment Variable in
                                                               order to inform the database
                                                               user Note that each database
                                                               version/image can expected
                                                               a different value for it.
                                                               Default value: nil
 databaseVersion               Databaseversion                 Database version. (E.g
                                                               9.6). Default Value: <9.6>
                                                               IMPORTANT: Just the first 2
                                                               digits should be used.
 encryptKeySecretName          EncryptKey Secret name:         Name of the secret with the Encrypt data pre-existing in the cluster Default Value: nil See here the template:
                                                               https://github.com/integr8ly/backup-container-image/blob/master/templates/openshift/sample-config/gpg-secret.yaml
 encryptKeySecretNamespace     EncryptKey Secret namespace:    Namespace of the secret with
                                                               the Encrypt data pre-existing
                                                               in the cluster Default Value:
                                                               nil NOTE: If the namespace be
                                                               not informed then the operator
                                                               will try to find it in the
                                                               same namespace where it is
                                                               applied
 gpgEmail                      Gpg public email:               GPG email to create the EncryptionKeySecret with this
                                                               data Default Value: nil See here how to create this key :
                                                               https://help.github.com/en/articles/generating-a-new-gpg-key
 gpgPublicKey                  Gpg public key:                 GPG public key to create the EncryptionKeySecret with this
                                                               data Default Value: nil See here how to create this key :
                                                               https://help.github.com/en/articles/generating-a-new-gpg-key
 gpgTrustModel                 Gpg trust model:                GPG trust model to create the EncryptionKeySecret with
                                                               this data. the default value is true when it is empty.
                                                               Default Value: nil See here how to create this key :
                                                               https://help.github.com/en/articles/generating-a-new-gpg-key
 image                         Image:tag                       Database image:tag
                                                               Default value:
                                                               centos/postgresql-96-centos7
 image                         Image:tag                       Image:tag used to do the backup. Default Value:
                                                               <quay.io/integreatly/backup-container:1.0.8>
                                                               More Info:
                                                               https://github.com/integr8ly/backup-container-image
 productName                   AWS tag name                    Used to create the directory
                                                               where the files will be stored
                                                               Default Value: <postgresql>
 schedule                      Schedule                        Schedule period for the
                                                               CronJob. Default Value: <0 0 *
                                                               * *> daily at 00:00
 size                          Size                            Quantity of instances Default
                                                               value: 1

Which issue(s) this PR fixes:
Fixes #?
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[ ] Documentation

[ ] Update changelog

[ ] I have read the test guidelines

How to test changes / Special notes to the reviewer:

so I might need to update the proposal as per this output

I thought we prefered the list approach?

I thought we prefered the list approach?

When I saw it on console with a long list of parameters it was really hard to undertand

I am just concerned what would happen when we have one more column called “type” which we are planning to add for swagger and crd support

I am just concerned what would happen when we have one more column called “type” which we are planning to add for swagger and crd support

Then there will be another column. I don't think that that would be a problem unless the new column is something long as a description.
We can definitely revisit this if adding a new column makes this unreadable.
This table is also not ideal, but I find it much easier to read than the current list.

And that type and description columns are/would be optional

This might be also nice. I would keep type. But description could be optional and we can add something --with-description flag

And that type and description columns are/would be optional

This might be also nice. I would keep type. But description could be optional and we can add something --with-description flag

Yeah this makes more sense

/override psi-unit-test-windows
/override psi-unit-test-mac
/override psi-kubernetes-integration-e2e

/override ci/prow/psi-unit-test-windows
/override ci/prow/psi-unit-test-mac
/override ci/prow/psi-kubernetes-integration-e2e

A possible output could also be
Parameters:

 PATH / DISPLAYNAME                   DESCRIPTION

 awsAccessKeyId                       Key ID of AWS S3 storage.
 AWS S3 accessKey/token ID            Default Value: nil Required to create the Secret with the
                                      data to allow send the backup files to AWS S3 storage.

 awsS3BucketName                      Name of AWS S3 storage.
 AWS S3 Bucket name                   Default Value: nil Required to create the Secret with the AWS
                                      data to allow send the backup files to AWS S3 storage.

A possible output could also be
Parameters:

 PATH / DISPLAYNAME                   DESCRIPTION

 awsAccessKeyId                       Key ID of AWS S3 storage.
 AWS S3 accessKey/token ID            Default Value: nil Required to create the Secret with the
                                      data to allow send the backup files to AWS S3 storage.

 awsS3BucketName                      Name of AWS S3 storage.
 AWS S3 Bucket name                   Default Value: nil Required to create the Secret with the AWS
                                      data to allow send the backup files to AWS S3 storage.

One the reason I prefer @kadel 's approach over this is because we can refer the path's that need to be set fairly quickly.

A possible output could also be
Parameters:

 PATH / DISPLAYNAME                   DESCRIPTION

 awsAccessKeyId                       Key ID of AWS S3 storage.
 AWS S3 accessKey/token ID            Default Value: nil Required to create the Secret with the
                                      data to allow send the backup files to AWS S3 storage.

 awsS3BucketName                      Name of AWS S3 storage.
 AWS S3 Bucket name                   Default Value: nil Required to create the Secret with the AWS
                                      data to allow send the backup files to AWS S3 storage.

I will try to change it to this format to see how it looks when everything is formated like this.

A possible output could also be
Parameters:

 PATH / DISPLAYNAME                   DESCRIPTION

 awsAccessKeyId                       Key ID of AWS S3 storage.
 AWS S3 accessKey/token ID            Default Value: nil Required to create the Secret with the
                                      data to allow send the backup files to AWS S3 storage.

 awsS3BucketName                      Name of AWS S3 storage.
 AWS S3 Bucket name                   Default Value: nil Required to create the Secret with the AWS
                                      data to allow send the backup files to AWS S3 storage.

To be honest I'm not able to figure out how to achieve this with tablewriter :-/
When I tried merging cells, it looked wired, as there was too much vertical space between path and dispalayname.
When I tired using one cell for path/displayname I couldn't force tablewriter to accept newline "\n", so path and dispalayname ended up on the same line

I am fine with the current format, can we move forward this?

/lgtm

github.com/openshift/odo/pkg/odo/cli/catalog/describe
pkg/odo/cli/catalog/describe/operator_backend.go:101:19: undefined: yaml
make[1]: *** [vet] Error 2

/hold

github.com/openshift/odo/pkg/odo/cli/catalog/describe
pkg/odo/cli/catalog/describe/operator_backend.go:101:19: undefined: yaml
make[1]: *** [vet] Error 2

/hold

fixed. It was due to conflicting changes in another PR

failed to acquire lease for "aws-quota-slice": status 500 Internal Server Error, status code 500 | failed to acquire lease for "aws-quota-slice": status 500 Internal Server Error, status code 500
-- | --
failed to acquire lease for "aws-quota-slice": status 500 Internal Server Error, status code 500
10/11 Tests Passed! | expand_less

/retest

/test psi-kubernetes-integration-e2e

/retest

/hold cancel


GEODE-7307 upgrade commons-beanutils

Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[x] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[x] Is your initial contribution a single, squashed commit?

[x] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, check Concourse for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

I'm working on PR #4104 which includes this change.  If you want to help out on getting that one merged we can combine our efforts :-)

I'm working on PR #4104 which includes this change. If you want to help out on getting that one merged we can combine our efforts :-)

Yes of course :-)
I will close this PR and add related link on the ticket.


Add a section on passing a class to a child component

What kind of changes does this PR include?

New or updated content

Description

Closes #995
Adds a new section on the Styling page, per this comment
I focused on passing class, but made it clear that all HTML attributes don't automatically pass through
Shows two examples: one where you don't destructure props at all, and one where you destructure but rename

That is a fair point Sarah — I guess the examples would also be more succinct and focused without the Props interfaces.

@sarah11918 Removed the TS, should be good to go!

LOOKS GOOD TO MERGE! @Jutanium

LGTM @Jutanium


Strings should be quoted in the toString() representation of in-clause operations.

Operation operation1 = MyTypeFinder.myProperty().eq("myString 1");
Operation operation2 = MyTypeFinder.myProperty().in(new LinkedHashSet<>(Arrays.asList("myString 1", "myString 2")));
System.out.println(operation1);
System.out.println(operation2);

prints:
MyType.myProperty = "myString 1"
MyType.myProperty in [myString 1, myString 2]

Strings are quoted in NonPrimitiveEqOperation but not in NonPrimitiveInOperation. I think this may just require an override to NonPrimitiveInOperation#appendSetToString and NonPrimitiveNotInOperation#appendSetToString, but I wanted to check here before submitting a PR.

A PR would be appreciated.


[Improvement] - Network connection

Sign out
launch https://cron.cat/tasks?network=mainnet
Click on "Login" select "Testnet"
Connect in the wallet
-->
Result
Connected with testnet on Mainnet network (https://cron.cat/tasks?network=mainnet)
Expected:
Connected with testnet on Testnet network (https://cron.cat/tasks?network=testnet)

Another one, same kind of issue:
Sign In in Testnet Network
Go on https://cron.cat/ then click on "Tasks"
result:
https://cron.cat/tasks?network=mainnet
Expected:
https://cron.cat/tasks?network=testnet


Upgrade Gradle to 6.7.1

Upgrade plugins to latest versions
NPM file got updated but seems to just be SHAs for integrity checks

Coverage remained the same at 93.87% when pulling 5a101ad2d54dd3b7b93797ec846c5a299a61bb3f on tgianos:updateGradle into 28a7297270223db0a8b74bb4aeb73753902e6570 on Netflix:master.


Use distanceSquared in findClosestVertex

Was wondering if this would be a valid PR?
line 590:
distance = vertices[i].distanceTo(localPosition);
change to:
distance = vertices[i].distanceToSquared(localPosition);

What are you trying to fix? Is this just for performance reasons?

Yes, No reason to calculate the distance till the end.  You could do a single SQRT.

Definitely! However, I'd recommend you look at the latest version hosted on the THREEJS repo and see if they haven't already fixed this. If not, submit a PR there :)


build(tools): generate universal android apk script

This PR resolves PHIRE-851
Description

Little quality of life script to create a universal apk for upload for testing instead of needing to find this in the play console.
yarn setup:releases
./scripts/deploys/create-android-apk
....noisy output
# select a build
[15:33:15]: ------------------------------
[15:33:15]: --- Last 20 Android builds ---
[15:33:15]: ------------------------------
[15:33:15]: Which build would you like to select?:
1.<PHONE_NUMBER>.aab
2. 124.aab
3. 123.aab
?  1
[15:33:26]: Are you sure you would like to select<PHONE_NUMBER>.aab? (y/n)
y
[15:33:27]: Continuing!
.....noisy output
Preparing apk to /Users/<user>/Code/eigen/1674645690.apk

PR Checklist

[ ] I have tested my changes on iOS and Android.
[x] I hid my changes behind a feature flag, or they don't need one.
[x] I have included screenshots or videos, or I have not changed the UI.
[x] I have added tests, or my changes don't require any.
[x] I added an app state migration, or my changes do not require one.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

script for creating android apk - brian

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (script for creating android apk - brian)

  Generated by :no_entry_sign: dangerJS against 8e3335852bb9e841bb6d2ecdc034ccdf6dc28eb0


Test using ConfidentialityProtocolVersion 1.1

I have fixed #1702 in #1717 but test using ConfidentialityProtocolVersion 1.1 fails.
Description
Added tests in crypto_test.go using ConfidentialityProtocolVersion 1.1 fails. Is required fix ConfidentialityProtocolVersion 1.1 errors.
Describe How to Reproduce
Enable commented test to ConfidentialityProtocolVersion 1.1 included in #1717 a run test on crypto_test.go

@andresgaragiola the commented test scenario 3 (and the uncommented scenario 2) are no longer in the code base. Are there still plans to address this missing coverage? @JonathanLevi

@christo4ferris In the case of commented test scenario 3 is not more required since confidentiality 1.1 was removed. The scenario 2 was removed due to problems with CI build (tests are very long and travis fails) and in other hand MT is currently not used. From my point of view this issue should be closed and a new issue should be open to address the clean up of MT code.

awesome, thanks closing


Analysis: how are files accessioned from the globus endpoint

H2 files are typically stored locally and then sent to accessioning via the SDR-API
Pre-assembly stages files in the /dor/assembly mount and then creates structural metadata for the object before starting assemblyWF.
Investigate and document how will H2 objects that have files in a globus endpoint:

Create structural metadata
Have the files be visible to the accessioning pipleline (e.g. robots)
Start the appropriate workflow

Dupe of sul-dlss/dor-services-app#4270


X86 Builds

Any chance of providing/supporting amd64 builds?

Which OS? I'm working on a Mac branch that strips the native dependencies (onoff, socket can, PiMost)

Ubuntu/Debian

Also interested in an x86_64 version. I would love to install this onto a PC

I just build it from the source code on Ubuntu Desktop amd64 system. It starts up correctly and I can connect to my phone without any problem but sound and keyboard control is not working for some reason. Mic seems to work correctly but I only have some headset mic with a very weird pinout, static noise is coming through to the phone so I guess with a proper mic it would work. I have no idea what is causing this because I am very new to this kind of stuff. Performance is great though.

I think the paths to the audio files is wrong one a dev build. If you actually build the application then launch the packaged app, the audio should be fine.

already tried that and its the same problem. sound on Ubuntu itself works fine though.

I just tested it with Version 4.0.0. Sound and keyboard control is working perfecly. just downloaded the source code and build it. I also re-tried it with the release version of 4.0.2 because before I just cloned the entire repo. It does not work on the newer version for some reason. I have not jet tried 4.0.3 beta. So for anyone who wants to run carplay on an amd64 system, just download the source code of version 4.0.0 and build it using npm. and @rhysmorgan134 thanks for your help and great work with this project.


Add files via upload

Adding 162-self-avoidng-walk

Sorry, I just can't figure out how to grab the png file so that is missing (again).  I tried downloading put that didn't seem to work.

Sorry, I just can't figure out how to grab the png file so that is missing (again). I tried downloading put that didn't seem to work.

No worries! We can add it separately, thank you for this incredible work!


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-extensions/eventing-writers
/assign knative-extensions/eventing-writers
Produced by: knative-extensions/knobots/actions/update-deps

JFYI, The failure needs to be fixed in eventing-kafka.
We noticed it in https://github.com/knative/pkg/pull/2785#issuecomment-1676767222


Missed attestation after v1.1.0

Describe the bug
With v1.1.0 we have ~2% wrong head attestations and ~1% missed attestation

This is because in v1.1.0 we improved gossipsub hence we have a lot of mesh peers, and that introduced the I/O lag issue
Local validator published unaggregated attestation validatorIndex=429161, slot=4786296, committeeIndex=5, subnet=5, sentPeers=17, delaySec=2.5950000286102295

at the validator side
Sep-27 06:19:39.000[]                ^[[34mdebug^[[39m: HttpClient request routeId=submitPoolAttestations
Sep-27 06:19:43.733[]                ^[[34mdebug^[[39m: HttpClient response routeId=submitPoolAttestations

Expected behavior

Should improve vc REST API request times submitPoolAttestations and beacon REST API response times submitPoolAttestations

I hope the libp2p upgrade could help this since we improve the gossipsub heartbeat performance there, see https://github.com/ChainSafe/js-libp2p-gossipsub/issues/256#issuecomment-1226723180
cc @wemeetagain

a sample missed attestation journey:

validator log

Sep-27 06:19:37.867[]              ^[[36mverbose^[[39m: Found new chain head slot=4786296, head=0x233d47e151d7cdc12b5c6507c093c4173603cc435f4e59cd940f9b3f09073552, previouDuty=0xcbc54f5a7eea4a658893901025f8d435af83973aa2e5dd4da5548cd1cddb5ec2, currentDuty=0xc001899c93d5584fbcfb5b34dfb84f841dc079866f051842f413c36325ab60ee
Sep-27 06:19:37.868[]                ^[[34mdebug^[[39m: HttpClient request routeId=produceAttestationData
Sep-27 06:19:37.871[]                ^[[34mdebug^[[39m: HttpClient response routeId=produceAttestationData
Sep-27 06:19:37.881[]                ^[[34mdebug^[[39m: Signed attestation slot=4786296, index=58, head=0x233d47e151d7cdc12b5c6507c093c4173603cc435f4e59cd940f9b3f09073552, validatorIndex=426103
Sep-27 06:19:37.883[]                ^[[34mdebug^[[39m: Signed attestation slot=4786296, index=53, head=0x233d47e151d7cdc12b5c6507c093c4173603cc435f4e59cd940f9b3f09073552, validatorIndex=429043
Sep-27 06:19:37.885[]                ^[[34mdebug^[[39m: Signed attestation slot=4786296, index=5, head=0x233d47e151d7cdc12b5c6507c093c4173603cc435f4e59cd940f9b3f09073552, validatorIndex=429161
Sep-27 06:19:37.886[]                ^[[34mdebug^[[39m: Signed attestation slot=4786296, index=49, head=0x233d47e151d7cdc12b5c6507c093c4173603cc435f4e59cd940f9b3f09073552, validatorIndex=429626
Sep-27 06:19:37.888[]                ^[[34mdebug^[[39m: Signed attestation slot=4786296, index=41, head=0x233d47e151d7cdc12b5c6507c093c4173603cc435f4e59cd940f9b3f09073552, validatorIndex=429628
Sep-27 06:19:37.890[]                ^[[34mdebug^[[39m: Signed attestation slot=4786296, index=29, head=0x233d47e151d7cdc12b5c6507c093c4173603cc435f4e59cd940f9b3f09073552, validatorIndex=426188
Sep-27 06:19:39.000[]                ^[[34mdebug^[[39m: HttpClient request routeId=submitPoolAttestations
Sep-27 06:19:43.733[]                ^[[34mdebug^[[39m: HttpClient response routeId=submitPoolAttestations
Sep-27 06:19:43.733[]                 ^[[32minfo^[[39m: Published attestations slot=4786296, count=6

beacon node log:

Sep-27 06:19:35.000[CHAIN]         ^[[36mverbose^[[39m: Clock slot slot=4786296
Sep-27 06:19:41.595[API]             ^[[34mdebug^[[39m: Req req-aun <IP_ADDRESS> submitPoolAttestations

Sep-27 06:19:43.724[VMON]            ^[[34mdebug^[[39m: Local validator published unaggregated attestation validatorIndex=429161, slot=4786296, committeeIndex=5, subnet=5, sentPeers=17, delaySec=2.5950000286102295

Sep-27 06:27:31.309[VMON]            ^[[34mdebug^[[39m: Failed attestation in previous epoch validatorIndex=429161, prevEpoch=149571, isPrevSourceAttester=false, isPrevHeadAttester=false, isPrevTargetAttester=false, inclusionDistance=null

==> the I/O lag caused 2.6s delay on submitPoolAttestations http request and 4.7s on validation + gossippublish

Related issues to https://github.com/ChainSafe/lodestar/issues/4002 and https://github.com/ChainSafe/lodestar/issues/3694 ?

So the best way to fix this issue is just to merge libp2p upgrade and push this for testing ASAP?

I don't think the new libp2p would help

It seems to only be a larger issue for lower end hardware with a lot (100+) validators?

yes, we'll have issue with a node of >= 64 validators which cause the node to subscribe to all subnets

Related issues to https://github.com/ChainSafe/lodestar/issues/4002 and https://github.com/ChainSafe/lodestar/issues/3694 ?

I think it's mainly #4002
@philknows  we have afterBlockDelaySlotFraction (the time to hold attestation at vc if block comes too early) configurable. Right now its 2s, we'll see if reducing that value would help at submitting right at 1/3 of slot could give a big delay to the submission of attestation at the http/api side


Address hive 3.x related test issues

Addressing the issues outlined in https://github.com/klarna/HiveRunner/issues/120:

InsertIntoTableIntegrationTest.insertDataIntoTablePrimitiveParsedStrings - in Hive 3, date/timestamp types are cast to the Hadoop-specific date/timestamp types, which failed since it attempted to cast a java.sql.Date to the Hadoop type. Introduced new converters to solve the issue.

PreV200HiveShellHiveCliEmulationTest - I think we can drop these tests, as this CLI is no longer supported. Uncommented the Ignore for now, but could also be deleted in due time.

Warning messages: "Caused by: java.sql.SQLSyntaxErrorException: Table/View 'TBLS' does not exist." - in Hive 3, if hive.in.test=false (which is the default value), it's expected that the metastore DB has already been initialised with tables (e.g. TBLS), therefore some initial test queries are run against them. But in our tests, these tables don't exist in derby, hence the warning messages. Setting hive.in.test=true by default in all unit tests ensures the tables are first initialized, circumventing the problem.

Warning messages: "WARN DataNucleus.MetaData:96 - Metadata has jdbc-type of null yet this is not valid. Ignored" - Couldn't find the exact root cause, but seems to be a commonplace issue based on some research, without breaking functionality. Added a log throttler to limit it to a single warn log per test.

Thanks for the reviews @massdosage @patduin!
Do you have any indication when this Hive3-compatible version could be released?

No problem, I just noticed we need to use HIVE_IN_TEST.getVarname() instead of HIVE_IN_TEST.name(). I'll make that change now and push it shortly.
In terms of doing a release, I'll send a mail out to the HiveRunner list suggesting a major release for Hive 3 and that this will be the default version going forward with some suggestions what we do for Hive 2 in case there are changes in future. If there are no objections we can probably get a release done next week.

Thanks for the correction. And great news regarding the release, looking forward to it 👍


fix: START disable tooltip shows not proper

:tada: This PR is included in version 2.5.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support OpenTopo API change

Update to reflect OpenTopo API access update and successfully access DEMs. Addresses #292
Will confirm here once I update installation instructions on main page to reflect necessary, prerequisite definition of hidden topoapi file.

Confirmed! Please refer to the installation section of the readme

@sssangha LGTM.
Any idea what we should do about circleci?
FYI; if you don't want to import a new library (pathlib) just to get the home directory, you can do os.expanduser('~')


How do I get the fd from QuicheQuicStreamChannel?

I need to get the fd to get the real user ip via dpvs_uoa

Can someone help me out here?

I think my current approach is too casual
    private static LinuxSocket getLinuxSocket(Channel channel) {
        try {
            Field socketField = EpollDatagramChannel.class.getDeclaredField("socket");
            socketField.setAccessible(true);
            Object socket = socketField.get(channel);
            if (socket instanceof LinuxSocket) {
                return (LinuxSocket) socket;
            }
        } catch (Throwable e) {
            // do nothing
        }
        return null;
    }

that would be the correct approach to get the fd. I dont have any experience with dpvs_uoa tho.

But I realized that I'm getting the server-side fd through the above method, but I need to get the client-side fd

Huh ? It will not be possible to get the remote peer fd. This is just impossible. I am confused


Added parameter shape placeholder support to deconvolution_2d.

Add support for the "parameter shape placeholder" feature in the Deconvolution2D link. The in_channels parameter can now optionally be set to None to cause the initialization of the weights parameters to be deferred until the first forward pass.

Thank you, I have responded to your comments. Could you check if the changes look okay?

Thank you!


SDK interface inconsistency

To our understanding, the AndroidPidProvider SDK was anticipated to mirror the existing interface provided by the io-cie-sdk implementation, which can be found at this link: https://github.com/pagopa/io-cie-sdk/blob/master/index.js. This interface contains the methods leveraged by io application to achieve a login process with CIE.
This alignment was essential as our designer had already utilized the existing cie authentication flow to create the UI/UX. However, upon inspection, we observed that the AndroidPidProvider SDK exposes two distinct methods, namely Initialize() and StartAuthFlow(), which rely on an underlying implementation of cieidsdk.

This deviation from the expected interface poses challenges in seamlessly integrating the SDK with React Native. The disparity in the interface not only impedes the bridging process to React Native but also complicates the management of the UI due to the background operation of the bridge, which relies on native method calls and their callbacks for UI manipulation.
To address this issue effectively, we request that the AndroidPidProvider SDK to be adjusted to align its interface with the existing io-cie-sdk implementation. We can then ensure a React Native integration by maintain consistency in the UI/UX design created by our designer.

Fixed in version 1.1.1.


Update glide.lock with latest go-gogs-client

Need to use latest version of gogits/go-gogs-client with Team support

@Unknwon This should be merged right? Since it's messing with building (cleanly) at the moment :unamused: (Why wasn't this in the PR that broke it?? :stuck_out_tongue: )

Thanks!


Add Wezterm colorschema setting

Hi,
Thanks for your great theme!
Cheers,
Mort

I'll test the colorscheme with this term whenever I can and merge if everything looks good

Thanks @spcbfr for looking at this :)

No news?

Lmao, I'll take a look this weekend. I'm sure it's good.

Lmao, I'll take a look this weekend. I'm sure it's good.
Also how is Wezterm? I'm thinking of trying it out from Alacritty (bc ligatures).

Great, thanks!
Wezterm was a good experience as it renders icons correctly and also supports Lua scripting which lets you add your own custom logic. I was using it for a while, and then I decided to switch back to Alacritty as my font issue was resolved and also he main reason I decided to start using Wezterm was it renders all icons correctly. But, after a while I decided to switched back to Alacritty as my font issue was resolved and also I discovered that Alacritty offers a smoother experience than Wezterm and I'm using it now. Alacritty renders icons as ascii characters while Wezterm renders it as its actual shape. So, it requires more processing for Wezterm. Maybe it the newer version of Wezterm they fixed it, but I didn't try it. I also liked Wezterm as it supports Lua script. So, you can add your own custom functions and so on.

Been a little busy lately

Lmao, I'll take a look this weekend. I'm sure it's good.
Also how is Wezterm? I'm thinking of trying it out from Alacritty (bc ligatures).

Great, thanks!
Wezterm was a good experience as it renders icons correctly without any size or gap issues, which was what exactly I was looking for. It also supports Lua scripting which lets you add your own custom logic. I was using it for a while, and then I decided to switch back to Alacritty.


Many Android build tests flaking on reading debug keystore

https://ci.chromium.org/ui/p/flutter/builders/try/Linux plugin_dependencies_test/20412/overview
com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "/home/chrome-bot/.android/debug.keystore": Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available

Marking P1 because this is causing many tests to flake, and blocking autorollers on flaking presubmit checks.

Here's another example from framework CI: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux build_tests_2_3/3054/overview

I filed this feature request for the autosubmit bot in response to these flakes: https://github.com/flutter/flutter/issues/126556. This would allow the autorollers to keep moving while we triage the flakes out-of-band.

This  does not seem to be an infra/hardware problem.
@reidbaker can you please take a look? is this related to updates in jdk versions?

Sorry, I assumed this was infra-related because the tests are looking in /home/chrome-bot/.android/debug.keystore, which the name would imply is an infra managed file system location?

Looks like there are some previous examples of this error mentioned here: https://github.com/flutter/flutter/issues/126267

This is the home directory of the user running the bot, maybe gradle, jdk or the test itself are trying to write state?

Spent some time investigating this with @camsim99, short version of long update is that it seems likely to us that this was caused by this change https://github.com/flutter/flutter/pull/125323
Long version: It looks like these failures were first reported in this issue filed by @reidbaker a week ago, where the linked failures in that issue came from builds kicked off by these prs (that among other things) changed some test recipes to use java 17: https://github.com/flutter/flutter/pull/125825, https://github.com/flutter/flutter/pull/125323.
The second of the two PRs linked above was merged 3 days ago, and after that we started seeing the same failures in presubmits on other PRs (reported here https://github.com/flutter/flutter/issues/126267, with the linked PRs being these:https://github.com/flutter/flutter/pull/126352, https://github.com/flutter/engine/pull/39391).
Based on what I understand about the error itself, it can be caused by trying to build with one version of java, while using signing keys that were generated with another version of java (see this stack overflow post). The particular debug signing keys that are called out in the failures seem to be generated on installation of the android sdk.
I'm not super knowledgable on particulars of how the tests get run on our ci, so feel free to correct if any of the following is off, but one possible theory would be that these tests are being run in a group on the same machine and are somehow sharing state (as it seems this directory is the home directory of the user running the bot?). In the case that the particular tests that were modified to use jdk 17 run first, on setup they generate a debug signing key using jdk 17, and then the future tests that are running with jdk 11 (all the failures so far are using jdk 11) try to load this key but are unable to because it was generated using an algorithm that isn't included in the jdk 11 we are using.
So it would flake only if the tests that ran first were the jdk 17 tests. I don't know if the ordering of the tests is deterministic, but if it isn't that would be a potential reason this would flake (vs always failing).

In general tests should not leave/depend on state outside of the build sandbox. Is it possible to instruct the test to generate and look for the keystore within the sandbox? maybe controlling it with an env variable or similar mechanism?
For reference jdk is setup/removed on every build execution https://cs.opensource.google/flutter/recipes/+/main:recipe_modules/flutter_deps/api.py;l=124

In general tests should not leave/depend on state outside of the build sandbox. Is it possible to instruct the test to generate and look for the keystore within the sandbox? maybe controlling it with an env variable or similar mechanism?
For reference jdk is setup/removed on every build execution https://cs.opensource.google/flutter/recipes/+/main:recipe_modules/flutter_deps/api.py;l=124

It looks like for the corresponding android sdk setup, we only set ANDROID_SDK_ROOT, ANDROID_HOME, and ANDROID_NDK_PATH, and none of these control the location of the .android directory which contains these keys (among some other configuration).
I think if we changed it to also set ANDROID_USER_HOME, we could keep these keys within the sandbox.

Nice! replicated using:
led get-build<PHONE_NUMBER>182211249 | led edit -d id=flutter-prod-windows-us-central1-c-13-w8rm | led edit-system -p 20 | led launch -modernize

https://chromium-swarm.appspot.com/task?id=62265fa3f2b79210

led get-build<PHONE_NUMBER>182211249 | led edit -d id=flutter-prod-windows-us-central1-c-13-w8rm | led edit-recipe-bundle| led edit-system -p 20 | led launch -modernize
https://chromium-swarm.appspot.com/task?id=6226b2d5a8987c10
Applying the patch fixes the problem

Add env variable to android dep:
https://flutter-review.googlesource.com/c/recipes/+/44380

@camsim99 @gmackall to add you as reviewers you'll need to click on the CL link to get your user names added to the GoB server.

Added review approving the parts I understand and a couple questions on the parts I don't, haven't reviewed changes to these recipes before!

Not sure I'm a reviewer but I agree with @gmackall's review. The change looks good to me!

Awesome. Thanks, everyone!

Still seeing this https://ci.chromium.org/ui/p/flutter/builders/try/Windows tool_integration_tests_3_6/15717/overview

Still seeing this https://ci.chromium.org/ui/p/flutter/builders/try/Windows tool_integration_tests_3_6/15717/overview

Interesting, I confirmed with local testing on mac and windows, using the same version of gradle from the tests, that setting the ANDROID_USER_HOME changed where my debug signing key was getting pulled from (as expected). The test seems to still be pulling from the same C:\Users\chrome-bot\.android\debug.keystore as before though, indicating this variable either isn't getting set properly or isn't impacting the test for some other reason.
It is possible that we need to also set ANDROID_SDK_HOME. From the earlier link about android sdk tool environment variables,

Some older tools, such as Android Studio 4.3 and earlier, do not read ANDROID_USER_HOME. To override the user preferences location for those older tools, set ANDROID_SDK_HOME to the parent directory you would like the .android directory to be created under.

Still trying to see if there is anything else that would be causing this.

I believe this is an issue with AGP (android gradle plugin) 4.1.3, the version used for that test. Neither ANDROID_USER_HOME nor ANDROID_SDK_HOME seem to be respected by AGP 4.1.3 from my local testing.

Keeping this updated as its a p1, I'm still looking into the cases where this is still failing since the merge of the change to set ANDROID_USER_HOME - particularly trying to determine if the remaining failures are cases where the version of gradle or AGP doesn't respect the environment variable, such as the case of the test using AGP 4.1.3.
If anyone runs into more recent examples of this failure please feel free to link here!

This is another failure that happened since the merge of the first fix:
https://ci.chromium.org/ui/p/flutter/builders/try/Linux Android Emulator Tests/7593/overview
It fails for the same reason, where we are trying to pull the debug signing key from "/home/chrome-bot/.android/debug.keystore". However, unlike the case mentioned above, from what I can tell it is using gradle 7.0.2 and AGP 7.0.0, which don't have an issue with respecting ANDROID_USER_HOME.
However, from the build failure page we can see it is running with this recipe, which seems to be setting its own android-related environment variables.
This seems to be an engine test, so question for @godofredoc if you happen to know - does this engine test share the same setup as the one done in the file we already changed (api.py), in which case this is just redundant setting of environment variables, does it use entirely separate recipes and we need to make the same change that we did before here? Sorry if you're not the right person to ask about engine recipes!

Nice catch @gmackall, this test is not sharing the logic where we updated the env variable and it is not being set in this build. You can see the current env variables clicking on the execution details.

Let me take a quick look to see if I can refactor the recipe to use the shared logic.

Update on the above engine test that is failing, from the build failure page:
https://ci.chromium.org/ui/p/flutter/builders/try/Windows build_tests_2_3/42157/overview
Under the "input properties" we can see the dependencies,
"dependencies": [
    {
      "dependency": "open_jdk",
      "version": "version:11"
    },
    {
      "dependency": "gradle_cache",
      "version": "none"
    },
    {
      "dependency": "android_virtual_device",
      "version": "31"
    },
    {
      "dependency": "goldctl",
      "version": "git_revision:3a77d0b12c697a840ca0c7705208e8622dc94603"
    }
  ],

Notably, the android_sdk that is present in the input to other recipes is missing, because this engine test uses a version of the android sdk in the third_party directory in the engine repo. But because android_sdk isn't in the dependencies, when we start the setup that we changed above in api.py, we never call the modified android_sdk that sets the ANDROID_USER_HOME because we are looping over the dependencies from the input, and we aren't passing in android_sdk.
So while some of the setup is shared, we aren't sharing the important piece of the setup that we modified, and it seems like we need to modify this engine recipe to make a temp directory that we can use for ANDROID_USER_HOME, and set it to that. At least that is my understanding, if anyone has better knowledge of how these recipes work and sees an issue please chime in!

From the failures on https://github.com/flutter/flutter/pull/126548, it looks like we may also need to update the tests that use the devicelab/devicelab_drone recipe too

just as FYI https://github.com/flutter/flutter/pull/126548 was run on a release branch so it might have been using a recipe version that is different from the recipe on the master branch (looks like there were a 3 line difference in flutter/android_views

We have two different problems here. I'll send a CP to the fix in recipes, it will cover most of the flutter/flutter issues

After some more testing I believe we can solve this failure in all places with only environment variable changes, which is to say I was mistaken in this past comment:

I believe this is an issue with AGP (android gradle plugin) 4.1.3, the version used for that test. Neither ANDROID_USER_HOME nor ANDROID_SDK_HOME seem to be respected by AGP 4.1.3 from my local testing.

The short version is that AGP 4.1.3 does in fact respect ANDROID_SDK_HOME (but not ANDROID_USER_HOME, which is what we started setting in the initial fix). The important thing is that if you are setting both of these environment variables, they need to be set in such a way that

ANDROID_SDK_HOME=<some_path> and
ANDROID_USER_HOME=<some_path>/.android where some_path is the same as above
or else they will be detected as in conflict.

Tested with AGP 4.1.3 and also newer versions of gradle/AGP, and with both of these environment variables set we always pull the signing keys from the proper place.
Making this change should fix failures such as this one
https://ci.chromium.org/ui/p/flutter/builders/try/Windows tool_integration_tests_3_6/15717/overview
where we can see that the code to modify environment variables is getting invoked properly, while the refactoring that @godofredoc mentioned regarding how the recipes share setup logic should fix the other cases.
@godofredoc, if you are currently working on that refactoring, can you include the change to set ANDROID_SDK_HOME as mentioned above?

Note from android triage: @godofredoc is the refactoring something you are still working on? If so no worries, but if you are too busy we can try to re-route.

I haven't had the time to do the refactoring. We can probably land the fix without the refactoring. I'll send a CL after my next meeting.

Scenarios recipe migration: https://flutter-review.googlesource.com/c/recipes/+/44735
Turns out that recipe does not need the android dependency.

Here is the fix to set the env variables consistently in the modules used by engine and framework:
https://flutter-review.googlesource.com/c/recipes/+/44782

Seems like everything has been working properly. Please reopen if we find more failures related to this issue.


Enable awsJson service protocol tests

See https://github.com/awslabs/smithy/tree/main/smithy-aws-protocol-tests/model/awsJson1_1/services
Currently this is only machinelearning service
Acceptance criteria:

service-based protocol tests are generated and pass

Relates to https://github.com/awslabs/smithy-kotlin/issues/278

Implemented in #378


[Discussion] Handle projects that aren't at root of workspace

We assume projects are at the root of the workspace, but it seems somewhat common to stick it in a sub folder. See these issues as examples:
https://github.com/Microsoft/vscode-azurefunctions/issues/772
https://github.com/Microsoft/vscode-azurefunctions/issues/697
We need to investigate this scenario and handle it better in general.

Closing as dupe of https://github.com/Microsoft/vscode-azurefunctions/issues/686


LICENSE: Restore original Apache license

Remove copyright notice from first line. Apache's instruction:

Each original source document (code and documentation, but excluding the LICENSE and NOTICE files) SHOULD include a short license header at the top.

Ref: http://www.apache.org/dev/apply-license.html#new

The Apache 2.0 license includes an Appendix about how to apply the license terms to files. We should not modify the license file.
Reference: https://github.com/kubernetes/kubernetes/commit/d30db1f9a915aa95402e1190461469a1889d92be

Thanks, I'm going to check this PR with our open source counsel.

This is the same situation as encountered in https://github.com/tensorflow/tensorflow/pull/26554 -- this change doesn't make any difference, so in the name of caution about changing the long-standing license doc, I'm closing this PR.

Thanks, @martinwicke. Updated!


[APPSRE-4551] Persist last build information in Git

https://issues.redhat.com/browse/APPSRE-4551
After a successful image build, a new commit will be pushed to master by Jenkins saving the current commit SHA to a file called PREVIOUS_BUILD_SHA. Subsequent builds will use this saved SHA to compare against the current SHA and determine which images need to be rebuilt.
The bot's commit will result in another build being kicked off, however none of the version files will have changed so the job will exit and PREVIOUS_BUILD_SHA won't be updated, preventing an infinite loop of jobs. Tested locally in my fork of the project. The App SRE bot account used for Jenkins builds should have access to make a commit in master in the repo as well.

PR check failed because:
[[ "$origin" == "pr" ]] && return 1 || return 0

However, this won't result in build failures when the bot makes its update to PREVIOUS_BUILD_SHA file


Web UI for the JSON encoder

Here's a fully functional, albeit minimal, web UI for encoding EBO payloads.

wasm-bindgen for automatically generating WASM bindings to json-oracle-encoder.
monaco-editor for the code editor UI, using the monaco-editor-webpack-plugin.
https://github.com/JamesIves/github-pages-deploy-action @v4 for automatic deployment.
Bulma for basic CSS styling.

The line count of the PR is quite scary, but it's mostly due to package-lock.json and Cargo.lock.
Deployment to GH Pages happens every time we push to main.

Closes https://github.com/graphprotocol/block-oracle/issues/197.

@tilacog you can test locally with cd crates/json-encoder-web && npm install && npm run serve


Thoughts on enforcing that ENV.fetch is always called with a block when setting a default? It's faster than the non-block solution

Today I learned there's a pretty big difference between ENV.fetch("COOL", "hello-world") and ENV.fetch("COOL") { "hello-world" }.

The first version always evaluates "hello-world" even if COOL is set
The second version only executes the block when COOL is unset

Here's a benchmark you can drop into IRB. In this case COOL is set:
irb(main):035:1* Benchmark.bm do |x|
irb(main):036:1*   x.report { ENV.fetch("COOL", "hello-world") }
irb(main):037:1*   x.report { ENV.fetch("COOL") { "hello-world" } }
irb(main):038:0> end
       user     system      total        real
   0.000013   0.000000   0.000013 (  0.000009)
   0.000005   0.000000   0.000005 (  0.000004)

irb(main):039:1* Benchmark.bm do |x|
irb(main):040:1*   x.report { ENV.fetch("COOL", true) }
irb(main):041:1*   x.report { ENV.fetch("COOL") { true } }
irb(main):042:0> end
       user     system      total        real
   0.000010   0.000003   0.000013 (  0.000008)
   0.000005   0.000002   0.000007 (  0.000005)

There's a 2-3x difference in the block version being faster.
Is there ever a case where you wouldn't want to use a block? I don't know, but if you're going to toss a coin and pick one the block version is consistently faster in which case maybe a cop for this makes sense?

I imagine the same is true for all Hash objects, not just ENV. The block version particularly desirable when the expression is an (expensive) method call:
{ k: 1 }.fetch(:k, slow_method)       # slow_method always runs
{ k: 1 }.fetch(:k) { slow_method }    # slow_method never runs

(unfortunately this would be an unsafe auto-correct, since the two expressions are not equivalent if slow_method alters global state)

I checked for myself, and indeed the block version is ~1.5x slower when the key is missing:
Comparison:
              inline: 16943539.6 i/s
               block: 10864854.7 i/s - 1.56x  (± 0.00) slower

... and about the same when the key is present:
Comparison:
              inline: 19795950.2 i/s
               block: 18827345.7 i/s - same-ish: difference falls within error

so... when the default is a constant / literal, .fetch(key, :default) is always better. If the default is a method call, the block version is sometimes better (when the method is slow).
h = { k: 1 }

def default
  sleep 0.1 # simulate hard work
  42
end

Benchmark.ips do |bm|
  bm.report('inline') { h.fetch(:k, default) }
  bm.report('block')  { h.fetch(:k) { default } }

  bm.compare!
end

Comparison:
               block: 19334746.5 i/s
              inline:        9.8 i/s - 1969730.49x  (± 0.00) slower   😱

I checked for myself, and indeed the block version is ~1.5x slower when the key is missing

What version of Ruby are you using?
Is there a reason why I can run my issue's Benchmark 10 times and always get a result where the block is faster but you're seeing that the block version is slower?

I suspect it's the number of iterations. benchmark-ips uses benchmark under the hood, with the main difference that it automatically figures out how many test iterations to run to obtain a reliable result.
I can reproduce this result with benchmark by cranking the number of iterations to 50 million:
h = {}; Benchmark.measure { 50_000_000.times { h.fetch(:k, 42) } }
#<Benchmark::Tms:0x00007f89f79474c8 @cstime=0.0, @cutime=0.0, @label="", @real=2.3361909999512136, @stime=0.00033900000000000596, @total=2.335929, @utime=2.3355900000000003>

h = {}; Benchmark.measure { 50_000_000.times { h.fetch(:k) { 42 } } }
# <Benchmark::Tms:0x00007f89f799ea70 @cstime=0.0, @cutime=0.0, @label="", @real=3.7590589999454096, @stime=0.0005470000000000197, @total=3.758439, @utime=3.757892>

Do you know offhand how env vars get evaluated in this context? For example if a Rails app boots up and env vars are being read from in a config file, does Rails only evaluate ENV.fetch("COOL") ... once at boot time or is this env var accessed on every read? Typically env vars are available to the process when it starts up and changing an env var won't re-read the new value.
If the above is true then the fetch call is only ever read once and then it's evaluated into whatever value it determined and from there, all calls to access the config item using it will use the evaluated value?

I'd say most ENV values are fetched just once during initialization (like the Puma port initializer: port ENV.fetch("PORT") { 3000 } which only runs once when the server boots up). But then again ENV could be used in something like a controller action, at which point it gets fetched repeatedly on every request.
ENV values can change at any point during program execution, so caching them wouldn't be safe.
class UsersController < ApplicationController
  def index
    if ENV.fetch('SOME_FEATURE_ENABLED', false)
       ...
    else
       ...
    end
  end
end

I went as low as 1_000 times and the non-block version is still faster.
Sounds like we should close this issue? I'll use ips in future benchmarks, thanks!


bug: GraphiQL not loading the schema

Expected behavior
Should load the schema and suggest autocomplete
Actual behavior
Showing Error when i try to open http://localhost:8080/graphiql .(It was working fine till 3rd December 2021)
Note: I am using this https://github.com/Netflix/dgs-examples-java project .
I havent made any changes to the project at all

Steps to reproduce
create any new project and try opening http://localhost:8080/graphiql
Note: A test case would be highly appreciated, but we understand that's not always possible
NOTE : 1)I have tried several other projects as well and all of them are giving the same error .
2) Although If i pass the correct query , I am getting the desired output

Just ran into this too. It seems to be caused by a GraphiQL update: https://github.com/graphql/graphiql/issues/2085 that is incompatible with GraphQL < 16.
I think the 'fix' on the DGS side is to not link to the 'latest' GraphiQL scripts but pin them to a version. It seems the author of GraphiQL just overwrites the 'production' scripts on a new release.

Just ran into this too. It seems to be caused by a GraphiQL update: graphql/graphiql#2085 that is incompatible with GraphQL < 16.
I think the 'fix' on the DGS side is to not link to the 'latest' GraphiQL scripts but pin them to a version. It seems the author of GraphiQL just overwrites the 'production' scripts on a new release.

Oh ..good to know that I am not the only one facing this issue.. I had a demo today and this thing failed right in between the demo and i was really shocked and depressed with this failure in front of a lot of audience .

It appears that they just fixed it by replacing the 'production' version.
Still, I think a good solution for DGS would be to pin the version used instead of pointing to the 'latest' version.

Thanks @mittalmridul  and @nielsutrecht for reporting the issue. Apologies @mittalmridul for the demo unexpectedly failing for you. We will fix this asap.

This will be available in the next release, closing this issue.


[Bug]: Cannot run development app on latest version (with npm run dev) - PHP template

Please confirm that you have:

[X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
App
Expected behavior
npm run dev should proceed through the app selection (or creation) flow and I should be presented with a preview link and running app.
Actual behavior
The app selection flow completed successfully, but when attempting to the start the app's services, I was met with an error suggesting vite was not installed.
This does not occur on older versions of the template.

Reproduction steps

npm init @shopify/app@latest -- --template php
[Usual PHP application setup steps]
npm run dev
App Creation (or Selection)
Error!

Operating System
Windows 11 22H2 (with WSL 22.04), also Mac OS 13.5.2
Shopify CLI version (check your project's package.json if you're not sure)
@latest, 3.49.3
Shell
bash, zsh
Node version (run node -v if you're not sure)
v20.0.0, v20.4.0
What language and version are you using in your application?
No response

I currently having the same issues so I wouldn't see it as completed/closed.


read-data-subset with amount of data (1GB), instead of %

What should restic do differently? Which functionality do you think we should add?
The documentation says right now that restic check --read-data-subset= can accept a chunk indicator (1/5) or a percentage (25%)
However, in my use-case, i'd like to check a random subset of X bytes of data every evening, due to bandwidth constraints. Could this be possible to implement as --read-data-subset=20GB, which then is functionally the same as --read-data-subset=25% (given that the total repository size is 80GB then)?
What are you trying to do? What problem would this solve?
Bandwidth constraints, and more predictable times for checking after an backup or likewise.
Did restic help you today? Did it make you happy in any way?
Restic looks absolutely amazing for my usecase, i'm currently thinking about buying a 6TB WD Red drive on an ODroid HC2 to keep all of my "archive data" (stored in 1TB drives across my devices) in one central place, and then use restic to sync it with S3 and the likes. Compression looks to be also interesting to use, but it's not a requirement. Restic has encryption, which to me is enough, and so i'll be using it.
This above thing irked me a bit, as it could lengthen checking times the bigger the repository gets, and so this'd keep it somewhat predictable.

I should mention that this is in the context of --read-files, a predictable chunk of blobs being downloaded and compared

It should be fairly simple to implement a selection of a random set of packs up to a given size limit. We'd just have to add a variant of selectRandomPacksByPercentage.

Hi, I am interested in working on this issue. I am working on adding the file size case in the file cmd_check.go


Move the Can I use panel a bit farther from the right edge

Currently, the distance between the caniuse panel's right edge and the right edge of the viewport is only 0.3em. It's very difficult for me to click the caniuse-panel-btn button when the scrollbar doesn't take up the layout space.
Personally, I found 0.9em ~ 1.1em more user-friendly on the browsers I tested (Firefox and Safari on macOS).

Another solution might be moving caniuse-panel-btn to the left side of the panel, like the caniuse panel in HTML. For an example, see https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes


WiP Fix stackoverflow in computesourcedir

Pull Request Test Coverage Report for Build 1248

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

Totals

Change from base Build 1244:
0.2%

Covered Lines:
1891

Relevant Lines:
3512

💛  - Coveralls


Is it possible to load a list of AndroidApplication view into RecyclerView?

From my understanding, in order to display a 3D view, the app need to extends from AndroidApplication.
In this class, there is a method to initialize view:
View view = initializeForView(new MyGdxGame(), config);
Looking at source code of AndroidApplication, I saw a lot of callbacks to deal with Android activity life cycle and a lot of objects like input, files, net, audio. So I'm wondering is it reasonable to display these views inside a RecyclerView with adapter model? My goal is not to create a game but rather an app that can display 3D model with transformation and animation.
Any feedback would be greatly appreciated.

https://github.com/libgdx/libgdx/wiki/Issue-Tracker