Brainstorm meeting 11/05/19

Problematic VisIt areas:

Numerical expressions. Getting good analysis suite including analytic problems which we know correct answers via means other than through VisIt.
Good test problems and datasets that include many interesting data features.
Workflows that we can make rock solid / circumvent to make users lives a little easier.
Scratchpad database to auto export/import to circumvent challenges with ugly workflow.
Lots of optimization done to avoid querying metadata, but this complicates our lives a lot. Might be better to remove the optimization.
Devilray: ray tracing infrastructure from Matt using RAJA and Umpire. GPUs work very well with simple data structures/design.
How does complexity of VisIt code base feel? Often requires 1-2 weeks of reading through code before a certain part of the code (e.g. Expressions) is fully understood. Documenting that part of the code once understood would probably take another week.
We need good developer docs and architecture/design diagrams.
Tutorials and good docs between Sphinx and Wiki; these should be merged to one-stop-shopping
Reducing barriers to entry for new users of VisIt with better documentation, tutorials, maybe animiated Gifs or YouTube videos -- how easily can that stuff fall out of date?
How do we have more flexible user interfaces for complicated things?
AVS Express?
Fix the build script so that default works (e.g. include -ssl). How to extend the testing to catch these cases.

Currently, web site sends people to build_visit with no documentation for how to use and what to do if fail

Topology agnostic software engineering.
We kinda already do some of this with vtkDataSet genericity. But, we do have a lot of code that tests real type of dataset and specializes too. The question is; is this for performance reasons for features not available at vtkDataSet level reasons? If its because of performance, its hard to argue against it. Though, perhaps these performance questions should be re-visited more frequently in development cycle than current (which I think is never).
VTKm API strengths and weakensses
A lot of functionality to support templating, virtual functions, etc. Works great when a single data model is in use within a consumer (or producer) but in general vis. tool that needs to support all data models, there is added complexity in supporting all the data types, interface configurations, etc.
FFTs are a rabbit hole
For some reason we talked quite a bit about VisIt's FFT. It has a large number of limitations. We aren't even sure why we continue to maintain it. There is probably a lot of interest in doing something like a power spectrum plot/operator for tubulent flow (which perhaps can be postulated on both structured and unstructured grids).

There is probably a lot of interest in doing something like a power spectrum plot/operator for tubulent flow

How do we gauge users' interests? Is it just by word of mouth as we interact with users who say, "You know, I would really like this feature"? Maybe we can formalize a way to document users' interest? I believe we have also talked about holding a users-developers meeting to discuss these points. I wonder if this would be a good way to prioritize some of these ideas and to introduce new ones.

There is probably a lot of interest in doing something like a power spectrum plot/operator for tubulent flow (which perhaps can be postulated on both structured and unstructured grids).

Created #4056 for this.

* Numerical expressions. Getting good analysis suite including _analytic_ problems which we know correct answers via means _other than_ through VisIt.

I've been currently working under the model that we can utilize some of the codes in WSC for validation as the "true" answer for expressions.

* Good test problems and datasets that include _many_ interesting data _features_.

A tiered testing approach might be useful here. Created #4057 for further discussion.

How does complexity of VisIt code base feel? Often requires 1-2 weeks of reading through code before a certain part of the code (e.g. Expressions) is fully understood. Documenting that part of the code once understood would probably take another week.

We need good developer docs and architecture/design diagrams.

Tutorials and good docs between Sphinx and Wiki; these should be merged to one-stop-shopping

Reducing barriers to entry for new users of VisIt with better documentation, tutorials, maybe animiated Gifs or YouTube videos -- how easily can that stuff fall out of date?

I think this is definitely worth the time and effort. I don't particularly like documentation, but I think developing the ability to explain how something works (both to users and developers) is very valuable. I vaguely remember going to a talk that discussed the potential for external funding specifically for documentation. That might be something that we can tap into.


yo jhipster-ionic:entity  error

Great to integrate JHipster with Ionic !!!
I created JHipster nms (Monolithic dev: MySQL) & ionic4j, but gave it another name ionms .
When I run
cd nms && ./gradlew
cd ionms && ionic serve.
Works fine and I can login and even change settings.
But when I try to create an entity that is running fine in nms app
an error ...
$ yo jhipster-ionic:entity hospital
If I create ionic4j. It generates the entities

I tried also with this and same error
/**

The Building entity.
/
entity NmsBuilding {
name String required,
lastupdated Instant
}
/*
The Building entity.
/
entity NmsCustomer {
name String required,
lastupdated Instant
}
/*
The Unit entity.
one to one relation between unit and raspberry pi.
device which can serve 1 or several patients(Remote)

name String required
/
entity NmsUnit {
name String required,
lastupdated Instant
}
/*
The Zone entity.

name String required,
acronym String required,
nMinIncrPri Integer required
/
entity NmsZone {
code String required,
name String required,
acronym String required,
nMinIncrPri Integer required,
lastupdated Instant
}
/*
The Remote entity.
1-1 with patient
Remote control to send an alert.

name
/
entity NmsRemote {
idRemote Long required,
name String required,
lastupdated Instant
}
/*
The Collector entity.

Zone
lastupdateby User
/
entity NmsCollector {
computernr Long required,
name String,
heartbeatLastDT Instant,
heartbeatInfo String,
sSID String,
password String,
sSIDsentDT Instant,
lastupdated Instant
}
/*
The Employee entity.(1-1 with user that is  automatically generated)

entity User {
userName String,
password String
email String
firstName String required,
lastName String required,
imageUrl String
}
*/
entity NmsEmployee {
extensionNumber String,
photo ImageBlob,
sex NmsSexType,
userCanChooseZones Boolean
}
entity NmsAlert {
alertBegin Instant,
alertAnswered Instant
}
entity NmsAlertType {
level Integer required,
name String required,
color String required
}
entity NmsMessage {
text TextBlob,
timeSent ZonedDateTime,
timeReceived ZonedDateTime,
timeRead ZonedDateTime
}

enum NmsSexType {
FEMALE,
MALE
}
relationship OneToOne {
NmsEmployee{user} to User
}
relationship ManyToOne {
NmsUnit{zone} to NmsZone,
NmsZone{hospital} to NmsBuilding,
NmsRemote{unit} to NmsUnit,
NmsEmployee{hospital} to NmsBuilding,
NmsAlert{alertType} to NmsAlertType,
NmsAlert{remote} to NmsRemote,
NmsAlert{zone} to NmsZone,
NmsAlert{employeeAtended} to NmsEmployee
}
relationship ManyToMany {
NmsEmployee{possibleZones(possZones)} to NmsZone{employeePossible},
NmsEmployee{activeZones(actZones)} to NmsZone{employeeActive},
NmsMessage{employeeSend(mSend)} to NmsEmployee{messageSend},
NmsMessage{employeeRec(mRec)} to NmsEmployee{messageRec}
}

It should work with another name. If it doesn’t, that’s a bug.

On Nov 25, 2018, at 11:21, Ines Gomes<EMAIL_ADDRESS>wrote:
Closed #59.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Add integ test for unpublished ports in ps o/p

This is a test to assert the fix #13734

Signed-off-by: Alessandro Boch<EMAIL_ADDRESS>

Thanks @runcom for the review. I took care of most of your comments. Please take a look when you get a chance.

ping @duglin since https://github.com/docker/docker/pull/13734#issuecomment-108985181
LGTM tho

@duglin I added the requested tests. Please take a look when you get a chance.

LGTM

LGTM


Vickel: Watch +1-888-810-8296

Vickel requests the watch of the watch_number +1-888-810-8296. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by VLAZ in Charcoal HQ


Bug fix wrong behaviour on the itemFeatures code ( i think ?)

Added source setting on features created by objects so it is clearer which features are derived from the specific item
Fix typo item.length con items.length
Added check on the number of features "tied" to the item by having the feature removed for certain if the item is no longer equippered or attuned
Added check to avoid the same feature but coming from multiple items, the check is based on the uniqueName because' someone might want multiple versions of the same feature (I think)

Looks like currentSource isn't being used, is that intended?

a miss that, no you can removeit i think the uuid is just enough


Okta registration

MOTIVATION: we need to get a good example of how to work with OKTA set up in this repo.

FINISHLINE: when booting up the app, all students should need to do is set their ENV vars and point their config to their Okta APP.

This is released :)
Next steps: Meet with @berniedurfee to gain an understanding of administrative flow for Okta Apps.


Add missing readtime

@dconeybe This is same as https://github.com/firebase/firebase-ios-sdk/pull/10946
I added a test, but somehow force pushed then closed the PR, I cannot reopen that one apparently.


feat: 🎸 add radio button component with tests and storybook

👋 Thanks for creating a pull request! 🚀 Checkout the storybook we created for it here.


Update Cypress tests to use environment variables for login credentials

What type of PR is this?
I fixed where you cant use environment variables even if you set them on .env

Interesting approach.  Hadn't thought of grabbing environment variables for the tests before.
What's the situation where that's useful, rather than testing with specific seeded data? :smile:

in cypress it's useful when it's needed to run it on multiple envs

@mirkan1 Thanks for your PR!


Support for google motion photos

Describe the enhancement you'd like
A clear and concise description of what you want to happen.
Add google motion photo support in libre photos
Describe why this will benefit the LibrePhotos
A clear and concise explanation on why this will make LibrePhotos better.
Its an android equivalent to live photos
Additional context
Add any other context or screenshots about the enhancement request here.
Sample motion photo in zip (unzip to view the jpeg)
motion photo sample.zip
Viewable using:
https://dj0001.github.io/Motion-Photo-Viewer/
or photos.google.com/
Background context
https://medium.com/android-news/working-with-motion-photos-da0aa49b50c

To identify it, use exiftool. There should be an attribute for it.
Extracting seems to be possible, but it's not supported by ffmpeg, imagemagick, libvips or exiftool.
We probably have to write a function for it. Here is some example code: https://github.com/ViRb3/google-camera-motion-photo-splitter/blob/master/splitter.py
The big thumbnail should be an image, which is the image we view in the light box. The two smaller thumbnails should be a video. The photo should be marked as a live photo, and we probably have to add a type for live photos to the serializer.

Similar to #287


PyAEDT export the reStructuredText(.rst) files to JSON files for the Drupal migration.

Description of the feature
The goal of this task is to prepare the reStructuredText(.rst) content for the Drupal migration by exporting them into JSON files.
Steps for implementing the feature
The idea of this task is to expand the CI/CD pipeline(.github/workflows/ci-build.yml) in this repo to include the following steps:

Export the reStructuredText(.rst) files to JSON with the help of the Sphinx JSON builder:
# Export the documentation files to JSON files.
sphinx-build -M json doc/source doc-json -j auto -w build_errors.txt -N;

Flatten the generated nested files into a single directory:
# Flattening a nested directory
mkdir doc-flatten-json;
# Move all the JSON file to the flatten directory.
find . -name "*.fjson" -exec mv "{}" --backup=numbered ./doc-flatten-json \;
# Make sure all the file has .json extensions instead of the .fjson
for f in doc-flatten-json/* ; do mv -- "$f" "$f.json" ; done;
# Move all static image files to the JSON flatten folder.
mv doc-json/json/_images doc-flatten-json/_images;

Zip the flattened JSON directory:
zip -r doc-flatten-json.zip doc-flatten-json;
# Clean up build directories after the process is completed.
rm -rf doc-json doc-flatten-json;

The above steps will generate a ZIP file containing all the JSON files that Drupal will use for the migration process, so Drupal will get the Zip file from this location:
https://github.com/pyansys/pyaedt/tree/main/doc-flatten-json.zip

All steps will run automatically as part of the repo CI/CD pipeline process and each time the documentation is exported to HTML should also build to JSON and generate the Zip file for Drupal with the fresh documentation content.
Useful links and references

Sphinx documentation generator tool.
Sphinx JSON HTML builder.

Hi @germa89, Thanks for asking!
Drupal is going to take care of the process of transforming/resolving the relative/absolute paths from static images on the JSON files during the migration, so for this stage, it is only important to have the images included in the Zip so that when Drupal is resolving their references during the migration they can be found inside the Zip file.
Let me know if you have any other questions, looking forward to seeing this included in the CI/CD pipeline.
Thank you.

Hi @ampronovix,
After giving some thoughts about the process, I added some modifications.

I was able to generate the documentation as json files.

I was able to flatten the doc and zip it.

I did not add this zip file to the main branch in each of our repo (pyaedt, pymapdl...), which could create some confusion for some users by adding extra files not needed by the package.
=> Instead I created a new public repo where we could store all the zip file coming from all the repos: https://github.com/pyansys/devportal-doc-archive

In addition, instead of generating this file from the documentation built for every PR (dev-doc) we could use the doc generated for the release which is way more stable. Otherwise customers could get some info generated from unstable code.
Would that work for you?
@ampronovix Please let me know if you can exploit the file pyaedt-doc-flatten-json.zip
in the banch named drupal https://github.com/pyansys/devportal-doc-archive/blob/drupal
Adding @ChrisHarrold for visibility

Hi @MaxJPRey,
That's excellent news, I have tested the Drupal migration using the PyAEDT Zip file in the location you indicated and this is working like a charm.
I am totally on board with the idea of putting all the Zip files from the dev-doc in the repository you created(https://github.com/pyansys/devportal-doc-archive) and using the doc generated for the release, this works :100: for us.
Thanks.

Hi @MaxJPRey
I noticed there was a recent deployment in the PyAEDT Documentation:

pyaedt-doc-flatten-json.zip Deploying to drupal from @ pyansys/pyaedt@d784ef4  5 hours ago

However, I see two problems:

The content of the new zip file was not generated properly, it contains JSON files with unexpected extensions that Drupal is not recognizing.
It looks like a dependency on Gtihub's static page generator was updated and that caused a problem as I now see a whole new section in the PyAEDT documentation that isn't linked to anything and wasn't there before: https://aedt.docs.pyansys.com/API/_autosummary/pyaedt.modules.CableModeling.Cable.add_cable_to_bundle.html

Can you please take a look and advise?
Thanks.

@ampronovix Sure I will.
I just merged the pull request that generated the first version of the zip file.
In addition, I am now using the release doc content and not the dev doc content because it will be more stable.
So basically, the content should be quite similar. I am going to check if we can get rid of the files with the unexpected extensions.
I will also investigate the issue regarding the cable section in the documentation.

Hi @MaxJPRey,
We need to apply two small changes to the JSON Zip file generation:

We are missing a two important JSON files that were removed during the flattening process: globalcontext.json and searchindex.json
Here is the updated flattening script that we are using to make sure of including those files:
#!/bin/bash
# Flattening a nested directory, file: doc-zip-generator.sh
mkdir -p doc-flatten-json;
# Move all the JSON file to the flatten directory.
JSON_FILES=$(find doc-json/json -type f -name "*.fjson" -o -name "*.json*");
for filename in $JSON_FILES
do
    x=${filename#./};
    y=${x// /-};
    mv -n ${x// /\ } "./doc-flatten-json/${y////-}";
done
# Move all static image files to the JSON flatten folder.
mv -n doc-json/json/_images doc-flatten-json/_images;
# Zip the flattened JSON directory:
zip -r doc-flatten-json.zip doc-flatten-json;
# Clean up build directories after the process is completed.
rm -rf doc-json doc-flatten-json;

We simply run ./doc-zip-generator.sh in the root of the project.

About the version control tagging in the Zip, We noticed this in the sphinx-build documentation:

globalcontext.json: The filename for the file that contains the “global context”. This is a dict with some general configuration values such as the name of the project.

This file that is included in the JSON generation contains metadata information about the project in general, and you can set the release and version by using the command option  via -D setting=value, for example:
sphinx-build -M json doc/source doc-json -j auto -D release=0.6.21 -D version=0.6.21;

This way the version and release will be passed to the globalcontext.json file:

Can you dynamically pass those two variables when running the JSON build so that each zip file contains the version and release tag they belong to?

Let me know if you have any questions, Thanks.

Hi @ampronovix,
I am working on the first point. It should be merged soon.
Regarding the second point, I don't see any limitation. I will do it too.

Pinging here the @pyansys/pyansys-core team.
We need to get familiar with the JSON doc rendering pipeline. Ideally, we should add these in pyansys/actions to minimize the impact in our projects. We already support JSON builders, but no flattening logic is provided yet. Note that pyansys/actions has a scripts directory in case we need to host a more complex logic.

@jorgepiloto this is the goal.
It will be added in the pyansys/actions eventually and deployed in the different products.
Here it is just the first step to get the script up and running and make sure the content can be used in the dev-doc portal and display something consistent and useful.

Hi @MaxJPRey, thanks for applying the requested changes.
I have two more questions/requests:

Can you help me coordinate the generation of JSON zip files for the other 10 packages?
Who should be briefed on the other teams to implement this JSON build integration into the other 8 packages?

Let me know if you need anything from my end to get this going. Ideally Drupal will try to fetch the Zip files
from the following URLs for the other packages:

Package
Expected JSON zip URL

PyDPF-Core
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pydpfcore-doc-flatten-json.zip?raw=true

PyDPF-Post
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pydpfpost-doc-flatten-json.zip?raw=true

PyMAPDL
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pymapdl-doc-flatten-json.zip?raw=true

PyMAPDL Reader
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pymapdlreader-doc-flatten-json.zip?raw=true

PyFluent
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pyfluent-doc-flatten-json.zip?raw=true

PyFluent-Parametric
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pyfluentparametric-doc-flatten-json.zip?raw=true

PyFluent-Visualization
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pyfluentvisualization-doc-flatten-json.zip?raw=true

PyPIM
https://github.com/pyansys/devportal-doc-archive/blob/drupal/pypim-doc-flatten-json.zip?raw=true

Granta MI BoM Analytics
https://github.com/pyansys/devportal-doc-archive/blob/drupal/grantami-doc-flatten-json.zip?raw=true

Shared Components
https://github.com/pyansys/devportal-doc-archive/blob/drupal/shared-doc-flatten-json.zip?raw=true

cc @jorgepiloto
Thanks.

Hi @ampronovix,
We are going to create an action in pyansys/actions based on the code integrated in the PyAEDT workflow.
I will sync with @jorgepiloto to create it.
As soon as it is done, we will talk internally to the other teams (the one in charge of the repositories you mentioned above) to make sure that this action is embedded into in their CI/CD.
Thanks for your feedback.

Adding @anspcoinaud for visibility.

Hi @MaxJPRey,
we noticed inconsistent data in the current PyAEDT repo zip file that creates inconsistent version numbers of the developer portal. We think it may simply be a consequence of your rolling out a dev version for us as proof of concept and will resolve itself when you produce a proper new version. Can you confirm?

Hi @ChristophWeber
Yes, exactly. It should be a released version and consistent across the entire doc.
We will investigate and correct this as soon as possible.
Thanks.


Add Ireland (IE)

Add Ireland:
IE: https://customers.verisure.ie/owa-api/graphql"
And English language for Ireland:
"IE": "en"
Thanks in advance.

in the code there's a default template for domains that looks like this: https://customers.securitasdirect.{country}/owa-api/graphql and a default lang as en. i believe if you set the Country Code to "ie" in the login panel everything would work just fine for you.

Looks like the file is:
securitas-direct-new-api/custom_components/securitas/securitas_direct_new_api
/domains.py
In Ireland we use verisure. Can you change it? I maybe can do a PR as well

I'm testing the change. Hold on :-)

Looks like the file is:
securitas-direct-new-api/custom_components/securitas/securitas_direct_new_api /domains.py
In Ireland we use verisure. Can you change it? I maybe can do a PR as well

You're right, i miss that


clippy::incorrect_partial_ord_impl_on_ord_type tripping up

This was introduced in rust 1.73. I'm not sure if this is the right spot to report this. I figure it was better here since this isn't a part of standard rust so a clippy issue didn't seem correct. Feel free to close the issue if this isn't the correct spot to handle it.
Having both a Ord and PartialOrd implementation that isn't just delegating to the Ord wrapping in Some will cause this. I assume it's based on how derivative's proc macros implement the traits cause rustc to look at it as if it were hand implemented.
As a user I would assume that using derivative to derive traits should generally function as close to directly using derive() as possible, e.g. to not have this reported when both traits are derived via derivative to match derive()'s behavior here.
As an end user I also couldn't find a place to put [allow(clippy::incorrect_partial_ord_impl_on_ord_type)] locally on the relevant types to suppress it, I imagine due to how derivative + the lint work.
Minimal repro example with rust 1.73 calling cargo clippy
#[derive(Derivative)]
#[derivative(Eq, PartialEq, Ord, PartialOrd)]
pub struct Foo {
    x: i64,
}

This lint has been renamed to clippy::non_canonical_partial_ord_impl.

Likely the same issue as #112


Replace gold with uranium

Bitcoin is similar to gold, in that it primarily derives its value from scarcity rather than some external benefit you get by destroying it. In contrast, Namecoin's value is derived from an external benefit you get by destroying it, making Namecoin more like "cryptographic oil/uranium" instead of "cryptographic gold". Thus, it would be symbolically useful to replace the NMC/XAU exchange rate with the exchange rate between Namecoin and oil or uranium.  Oil is a less ideal analogy since destroying oil causes global heating as a side effect, while destroying NMC or uranium does not, so let's go with uranium.
Real-time uranium prices are not available because uranium is not traded on a public/open market like other commodities.  However, we can get a recent uranium price from the St. Louis Federal Reserve graph download API.  The website URL is https://fred.stlouisfed.org/series/PURANUSDM ; the API URL is https://fred.stlouisfed.org/graph/fredgraph.csv?bgcolor=%23e1e9f0&chart_type=line&drp=0&fo=open%20sans&graph_bgcolor=%23ffffff&height=450&mode=fred&recession_bars=off&txtcolor=%23444444&ts=12&tts=12&width=968&nt=0&thu=0&trc=0&show_legend=yes&show_axis_titles=yes&show_tooltip=yes&id=PURANUSDM&scale=left&cosd=1990-01-01&coed=2022-10-01&line_color=%234572a7&link_values=false&line_style=solid&mark_type=none&mw=3&lw=2&ost=-99999&oet=99999&mma=0&fml=a&fq=Monthly&fam=avg&fgst=lin&fgsnd=2020-02-01&line_index=1&transformation=lin&vintage_date=2022-10-01&revision_date=2022-10-01&nd=1990-01-01.
Replace all instances of 2022-10-01 in the URL with the current date.
The result is a CSV file; the final row is the most recent data point, it's a date followed by the price in USD/lb.
(Spinoff of #7)

@domob1812 Opinions?

To be honest, that seems rather far fetched to me.  It might make sense from a philosophical point of view, but I can't imagine a "NMC/Uranium" rate to be anything but a random number to any possible user.

@domob1812 Well, right now, both the Bitcoin and Namecoin explorers show a BTC/Gold and NMC/Gold rate, both of which seem to be random numbers to me.  (I certainly can't think of any reason a Namecoin user would care about the NMC/Gold exchange rate.)  My impression is that the reason the Bitcoin explorer shows a gold exchange rate is not because anyone actually cares about the rate, but rather simply because Bitcoin is symbolically a cryptographic analogue to gold.  So yes, the actual number shown for an NMC/Uranium rate is not going to help users any more than the NMC/Gold rate, but (as you say) it makes more sense philosophically/symbolically, which is (AFAICT) the point of showing that rate.


[Android] getting error code 12501 (user cancelled) after choosing google account

Hi,
Thanks for the great plugin. It's working fine in iOS, but on Android I'm getting an error  with no real description other than
code: 12501
name: 'googleSignInError'
This is after I choose my google account which is logged in. It's also the same if I cancel out of the process.
I'm using version 0.10.0
An interesting thing happened earlier though, my google play services stopped working on my device version. I wonder if that has something to do with it?
Also I though I should check, my config is like so:
    GoogleSignin.configure({
      iosClientId: 'MY_IOS_ID',
      webClientId: 'MY_WEB_ID',
      offlineAccess: false,
    })

And this error is on calling
GoogleSignin.signIn()

If anyone has had anything like this happen any advice would be great thanks!

Also I thought I better check, I'm getting my webClientId from here:

Should I also be adding the Android client ID? It doesn't seem to be a parameter?

SOLVED: Ok sorry it wasn't to do with the plugin, it was because I had the SH1 fingerprint generated by my debug build in android studio vs the one generated by the keystore used to sign the build. Hopefully this can serve as a reference to someone else. Cheers


Yoga generate command

Is your feature request related to a problem? Please describe.
https://github.com/prisma/yoga2/issues/18 is a great start. Certainly removes a lot of the pain creating all those files and types yourself. The problem is if I just want createComment mutation I'd have to go through that full flow.
Describe the solution you'd like
Similar to how Rails does it with their generate command. It would be great to have a yoga generate command that does the following:

yoga generate type Comment field:type field2:type:required
yoga generate mutation createComment
yoga generate query Users

Additional context
Some of the Rails migration commands might be useful.
Very early idea... Thoughts welcome on how we could do this!

@notrab Doesn't graphql-ruby have something similar
rails g graphql:object Post id:ID! title:String! description:String!

@guledali Nice! graphql-ruby has matured a lot since I last used it. This kind of approach is gold 💯

There is something like this already build in https://www.youtube.com/watch?v=3eoxXwllmpk&list=LL8bYS4kY0br718lE_ButosQ&index=9&t=311s
If you ran npm scaffold or yarn scaffold you should be able to create datamodel and then the graphql-type.

@guledali yeah I'm aware of that but this issue is suggesting we add short helpers instead of going through the scaffold command.

yoga generate type Comment field:type field2:type:required
yoga generate mutation createComment
yoga generate query Users

It doesn't look like too much work if we passed the args along to the inquirer.


Automate the testgrid AMI creation

Description:
ATM, we create the AMIs manually. This has consumed a massive amount of time, and has lead to major inconsistencies between AMIs. Therefore, we need to automate this work.
Packer is the obvious go-to choice to build AMIs. Best yet, it supports both Linux, and Windows where it has figured out the intricacies of windows OS. Therefore, we need to implement solution asap for this. [1]
Somethings to keep track of:

Using Packer's source_ami_filter to find the source AMI.
The tags in the source AMI must be present in the new AMI as well.
Have a common user for unix-like OSes

Our AMIs typically have:

sql-drivers at ~/sql-drivers
JDKs at xxxx
cat /etc/environment that map the JDK names (ORACLE_JDK8, OPEN_JDK8) to dir locations.
python3 and pip3
Maven (for intg tests)
SSH server - windows dont have one by default

[1] https://www.packer.io/intro/getting-started/build-image.html
Affected Product Version:
m34
OS, DB, other environment details and versions:
Needed for CentOS, Windows, Ubuntu AMI.
AWS EC2
Related Issues:
N/A

This is fixed now.


[[SPEC#foo]] syntax doesn't respect "Default Biblio Status: current"

In particular [[FEATURE-POLICY#parse-policy-directive]] generates a link to https://www.w3.org/TR/feature-policy-1/#parse-policy-directive instead of the correct https://w3c.github.io/webappsec-feature-policy/#parse-policy-directive

Hmm, yeah, the section-link feature doesn't use the same code path as normal biblio links. I'll look into harmonizing tese.

I ran into this as well, also with Feature Policy actually. Friendly ping :)

Another ping; ran into this today.


AJV should accept NULL values.

Actually, when a NULL value is sent as a value of some property in a Create or Update operation, an error "validation failed" is received from Grahpql server, which in turn is generated by AJV module because null value is not included as a valid value on validation file properties.
By example, the following lines show how the array of types is currently specified (the array of types does not include the null type).
"properties" : {
    "variable" : { "type" : ["string"] }
}

Thus, when the property, called variable in this case, is sent to graphql server with a value other than a string, by example: a null value, then the AJV module will throw an error.
To avoid this behavior, according to official documentation, the NULL type should be included in the array of types. By example:
"properties" : {
    "variable" : { "type" : ["string", "null"] }
}

The following image shows an example of the behavior once the 'null' type is included on the array of types.

Hi team!
Following guidelines form Stackoverflow post and Ajv documentation, to accept properties like null values like this:
{
  variable: null
}

An acceptable solution would be do the following additions on file graphql-server-model-codegen/funks.js, on the function where the schema props are defined:
(I left commented current code as '//before')
attributesToJsonSchemaProperties = function(attributes) {
  let jsonSchemaProps = Object.assign({}, attributes)

  for (key in jsonSchemaProps) {
    if (jsonSchemaProps[key] === "String") {
      jsonSchemaProps[key] = {
        //before: "type": "string"
        "type": ["string", "null"]
      }
    } else if (jsonSchemaProps[key] === "Int") {
      jsonSchemaProps[key] = {
        //before: "type": "integer"
        "type": ["integer", "null"]
      }
    } else if (jsonSchemaProps[key] === "Float") {
      jsonSchemaProps[key] = {
        //before: "type": "number"
        "type": ["number", "null"]
      }
    } else if (jsonSchemaProps[key] === "Boolean") {
      jsonSchemaProps[key] = {
        //before: "type": "boolean"
        "type": ["boolean", "null"]
      }
    } else if (jsonSchemaProps[key] === "Date") {
      jsonSchemaProps[key] = {
        //before: "isoDate": true
	      "anyOf": [
          { "isoDate": true },
          { "type": "null" }
        ]
      }
    } else if (jsonSchemaProps[key] === "Time") {
      jsonSchemaProps[key] = {
        //before: "isoTime": true
	      "anyOf": [
          { "isoTime": true },
          { "type": "null" }
        ]
      }
    } else if (jsonSchemaProps[key] === "DateTime") {
      jsonSchemaProps[key] = {
        //before: "isoDateTime": true
        "anyOf": [
          { "isoDateTime": true },
          { "type": "null" }
        ]
      }
    } else {
      throw new Error(`Unsupported attribute type: ${jsonSchemaProps[key]}`);
    }
  }

  return jsonSchemaProps
};

Please notice that in Date, Time and DateTime types, the option  "anyOf"  is used to add the type 'null'.
Please let me know what do you think about this solution.
Best regards!

Sorry, I'll closed this before by mistake.

That would be the perfect solution. Please implement it as you suggested. Thank you

Implemented on this commit.


Clarify claiming and update QR codes

Summary

Clarify how to make a device claimable
Also updated the QR code instructions as we now support the final version of TR005
Screenshots

This one is a bit off, but that's because of the developer tools (I guess):

Changes

Update QR code instructions
Clarify making a device claimable

Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Run Locally: Verified that the docs build using make server, posted screenshots, verified external links. Test with HUGO_PARAMS_SEARCH_ENABLED=true if style changes will affect the search bar.
[x] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[x] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[x] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

@nejraselimovic oops, gh CLI was showing an empty body of the approved review. Will address your reviews and push to master.

Done, see c6981870


pallet-aura: Allow multiple blocks per slot

This amends pallet-aura to optionally allow sequential blocks to be authored within the same slot. This is being done for https://github.com/paritytech/cumulus/issues/2476 , as we often need to create a 'backlog' of blocks to post to the relay chain, and therefore can temporarily require block production to speed up.
This will also be useful for further roadmap items like elastic scaling and parallel block production, where chains need to make multiple blocks per slot for longer periods of time as well.
Update Guide
Set the new AllowMultipleBlocksPerSlot to false to maintain current behavior. Setting this value to true will be necessary for parachains looking to enable asynchronous backing later on, but this will require other changes alongside.
Example:
impl pallet_aura::Config for Runtime {
  // .. snip
  type AllowMultipleBlocksPerSlot = ConstBool<false>;
}

cumulus companion: https://github.com/paritytech/cumulus/pull/2707

Config associated types require a full runtime upgrade

But a full runtime upgrade is required anyway?
The main point between storage vs config is that if we have the needs to toggle this value by governance without runtime upgrade. I can't think much use cases for now.

The main point between storage vs config is that if we have the needs to toggle this value by governance without runtime upgrade.

Another point is also that a config type is that we don't need to read the storage for checking the value and reading the storage is "expensive". Especially for something probably never changes that often. So, please make this a config type.

But a full runtime upgrade is required anyway?

The main point between storage vs config is that if we have the needs to toggle this value by governance without runtime upgrade. I can't think much use cases for now.

What I mean is that we can ship this in Substrate master now without worrying about breaking downstream users' runtimes or behaviors, and then those parachains' governance systems can change the storage item when enabling asynchronous backing.
One of the concerns I hear the most is about breaking changes where alterations to Substrate master cause compiler errors in users' runtimes they have to fix. I am trying to avoid that but getting mixed signals now.

One of the concerns I hear the most is about breaking changes where alterations to Substrate master cause compiler errors in users' runtimes they have to fix. I am trying to avoid that but getting mixed signals now.

I mean that is a fine consideration, but we are doing much more crazy breaking changes. If you write a proper explanation in your pr description on what people should do, it will be a no brainer for them to upgrade. The explanation is also rather trivial.

You can also do a feature branch, if you feel better with this. I don't care, but the current storage value is a no go.

Comments have been heard re the Config member. I will return to this PR soon and implement that - I have been preparing Cumulus for this change in the meantime

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate-macos
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2957274

I'm not sure if we have Cumulus companions yet, but I opened https://github.com/paritytech/cumulus/pull/2707 to merge as soon as this goes in.

bot merge

bot merge

bot merge


How can I know what version of Selenium Remote Webdriver Gemini uses?

Hi,
I setup a local grid and when I run my gemini test I'm getting the below error.
[init({"browser":"Chrome","version":"57","os":"Windows","os_version":"10")] The environment you requested was unavailable..
Reason: HTTP ERROR: 500 Problem accessing /wd/hub/session. Reason: java.lang.NullPointerException Powered by Jetty:// 9.3.z-SNAPSHOT

For internal reason, the grid is only working with Selenium Webdriver 3.1. And looks like Gemini is using/expecting the latest Grid, which is 3.4.
Where is the selenium wedbdriver version configured in Gemini? I was expecting in WD dependency but don't see it there...
Please help me by pointing...
Thanks,
Bruk

And looks like Gemini is using/expecting the latest Grid

In a good questions there is an answer :)

Where is the selenium wedbdriver version configured in Gemini?

There is no such place in gemini. gemini uses a module wd which (as in its description goes) is a node.js client for webdriver/selenium 2.


Keystore password and keystore alias

Gradle sync failed: You should define KEYSTORE_PASSWORD, KEYSTORE_ALIAS and KEY_PASSWORD in gradle.properties.groovy.lang.MissingPropertyException: Could not get unknown property 'KEYSTORE_PASSWORD' for SigningConfig_Decorated{name=release, storeFile=C:\Users\user\Downloads\umar\shopping\app\openshopKeystore.jks, storePassword=null, keyAlias=null, keyPassword=null, storeType=C:\Users\user\Downloads\umar\shopping\app\openshopKeystore.jks, v1SigningEnabled=true, v2SigningEnabled=true} of type com.android.build.gradle.internal.dsl.SigningConfig.

Hi,
if you set a "debug" build of an application you don't have to setup build properties.

For a more information please look here: https://developer.android.com/studio/publish/app-signing.html


Thumbnails not showing/issues with computation on worker

I read through some related issues but still can't resolve getting the superset worker to appropriately cache thumbnails. I've installed chrome utils, my config.py file has the following and I'm pulling a recent image FROM apache/superset:d2e03ab9b4f6e941040cf60153599b1a64e28ce6
WEBDRIVER_TYPE = "chrome"
def auth_driver(driver: WebDriver, user: "User") -> WebDriver:
    pass

WEBDRIVER_AUTH_FUNC = auth_driver

WEBDRIVER_OPTION_ARGS = [
        "--force-device-scale-factor=2.0",
        "--high-dpi-support=2.0",
        "--headless",
        "--disable-gpu",
        "--disable-dev-shm-usage",
        "--no-sandbox",
        "--disable-setuid-sandbox",
        "--disable-extensions",
        ]

WEBDRIVER_BASEURL = "http://<IP_ADDRESS>:8088/"

FEATURE_FLAGS = { "THUMBNAILS" : True, "LISTVIEWS_DEFAULT_CARD_VIEW" : True, "THUMBNAILS_SQLA_LISTENERS" : True, "DASHBOARD_NATIVE_FILTERS" : True, "OMNIBAR": True}
THUMBNAIL_SELENIUM_USER = "admin"
THUMBNAIL_CACHE_CONFIG: CacheConfig = {
    'CACHE_TYPE': 'redis',
    'CACHE_DEFAULT_TIMEOUT': 24*60*60,
    'CACHE_KEY_PREFIX': 'thumbnail_',
    'CACHE_NO_NULL_WARNING': True,
    'CACHE_REDIS_URL': 'redis://redis:6379/1'
}

Relevant error:
superset_1  | Triggering thumbnail compute (chart id: 70) ASYNC
superset_1  | INFO:superset.charts.api:Triggering thumbnail compute (chart id: 70) ASYNC
worker_1    | Processing url for thumbnail: 2d1d2b861263ff01562aa66ab5dcb0a5
worker_1    | [2021-03-05 15:28:31,412: INFO/MainProcess] Received task: cache_chart_thumbnail[f3045225-ef9e-4943-a920-eb8ab2b2c8da]
worker_1    | [2021-03-05 15:28:31,412: INFO/ForkPoolWorker-2] Processing url for thumbnail: 2d1d2b861263ff01562aa66ab5dcb0a5
worker_1    | Init selenium driver
superset_1  | <IP_ADDRESS> - - [05/Mar/2021:15:28:31 +0000] "GET /api/v1/saved_query/_info?q=(keys:!(permissions)) HTTP/1.1" 200 41 "http://<IP_ADDRESS>:8088/superset/welcome/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36"
worker_1    | [2021-03-05 15:28:31,413: INFO/ForkPoolWorker-2] Init selenium driver
worker_1    | Caching chart: http://<IP_ADDRESS>:8088/superset/slice/70/?standalone=true
worker_1    | [2021-03-05 15:28:31,414: INFO/ForkPoolWorker-3] Caching chart: http://<IP_ADDRESS>:8088/superset/slice/70/?standalone=true
worker_1    | SQLite Database support for metadata databases will be removed             in a future version of Superset.
worker_1    | [2021-03-05 15:28:31,415: WARNING/ForkPoolWorker-3] SQLite Database support for metadata databases will be removed             in a future version of Superset.
superset_1  | <IP_ADDRESS> - - [05/Mar/2021:15:28:31 +0000] "GET /api/v1/chart/71/thumbnail/443edfa02dc5e1b835e623b428fc5071/ HTTP/1.1" 202 23 "http://<IP_ADDRESS>:8088/superset/welcome/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36"
superset_1  | <IP_ADDRESS> - - [05/Mar/2021:15:28:31 +0000] "GET /api/v1/chart/70/thumbnail/cca95388580b3de0a239a38ea049d123/ HTTP/1.1" 202 23 "http://<IP_ADDRESS>:8088/superset/welcome/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36"
worker_1    | Processing url for thumbnail: 75fe7c153d0730ac397f90a0a7f9d5e4
worker_1    | [2021-03-05 15:28:31,424: INFO/ForkPoolWorker-3] Processing url for thumbnail: 75fe7c153d0730ac397f90a0a7f9d5e4
worker_1    | Init selenium driver
worker_1    | [2021-03-05 15:28:31,424: INFO/ForkPoolWorker-3] Init selenium driver
superset_1  | <IP_ADDRESS> - - [05/Mar/2021:15:28:31 +0000] "GET /api/v1/chart/favorite_status/?q=%21%2872%2C71%2C70%29 HTTP/1.1" 200 85 "http://<IP_ADDRESS>:8088/superset/welcome/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36"
worker_1    | Failed at generating thumbnail 'NoneType' object has no attribute 'set_window_size'
worker_1    | [2021-03-05 15:28:32,348: ERROR/ForkPoolWorker-8] Failed at generating thumbnail 'NoneType' object has no attribute 'set_window_size'
worker_1    | [2021-03-05 15:28:32,351: INFO/ForkPoolWorker-8] Task cache_dashboard_thumbnail[63c2f19e-fd9d-4ac6-86bd-f7f4d472e27b] succeeded in 1.1585000829945784s: None

I'm wondering if it's a permissions issue that the worker can't pull up the dashboard. Any guidance would be appreciated. I haven't seen or been able to create a dashboard with a conf.py and docker-compose combination that successfully produces thumbnails.

For folks using docker-compose, the solution is to set the web driver url to your superset container name, in this case WEBDRIVER_BASEURL = "http://superset_app:8088/"  in superset_config_docker.py


Size Match AssertionError in Numba parallelization

Reporting a bug

[x] I have tried using the latest released version of Numba (most recent is
visible in the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[x] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

I have a code in which I try to get the embeddings of a bag of tokens given the embeddings of tokens:
@nb.njit(nb.float32[:,:](nb.int32[:],nb.float32[:],nb.int32[:],nb.float32[:,:]), parallel=True)
def _compute_doc_embeddings2(indices, data, indptr, vocab_embeddings):
    m = len(indptr) - 1

    embs = np.zeros((m, vocab_embeddings.shape[1]), dtype=np.float32)
    for i in nb.prange(m):
        _indices = indices[indptr[i]: indptr[i + 1]]
        _data = data[indptr[i]: indptr[i + 1]].copy()  # copy as nb requires contiguous

        embs[i, :] = np.sum(vocab_embeddings[_indices] * _data.reshape((-1, 1)), axis=0)

    return embs

This works fine if I don't do it in parallel mode. But when trying to do with the above code(in parallel=True and using prange), like below:
i = np.array([0,1,2,3], dtype=np.int32)
d = np.array([0.5,0.5,0.5,0.5], dtype=np.float32)
p = np.array([0,2,4], dtype=np.int32)
ve = np.array([[0.4,-0.4,0.5], [-0.4,0.4,-0.5], [0.6,-0.6,0.7], [-0.6,0.6,-0.7]], dtype=np.float32)

embs = _compute_doc_embeddings2(i, d, p, ve)

I get this error:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-17-62efe4922c46> in <module>
      5
      6 # embs = np.zeros((2, 3), dtype=np.float32)
----> 7 embs = _compute_doc_embeddings2(i, d, p, ve)

AssertionError: Sizes of $116binary_subscr.32, $124call_method.36 do not match on <ipython-input-16-bb6227693479> (10)

I am not able to decipher the error. I would appreciate any help. TIA.

Thanks for the report. Think this is a bug, it's hitting a runtime assertion in the parallel transform. Reproducer:
from numba import njit, prange, float32, int32
import numpy as np

@njit(parallel=True)
def foo(indices, data, indptr, z):
    m = len(indptr) - 1

    embs = np.zeros((m, z.shape[1]), dtype=np.float32)
    for i in prange(m):
        _indices = indices[indptr[i]: indptr[i + 1]]
        _data = data[indptr[i]: indptr[i + 1]].copy()
        f = z[_indices]
        g = _data.reshape((-1, 1))
        print(f.shape, g.shape)
        x =  f * g

    return embs

i = np.array([0,1,2,3], dtype=np.int32)
d = np.array([0.5,0.5,0.5,0.5], dtype=np.float32)
p = np.array([0,2,4], dtype=np.int32)
ve = np.array([[0.4,-0.4,0.5],
               [-0.4,0.4,-0.5],
               [0.6,-0.6,0.7],
               [-0.6,0.6,-0.7]], dtype=np.float32)

foo(i, d, p, ve)

gives:
(2, 3) (2, 1)
(2, 3) (2, 1)
Traceback (most recent call last):
  File "issue6065.py", line 28, in <module>
    foo(i, d, p, ve)
AssertionError: Sizes of f, g do not match on issue6065.py (15)

cc @DrTodd13

This looks like a very similar problem to what I've been running into just now. Here's some minimal code that fails on the implicit array dimension casting during multiplication.
@njit(parallel=True) def nb_test_par(A, B):     return A * B
A = np.zeros(1)
B = np.zeros(2)
F = np.zeros((1,1))
G = np.zeros((1,2))
X = np.zeros((1,1,1))
Y = np.zeros((1,1,2))`
np_test_par works for some combinations of the test arrays, but fails for others with different error types:
nb_test_par(A,X) works as expected.
nb_test_par(A, B) raises AssertionError: Sizes of A, B do not match on _(snip)_.py (20)
nb_test_par(F, X) fails with a lengthy error:
`TypingError: No implementation of function Function() found for signature:
getitem(array(float64, 2d, C), UniTuple(uint64 x 3))
There are 22 candidate implementations:
(snip)
During: typing of intrinsic-call at F:\nb_par_test.py (20)`
Compiling the test function without parallel=True yields a function which works fine in all cases.

This looks like a very similar problem to what I've been running into just now. Here's some minimal code that fails on the implicit array dimension casting during multiplication.
@njit(parallel=True) def nb_test_par(A, B):     return A * B
A = np.zeros(1)
B = np.zeros(2)
F = np.zeros((1,1))
G = np.zeros((1,2))
X = np.zeros((1,1,1))
Y = np.zeros((1,1,2))`
np_test_par works for some combinations of the test arrays, but fails for others with different error types:
nb_test_par(A,X) works as expected.
nb_test_par(A, B) raises AssertionError: Sizes of A, B do not match on _(snip)_.py (20)
nb_test_par(F, X) fails with a lengthy error:
`TypingError: No implementation of function Function() found for signature:
getitem(array(float64, 2d, C), UniTuple(uint64 x 3))
There are 22 candidate implementations:
(snip)
During: typing of intrinsic-call at F:\nb_par_test.py (20)`
Compiling the test function without parallel=True yields a function which works fine in all cases.


SCP-3673: SCP-2997: versioned builtins. fix consByteString integer wrapping

This PR contains two patches:

to attach a PLC.Version to builtins, so that it can be interpreted in toBuiltinMeaning
fix consByteString by changing its type to Word8 -> ByteString -> ByteString and let the readKnown handle the type-conversion and failure on number wrapping.

 I do not see how it can be any slower

I suggest taking a look at the generated Core, maybe there's something obvious in there. If that's not the case, I'll take a look myself, since I know how Core is supposed to look for builtins.
For checking add
{-# OPTIONS_GHC -ddump-simpl -ddump-to-file -dsuppress-all -fforce-recomp -dumpdir /tmp/dumps #-}

to EvaluationContext.hs and check how one of the ToBuiltinMeaning instances looks like.


song stuck and not updating on news segments, etc

problem
when there's a news segment on the radio, an ad, a dj set or sometimes the dj forgets to put the songs into the db... the app will simply default to the last song that was played.
https://www.abc.net.au/triplej/live/doublej

pictured shows the dj is playing 'Classic Album' and not updating the songs so it's defaulting to the api's last song which is over 2 hours ago.
solution:
write a 'checker' that has a cutoff for how long one song can be active. compare to the last played time to the current time in that region (NSW), and if it's been stuck for more than 5 minutes or so then default the discord rich presence and cli to default values like "Listening to {station name}"

solved by swithcing to new api endpoints
plays/triplej/now.json?tz=Australia%2FSydney
plays/doublej/now.json?tz=Australia%2FSydney
plays/unearthed/now.json?tz=Australia%2FSydney
and if the "now" json response is empty then there is no song playing, defaults to a placeholder.
this is where we could implement a new api call for the segment but i cba for now.


0.1-0_i386.deb: Access violation saving a note on a fresh run

Version: tomboy-ng_0.1-0_i386.deb
I just tried the 32bit deb on debian testing. After closing the settings windows I created a blank note and added a bullet.
$ tomboy-ng --version
Peek !!!
Peek !!!
Peek !!!
TApplication.HandleException Access violation
  Stack trace:
  $0809E700
  $0820B5A0
  $08210E78
  $0821011E
  $08222525
  $08229CDF
  $08217E0E
  $0821B231
  $0820E586
  $0822AA3B
  $0820E33E
  $0820E863
  $0821B591
  $08209D9E
  $0810ADDF
  $080633B9
  $0813BEA3
Bold=FALSE Italics=FALSE Colour=FALSE 12
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:
  $0809E700
  $08079BA5
  $0820B929
  $0820A4D0
  $081AEAD7
  $08146FCB
  $B6EAA691
Bold=FALSE Italics=FALSE Colour=FALSE 12
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:
  $0809E700
  $08079BA5
  $0820B929
  $0820A793
  $0806C8A1
  $0806C8CC
  $08062FC2
  $0806958D
  $08065070
  $081BAEB8
  $081C44F6
  $B6F9CD08
Bold=FALSE Italics=FALSE Colour=FALSE 12
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:
  $0809E700
  $08079BA5
  $0820B929
  $0820A793
  $0806C8A1
  $0806C8CC
  $080A3C97
  $08062FC2
  $08069398
  $08064F06
  $0806E2E2
  $0806E067
  $0806C8A1
  $0806C8CC
  $08062FC2
  $0806958D
  $08065070
TApplication.HandleException: there was another exception during showing the first exception
  Stack trace:
  $B6FAF0EE

On the second run it did not happen but when the config dir is removed it s reproducible. With gdb:
Starting program: /usr/bin/tomboy-ng --version
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Peek !!!
Peek !!!
Peek !!!
Peek !!!

Program received signal SIGSEGV, Segmentation fault.
(gdb) bt
0x0809e700 in ?? ()
#0  0x0809e700 in  ()
#1  0x0820b5a0 in  ()
#2  0x08210e78 in  ()
#3  0x0821011e in  ()
#4  0x08222525 in  ()
#5  0x08229cdf in  ()
#6  0x082228c5 in  ()
#7  0x0822a91b in  ()
#8  0x0822585c in  ()
#9  0x082250dc in  ()
#10 0x08212e3f in  ()
#11 0x08212194 in  ()
#12 0x082130a3 in  ()
#13 0x080d9aef in  ()
#14 0x080d835f in  ()
#15 0x08139a58 in  ()
#16 0x0814450f in  ()
#17 0xb79723df in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#18 0xb77fed08 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#19 0xb7811fe6 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#20 0xb781a799 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#21 0xb781b225 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
#22 0xb7a935c4 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#23 0xb7970815 in gtk_propagate_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#24 0xb7970b4d in gtk_main_do_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
#25 0xb7f12589 in  () at /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
#26 0xb770bc20 in g_main_context_dispatch () at /lib/i386-linux-gnu/libglib-2.0.so.0
#27 0xb770be99 in  () at /lib/i386-linux-gnu/libglib-2.0.so.0
#28 0xb770bf44 in g_main_context_iteration () at /lib/i386-linux-gnu/libglib-2.0.so.0
#29 0x08082804 in  ()
#30 0x0807536a in  ()
#31 0x08076cd0 in  ()
#32 0x080770de in  ()
#33 0x0812e5c0 in  ()
#34 0x0807709e in  ()
#35 0x0805938d in  ()

(a package with debug symbols could help to get a more useful trace)

You have a working compiler dont you ?  Grab the source and build with debugging on. In the IDE, set Mode to Debug or use ProjectOptions->Debugging->"Display line numbers... -gl"
I have not been able to reproduce here, could you describe just what you do ?
Blank Note ?  Do you delete the existing Title and put the bullet point there ?  Any blank lines between ? How do you creat the bullet (type text, select and click Bullet) ?
Does the exception occur as you set the text to Bullet or when the note is saved ?

Another thought (I have not tried this). Does this happen if you close the settings window without actually setting a Notes directory ?   Its quite likely that would do something crazy....

I tried it several times and it is as the title sais:

remove settings dir/file
create a note
add text/bullet (leaving title intact)
wait for the access violation

(later I will fix the FPC issue to recompile from source but you won't
get useful traces from users without this option, just to remember for
the future)

Yes, I can confirm its because you have declined to set a Notes path but still opened a note. So many things depend on a valid path. Thats why the first thing tomboy-ng does when its opened is check that path, if its not valid, it pops up the setting box.
I guess I could close the app if the user insists on closing the setting box without setting a path.....
I cannot just let them continue because anything they do cannot be saved.
Or assume they want to use the default setting perhaps ?  I don't like writing to a user's disk without their consent....
D

OK, have intercepted calls to open a new note or view the search box. If we don't have a Notes path, show a message, do nothing else.  I cannot protect against someone removing the config file while the app is running.

Fixed in 92cac7c49a49acc6aa207fa8ac01be82fa19385b.
Usual users may not understand to first choose a directory and need to get a hint. In the future the default location should be used automatically. Now that tomboy-ng has it's own namespace there is virtually no chance to mess up .local/share/tomboy.


[8.x] Allow eloquent model type in be/actingAs

The problem is method accepts Authenticatable trait while the actual create factory's method returns Collection or Eloquent Model, which causes IDE throwing the warning of incompatible types:

This PR fixes the type consistency.

....I'm not sure this is the right solution. I'm a big fan of types and I get the error is annoying - but this doesn't seem like the fix to me. The method has a typehint that the docblock now contradicts.
This is something that is probably better fixed with annotated generics. I know the framework hasn't embraced that, so I'd be looking to Larastan for their stubs. They have a PR that, going by the comments, might be ready soon which should address this issue.
See: https://github.com/nunomaduro/larastan/pull/861
// cc @nunomaduro thoughts and feelings?

@timacdonald I agree with you. @taylorotwell Could you consider reverting this?


[Playground] Remove old deployment workflows

These workflows had been replaced by new CloudBuild triggers based ones.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

@rshamunov Can you please confirm that this is safe to merge?

wonfderful to remove code. Is this safe to merge?

@pabloem, It's safe to merge. CI migrated to Cloud Build


Minor README fixes and suggestions.

the required Moduls to add to the README :
pip install pywebview, beautifulsoup4, keyboard  ,lxml
and in the TEMPLATE Folder the Neutron Folder need to be added to it to make the example work.
thanks for your greate work.


Build fails due to changes in devtools package

The error occurs in the following chunk: https://github.com/NESCent/popgenInfo/blob/2bf7239c6367e2f80cb0147f3e332f4b83027709/develop/package_basics.Rmd#L180-L182
The error is the following:
Error in create(path) : could not find function "create"

Apparently something in devtools changed that requires fixing the chunk.
However, it may be worth considering to obsolete almost the whole article, and to link instead to the recently published rOpenSci package development handbook.
@zkamvar any thoughts here?

I would agree to label it as obsolete and just point to the rOpenSci book. I can make a PR to issue the death knell for that page and update the landing page if you'd like.

Yes please 👍

@zkamvar did you get around to changing anything? I don't see a new commit or PR. Or did you wave a magic wand? Magically the weekly build started working again: https://circleci.com/gh/NESCent/popgenInfo/700


:returning option for Repo.*_all functions doesn't support joined tables

The issue
:returning option for Repo.*_all functions accepts either true for the whole struct or a list of fields from the main schema/table in a query. It can't return values from joined tables, but this is supported in latest versions of Postgresql.
Environment

Elixir version: 1.4.2
Database and version: 9.6.2
Ecto version: 2.1.4
Database adapter and version: postgrex 0.13.2
Operating system: macOS

I guess the only way to support it consistently would be for the query struct to carry the returning information.

Can you please provide an example of such query that would use returning from other tables?

from o in "orders",
  join: u in "users", on: o.customer_id == u.id,
  where: o.id == ^id,
  returning: [created_timestamp: o.inserted_at, customer_phone: u.phone_number]

@ibarchenkov how are you using it? with update_all/delete_all? If so, how does your update_all looks like?

I provided the example above as a suggestion for extending from/2 functionality with :returning. Right now Ecto doesn't allow :returning in a query.
My update_all/3 looks like:
query = from o in "orders",
  join: u in "users", on: o.customer_id == u.id,
  where: o.id == ^order_id and u.id == ^user_id,
  update: [set: [price: ^price]],
Repo.update_all(query, [], returning: [:inserted_at])

The challenged here is what is going to be the syntax. returning is a regular data-structure outside of the from macro, so it doesn't have access to the bindings. Thoughts?

I suggest to delete returning from the options list and add it to the from macro, so the syntax will look like this https://github.com/elixir-ecto/ecto/issues/2037#issuecomment-296645488.

This is the top web result for returning that isn't stack overflow, so if anyone else ends up here looking for returning, the way to do it today (in 3.5.8) is with select in a from. See docs:
https://hexdocs.pm/ecto/3.5.8/Ecto.Query.html#select/3
from(City, select: [:id, :name], update: ...)

Will return a %City{} with the id and name field data, and all other fields nil.


Update to JupyterLab v4.2.3

New JupyterLab release v4.2.3 is available. Please review the lock file carefully..

Pull repository JSON


Windows builds in dart-internal are trying to download arm64 dart sdk

arm64 dart sdk can only be used from main, but because dart internal builds are not getting the branch as a property the dependency is not filtered out.
https://ci.chromium.org/p/dart-internal/builders/flutter/Windows Production Engine Drone/3053?

Fix: https://flutter-review.googlesource.com/c/recipes/+/44603


This does not tell me how to create a new PR with a specific set of hash codes for specific commits

The Visual Studio instructions tell me how to pick specific hash codes and move them directly into my local branch.
The browser instructions tell me how to pick an entire PR and create a new PR for another branch.
What I want is instructions on how to create a PR from a specific list of hash codes. Where are those instructions?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4c8197b8-6f6c-6887-503f-d215a7280973
Version Independent ID: 347d131d-b23c-5c5e-db31-1ebb9a82b881
Content: Copy changes to a branch with cherry-pick - Azure Repos
Content Source: docs/repos/git/cherry-pick.md
Product: devops
Technology: devops-code-git
GitHub Login: @vijayma
Microsoft Alias: vijayma

@SRM256 Thanks for your question. While we look into changes for the articles, consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow


php-inpost-api[v1.1.0, ..., v1.1.7] require php ^7.1 -> your php version (8.2.11) does not satisfy that requirement.

possible to fix this ?:
Problem 1
    - imper86/php-inpost-api[dev-master, v1.1.9] require imper86/php-http-cache-plugin ^2.0 -> satisfiable by imper86/php-http-cache-plugin[2.0.0].
    - imper86/php-inpost-api[v1.1.0, ..., v1.1.7] require php ^7.1 -> your php version (8.2.11) does not satisfy that requirement.
    - imper86/php-inpost-api v1.1.8 requires lcobucci/jwt ^4.1 -> found lcobucci/jwt[4.1.0, ..., 4.4.x-dev] but it conflicts with your root composer.json require (^5.0).
    - imper86/php-http-cache-plugin 2.0.0 requires psr/cache ^1.0 -> found psr/cache[1.0.0, 1.0.1] but the package is fixed to 3.0.0 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
    - Root composer.json requires imper86/php-inpost-api * -> satisfiable by imper86/php-inpost-api[dev-master, v1.1.0, ..., v1.1.9, 9999999-de

I think most important problems are:

lcobucci/jwt - you use ^5.0, my lib uses ^4.1
psr/cache ^1.0 - for some reason you have locked to ^3.0

I'm not sure how to help, but if you'll be able to fix this - I'd appreciate pull request :)


Notification View

Context
Providing the user with relevant and important notifications about activity within the app will be crucial for engaging and socializing the community.
User Stories
As a user, I want to get notified when someone follows me
As a user, I want to know when someone joins a city chapter
As a user, I want to know when someone nudged me for help
As a user, I want to know when someone posts in the Town Square (design in progress dependency)
Requirements
Data Requirements
Retrieve the following from Discord API:
-User Icon (unless user has created their own unique name -> take from internal database)
-User name (unless user has created their own unique name -> take from internal database)
Retrieve the following from our database:
-Join dates of city chapters
-Follow activity
-Help/Ask For Help activity
Relevant Links:
Notifications View (Full View + Bell View):  https://www.figma.com/file/ZEEkd0VqeQT1b97S60WMrL/Build_dApp?node-id=714%3A39226

[ ] #78


Revert the changes

Previous changes having some error so
reverting the changes.
Signed-off-by: subhamkrai<EMAIL_ADDRESS>
Description

This PR fixes #
Notes to reviewers:
Checklist

[] DCO signed.
[] Title of the PR starts with area name, e.g. meshery:, mesheryctl:, ui:.

fixes #800

Fix conflicts and also write the issue number you are making PR for.
@kushthedude   I'm not getting the form where the conflict is coming through I checked the commands that I added and it was working don't know why having problems in the building. I'll think of an alternative solution but if you can point the mistake or point of error it will be great help.

And adding issue number where? I have added that to my branch name.

Try to pull the master into your branch and you will know the conflicts.
I think your base branch is not in sync with master thats why the conflicts are arising and you are not able to see on local.


[SPARK-15929] Fix portability of DataFrameSuite path globbing tests

The DataFrameSuite regression tests for SPARK-13774 fail in my environment because they attempt to glob over all of /mnt and some of the subdirectories restrictive permissions which cause the test to fail.
This patch rewrites those tests to remove all environment-specific assumptions; the tests now create their own unique temporary paths for use in the tests.

Test build #60434 has started for PR 13649 at commit a466517.

/cc @liancheng for review (since you reviewed the original tests in #11775).

Test build #60434 has finished for PR 13649 at commit a466517.

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

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

Merged build finished. Test FAILed.

Wow, weird test failure:
Running Spark unit tests
========================================================================
[info] Running Spark tests using SBT with these arguments:  -Pyarn -Phadoop-2.3 -Phive-thriftserver -Phive -Dtest.exclude.tags=org.apache.spark.tags.ExtendedHiveTest,org.apache.spark.tags.ExtendedYarnTest hive-thriftserver/test mllib/test hive/test examples/test sql/test
Using /usr/java/jdk1.8.0_60 as default JAVA_HOME.
Note, this will be overridden by -java-home if it is set.
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
[info] Loading project definition from /home/jenkins/workspace/SparkPullRequestBuilder/project
[CodeBlob (0x00007fe7b0214e90)]
Framesize: 2
Runtime Stub (0x00007fe7b0214e90): handle_exception_from_callee Runtime1 stub
Could not load hsdis-amd64.so; library not loadable; PrintAssembly is disabled
[CodeBlob (0x00007fe7b0214e90)]
Framesize: 2
Runtime Stub (0x00007fe7b0214e90): handle_exception_from_callee Runtime1 stub
[thread<PHONE_NUMBER>80608 also had an error]#

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (sharedRuntime.cpp:834), pid=37507, tid=140631972611840
#  fatal error: exception happened outside interpreter, nmethods and vtable stubs at pc 0x00007fe7b0214f71
#
# JRE version: Java(TM) SE Runtime Environment (8.0_60-b27) (build 1.8.0_60-b27)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode linux-amd64 compressed oops)
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/jenkins/workspace/SparkPullRequestBuilder/hs_err_pid37507.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#
/home/jenkins/workspace/SparkPullRequestBuilder/build/sbt-launch-lib.bash: line 72: 37507 Aborted                 (core dumped) "$@"

Jenkins, retest this please.

Test build #60438 has started for PR 13649 at commit a466517.

LGTM pending Jenkins.

Test build #60438 has finished for PR 13649 at commit a466517.

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

Merged build finished. Test PASSed.

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

Merging to master and branch-2.0.


CMS 5 upgrade pain: $ThemeDir removed but no suitable replacement for variable filenames.

ViewableData::ThemeDir() has been deprecated and is removed in CMS 5.
In CMS 4, this method is available in templates as $ThemeDir. It is commonly used as a way to get resources (e.g. icons) where the filename is in a variable rather than hard-coded.
e.g.  where $Icon is some db field on a DataObject, allowing content authors to pick from a list of icons to use.
This isn't doable in CMS 5. The recommended suggestion is to use $ResourcePath or $ResourceURL, but these both require the full file name. This means in CMS 5 developers either have to:

hardcode the file name in the template (resulting in a ton of "if the value is this, use this; if the value is that, use that" which means both lots of duplicated code and the potential to forget to update the template when adding a new value to the list), or
use  which hardcodes the _resources dir name which is exactly what $ResourcePath and $ResourceURL are meant to avoid.

Recommendations

undeprecate and reimplement ThemeDir()
allow getting folders using ResourcePath and/or ResourceURL, not just files.

It might make sense to only allow this for ResourcePath?
This would mean developers would have something like
We'd probably want the path to always have a trailing slash

note that at least for ResourcePath this is for filesystem paths not URLs so the trailing slash config variable doesn't apply here.
Even if we do allow this for ResourceURL this might be a place where not respecting that config makes sense - this method is mostly used in templates, where we don't have the benefit of things like Controller::join_links() to handle that sort of thing for us.

Note
Another solution would be to allow passing variables into method calls from templates, and make those methods accept ...$args instead of a specific number of arguments. Developers could then use it like this:

and the arguments could be concatenated together in the ResourcePath method.
This is obviously a huge change to be making, especially with the RC imminent, so I'm not actually recommending we do this now. Just noting that it's a possible solution.

I actually wrote this for a recent SS4 project that had multiple front-end themes active at once (long story):
<?php

namespace App\View;

use SilverStripe\Core\Manifest\ModuleResourceLoader;
use SilverStripe\View\TemplateGlobalProvider;
use SilverStripe\View\ThemeResourceLoader;

class ThemeResourceHelper implements TemplateGlobalProvider
{
    public static function themeResourcePath(string $resource): ?string
    {
        return ThemeResourceLoader::inst()->findThemedResource($resource);
    }

    public static function themeResourceURL(string $resource): ?string
    {
        $path = static::themeResourcePath($resource);
        if (!$path) {
            return '';
        }

        return ModuleResourceLoader::singleton()->resolveURL($path);
    }

    public static function get_template_global_variables(): array
    {
        return [
            'themeResourcePath',
            'themeResourceURL'
        ];
    }
}

Usage example:

It works as you’d expect and uses the theme cascade (e.g. if icon.svg doesn’t exist in the first theme, it’ll look in the second, third etc).

I think you'll find something familiar in the framework PR @kinglozzer 😋
Thanks for that example

All PRs merged and all AC's met including the stretch goal.


Statuspage.io

Display simple status from an Atlassian Status Page (aka statuspage.io).
These are screenshots when the user configured site is https://status.atlassian.com/. The title "Atlassian" is the name of that statuspage -- it won't always say "Atlassian".

Wonderful idea, but I'm afraid we currently can't merge apps that call user-provided URLs. Since community apps run in our backend, we have to make sure HTTP calls hit predictable targets to make sure we're not inadvertently spamming anyone.
One option could be to predefine some popular/significant status pages in the code and make it available to the user as a Dropdown? Alternatively, if statuspage.io has some list of sites, then that could be used in a similar fashion.

That makes sense. Unfortunately, I don't know of a safe way to verify that a URL is an Atlassian-hosted status page with the tools on hand. They do host cheap/free statuspages on [whatever].statuspage.io, but nearly all businesses using it use their own domain.
Just thinking about ways of verifying ...

Verification of CNAME entry in DNS won't be reliable. Customers could point traffic through their own CDN or flatten DNS.
Verification of the SSL certificate won't even work -- they use Let's Encrypt and don't create a single certificate for each domain -- one of my statuspage has 40 domains included in the same certificate.
They don't supply reverse DNS entries (ptr records), so we can't do a reverse lookup on the server's IP (it just identifies as a generic AWS EC2 instance/endpoint).

I'm out of ideas. That's sad ... I had memories of a big glowing green box in a data center showing that everything was happy.

While I hope we'll be able to allow user provided URLs in the future, it'll take a while to get there as there are many competing priorities. The CNAME check would certainly do the job in this particular case, but ideally we'd find a more general solution to the problem.
But I'm thinking it might not be such a bad idea to have a predefined list of status pages to choose from. It'll certainly make the app a lot more accessible to non-technical users, while opening up for technical users to submit a PR to add a new status page to the list. It'd also provide some sense of discoverability to the app. For instance, here's what I found in a few minutes:
status.amplitude.com
status.atlassian.com
status.appsflyer.com
status.box.com
www.cloudflarestatus.com
status.datadoghq.com
discordstatus.com
status.fastly.com
status.grammarly.com
www.pintereststatus.com
www.redditstatus.com
status.sumsub.com
api.twitterstat.us
status.udemy.com
status.zoom.us

All appear to be on statuspage.io. I suspect few users would actively go look if Discord was on statuspage.io, but I bet quite a few would happily start tracking it if it was already in the list. WDYT?

we will watch for the commit to main and then add other services we know of (teamviewer, some of the large VoIP providers, etc)


Add coverage CI job containing full CKB VM test suite

This is adapted from #66 thanks to @u2's help!
I originally rejected the idea of adding coverage job in #66 but upon further consideration, that's a mistake, we should add coverage job in this repo since:

Cross-posting coverage report from another repository is very tricky to get right
While test suite repo contains a lot of useful and complete tests, the tests included in this repo is a good supplement for invalid cases
With CI job here, bugs in PRs can be detected earlier

Not if the user has been added to group docker
On Fri, Jun 7, 2019 at 6:48 PM Xuejie Xiao<EMAIL_ADDRESS>wrote:

@xxuejie commented on this pull request.
In .travis.yml
https://github.com/nervosnetwork/ckb-vm/pull/70#discussion_r291542622:

       - build-essential

       - autoconf

       - automake

       - autotools-dev

       - libmpc-dev

       - libmpfr-dev

       - libgmp-dev

       - gawk

       - libtool

       - patchutils

       - libexpat-dev

       - zlib1g-dev

 script:

   git clone --recursive https://github.com/nervosnetwork/ckb-vm-test-suite &&

   ln -snf .. ckb-vm-test-suite/ckb-vm &&

   sudo docker run --rm -v `pwd`:/code xxuejie/riscv-gnu-toolchain-rv64imac:xenial-20190606 cp -r /riscv /code/riscv &&

I believe docker requires sudo on Linux?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/nervosnetwork/ckb-vm/pull/70?email_source=notifications&email_token=AAAIXOBP3U76XZVYYMUO5O3PZI4H7A5CNFSM4HVT5EI2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB24V6UQ#discussion_r291542622,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAIXOEACESMGF4KIXR3MY3PZI4H7ANCNFSM4HVT5EIQ
.

Codecov Report

Merging #70 into develop will increase coverage by 10.13%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop      #70       +/-   ##
============================================
+ Coverage    82.92%   93.06%   +10.13%
============================================
  Files            3       24       +21
  Lines           41     3403     +3362
============================================
+ Hits            34     3167     +3133
- Misses           7      236      +229

Impacted Files	Coverage Δ
binary/src/interpreter32.rs
binary/src/asm64.rs
binary/src/interpreter64.rs
src/memory/mod.rs 96.66% <0%> (ø)
src/instructions/common.rs 100% <0%> (ø)
src/instructions/rvc.rs 89.18% <0%> (ø)
src/machine/mod.rs 96.29% <0%> (ø)
src/memory/sparse.rs 92.56% <0%> (ø)
tests/test_asm.rs 98.72% <0%> (ø)
src/instructions/register.rs 97.28% <0%> (ø)
... and 17 more
Continue to review full report at Codecov.

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

Should exclude test files.
--exclude-path=path     comma-separated paths to exclude from the coverage
                         report

Should exclude test files.
--exclude-path=path     comma-separated paths to exclude from the coverage
                         report

Already excluded.


Details
As a switch user (kube switch ) to manage my kubeconfigs it is better to pass the kubeconfig file as env variable once
switch cli is invoked, else if running one cluster the default will be in the .kube folder.'
We also mount the binary folder expected where arrkade will install them in order to persist them locally.
Done ?
I have implemented the dockerfile and tested it on my environement and you can look at the image on docker hub.

@alexellis would you be intrested ?

Hi @elyesbenamor I'm not sure that I see the value in complicating arkade.
Can you better explain why this is needed?

@alexellis it is only for local developer who wants to rely on containers and like myself have lots of clusters , once switched using kubeswitch, it is a better way to use an ephemeral container to deploy stuff using ark.

I don't want this for arkade, but if you sponsor me on a 15USD+ tier / mo I'll add it. If you don't want to support my work, you could maintain your own dockerfile triggered with cron every day?

🤷

/lock: won't fix


getting error pop ups - Unhandled Promise Rejection

Below are the instances where the error pop-up appears

Change of wifi connection or disconnect- Incase the user changes the wifi connection or disconnect and connect back, the error pop-up will appear.

When the app is log in, closed and reopen after 4 to 5 hrs, the error pop-up

When the app is open and log in but not in used for 15 mins

In all of the above instances, the error pop-up is required to be closed and then the app. can be used.

@IT-MikeS can you help me on this ?

found solution


Add Swift example to README.md

What do you mean with Swift example? This is a ruby gem?

See Enabling Push Notifications on iOS section in README. Currently it's written in Objective-C.

Ah okay I will create a Pull Request

Okay here is the pull request #136


loop from the end, as readDir returns sorted output

ReadDir() returns sorted output, and the next sequence number is going to be from last.
question: Is it better to return, this:
return filepath.Join(dir, "000001"), 1, nil

Signed-off-by: nilsocket<EMAIL_ADDRESS>

we have this one duplicated in db.go as well.
how about moving both to fileutil/fileutil.go and adding a test to check for correct behaviour.
For example using the LogSamples and WriteChunks to check that a new sequenced file is created.

sure.
You can use some notes we have in:
https://docs.google.com/document/d/1t5eSLlH36oK1Ex3PWwuc4R58kx4PC7Ago90TRR_7nmo
and maybe add more or suggest changes.
also look at:
https://github.com/prometheus/tsdb/tree/master/docs/format

Thanks for the doc, why isn't wal.md indexed in format/README.md.
I read the format.
Thanks.

just merged a PR to add it there :smile:

@nilsocket 	seems stale, feel free to reopen if you decide to continue working on this.


HSEARCH-3489 Improve the error message when the inverse side of an association cannot be found by Hibernate Search

https://hibernate.atlassian.net//browse/HSEARCH-3489

Pull Request Test Coverage Report for Build 1

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 88.879%

Totals

Change from base Build 167:
0.005%

Covered Lines:
16208

Relevant Lines:
18236

💛  - Coveralls


Call membarrier() after making JIT mappings executable on AArch64 Linux

This is the first part of a fix to issue #3310. Unfortunately, there are more calls than necessary to rsix::process::membarrier(rsix::process::MembarrierCommand::RegisterPrivateExpeditedSyncCore) (it is sufficient to call it once per process), but both cranelift_jit::JITModule and wasmtime_jit::CodeMemory are public interfaces, so my current approach is the best I have come up with that hides this AArch64 memory model detail from any crate users; I would appreciate any suggestions for improvements.

Oh wow this is tricky, which I suppose should be expected of anything caching related.
So to make sure I understand, the first step recommended by the manual is that the data cache is flushed out (since we just wrote functions into memory) and then all instruction caches are brought up to date with the IC IVAU instruction. Then there's also the requirement of running ISB on all cores to flush out the instruction pipelines because otherwise some instruction in the pipeline may no longer be correct. Is that right?
In any case it sounds like it definitely doesn't suffice to have data-race-free code here since that basically only guarantees data-cache coherency, not instruction-cache coherency. Otherwise if the mapping of JIT code is reused from some previous mapping then an icache may have the old mapping still cached.
Also to confirm, this PR is just the run-isb-on-all-cores piece, and the compiler-builtins bits will do the IC IVAU stuff?

@alexcrichton That sounds a bit like the problem #2890 is trying to solve - or is it something different?

When I run this program on an aarch64 machine the example output I get is:
mprotect with no touched pages 960ns
mprotect with touched pages 43.838609ms

According to perf most of the time is spent in __flush_icache_range in the kernel. Given that this takes so long it seems like mprotect is doing some sort of synchronization in the kernel, I just don't know what kind. Is that entirely unrelated to the synchronization happening here though with ISB and such?

@cfallin but in the example program I'm not calling membarrier, just mprotect, so does that mean that mprotect is doing the same thing?


Add nvim-typescript as an option for Vim 8

Although nvim-typescript is mainly focused for nvim usage it can be also used for Vim 8 according to its requierements

Thanks!


Revert "Alert Settings"

Reverts apache/skywalking-booster-ui#4 @heyanlong This should be discussed before added, as backend can't support this feature.

This feature appears in the prototype design, So I thought it was discussed.


Either.parseJSON should return JSON type instead of unknown

🐛 Bug report
Current Behavior
Either.parseJSON returns Either<E, unknown>, but we can refine the unknown type to something like AnyJson:
// Copied from https://github.com/Microsoft/TypeScript/issues/1897#issuecomment-338650717
export type AnyJson = boolean | number | string | null | JsonArray | JsonMap;
export type JsonMap = { [key: string]: AnyJson };
export type JsonArray = Array<AnyJson>;

Would you accept a PR for this?
Expected behavior
Reproducible example
Suggested solution(s)

Additional context

Your environment
Which versions of fp-ts are affected by this issue? Did this work in previous versions of fp-ts?

Software
Version(s)

fp-ts

TypeScript

Would you accept a PR for this?

👍


updated eval_beir.sh based on new scripts and arguments

Previous shell script for evaluation of beir is copy and paste of tevatron 1.0. It does not work because:

the scripts are changed in the main branch
the arguments names are changed too

Updated script works with the main branch script for evaluation as it is.
Current example usage of the updated script:
./eval_beir.sh --lora_name_path /retriever-mistral/checkpoint-7600 \
                    --dataset arguana \
                    --tokenizer mistralai/Mistral-7B-v0.1 \
                    --model_name_path mistralai/Mistral-7B-v0.1 \
                    --embedding_dir beir_embedding_arguana \
                    --query_prefix "Query: " \
                    --passage_prefix "Passage: "

thanks for the PR, will merge once with match the arguana score

It works! The scores match. Thanks for your suggestion! Let me also add normalize as an optional argument to the eval_beir.sh before merge.

Done! added normalize as optional argument and tested.
Should get this result
recall_100            	all	0.9936
ndcg_cut_10           	all	0.6204

for this command:
./eval_beir.sh      --dataset arguana \
                    --tokenizer intfloat/e5-mistral-7b-instruct \
                    --model_name_path intfloat/e5-mistral-7b-instruct \
                    --embedding_dir beir_embedding_arguana_e5_mistral3 \
                    --query_prefix "Instruct: Given a claim, find documents that refute the claim\nQuery:"\
                    --passage_prefix ""\
                    --normalize

Please feel free to merge now.

thank you for the pull request!


Enhancement: Use Scalar or RapiDoc as the root schema site

Summary
I'm not sure about everyone else, but every project I've worked on has either had elements or swagger as the root site, overriding the default redoc config.
I propose instead we use Scalar or RapiDoc as the root schema site, and add Litestar branding to it (which users can then override).
To me this would accomplish two this:

Either of these are nice looking
Advertisement (ish), or at least a nice looking default schema doc site.

Maybe we don't do the Litestar-branding-by-default, but changing the root site might be worth consideration.
Basic Example
No response
Drawbacks and Impact
No response
Unresolved questions
No response

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh Litestar dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

@JacobCoffee @peterschutt i may be biased but I think Scalar would be great for the default, check out the litestar theme we made :)

I think it would be pretty magical to have scalar + litestar theme be the default. we are super speedy on responses + bug fixes, so litestar x scalar support will be responsive and quick!
https://litestar.apidocumentation.com/
you can play around with it here

@marclave this is fantastic! It looks really good ❤


uint instead of u32 for sizes?

uint is basically size_t for rust, so wouldn’t it make sense to use it for x, y, width, height, …?
this would change GenericImage to
impl GenericImage<Rgba<u8>> for DynamicImage
    fn dimensions(&self) -> (uint, uint)
    fn bounds(&self) -> (uint, uint, uint, uint)
    fn get_pixel(&self, x: uint, y: uint) -> Rgba<u8>
    fn put_pixel(&mut self, x: uint, y: uint, pixel: Rgba<u8>)
    fn blend_pixel(&mut self, x: uint, y: uint, pixel: Rgba<u8>)
    fn get_pixel_mut(&mut self, _: uint, _: uint) -> &mut Rgba<u8>
    fn pixels(&self) -> Pixels<Self>
    fn pixels_mut(&mut self) -> MutPixels<Self>

uint should just be replaced by u32 for data. math and the likes. not dimensions.

I think this is worse, not better.  The reasonable range of sizes for an image has nothing to do with the pointer size on a particular machine.

No, using uint for other things than pointer addresses is rarely a good idea. We might consider using u64 for that, but our library is not prepared to be used for excessively big images that would never fit into the RAM.

AFAIK PNG limits width and height to 32-bit so anything larger than that wouldn't be encodable as a PNG.
Even if other formats didn't have similar restrictions (which I think they do), it would be a bad idea to support image sized not supported by your primary lossless file format.

my pain comes from the fact that japaric/linalg.rs uses uints, leading to this kind of code:
let (w, h) = img.dimensions();
let dims = (
	w.to_uint().unwrap(),
	h.to_uint().unwrap(),
);

Mat::from_fn(dims, |(x, y)| rgba_to_labt(img.get_pixel(x as u32, y as u32))).unwrap()

i was under the impression that we shouldn’t use pointer-sized datatypes for data, as in “things we calculate with”, but use u32 and friends for that, unless we need 64 bits of size/precision (because compilers make 32 bit math faster than 64 bit processor word sized math).
which still makes uint the type of choice for “references that you don’t care about the size of”

Well, we care about the size because it is defined as u32 in all image format we support so far. Furthermore the dimensions of an image are data.

i view coordinates as references. So you think the API of japaric/linalg should be changed to u32s?

No. That represents arbitrary vectors/matrices, not images that have a well-defined range of values for their coordinates.

images that have a well-defined range of values for their coordinates

i doubt that dense matrices with a dimension of more than 2^32 are more practical than pictures with this dimension

It's not a problem to release a 2.0 version with support for larger dimensions, if needed.


Deleted Azkaban config files from repo (#805)

Currently, the deleted files are being written into Azkaban jars. These
do not belong here, and can cause hidden configurations from being used.
Consequently, azkaban-solo-server will not work as it relies on these
files, so solo-server was given its own conf directory.
Also, h2 was added as a runtime dependency for solo-server, which
happened to be missing for the past little while.

Due to some weird mess up with git, I am continuing the work from #806 here.

@KyleFung
I think you are accidentally including your older PR# in your new PR. Example 805. This might confuse people. You should be able to edit / remove older PR numbers from your requests.


Fail to run example from tutorial with latest fluids module

Hi,
just tried the following example from the tutorial:
from ht import *

U = 275 # W/m^2/K
A = 10.82 # m^2
Cp_oil = 1900 # J/kg/K
Cp_steam = 1860 # J/kg/K
m_steam = 5.2 # kg/s
m_oil = 0.725 # kg/s
Thi = 130 # °C
Tci = 15 # °C
Cmin = calc_Cmin(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
Cmax = calc_Cmax(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
Cr = calc_Cr(mh=m_steam, mc=m_oil, Cph=Cp_steam, Cpc=Cp_oil)
NTU = NTU_from_UA(UA=U*A, Cmin=Cmin)
eff = effectiveness_from_NTU(NTU=NTU, Cr=Cr, subtype='crossflow, mixed Cmax')
Q = eff*Cmin*(Thi - Tci)
Tco = Tci + Q/(m_oil*Cp_oil)
Tho = Thi - Q/(m_steam*Cp_steam)

print(Tco,Tho)

I end up with an error:
Traceback (most recent call last):
  File "test_ht.py", line 1, in <module>
    from ht import *
  File "/usr/lib/python3/dist-packages/ht/__init__.py", line 25, in <module>
    from . import hx
  File "/usr/lib/python3/dist-packages/ht/hx.py", line 28, in <module>
    from fluids.numerics import horner, newton, ridder, quad, secant, quad, bisect
ImportError: cannot import name 'quad' from 'fluids.numerics' (/usr/lib/python3/dist-packages/fluids/numerics/__init__.py)

Hi,
It looks like a bug due to changes in fluids which did not have the corresponding changes released in ht. I released a new version and the continuous integration says the tests are passing.
Can you install the latest version of ht, 0.1.57, with "pip install ht==0.1.57" and see if the error persists?
Sincerely,
Caleb

Indeed it turns out to be a fluid version pb.
There is a python-fluids package in Debian/Ubunut but it is 0.1.72 version.
Upgrading the package to fluids 0.1.86 fix the issue.
You can close the issue
Best
C


Support http.proxyHost,proxyPort for repository connections

Mill is not honouring the http.proxyPort and proxyHost configuration.
Looking at the mill command, it runs java with JAVA_OPTS so I tested with ..
JAVA_OPTS="-Dhttp.proxyPort=8000 -Dhttp.proxyHost=server" mill ...

But mill doesn't use the proxy. How should/could this be configured, I did not find anything in the documentation.

Have you tried mill -Dhttp.proxyPort=8000 -Dhttp.proxyHost=server?

@rbuckland yes - tried that but it did not seem to honour it.

This is very strange. What version of mill are you using? Also, to be crystal clear here, you want to use the proxy for downloading the dependencies (via coursier), right?
Oh, you should also try to set -Dhttps.proxyPort (notice the 's'), as coursier by default uses secure http connections.

The option -Dhttps.proxyPort don't exist, even in last version of Mill.
$ mill -Dhttps.proxyPort
Compiling (synthetic)/ammonite/predef/sourceBridge.sc
Compiling (synthetic)/ammonite/predef/frontEndBridge.sc
No build file found, you should create build.sc to do something useful
Cannot resolve -Dhttps. Try `mill resolve _` to see what's available.
$ mill -help
Mill Build Tool
usage: mill [mill-options] [target [target-options]]

  -c, --code           Pass in code to be run immediately in the REPL
  -h, --home           The home directory of the REPL; where it looks for config and caches
  -p, --predef         Lets you load your predef from a custom location, rather than the
                       default location in your Ammonite home
  --no-default-predef  Disable the default predef and run Ammonite with the minimal predef
                       possible
  -s, --silent         Make ivy logs go silent instead of printing though failures will
                       still throw exception
  --help               Print this message
  --color              Enable or disable colored output; by default colors are en
$ mill -version
Mill Build Tool version 0.6.1
Java version: 13, vendor: Oracle Corporation, runtime: /opt/jdk-13
Default locale: en_US, platform encoding: UTF-8
OS name: "Linux", version: 4.15.0-99-generic, arch: amd64

Oh sorry, my fault. Please try mill -D https.proxyPort=8000 -D proxyHost=server. Notice the sprace between the option -D and its argument.

The command is correct, but not completely. After many attempts, I find the solution
^C(base) 2011 $ mill -i -D "http.proxyPort=8000"
Loading...
Compiling /home/zhenlei/shell_scala/(console)
(console):11: not found: value http
  systemProperties = Map(http.proxyPort -> 8000)
                         ^
Compilation Failed
(base) 2012 $ mill -i -D \"http.proxyPort\"=8000
Loading...
Compiling /home/zhenlei/shell_scala/(console)
(console):11: type mismatch;
 found   : Int(8000)
 required: String
 Note: implicit value replApplyHandler is not applicable here because it comes after the application point and it lacks an explicit result type
  systemProperties = Map("http.proxyPort" -> 8000)
                                             ^
Compilation Failed
(base) 2013 $ mill -i -D \"http.proxyPort\"=\"8000\"
Loading...
Compiling /home/zhenlei/shell_scala/(console)
@

That is very surprising to me.

Ah, looks like a bug, as the internal map's toString representation is used to generate some Scala code. https://github.com/lihaoyi/mill/blob/c9f8badca307d2c271c5fafa677de648193ba3d7/main/src/MillMain.scala#L202