Extension specific proxy interfaces, take 2

#54 hadn't been reviewed properly yet, so I reopen it here

Thank you and sorry again!
So my question here is: How would you actually use this to partially implement an extension differently than you already can with helpers? The resulting usage pattern isn't clear to me.

The last 2 commits on https://github.com/Trinitou/clap-wrapper/tree/clap-helpers-plugin-proxy-with-extension-proxies show the use case I currently see. With introducing clap-helpers in clap-wrapper I first had to pass a PluginProxy reference instead of clap_plugin + clap_<extension> pointer. So this would allow to restrict access inside the setup... methods to only the extension-specific methods.
That said, the old clap_plugin + clap_<extension> way would not restrict access at all as one could call plugin->get_extension anyways. So that would be an advantage of using the extension proxies over the old way.
(Of course its yet to be decided whether it's a good idea at all to use clap-helpers in clap-wrapper at all.)

Ahh I see. You mean `clap_helper::plugin::guiCreate' can call 'latencyChanged' on self without a reference to the associated extension because the clap helper linearizes all the extensions onto a single function list? And you also can't pass a * to something which is just gui + clap_plugin_t from helpers since that object is down inside the innards of the class.
Is that right?
If so: Got it - so let me read the diff this weekend with that goal in mind. Thanks for the explanation!

Ahh I see. You mean `clap_helper::plugin::guiCreate' can call 'latencyChanged' on self without a reference to the associated extension because the clap helper linearizes all the extensions onto a single function list?

This example is a bit unclear to me. If you mean it can call self._host.latencyChanged() (because clap::helpers::Plugin holds the clap::helpers::HostProxy _host instance itself). Then yes (although it would be a bad idea).
(but this example is actually a bit unfortunate IMO. When doing clap::helpers::Host I avoided that it holds a clap::helpers::PluginProxy instance by default. So a host developer can derive from clap::helpers::Host but has the freedom to still don't use the clap::helpers::PluginProxy. For clap::helpers::Plugin there probably is no way back because people are relying on it to handle the clap::helpers::HostProxy - but that's a bit off-topic)

And you also can't pass a * to something which is just gui + clap_plugin_t from helpers since that object is down inside the innards of the class.

Yes, that describes it very well.

Yeah I'll do a review now with that in mind but want @abique to look for sure.

Hi,
I've just taken a look at the change.
What's the benefit? Why would you do that?
Also a C++ concern, virtual interface either need a protected destructor or a virtual one.
Cheers,
Alex

Hi,
I've just taken a look at the change. What's the benefit? Why would you do that?
Also a C++ concern, virtual interface either need a protected destructor or a virtual one.
Cheers, Alex

Hey, I wrote something about those points already in other comments above (virtual destructors, and the use case I had in mind can be solved better without these base classes)
I'll close the request.


path-of-building.data: 2.45.0 -> 2.46.0

Description of changes
Changelog:  https://github.com/PathOfBuildingCommunity/PathOfBuilding/releases/tag/v2.46.0
Diff: https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.45.0...v2.46.0

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

I've been holding off on this due to the very questionable data source used for the popular builds feature, see https://www.reddit.com/r/pathofexile/comments/1ec10fo/path_of_building_has_been_hijacked_by_a_forprofit/

But I guess league start is today so let's get this in.


[BUG] 'unavailable_shards_exception'

Describe the bug
A clear and concise description of what the bug is.
When I was trying to index data, it was taking a long time (minutes) for only a couple of documents. Previously it had taken seconds. When a response was returned it had the following errors:
{'errors': True,
 'items': [{'_id': '0734ac47-5337-434f-8a20-e0e157e78e2b',
   'status': 503,
   'error': {'type': 'unavailable_shards_exception',
    'reason': '[my-multimodal-index][0] primary shard is not active Timeout: [1m], request: [BulkShardRequest [[my-multimodal-index][0]] containing [3] requests]'}},

To Reproduce
Steps to reproduce the behavior:

Follow the instructions for running the simple http server to allow reading images (https://marqo.pages.dev/advanced_usage/)
Index some data with an image, e.g.

{'jpg_http': 'http://host.docker.internal:8222/dataset/iconic-images-and-descriptions/Fruit/Apple/Golden-Delicious/Golden-Delicious_Iconic.jpg',
  'txt_all': 'Golden Delicious has a white juicy pulp and a greenish yellow '
             'shell. The taste is mellow and sweet, making Golden Delicious '
             'suitable for desserts.\n'},

Expected behavior
The image would be indexed in < 1 second without an error
Desktop (please complete the following information):

OS: Ubuntu 20.04

Additional context

So after some investigation, it looks like it could be related to disk space https://discuss.elastic.co/t/unavailable-shards-exception-reason-filebeat-primary-shard-is-not-active/99526.
I removed some old images and it worked as expected - no errors for indexing. Below is the docker command (note there are probably other ways to achieve freeing disk space)
docker image prune -a


zig pseudo-iterator for unrolling a list with consistent types

for example, taking a list of binaries and turning it into a [][]u8

not for now.


Requirement of vcpkg integrate install for MSBuild projects using manifests is unacceptable

IMNSHO a fundamental requirement for a project is to know exactly what external libraries are used for a project.
Manifests look like a great way to achieve that goal, but...
The instructions described in:
https://devblogs.microsoft.com/cppblog/vcpkg-accelerate-your-team-development-environment-with-binary-caching-and-manifests/
describe using "vcpkg integrate install" to use manifests.  Unfortunately that makes all packages available to projects that are not using manifests, which could lead to the unintentional use of libraries that have a license that is not compatible with the other projects.

If you are using CMake, running vcpkg integrate install is not required.
You can always manually pass -DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake to your CMake invocation.


bug: google-gke-metadata-endpoints-disabled check resolution is incorrect

Describe the bug

The suggested resolution for the metadata-endpoints-disabled check does not appear to be valid Terraform code for a google_container_cluster.
To Reproduce
Steps to reproduce the behavior:

Starting with a simple google_container_cluster

resource "google_container_cluster" "main" {
  name = "test"
}

which successfully validates:
❯ terraform validate
Success! The configuration is valid.

Add the suggested resolution

resource "google_container_cluster" "main" {
  name = "test"

  metadata {
    disable-legacy-endpoints = true
  }
}

which is no longer valid:
❯ terraform validate
╷
│ Error: Unsupported block type
│
│   on main.tf line 4, in resource "google_container_cluster" "main":
│    4:   metadata {
│
│ Blocks of type "metadata" are not expected here.

Expected behavior
The expected behaviour is for the suggested resolution to fix the tfsec warning and be valid Terraform code.
Screenshots/Output

System Info

tfsec version: v1.15.2
terraform version: v1.1.7
OS: Ubuntu 20.04

Example Code

resource "google_container_cluster" "main" {
  name = "test"

  metadata {
    disable-legacy-endpoints = true
  }
}

Additional context

It appears as though the metadata field needs to be specified inside the node_config block, but in this case the tfsec check continues to fail.

Hey @mnorbury-form3 can you confirm the version of the provider you're using - checking the latest docs for google_container_cluster it would appear that metadata is valid and does accept disable-legacy-endpoints
https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/container_cluster#metadata

ahhh, hang on - I see yes - its node_config -> metadata
Eitherway, can you confirm the provider version so I can properly confirm this is resolved


Compiling the wrong version

You are compiling the wrong version of the kernel module on development branch. Please update the SRC_REV to AUTOREV for your development branch in order to have always the latest version of the kernel module compiled.

I have changed SRC_REV to AUTOREV in the recipe.
ID: 9a7be56b4be036ac86780c8132f5302fc70fbc97


Huge memory usage on hosts with 1TB RAM

System information
We use keras and TF for our models:
Centos7
Python 3.6.1
Keras==2.2.4
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0
tensorboard==1.12.2
tensorflow==1.12.0
tensorflow-estimator==1.13.0
Threre is no GPU on our servers.
Describe the current behavior
Our script loads trained model from files (json + h5) and predict some useful parameter.
When we run script on small server with 8GB RAM and measure memory after script load model we see it take 160Mb commited memory 1,5GB  virtual size.
When we run script on large production server with 1TB RAM and measure memory after script load exactly same model we see it take 220Mb commited memory 14GB  virtual size.
Describe the expected behavior
There are some limitation from our DEVOPS team and our models must take not more 1GB commited and not more 2GB virtual size. So we would like to have same memory fingerprint on any server. If there is any way setup TF to use fixed memory size on any server?

When we run script on large production server with 1TB RAM and measure memory after script load exactly same model we see it take 220Mb commited memory 14GB virtual size.

@a-a-davydov,
Could you please check if you are facing the same issue with TF v2.2 or TF v1.15? Thanks!

Hello,
I'm sorry, I can't setup new software on large server. It is require to get some agreements and plan admin team hours. It cat take some weeks, I will inform you if we do it and test fresh TF behaviour on large server.
Now we add following workaround in our code:
def init_keras_tf():
        from keras.backend.tensorflow_backend import set_session
        import tensorflow as tf
        config = tf.ConfigProto()  # create TF configuration
        config.gpu_options.allow_growth = True  # Disable memory pre allocation
        sess = tf.Session(config=config)
        set_session(sess)  # set this TensorFlow session as the default session for Keras

As we see, gpu_options.allow_growth works well and for CPU RAM and we get same memory fingerprint on any server

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.


Support multiple of same target detail for each ban

Bans currently support multiple types of target details, like IP address and user id, but only one of each type. Bans should support an indefinite number of each type.
The best way to do this is probably to split bans into a bunch of tables: server_ban, server_ban_target_user_id, server_ban_target_address, etc.
Hit logs need to account for the fact that the target might be unbanned without the entire ban being unbanned, so they probably need to be changed to reference a ban target rather than a ban.
Use cases/goals

Alternate accounts can be banned by adding that account's user id to to the existing list of user ids banned by the ban
Multiple IP addresses available to a player can be added to the same ban
The entire ban group can be pardoned all at once
Individual details can be removed from the ban
Admins can tell which admin added or removed individual ban targets from the ban and when they were added or removed
Each target can be specified to be "sticky" to any combination of other targets

"Sticky" targets
It should be possible to do something like make any IP that hits the ban because of a GUID match be automatically added to the ban as a new target, and this should be possible without causing every ban target to behave in this way. It should also be possible to specify the "stickiness" of ban targets added through the sticky target, and to specify defaults.
For example, a default configuration may be that any ban hit automatically adds all untargeted parts of the hit to the ban as targets which will also all automatically do the same.
As another example, an admin may place a ban where only the GUID target is sticky, it only adds new IPs, and those IP targets themselves only add new GUIDs. GUIDs and IPs here should be replaceable with any ban target.
DB structure wise, I think the way to format this information would be:

Every target has a list of target types that it will add a target for if hit ("sticky targets")
Every target has a list of target types that it will make target types on any new targets it makes ("sticky settings"?)
To prevent having an infinite list of sticky settings, when a target adds a new target, that new target has the creating target's sticky settings used for both its sticky targets and its sticky settings

What about if someone joins who has a guid on one ban, and an ip on a different ban?


update babel-plugin-debug-macros to 0.2.0-beta.6

Mentioned here https://github.com/chadhietala/babel-plugin-debug-macros/pull/69#issuecomment-403491412

CI passes (which is great!), but emits a bunch of warnings to the console like this:
babel-plugin-debug-macros configuration API has changed, please update your configuration

To fix those warnings we need to tweak this section:
https://github.com/babel/ember-cli-babel/blob/8d8c5919f123073289ed31ac567e4dba8f8abddf/index.js#L246-L260
You can compare the "legacy config" test with this test in babel-plugin-debug-macros for an example.
I think we need something like:
let options = {
  externalizeHelpers: {
    global: "Ember"
  },
  debugTools: {
    isDebug: !isProduction,
    source: "@ember/debug",
    assertPredicateIndex: 1
  },
  flags: [
    {
      source: "@glimmer/env",
      flags: { DEBUG: !isProduction, CI: !!process.env.CI }
    }
  ]
};


I removed the use of insert_inventory even though I don't know what it is

# if blob.get("inventory") is not None:
#     insert_inventory(blob['slug'], blob['inventory'])

The code for insert_inventory is still there.

This was to do with getting deck details via the resource_uri
We're currently doing it with the decklist export instead, so that code isn't required.

Removed in 6eb3c04.


feat: create a wallet for new signed up clients

Is your feature request related to a problem? Please describe.
nO


More bolt project validations

Some more checks we should perform

peerDeps and devDeps are the same version range (I think this will be a requirement for internal deps only?)
internal deps can only have caret, tilde and pinned version ranges (but can be anything that semver.satisifies the current version)

The fear I have going down this route is that it's going to get increasingly difficult to explain why certain version ranges are allowed and others are not

Not sure what you mean @thejameskyle ? Are you referring to the first point? I think that ones still up for discussion.
The second is just a product of requirements though and is already implemented, this would just be moving those checks from getDependencyGraph into validateProject.


[STORM-1268] port builtin-metrics to java

Minor comments. Looks good otherwise

@revans2 could you take a look? Since porting task.clj depends on this, I'd like this to be merged as soon as possible and since stats.clj is done, builtin-metrics is much simpler.

ping @revans2 , could you take time to have a look? this PR blocks task.clj.

It looks good to me I am +1, but I would like to see the one minor naming comment addressed.

nodePort2Socket can be renamed to nodePortToSocket.

thanks, addressed

@unsleepy22 can you squash the commits?

@abhishekagarwal87 done~

Still +1


removed the error catch for tag code

The test tag function had a stopifnot call for an unnecessary tag code.  I removed the stopifnot function call.

I included this update to one of the commits in the develop branch, which was then merged into the main branch, making this pull request redundant.


Update Demo Page to reflect Figma.

WARNING: The ladders are fixed size, and the margins are fixed right now, so if you do switch screen size there will be issues with the margining.

Completed the Demo Page
Summary
Closes #302

fixed some styling on several components

Demo.scss, Hintbox.scss, ShelfAddress.scss

Screenshots

There is still more to do here though. I will be ticketing the rest of the changes needed, this ticket was honestly pretty important to setting up finishing this page.


API 2.0 Switchover

Progress on Switching over to API 2.0 API:

[x] add-key
[x] authorize
[x] create
[x] destroy
[x] destroy-image
[x] droplets
[x] halt
[x] help
[x] images
[x] info
[x] info-image
[x] keys
[x] password-reset
[x] rebuild
[x] regions
[x] resize
[x] restart
[x] sizes
[x] snapshot
[x] ssh
[x] start
[x] verify
[x] version
[x] wait

Everything seems to work from my testing, now it's just a matter of getting all the tests ported over.

I'm no Ruby pro, but I tried this to try out the progress so far and I get an error. Thoughts?:
$ gem build tugboat.gemspec
$ sudo gem install tugboat-2.0.0.pre1.gem
$ tugboat
Error: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in require': cannot load such file -- tugboat (LoadError) 	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in rescue in require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:144:in require' 	from /Library/Ruby/Gems/2.0.0/gems/tugboat-1.0.0/bin/tugboat:8:in <top (required)>'
from /usr/bin/tugboat:23:in load' 	from /usr/bin/tugboat:23:in '

"This documentation is for version 1 of the DigitalOcean API. It has been deprecated and will be shutdown on Monday, November 9, 2015." Yikes, deadline coming up fast! :scream:

yeap, 1 month left...

This is great progress. Is there an easy way to try this out for a non-Rubyist? I run this all in a docker container and currently run "gem install tugboat", but is there a replacement command which would install this branch instead?
Created a https://www.bountysource.com/issues/8836949-api-2-0-switchover for your efforts so far.

@FredrikWendt I too am ruby-less...
https://github.com/pearkes/tugboat/blob/master/CONTRIBUTING.md explains a lot about what you are asking.
You're going to wind up doing something similar to the following on a linux command line:
$ sudo apt-get install bundler git
$ cd ~/
$ git clone https://github.com/pearkes/tugboat.git
$ cd tugboat
$ git checkout api2_changes
$ bundle
$ bundle exec rake install #this failed for me but led me to
$ sudo gem install ~/tugboat/pkg/tugboat-2.0.0.pre3.gem
i was able to tugboat authorize and create,  tugboat ssh made an ugly fail when i tried to ssh without an id_rsa
but I feel set that I can make the switch on nov 9 without too much pain.

First of all, thank you for your service to the community :smile: .
Do we need to swarm this and get it working with V2?  Is it just tests that we're waiting on for a release?

Hi @freedomben, yeah it's just a matter of getting all the tests moved over to the new job fixtures, cleaning up the commits then doing an official 2.0.0 release. I should have it done before end of October, I've been doing it on and off over the last year, but the deadline has lit a fire and I'm cranking out the last bits of test code. If I don't get the tests finished, I'll release it with pending tests and add a caveat to the post install just in case. Weve had a bunch of people testing the alpha release and most of the commands seem OK 😊

PR here: https://github.com/pearkes/tugboat/pull/178
Only 44 failing specs to go! :smile:

Clean PR here: https://github.com/pearkes/tugboat/pull/180
Just need to figure out why the specs fail peridocially on 2.0.0, then merge soon! :+1:

Fixed by #183


How are Chinese characters sorted?

What sort of sequence is the output of the next output?

Android  getAll  api

the api makes no guarantees of order (same as a database) if you need order you should sort the records in javascript after fetching from the operating system.

@morenoh149  thanks


SwiftUI -> Animations: Transaction

Doc: https://developer.apple.com/documentation/swiftui/transaction

According to @carson-katri we will not support this one


IPv6 addresses

I'm able to http -h <IP_ADDRESS> and get a valid response, but using http -h 2607:f8b0:400a:801::100e produces the following for me:
http: error: LocationParseError: Failed to parse: Failed to parse: 2607:f8b0:400a:801::100e

It would seem that httpie doesn't support direct IPv6 address input as http -h ipv6.google.com works fine.

@jkbrzt this should be close-able now.

@sigmavirus24 Nope, the issue still exists in HTTPie v2.0.0:
$ http 2606:4700::6812:748

http: error: InvalidURL: Failed to parse: http://2606:4700::6812:748

@faheel the Requests bug was resolved, it seems there's some other bug is at play the URL constructed. The correct URL is http://[2606:4700::6812:748]

@sigmavirus24 Thanks! I didn't know that's how IPv6 addresses need to be written in URLs.

The request bug is fixed and this works now 🎉


Use double splat for Ruby >= 3.0

Overview
Kafka::Consumer#each_message takes keyword arguments. In Ruby >= 3.0, prepending it with a method that takes only positional arguments causes an ArgumentError when calling super.
Reviewer Checklist

[ ] Perform code review
[ ] Add performance label
[ ] Perform appropriate level of performance testing
[ ] Confirm all checks passed
[ ] Add version label prior to acceptance

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@tannalynn any ideas on when this will land in a patch release? We recently ran into this when updating to 9.14.0. Thanks!

@gfmurphy Thanks for checking in on this! We plan on releasing this fix later this week, as 9.15.0. Hopefully that helps!


create user endpoint in python

Current dependencies on/for this PR:

main

PR #48

PR #49

PR #50   👈

This comment was auto-generated by Graphite.


Tests

Greatly improve testing.

Also perform various cleanup and refactoring tasks, as well as making a few minor error handling improvements.


feat(qwik-core): useStylesWithScope that introduces :scope pseudo class to scope styles to the component manually.

Overview

What is it?

[x] Feature / enhancement
[ ] Bug
[ ] Docs / tests / types / typos

Description
The useStyles$ can style entire page but it couldn't scope to components.
The useStylesScoped$ can style scoped to the component but it couldn't style its child components.
So I added one more thing, the useStyleWithScope$ that introduces the :scope pseudo class to scope styles manually.
By using this function, you can use :scope pseudo class to be replaced with .${scopeId}.
:scope {
  background: red
}

The above css is to be like this:
.⭐5yhoz-0 {
  background: red
}

Use cases and why
While the useStylesScoped$ put the scopeId to every rules in the CSS, this function can select rules to put it.
So you can scope styles to the component and its children such as <Link> too.
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Ah something went wrong in my git work. I will retry.


Introduce inThisBuild (+friends) varargs overloads

I thought there was an issue for this (I thought by @fommil). but I can't find it.


Migration not required but executed and migration job fails

Bug Report
What happened:
Migration job started and failed with
Error: while waiting for ready Service Catalog CRDs: CRDs are not available
No more error details.
What you expected to happen:
That is our first time to deploy service catalog and we do not expect to execute a migration job at all. There is a check if the catalog deployment already exists, and if exists, then the migration is executed. That logic maybe is not well working, since the deployment exists of course, but it is the new deployment not the old one.
Is it possible to force-discard migration? I mean, i do not want to execute it at all. I just want to deploy the catalog.
How to reproduce it (as minimally and precisely as possible):
I just deployed the HELM chart

helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
kubectl create namespace catalog
helm install catalog svc-cat/catalog --namespace catalog --version 0.3.0

Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-09T11:18:22Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

service-catalog version: 0.3.0

Cloud provider or hardware configuration:
SAP Gardener on Canary

Do you have api aggregation enabled?

Do you see the configmap in kube-system?
hmm, i do not see any configmap related to aggregation api in kube-system
Does it have all the necessary fields?

kubectl get cm -n kube-system extension-apiserver-authentication -o yaml and look for requestheader-XXX fields

Install tools:

Did you use helm? What were the helm arguments? Did you --set any extra values?
Yes - HELM used,
helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
kubectl create namespace catalog
helm install catalog svc-cat/catalog --namespace catalog --version 0.3.0

Are you trying to use ALPHA features? Did you enable them?
No

@szeort I just experienced this same problem using helm upgrade instead of helm install which seems consistent with the fact that the migration tool is configured to run as a post-upgrade helm hook
https://github.com/kubernetes-sigs/service-catalog/blob/880e4007005c6848c6720150f5269499071cfbad/charts/catalog/templates/migration-job.yaml#L91-L101
Do you remember if you indeed run helm install and not helm upgrade when you reproduced the issue ?


Add all Azure Functions x Azure Developer CLI samples are added to the gallery

https://github.com/Azure-Samples?q=function+azd-templates&type=all&language=&sort=

@savannahostrowski assuming that no reviews are needed for the above templates.
@hemarina please add the above templates to the gallery.

I think these are fine to add!


Question: pso reinstallation

Question:
What happens if we delete completely the pso helm charts and leave existing volumes, and then reinstall the helm chart (same version), do we recover our setup ?

You will indeed recover your setup, assuming you leave the volumes and cluster ID with the same name. PSO on startup will scan for all volumes that match the same cluster ID and use them to start up, then will do any required scaling after a successful startup.

Ok ! This leads me to the following question: if by any chance my  pso-5.x-created-volumes would have the correct prefix/clusterID, would they be imported automatically ?

Unfortunately not yet. However, we are working on a more streamlined migration path from PSO 5.x to 6.x. That being said, if you have an urgent need to migrate, you can follow the instructions at https://github.com/purestorage/pso-csi/blob/master/docs/csi-volume-import.md. Just note that it will be a disruptive migration, as workloads will have to be re-mounted.

Yes I had done that just wondering if I could have avoided it. thanks !


ENH: linalg: Add LAPACK wrappers for trexc and trsen.

Reference issue
Refs #10881
What does this implement/fix?
Adds wrappers for trexc and trsen which are required for sorting Schur decompositions. Wrappers for the generalized counterparts already exist, which these implementations are based upon.

Something to consider for added robustness is including the examples that the NAG manual has in the test suite:

dtrexc- real
ztrexc - complex
dtrsen - real
ztrsen - complex

I added the requested tests. I also added those tests for tgexc and tgsen, but these functions do not give unique answers (1 * 1 == -1 * -1), and hence the tests failed on my system. Therefore I did not submit them.

Thanks for the additional clarifications. I made the suggested changes and also modified tgexc accordingly.

@ilayn Anything else I can do to get this merged? I want to make a release of my software and need these functions to be available from scipy.

My sincere apologies for the ridiculous delay. Lately, I haven't been up to my obligations as a maintanier.
Let's get first started with rebasing onto main branch from your old master (we renamed our running branch from master to main). And we'll take it from there as quickly as we can.
If you encounter difficulties just open a new PR to save time and effort. You don't need to wrestle with git anyways.

@ilayn thanks for looking into this. I rebased the patches and all checks have succeeded.

As a general question, would it make sense at some point to start wrapping cython_lapack implementations instead of f2py ones?

I would say yes if we can do it peacefully but then what do we do with the existing ones is my counter-question. Because so far these served OK however we are indeed coming to a point where historical artifacts and new ones are getting mixed up slowly. An algorithmic wrapper-automation in a different namespace might be an option.
I used to think that hiding most of these internal variables was a really cool feature but come to think of it we are the odd ones out and every other fortran wrapper project is going for a full signature exposure and letting the user fill in those pesky details.  Also without f2py support mechanism the user has to pick the right dtype and contiguousness manually for the wrappers to work. Now all is taken care of by these wrappers.

but then what do we do with the existing ones is my counter-question.

Nothing, absolutely nothing. They exist, they work, they are not broken, hence they are in no need of doing anything about.
All I'm saying maybe after this PR is merged, for the next lapack python wrapper we try to wrap the cython interface. It'll need all sorts checks f2py is doing, so maybe it'll turn out to be a futile exercise. But the only way is to give it a go and see I guess.
Anyway, it all is OT for this pull request, I'll stop :-).

OK fingers crossed. Let's keep an eye on this in case we missed anything before 1.10.x goes out.
Thank you @Sbte and once again sorry for the delay it took to come back to this.

No problem! Glad it's in now!


Ability to block/filter clients

Required for demos & presentations.
Idea: /session gives back a page with a password input for a PIN.
Type a PIN to save it to session cookie, connect with the same PIN for a private session. Even if the page is up for a presentation, or devtools/requests are shown, due to using a password field and cookies, should not be visible for audience.

This issue was moved to flaki/pif-editor#8


Instead of only refresh, option to fetch new workflows/tools or update existing

Sometimes we may not want to update all workflows, we just want to fetch new ones. This should be an option.
Perhaps something like this.
https://v4-alpha.getbootstrap.com/components/dropdowns/#split-button-dropdowns
Clicking the left button will do the typical refresh, but clicking the arrow will give two options. Fetch new workflows or refresh existing workflows.

Note that this probably requires some cleanup of the refresh code in the webservice. Will need to separate so that a normal refresh happens in two steps.

Fetch new workflows
Refresh workflows existing workflows

┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Fix Versions: Dockstore 1.7
┆Issue Number: DOCK-414

Revisit after #2400


Pin requests

Description:
Requests only supports pip versions released in the last year. Although we depend on upgrading pip in our dependencies, requests is installed in the same "pip install", and thus is still run in the old pip environment, causing it to crash.
https://github.com/kennethreitz/requests/issues/4006

Going to close this as 2.14.1 has been released which still breaks support for old pips, but is fine with pip 6. That should be fine with what ships with Python 3.4.2 (our min Python supported version)


feat: add pr style check

#minor

Pull Request Test Coverage Report for Build 731201305

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.02%) to 84.931%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

libraries/adaptive-expressions/src/triggerTrees/trigger.ts
4
61.63%

Totals

Change from base Build 727016837:
-0.02%

Covered Lines:
18971

Relevant Lines:
21277

💛  - Coveralls


Fix the padding of TextArea component

Proposed Changes
We want a smaller default padding for the TextArea component, which will make it look like a normal input.
Before:

After:

Potential Breaking Changes
All the textarea under .input-field will have a smaller padding.
Acceptance Criteria

[ ] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

Codecov Report

Merging #1528 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1528   +/-   ##
=======================================
  Coverage   96.47%   96.47%
=======================================
  Files         412      412
  Lines        9052     9052
  Branches     1653     1653
=======================================
  Hits         8733     8733
  Misses        111      111
  Partials      208      208

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 f2a6b26...9e67fd1. Read the comment docs.


Themes

I really enjoy this application. I was just wondering if you based any of the themes, in particular the midnight theme, off of any vim themes.

I did not create them myself, if you click on each .css you’ll find the source in the header comment:
https://github.com/aluxian/Messenger-for-Desktop/tree/master/src/themes https://github.com/aluxian/Messenger-for-Desktop/tree/master/src/themes

On 7 May 2017, at 17:06, Jake Zhu<EMAIL_ADDRESS>wrote:
I really enjoy this application. I was just wondering if you based any of the themes, in particular the midnight theme, off of any vim themes.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/aluxian/Messenger-for-Desktop/issues/1276, or mute the thread https://github.com/notifications/unsubscribe-auth/ABWmdgdHnbVndew-txRi5GE_vES_nfGIks5r3ewjgaJpZM4NTMxx.


Asynchronous code generation

TeaVM should be capable of transforming of serial code to a CPS-style code on demand. When method calls an asynch code, it should be also rendered as async.
When there is serial contract, we can't render method as async. For example, consider Element.addListener(listener). A listener is expected to call Event.stopPropagation() syncrhonously to stop event bubbling. If listener got rendered as async, this contract will be violated, as Event.stopPropagation might go to continuation. So TeaVM needs some mechanism that declares explicit border between sync and async code.
Async code is a good opportunity to implement cooperative multitasking. TeaVM could provide threading, switching on Thread.yield or on blocking I/O operations. Simple synchronization primitives could be implemented as well.
The most challenging thing is to deal with debugger, which is to increase its complexity.

Have you considered generating StratifyJS code? They provide all of the primitives required to implement green threads.
http://onilabs.com/stratifiedjs
Their waitfor primitive is the easiest way I have seen to do synchronous programming in javascript.   I think we could probably achieve green threads by just converting Object.wait() and Object.notify() into event.wait() calls.   If I get time, I plan to experiment with this myself.

I know about stratify.js, but it won't fit needs of TeaVM.  The big work, however, is maintain debugging. Also, we need to check whether all the existing code works properly in concurrent environment and that there are not existing contracts (such as event bubbling) are broken. Don't forget, that callback mashup is always much slower, than straight code, so green threads must be designed very carefully.

Can you elaborate on why it doesn't fit the needs of TeaVM.  I'm looking at trying to use TeaVM for a project that is heavy on the synchronous code. (In fact my other team members don't think it is even feasible to make it run with green threads.. they think we need real threads).  I was thinking I could probably just hack the code that TeaVM generates for Object.notify() and Object.wait() and that would be the end of it...   But I'm not too familiar with the TeaVM source base, so I could be way off here.

TeaVM produces both source maps and its own debug symbol table. They map Java source locations to JavaScript source locations. If the generated JS code is altered, this mapping becomes irrelevant and though debugging becomes impossible. If you need async code that much, I'll try to implement all the necessary transformations in TeaVM very soon. However, you will experience great problems with debugger, since CPS will remove concept of call stack. I'll need some time to rewrite debugger, so that it could re-build stack trace from clousure contexts of CPS-generated callbacks.

Thanks.  That makes sense.  Debugging and source maps are very handy indeed.

@shannah, I have working prototype of CPS generator. It successfully produced asynchronous code for a little sample program. There is a lot of work to do still, but core algoritm is implemented. AsyncProgramSplitter class shows the main idea of the whole algorithm. We get CFG and for each occurence of asynchronous invocation "split" our CFG into two parts, one that preceedes the invocations, and another that follows the invocation. Then we handle all the produced CFGs almost the usual way. You can fetch async branch and build TeaVM from it, then see what TeaVM produces for teavm-samples-async module.
Another advantage of doing CPS in the side of TeaVM is that TeaVM has information about types, hence it can build call graph properly. It gives chance to determine, which methods are reallly needed to be transformed into CPS. Most of methods from teavm-samples-async projects are compiled into synchronous version. AsyncMethodFinder class is responsible for determining which methods are actually asynchronous.

That looks great.  I have looked through the code and can't wait to try it out (I'll be trying it out this morning).  My plan is to also make wait(), notify(), and notifyAll() async also.  Except, wait() will add a callback to an event queue bound to the object, notify() will execute and pop the first callback in the event queue, and notifyAll() will execute all of the callbacks in the event queue.  I think that will replicate full threaded behaviour pretty closely.  Do you see any flaws in this plan?

I ran your example and it works great.  I've made an attempt at adding support for Thread.start(), Object.wait(), Object.notify(), and Object.notifyAll().  I have it working for some simple tests.  I am running into a problem where, at the end of my Thread.run() execution, I get an error because TeaVM is trying to call a $return() callback that doesn't exist.   I have posted a fork at https://github.com/shannah/teavm/tree/threads.
You can see the modified demo here:
https://github.com/shannah/teavm/blob/threads/teavm-samples/teavm-samples-async/src/main/java/org/teavm/samples/async/AsyncProgram.java
You should be able to just check out this fork and run the demo to see the error that I'm talking about.
BTW.  Really like working with TeaVM so far.  The source maps and debugger stuff you did if phenomenal.  And this Async functionality is really breaking new ground. Keep up the great work.

@shannah good work!  Look at AsyncCallback. The will be convention: if native method is Async and there is method with the same parameters plus one parameter of type AsyncCallback, then this second method will be implementation of the first method. Also I am going to rewrite classlib to avoid manual generation of JavaScript in favour of using JSO (so I'll extend JSO).
As for your particular problem. Here is the patch: http://pastebin.com/T9XTRMgQ And don't forget merge the latest changes async branch. Please, if you want explanations, ask questions in google group

Brilliant!  Works perfectly.  I'll take a look through your changes and, if I can't understand something, I'll post to the forum.
Are you interested in receiving a pull request for any of these changes (I still need to clean it up), or are you planning of implementing the same in a different way?  If you want a pull request, just let me know how you want it or if there are changes you want me to make first, and I'll do my best to comply.

I did some preliminary work to add support for Thread.currentThread() returning the current thread.  E.g.
final Thread t = new Thread(new Runnable(){
    public void run(){
        if ( t != Thread.currentThread() ){
             System.out.println("In a correct implementation this shouldn't happen");
        } else {
             System.out.println("This case should happen every time.");
        }
    }
});
t.start();

I override the setTimeout() function to keep track of the current thread.  If we use other mechanisms for calling async code, I may have to patch those also.  It might also be possible to move this type of thread tracking mechanism elsewhere, but I don't know the code intimately enough to make such changes yet.
https://github.com/shannah/teavm/commit/e6e52d1be5f4a4855c60500b57f5c7566bb37e5b

Good! Tracking existing thread is very important to implement MONITOENTER/MONITOREXIT opcodes, as well as synchronized methods. Do you want to implement this? If you do, please, don't forget that non-async code will always run exclusively, so you can still ignore these instructions there. Also, I am going to change the way how TeaVM handles async exceptions. I'd like to get rid of the second ($throw) callback in favour of passing function to continuation, so this function would either return value or throw exception. This could affect implementation of locks.
Do you mind to introduce $rt_setTimeout instead of redefining existing setTimeout function? TeaVM should interact with the existing JavaScript and I'm not sure whether they won't interfere with the overriding setTimemout function.

@shannah, please, note the latest changes (https://github.com/konsoletyper/teavm/commit/73721e5b3159abc87149be50d34cf7f5999d2f6d) I made to support exceptions in async methods. Now, $return function accepts function instead of value. You should wrap your value with $rt_asyncResult. If there is nothing to pass (i.e. when method is void), you can simply pass null. Additionally, you can use $return($rt_asyncError(e)) to throw exception out of native async method.

Tracking existing thread is very important to implement MONITOENTER/MONITOREXIT opcodes, as well as synchronized methods. Do you want to implement this?

Sure.  I'll need to get more familiar with how TeaVM generates the Async stuff.  If the monitorenter and monitorexit opcodes just mapped to methods monitorEnter() and monitorExit() (for example), implementation would be trivial (i could just implement those methods with the Async annotation and implement them natively similar to the way wait() and notify() are implemented.  I just don't yet know how to connect the dots from the opcodes to those hypothetical methods.  Or can you think of a better way?

If you do, please, don't forget that non-async code will always run exclusively, so you can still ignore these instructions there.

What implications does that have on how I should implement it?  Is this something I need to consider (e.g. does my implementation have to do some sort of check "if (isAsyncCode()) .... else ...")?

I just don't yet know how to connect the dots from the opcodes to those hypothetical methods. Or can you think of a better way?

Two new instructions (see org.teavm.model.instructions) must be added. Or a single one, with a flag indicating what particular operation must be applied. ProgramParser should be modified to generate these instruction when it meets corresponding JVM opcodes. Decompiler should either produce direct invocations or generate new type of statements (see org.teavm.javascript.ast). Well, it might be too complicated, but I could assist you if you implemented monitorEnter/monitorExit methods. They are trivial, indeed.

What implications does that have on how I should implement it? Is this something I need to consider (e.g. does my implementation have to do some sort of check "if (isAsyncCode()) .... else ...")?

No, that does not affect implementation. That affects how decompiler handles MONITORENTER/MONITOREXIT instruction. Current implementation just skips them as if they were NOP. It must be extended to understand these instructions, but it should check whether the code is sync or async. With sync code it should still skip new instruction, with async code it should call monitorEnter/monitorExit methods.

Thanks.  That's helpful.  I should be able to figure it out from here.  I'll be working on this over the next few days.

I have put in most of the pieces now.  It is all in the branch:
https://github.com/shannah/teavm/tree/threads
Currently I'm getting an error why I try to compile code with synchronized sections
Caused by: java.lang.IllegalArgumentException: This instruction is in some basic block org.teavm.model.instructions.AssignInstruction@18fa822a, org/teavm/samples/async/AsyncProgram.java:86
	at org.teavm.model.BasicBlock$1.add(BasicBlock.java:82)
	at org.teavm.model.BasicBlock$1.add(BasicBlock.java:56)
	at java.util.AbstractList.add(AbstractList.java:108)
	at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
	at org.teavm.model.util.ProgramUtils.copy(ProgramUtils.java:95)
	at org.teavm.model.util.ModelUtils.copyMethod(ModelUtils.java:52)
	at org.teavm.model.util.ModelUtils.copyClass(ModelUtils.java:37)
	at org.teavm.dependency.DependencyClassSource.findClass(DependencyClassSource.java:78)
	at org.teavm.dependency.DependencyClassSource.findAndTransformClass(DependencyClassSource.java:65)
	at org.teavm.dependency.DependencyClassSource.access$000(DependencyClassSource.java:33)
	at org.teavm.dependency.DependencyClassSource$1.map(DependencyClassSource.java:41)
	at org.teavm.dependency.DependencyClassSource$1.map(DependencyClassSource.java:39)
	at org.teavm.common.CachedMapper.map(CachedMapper.java:49)
	at org.teavm.dependency.DependencyClassSource.get(DependencyClassSource.java:52)
	at org.teavm.dependency.DependencyChecker.findMethodReader(DependencyChecker.java:284)
	at org.teavm.dependency.DependencyChecker.access$000(DependencyChecker.java:51)
	at org.teavm.dependency.DependencyChecker$1.map(DependencyChecker.java:79)
	at org.teavm.dependency.DependencyChecker$1.map(DependencyChecker.java:77)
	at org.teavm.common.CachedMapper.map(CachedMapper.java:49)
	at org.teavm.dependency.DependencyChecker$3.map(DependencyChecker.java:89)
	at org.teavm.dependency.DependencyChecker$3.map(DependencyChecker.java:87)
	at org.teavm.common.CachedMapper.map(CachedMapper.java:49)
	at org.teavm.dependency.DependencyChecker.linkMethod(DependencyChecker.java:259)
	at org.teavm.vm.TeaVM.entryPoint(TeaVM.java:243)
	at org.teavm.tooling.TeaVMTool.generate(TeaVMTool.java:266)
	at org.teavm.maven.BuildJavascriptMojo.execute(BuildJavascriptMojo.java:256)
	... 21 more

So I must have something wrong.  I won't have a chance to work on this over the weekend, but will be picking it up again on Monday.

Thanks for the comments.  I have made the changes you suggested. I'm still getting the same error when building the sample.  Do you know what would cause an error like this?

It seems that you've broken instruction copier. You might forget implement some of the visitor methods.

Bingo! That was it.  It now builds ok.  I'm hitting a runtime error during execution now.
[Error] TypeError: undefined is not a function (evaluating 'continuation($rt_asyncError(e))')
	callback (classes.js, line 7)

Off for the weekend... will pick this up on Monday.

It seems, that you encounter problem (see test case) I've fixed recently. Sorry for making so much breaking changes in the last commit. Hope, it won't be to hard to rename some imports.

@shannah BTW, look at new implementation of Thread.sleep. Hope writing async methods this way will be much easier.

The new format looks nice.  Will update my code accordingly.  I plan to run code inside web workers which don't have access to "window".  It would be nice to keep the core agnostic in this way (not relying specifically on window).  That should be a simple change.

Yes, it should be. You can simply assign window = this; in the beginning of the script.

I may still want to just implement heavy hitters like wait and notify directly in JavaScript for best performance.  Will the old method for async still work?

Yes, old method works. However, you may prefer to use JSO instead of direct JS generation. First option seems easier to implement/support.

I have updated my implementations to use the new AsyncCallback approach and JSO instead of native methods.  It builds OK, but I have broken something in the AsyncProgram sample.
 Please, make TObject.window reference static. However, event after this change I still encounter strange error.

Thanks.  Done.  I just noticed that with my new implementation I'm not making use of $rt_rootInvocationAdapter as I was with the old native implementation.  Not sure if this is the issue.

There are problems with compiling this code: notifyListeners.push(new NotifyListener(){. JSO has major design flaw there. It will take some time to figure out how to solve the problem. Or you can just wrap NotifyListener in JS.function explicitly.

Can you elaborate on "wrap NotifyListener in JS.function"?
I may just return to using native generators for now.

I just realized, that you can't proceed further with functors here. The problem is that you can't use native Arrays to store/retrieve Java objects directly. Consider using java.util.ArrayList (or java.util.ArrayDeque), and a bit later I provide a lightweight PlatformList, capable of storing/retrieving Java objects and having Array as a backing storage, without overhead.

I changed it back to native generators for now (just commented out the JSO code).
This is after merging your latest changes in async.  I have pushed my latest to my "threads" branch.

OK.  Solved that issue.  Now it runs, but I'm not sure that it is picking up the fact that my monitorEnter function is async.  For the portion of the sample:
synchronized(lock){
            System.out.println("Inside locked section of thread "+Thread.currentThread());
            Thread.sleep(2000);
            System.out.println("Finished locked section of thread "+Thread.currentThread());
        }

And with monitorEnter looking like:
@Async
    static void monitorEnter(TObject o){
        if ( o.monitorLock == null ){
            o.monitorLock = new TObject();
        }
        System.out.println("Thread "+Thread.currentThread()+" waiting  on lock for "+o);
        System.out.println("Lock owned by "+o.owner);
        if ( o.owner != null ){
            System.out.println(o.owner.getName());
        }
        while (o.owner != null && o.owner != TThread.currentThread() ){
            try {
                System.out.println(Thread.currentThread()+" waiting on lock");
                o.monitorLock.wait();
            } catch (InterruptedException ex) {
                throw new RuntimeException("Interrupted", ex);
            }
        }
        if ( o.owner != null && o.owner != TThread.currentThread()){
            System.out.println("Thread "+TThread.currentThread()+" has been granted a lock which is owned by "+o.owner);
            throw new RuntimeException("Thread "+TThread.currentThread()+" has been granted a lock which is owned by "+o.owner);
        }
        System.out.println("Thread "+Thread.currentThread()+" obtaining lock for "+o);
        System.out.println("The old owner was "+o.owner);
        o.owner = TThread.currentThread();
        o.monitorCount++;

    }

I get the following output
[Log] Thread java.lang.Thread@b43 waiting  on lock for java.lang.Object@b41 (runtime.js, line 353)
[Log] Lock owned by null (runtime.js, line 353)
[Log] Thread java.lang.Thread@b43 obtaining lock for java.lang.Object@b41 (runtime.js, line 353)
[Log] The old owner was null (runtime.js, line 353)
[Log] Inside locked section of thread java.lang.Thread@b43 (runtime.js, line 353)
[Log] Current thread is Test Thread 2 (runtime.js, line 353)
[Log] Finished another 5 second sleep (runtime.js, line 353)
[Log] Thread java.lang.Thread@b45 waiting  on lock for java.lang.Object@b41 (runtime.js, line 353)
[Log] Lock owned by java.lang.Thread@b43 (runtime.js, line 353)
[Log] Test Thread (runtime.js, line 353)
[Log] java.lang.Thread@b45 waiting on lock (runtime.js, line 353)
[Log] Inside locked section of thread java.lang.Thread@b45 (runtime.js, line 353)
[Log] Finished locked section of thread java.lang.Thread@b43 (runtime.js, line 353)
[Log] Finished locked section of thread java.lang.Thread@b45 (runtime.js, line 353)
[Log] Thread java.lang.Thread@b45 obtaining lock for java.lang.Object@b41 (runtime.js, line 353)
[Log] The old owner was null (runtime.js, line 353)

Which indicates, that the locking behaviour is working correctly (I.e. Thread@b45 doesn't obtain the lock for Object@b41 until Thread@b43 has released it).  However the code is being allowed to proceed past the monitorEnter() call anyways.
I suspect this is something to do with the way that I am converting the MonitorEnterInstruction to a MonitorEnterStatement to a monitorEnter() method.  TeaVM is not generating the transformations correctly  i.e. monitorEnter() is just being treated as a regular sync method.
Any ideas what I've done incorrectly?  I've posted my latest in my threads branch.

I got it working.  I removed the MonitorEnter/Exit Instruction and Statement classes altogether and just made the program parser produce method invocations for my monitorEnter and monitorExit methods, and all seems to be working.  I have pushed it to github, but still need to clean up the code (e.g. I still have the instructions and statement classes that are no longer being used... need to strip them out.  Will do that tomorrow.

@shannah, don't be hasty. You are trying to guess the reason instead of debugging. Let me find the error and fix it instead of trying to rewrite everything with raw JavaScript and eliminating instructions. I'll fetch your previous commits and provide a patch. It is important to retain MonitoEnter/MonitorExit instructions, as it can give useful information for optimizations. The only thing to do is to modify ProgramSplitter to insert split points after MonitorEnter instructions. Another solution is to replace MonitorEnter/MonitorExit instructions at the very last stage, just before splitting async methods. Also, won't it be better to continue this conversation by email directly?

Email works for me<EMAIL_ADDRESS>Thanks for taking a look at the code.  You're probably right that it would be better to retain the MonitorEnter/MonitorExit instructions.

Debugging of async code can be very difficult. I am going to support async code in debugger, however, either Google Crhome does not provide me sufficien information or I can't fetch it properly. Here is my question in Stack Overflow. If someone is interested in debugger support of async code, please, vote for this question.

My latest commit fixes all known issues with synchronized blocks and Object.wait/Object.notify methods. I compared output of AsyncProgram sample both in JVM and TeaVM, and they are identical, except for prime numbers. I encountered one unpleasant issue with AsyncProgramSpitter. The problem is that after splitting program into parts we can get irreducible CFGs. Irreducible CFGs are not supported by TeaVM, and may cause unpredictable results. The solution is either to convert irreducible CFGs into reducible CFGs or to make additional splitting of parts so that every part is reducible.


allow to test without real signed content

https://github.com/edenlabllc/ehealth.api/issues/1159

Changes Unknown when pulling 37b31b6aa48a38cee383cc1c110559fd393442e5 on allow_to_test_digital_signature#1159 into ** on master**.

Changes Unknown when pulling 6dc978b5608fb3a0b5310e5a63f2b5113f258aec on allow_to_test_digital_signature#1159 into ** on master**.


Converting ACD files to L5X?

Can I use this library to convert ACD files to L5X?

Unfortunately, no. This library is just an API wrapper over the L5X schema. It requires that you first have the L5X.
It would be nice if Rockwell provided a way to do that programmatically, but I have not found anything on it.


The preset_mode is not a valid preset_mode:

hi,
at restart of homeassistant or reload configuration with developer tools (section yaml) I get this error in log ( and in popup on the screen with thermostat cards):
"Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:282
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 12:21:43 (40 occurrences)
Last logged: 12:22:04
[139861757342400] The preset_mode is not a valid preset_mode: none, away, comfort, home, sleep"
I think (I'm almost sure) it only appeared after latest HA update.
at tame time I get this warning:
"Entity None (<class 'custom_components.dual_smart_thermostat.climate.DualSmartThermostat'>) implements HVACMode(s): off, heat, cool, heat_cool and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/swingerman/ha-dual-smart-thermostat/issues"
My conf:
Homeassistant.OS
Core 2024.2.1
Supervisor 2024.01.1
Operating System 11.5
Frontend 20240207.1
Thx for your job

Thanks for finding this. I will look into this as son as possible

could you please provide your configuration?

could you please provide your configuration?

I?  Yes, of course
climate:
#
  - platform: dual_smart_thermostat
    name: "climatizzatore cucina"
    unique_id: climate.climatizzatore_cucina
    heater: switch.clima_cucina
    cooler: input_boolean.switch_virtuale_clima
    target_sensor: sensor.aqara_cucina_temperature
    openings:
      - entity_id: binary_sensor.veranda_cucina_contact
        timeout: 00:03:00
    heat_cool_mode: true # <-important
    initial_hvac_mode: "heat" #"heat_cool"
    ac_mode: false
    min_temp: 16
    max_temp: 30
    target_temp: 21.5
    target_temp_high: 25
    target_temp_low: 21
    cold_tolerance: 0.4
    hot_tolerance: 0.1
    target_temp_step: 0.1
    min_cycle_duration:
      minutes: 1
    away:
      temperature: 15
      target_temp_low: 16
      target_temp_high: 28
    home:
      temperature: 22
      target_temp_low: 22.5
      target_temp_high: 25.5
    comfort:
      temperature: 21.5
      target_temp_low: 22
      target_temp_high: 26
    sleep:
      temperature: 19.5
      target_temp_low: 20.0
      target_temp_high: 27
#

It' s OK?

hi,
only now (because after a restart the error did not appear and I did further tests) thinking about everything, I realized something: the error message appears only if at the same time as the restart I'm viewing the thermostat card.
the warning message instead appears in every situation.
could it be a problem with the cards?
Anyway, everything works fine
this is the card
features:
  - type: climate-hvac-modes
    hvac_modes:
      - 'off'
      - heat
      - cool
      - heat_cool
  - type: climate-preset-modes
    style: dropdown
    preset_modes:
      - none
      - away
      - comfort
      - home
      - sleep
  - type: target-temperature
type: tile
entity: climate.climatizzatore_oblo
name: Oblò
vertical: false
state_content:
  - current_temperature
  - hvac_action
icon: mdi:sun-snowflake-variant


Add validation for virtual types

Has tests.

Sorry @bbakerman had to rebase to fix merge conflict with #624


In the demo, do the same tasks with and without git-branchless

I watched your demo, and it mostly just showed you doing a daily workflow. It seemed fine, but I couldn't see how it was better than what I do now. (Except for git undo, which is pretty cool, and I think could stand to be separated out as its own feature.)
I'd like to see the demo compare and contrast doing daily tasks with and without git-branchless, to show how much better git-branchless is.

@dfabulich Thanks, you're right. I think it would be best to split up the demo into multiple demos showcasing specific tasks and how they can be accomplished with and without git-branchless, rather than attempting one uber-demo. It might also be nice to have a side-by-side demo, (hopefully) showing that the same task is faster in git-branchless in real-time.
Unfortunately, the git undo feature doesn't stand alone, because it requires the event log which is managed by the git-branchless hooks. You could install git-branchless just for the git undo feature and ignore the rest of the features, though.
I appreciate your feedback!

@dfabulich I tried a demo for amending a parent in a complicated history. Do you think this is a more compelling example of a demo?
Without git-branchless:

With git-branchless:

I very dimly see what you're getting at here. Your "without" example is quite confusing. You're "recovering from an upstream rebase" in the terms defined in https://git-scm.com/docs/git-rebase but in an extremely non-standard workflow, because the bar branch isn't "upstream" of baz. You didn't even get as far as forcing bar back into master; instead you're rebasing baz onto bar~1, which seems weird and contrived.
But I think what you meant to say is: "yeah, but suppose I had force-pushed bar to master. Then what would baz do?" And the answer from the documentation is something like git rebase --onto master master@{1}, but for one thing you'd have to know that you needed to recover from an upstream rebase, and for another you'd have to somehow figure out that master@{1} was what you needed. This is a real problem with git rebases, and a solution for that problem would be quite welcome.
But I don't think branchless would help even in this case. The bar developer would have done all of that work on a separate machine; the bar developer's branchless DB wouldn't be accessible to the baz developer. So even branchless couldn't help in the real case.
But overall this tells me that your feature list is still missing. I now think your feature list is something like:

Git rebase without fear: Git rebase lets you rewrite history with ease, but it forces your teammates to take manual action to "recover" from upstream rebases. git-branchless allows any branch to recover from arbitrary upstream rebases automatically, without annoying your teammates.
Undo anything with ease: git-branchless lets you undo stuff that's difficult to undo in stock Git, like undoing rebases, undoing hard resets, and undoing rebase recovery
Visualize rewritten history: View a graph of rewritten commits, viewing not just the current history, but the history of your history in an easy-to-read ASCII chart

But even there, I'm not sure if this is accurate. (I don't think the rebase feature actually works across teammates.)

It's not meant to recover from upstream rebases (where "upstream" means "someone else's repo"). It won't work across teammates, like you say, since the database is not shared.
It's meant to handle the case of a single user backtracking on their history. For example, if you had two ideas to solve a problem, and you weren't sure which worked, but they both had some common work, then you base both approaches on top of the common work:
◇ 4815ad42 35d (master) Initial commit
┃
◯ d360792b 28s Some base work (which has a bug)
┣━┓
┃ ◯ b68a339f 19s Approach 1 to solve the problem
┃
● ec642591 17s Approach 2 to solve the problem

At a later time, you want to fix the base commit, and make sure that all the dependent work is up-to-date, so you do the thing in the demo, where you rewrite the shared parent commit and restack all of the dependent commits. Does that make sense?
In your typical workflow, what would you do you if you wanted to try out two approaches, but share some code between them? Would you create a first branch the base work and the first approach, and then create a second branch based off of only the base work? Or just fold the shared work into both commits individually? Or use git stash to set aside one approach while you work on the other one?
At work, I currently have a tree like the above. There's a bug-fix to the base code generation system, and then I have two approaches for hooking together a certain thing into the code generation system. They are relatively different approaches, but I want to make sure I can examine the other approach, and that the other approach isn't lost if I decide to return to it.

Let me try this, then:

Undo anything with ease: git-branchless lets you undo stuff that's difficult to undo in stock Git, like undoing rebases, undoing hard resets, and undoing rebase recovery
Visualize rewritten history: View a graph of rewritten commits in an easy-to-read ASCII chart, showing not just the current history, but the history of your history
Rebase without fear: Git rebase lets you rewrite history with ease, but if your local history has a few branches with a few experimental approaches, when it comes time to rebase them into a linear timeline, you'll be forced to carefully "recover" from your own rebases. git-branchless allows any local commit to recover from arbitrary local rebases automatically and flawlessly, giving you the confidence to craft a perfect pull request.

I think you perceive feature 3 to be the primary value of git-branchless, but IMO the value of that feature is really low. I do my fair share of local experiments, and I even do local rebases, and I have encountered issues with local rebase recovery, but in the very worst case, it's just a handful of commits; I just manually cherry-pick a few times, and it's fine. (And, as you point out, many users don't even think you ought to rebase locally!)

Closing due to #11. The project is no longer marketed as directly improving specific tasks already in your workflow, but adding tools for extensive history editing.


BUG - Plate creator uses number from non-sanger barcodes to generate child barcodes

Describe the bug
When generating plates via a Plate::Creator, sequencescape will attempt to re-use the existing barcode number in the event that the prefix changes. Eg. DN12345 makes WD12345.
This behaviour should not trigger for foreign barcode formats, as it increases the risk of barcodes clashing with other teams. In practice our switch to code39 format barcodes, rather than the ean13 encoded forms, makes actual clashes unlikely.
RT Ticket Number
If applicable
To Reproduce
Steps to reproduce the behaviour:

Go to page '...'
Click on button '...'
See error

Expected behaviour
What was expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

Windows or Mac?
Browser Chrome, Firefox, Safari or other?
Browser version (use 'About' to look up)?

Additional context
Add any other context about the problem here.

Hmm, actually, I'm not sure there is a risk, as it would only be the child prefixes that caused problems, so we'd only be at risk of clashing with those plates. But really not sure of the history behind all this, so still worth playing it safe, especially as some formats will blow up with invalid barcodes. (Where there are more than 7 digits)


forceLabyModEmote# throws noclassdefexception

Describe the bug
i want to play an emote on my npc with labymod but it just throws a noclassdefexception.
NPCLib usage option
2
NPCLib JAR name
NPCLib.jar
Server version
CraftBukkit version git-Spigot-db6de12-18fbb24
To Reproduce
CODE:
@EventHandler
public void onJoin(PlayerJoinEvent e){
    Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(main.getInstance(), ()->{
       Bukkit.getScheduler().runTask(main.getInstance(), () -> myNPC.show(e.getPlayer()));
        Bukkit.getScheduler().scheduleSyncRepeatingTask(main.getInstance(), new Runnable() {
            @Override
            public void run() {
                    myNPC.forceLabyModEmote(e.getPlayer(), 2);
            }
        }, 0, 200L);
    }, 60L);
}

Screenshots
https://prnt.sc/s3wgpv
Additional context
Add any other context about the problem here.

Hi, thanks for opening this ticket.
The class should just exist (https://github.com/MinecraftLibraries/NPCLib/blob/master/api/src/main/java/net/labymod/utilities/LMCUtils.java) is included in the building process.
Are you using version 2.6?

This also happens for me. I don't shade the Library in the plugin, but I have it in the plugins folder. Same Error

yes i am using version 2.6

I don’t understand why it wouldn’t work. The class it’s referring to is shaded in to the plugin, I just checked.
Do you have any other plugins installed on your server that might interfere with this?

I just made a new Plugin with your Lib on a new Server with only my Plugin and yours...
Everything is working completely fine except the forceLabyModEmote# was still throwing a NoClassDefException...

Is it possible to get the UUID of the NPC so we can use the normal LabyModAPI?

Ah, well I could make that happen. I was waiting for a response to PR #77, but this seems like am appropriate reason to merge it.
I’ll soon post an update with the NPC#getUniqueId method.

You can download the new release with the new method here: https://github.com/MinecraftLibraries/NPCLib/releases/tag/2.7-SNAPSHOT
Cheers!


Split grpc generated files into several files

Implement grpc part of splitting the generated files started in this merge request - https://github.com/cloudwego/volo/pull/510

@Millione I added a simple grpc test, probably a more sophisticated one is required? If so, please feel free to add one, I'm not really faimilar with the grpc to create a proper test here

@missingdays Great, I think the grpc test for now is ok and there's only some ci problem to fix.

Don't know why running rust fmt locally doesn't complain about the imports order, but on the CI it does 🤷 I applied the import ordering manually

Maybe you should use nightly for it


proposal: x/crypto/ssh: add top-level DialContext func

Proposal Details
Similar to #20288 which added a DialContext method to ssh.Client, we propose to add a top-level convenience function DialContext to the crypto/ssh package which mirrors the existing Dial func:
func DialContext(ctx context.Context, network, addr string, config *ClientConfig) (*Client, error)

The DialContext func would accept a context.Context as its first argument, which would control the dial and handshake phases of the connection. Closing the Context after the connection is established would have no effect on the resulting Client. This is consistent with other DialContext uses in the Go standard library and this package.
We have a change ready to go (~33 SLOC), so happy to submit a CL when/if this is approved.

Proposal Details
Similar to #20288 which added a DialContext method to ssh.Client, we propose to add a top-level convenience function DialContext to the crypto/ssh package which mirrors the existing Dial func:
func DialContext(ctx context.Context, network, addr string, config *ClientConfig) (*Client, error)

The DialContext func would accept a context.Context as its first argument, which would control the dial and handshake phases of the connection. Closing the Context after the connection is established would have no effect on the resulting Client. This is consistent with other DialContext uses in the Go standard library and this package.
We have a change ready to go (~33 SLOC), so happy to submit a CL when/if this is approved.

LGTM, thanks!

cc @golang/proposal-review this seems like a good addition and something often requested


Force pulse update for liquid decorations

Pulls into https://github.com/deathcap/GlowstonePlusPlus/pull/30
to fix https://github.com/deathcap/GlowstonePlusPlus/issues/27

Why the pulse can't be done in GlowBlock.applyPhysics method ?

Laziness. :stuck_out_tongue:

I think it'll solve the problem equally, and comply with physics update asked from bukkit api. Maybe I'm wrong...

Yeah, you're right. I'll fix it in Glowkit.

I don't think Glowkit needs to be modified, adding code to pulse in GlowBlock.applyPhysics method should be sufficient.
Again I can be wrong.

Ok.

Ok, it should fix the problem. I guess just merge it and then we'll test it in the main repo.

OK


How to use set_pin_to_drive with a Tesla for Business owner account?

Hi,
I'm trying to be able to set : set_pin_to_drive for a vehicles that are owned by a Tesla for Business account. If I use an access token from a listed driver => I'm not allowed, not enough privileges.
But the vehicle doesn't have any "owner" tesla account except the Tesla for Business one. If I get an access for that account, it's doesn't have any listed vehicle so set_pin_to_drive return not_found.
So no way to use the set_pin_to_drive in that case?

Please see https://developer.tesla.com/docs/fleet-api#help-and-support.
In order to improve our response times, the scope of the Github issues tracker is limited to the Golang code in the SDK. Backend issues should be reported to the Fleet API support team.


Added video to audio converter g UI

Description
Created a Video to Audio converter with GUI
Fixes #321
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes
[ ] No

Type of change
Please delete options that are not relevant.

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

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works.

@kaustubhgupta @avinashkranjan
Hello,
I'm so sorry for late pull request.
My spring semester began last Sunday and I was so busy and distracted. I'm sorry again.
Thank you

@kaustubhgupta
Sure I'll add it.
Can you tell me when the error appeared ?

@kaustubhgupta
I could not find a way that can keep track of the progress of the function write_audiofile used to create the audio file. So, I created a more like loading bar that keeps running concurrently with save_audio_file function and stops when the function finishes execution.
Can you try the script now and tell me if it is not still running, please ?
It is running on my machine.

@Kushal997-das

Remove the white spaces @amrzaki2000

Ok

@Kushal997-das  Done

@antrikshmisri


Landing Page Redesign

Updating league statistics table, and redesigning page for user friendliness and usefulness.

incorporated this into a different pull request


Fixing XML Validation failure

The generated GPX files was not valid according to the schema. This pull request fixes this. Please review.

Looks good to me, also with creator not being an API property. Please merge if @elemoine agrees and tests pass.

@ahocevar it makes sense for the application developer to be able to change the creator, that's why I suggested to make it an API option.


Sharing is Caring Power App Sample - Watana2

Category

[x] New Sample

What's in this Pull Request?
Power Apps Calendar Component

Thanks for your pull request, @watana2! Welcome to our community!.
Can't wait to see what you'll do next!


RFE: Missing Oracle T10000x drives

Latest Oracle LTFS 1.27 is based on HP's LTFS 2.2.1 & IBM's LTFS <IP_ADDRESS> releases: https://oss.oracle.com/projects/ltfs/files/source/OELS_LTFS_1.2.7_source/
And it supports T10000C and T10000D drives.
T10000E is also included, but it was not released as final product.
hint: look for "ORACLE_BUILD" in the code.
Thanks.

As I said multiple times, I have only IBM drives on my bench. So I hesitate to add the new H/Ws to the list easily.
If someone who can contribute the code or test (mainly test on the real drives), I can work with him.
Please refer https://github.com/LinearTapeFileSystem/ltfs/issues/219 for first Quantum support.

Nobody expects you to do that job personally.
These are references, in case anyone wants to help.
BTW, I also added HP DATxx. And other bug for TANDBERG LTO drives.
Thank you.


mgmt add script to update single-service packages

Consider adding to doc:

sample code to use with premium.
what is the meaning of e.g. package-2020-05 and its relation to service version.


fix(card): change card footer card to div to be semantic

The DSFR's cards footer are div, not paragraph.
Now ButtonsGroup can be added as footer without any semantic html error like "ul should not be inside of p"

Thank you, you are right.
@revolunet was there a perticular reason to use p instead of div here?
Was the doc using p back then?
I can check it myslef, the official documentation isn't versionned...

In December 1st, they were not

https://web.archive.org/web/20221201224253/https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/carte/

GG for diging up WayBackMachine. ^^


[Question] dropping store, external labels are not unique

Thanos, Prometheus and Golang version used
thanos, version 0.2.1-master (branch: master, revision: 1cd9ddd14999d6b074f34a4328e03f7ac3b7c26a)
prometheus, version 2.5.0 (branch: release/20181129-11-33, revision: d44536a0186ff59526f500cd964bbfdb025a8d98)

What happened
I have two Prometheus instances(A, B) and shard by target ip.
I want to add two Prometheus instances*(A', B')* with the same configuration as A,B instance, but with different external labels.
I am confused about how to configure the external labels.
I have tried to configure the external labels of A' as A instance like this:
  external_labels:
    replica: 0

but got warning log  "dropping store, external labels are not unique" from Thanos query.
And I have try add other external labels like this:
  external_labels:
    replica: 0
    cluster: slave

the warning log is disappeared, but when do query like count(up), got the double values. And check the query result, every point have cluster label.
The architecture like this:

What you expected to happen
I want to configure replica Prometheus with Thanos query, but get right values.
I think I want to do HA for Thanos Store.
How to reproduce it (as minimally and precisely as possible):
Full logs to relevant components

Anything else we need to know

Hi @bwplotka, i am facing issues when all my prometheus replicaset use the same configmap. All prometheus replicas have the same externam_labels and Thanos fails with "dropping store, external labels are not unique" error.
Is there any way we can assign unique/dynamic external_labels to each replica ?
I am using this helm chart - https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

Hi @bwplotka @jojohappy, i am facing issues when all my prometheus replicaset use the same configmap. All prometheus replicas have the same external_labels and Thanos fails with "dropping store, external labels are not unique" error.
Is there any way we can assign unique/dynamic external_labels to each replica ?
I am using this helm chart - https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

This feature could let us use env like POD_NAME as external label. https://prometheus.io/docs/prometheus/latest/feature_flags/#expand-environment-variables-in-external-labels

Hi @bwplotka @jojohappy, i am facing issues when all my prometheus replicaset use the same configmap. All prometheus replicas have the same external_labels and Thanos fails with "dropping store, external labels are not unique" error.
Is there any way we can assign unique/dynamic external_labels to each replica ?
I am using this helm chart - https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

This feature could let us use env like POD_NAME as external label. https://prometheus.io/docs/prometheus/latest/feature_flags/#expand-environment-variables-in-external-labels

Thanks for addressing @hanjm, this seems to be a feature in v2.27+, can this be used with version 2.20 ? If not, any alternatives ?

Hi @bwplotka @jojohappy, i am facing issues when all my prometheus replicaset use the same configmap. All prometheus replicas have the same external_labels and Thanos fails with "dropping store, external labels are not unique" error.
Is there any way we can assign unique/dynamic external_labels to each replica ?
I am using this helm chart - https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus

This feature could let us use env like POD_NAME as external label. https://prometheus.io/docs/prometheus/latest/feature_flags/#expand-environment-variables-in-external-labels

Thanks for addressing @hanjm, this seems to be a feature in v2.27+, can this be used with version 2.20 ? If not, any alternatives ?

not. alternate is use confd (with file backend) as sidecar to process prometheus config，confd has getenv template function. https://github.com/kelseyhightower/confd/blob/master/docs/templates.md#getenv


ESP Build for Mac OS Sierra (Qt Dependencies)

Mac OS Sierra (10.12) removes support for the QtKit that's needed by these files (resulting in the error QuickTime/QuickTime.h: file not found). We don't actually need those files for ESP, though, so we should remove them from the openFrameworks project, e.g. by munging the file in setup.sh.

It looks like we can simply remove any line with "ofQt".

Re-opening and updated the title to track Mac OS Sierra build errors.
CMake build fails because in Mac OS Sierra. Error message:
ESP/third-party/openFrameworks/libs/openFrameworks/utils/ofConstants.h:66:14: fatal error: 'TargetConditionals.h' file not found
    #include <TargetConditionals.h>
             ^
1 error generated.


Support String-typed view param for field_expansion

This allows using the field expansion extension even if the view parameter has been defined to be a String instead of a Symbol like the docs say.
Fixes #315

The bug I had seemed to mostly be encountered when the field param was not nil but a valid subset, might be worth reflecting that in the spec.

after further thought, this should be done properly...as in: we should put things in place that detect if a view/fields parameter is defined as a String (instead of a Symbol) and warn the user about it.
The gist would be to make the extension register an after app callback, where it would go through all the resources, match them with controllers, and for the ones that include the extension verify such param definitions to be Symbols.

I wonder if a better solution wouldn't be to just extend the DSL with helpers for defining these system attributes - so something like view_attribute and fields_attribute that would have the correct type and perhaps a nice sensible description.

the problem with that is the exceptionality of it though. they're real attributes so I think it's best to be defined as real ones.
Double checking the validity on boot , with a nice message should fit the bill for the people that aren't reading the docs and use Strings instead of Symbols.

This is an old PR that does not apply in today's new Praxis code


Ensure parallel instancing working

Apart from https://github.com/atsushieno/android-audio-plugin-framework/issues/77, it is important to ensure that AAPs can be instantiated multiple times in parallel and can process audio, to prove that it is really useful.
Current aaphostsample and AudioPluginHost are not eligible to achieve this task because only one plugin can be instantiated by them.
helio_workstation and tracktion_engine would be useful, but neither of them works.

I believe this is covered by this test which is now applied to various plugins. https://github.com/atsushieno/android-audio-plugin-framework/blob/7ab1dc61d2343bafc3f44d5484d083c2493d7c49/java/androidaudioplugin-testing/src/main/java/org/androidaudioplugin/androidaudioplugin/testing/AudioPluginServiceTesting.kt#L21


New system contract first revision

Includes:
staking for bandwith, storage and voting
registering producers and proxies
voting
proxy voting
applying parameters elected by producers
onblock message
inflation and payment to producers
tests

I reviewed this PR (as of commit 5bb8f01) and made some changes. Jenkins seems to be having issues in general right now, so I don't necessarily think it has to do with this PR being bad. It seems we have non-deterministic failures in our tests, because sometimes when I ran ctest on my local machine all tests (including nodeos_run_test-mongodb) passed, and other times nodeos_run_test and/or nodeos_run_test-mongodb failed.


Quetion about image encoder, inorder to reduce the iterations in projector.py

Hi! Thank you for your great work!
I am working on embedding real images to the latent space using the code 'projector.py' recently. I have trained a model of 128128, however, when embedding a specific image to the latent space(12512), it takes almost 80s per image. It's too long for a large dataset.
So I wonder have you trained a model (e.g. resnet50) to encode an image to a latent code which is as close as possible to the final latent code, so that the iterations in projector.py can be reduced from 1000 to 100?

I have tried an encoder based approaches, but currently I don't have the implementation. I think you can use approaches like this: https://github.com/genforce/idinvert


ERROR: Cannot uninstall 'certifi'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

Describe the bug
  Attempting uninstall: certifi
    Found existing installation: certifi 2018.4.16
ERROR: Cannot uninstall 'certifi'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
WARNING: You are using pip version 20.0.2; however, version 20.1.1 is available.
You should consider upgrading via the '/Users/mona/anaconda3/bin/python -m pip install --upgrade pip' command.

To Reproduce
Steps to reproduce the behavior:
pip install label-studio
Environment (please complete the following information):

OS: [OSX 10.15.2]

I'm also getting other errors thought to share
(base) mona@goku:~/research/labstudio$ /Users/mona/anaconda3/bin/python -m pip install --upgrade pip
Collecting pip
  Downloading pip-20.1.1-py2.py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 2.1 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-20.1.1
(base) mona@goku:~/research/labstudio$ pip install label-studio --ignore-installed
Collecting label-studio
  Using cached label_studio-0.6.1-py3-none-any.whl (6.8 MB)
Collecting attrs==19.1.0
  Using cached attrs-19.1.0-py2.py3-none-any.whl (35 kB)
Collecting xmljson==0.2.0
  Using cached xmljson-0.2.0-py2.py3-none-any.whl (14 kB)
Collecting chardet==3.0.4
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting MarkupSafe==1.1.1
  Using cached MarkupSafe-1.1.1-cp36-cp36m-macosx_10_6_intel.whl (18 kB)
Collecting tqdm==4.40.2
  Using cached tqdm-4.40.2-py2.py3-none-any.whl (55 kB)
Collecting pandas>=0.24.0
  Using cached pandas-1.0.3-cp36-cp36m-macosx_10_9_x86_64.whl (10.2 MB)
Collecting Jinja2==2.10.3
  Using cached Jinja2-2.10.3-py2.py3-none-any.whl (125 kB)
Collecting mixpanel==4.4.0
  Using cached mixpanel-4.4.0-py2.py3-none-any.whl (7.4 kB)
Collecting appdirs==1.4.3
  Using cached appdirs-1.4.3-py2.py3-none-any.whl (12 kB)
Collecting srsly==0.2.0
  Using cached srsly-0.2.0-cp36-cp36m-macosx_10_6_intel.whl (278 kB)
Processing /Users/mona/Library/Caches/pip/wheels/37/be/52/56b252d63f6ccbf764d153e9ce51ea5dc6a7aaf62bb81f9e14/rarfile-3.1-py3-none-any.whl
Collecting cymem==2.0.3
  Using cached cymem-2.0.3-cp36-cp36m-macosx_10_6_intel.whl (54 kB)
Collecting urllib3==1.25.7
  Using cached urllib3-1.25.7-py2.py3-none-any.whl (125 kB)
Collecting certifi==2019.11.28
  Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)
Collecting Werkzeug==0.16.0
  Using cached Werkzeug-0.16.0-py2.py3-none-any.whl (327 kB)
Collecting itsdangerous==1.1.0
  Using cached itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
Collecting flask-api>=2.0
  Using cached Flask_API-2.0-py3-none-any.whl (119 kB)
Collecting jsonschema>=3.2.0
  Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Collecting Flask==1.1.1
  Using cached Flask-1.1.1-py2.py3-none-any.whl (94 kB)
Collecting lxml>=4.2.5
  Using cached lxml-4.5.1-cp36-cp36m-macosx_10_9_x86_64.whl (4.5 MB)
Collecting orjson>=2.0.11
  Using cached orjson-3.0.1-cp36-cp36m-macosx_10_7_x86_64.whl (186 kB)
Collecting wasabi==0.4.2
  Using cached wasabi-0.4.2-py3-none-any.whl (20 kB)
Collecting Click==7.0
  Using cached Click-7.0-py2.py3-none-any.whl (81 kB)
Collecting requests==2.22.0
  Using cached requests-2.22.0-py2.py3-none-any.whl (57 kB)
Collecting pytz==2019.3
  Using cached pytz-2019.3-py2.py3-none-any.whl (509 kB)
Processing /Users/mona/Library/Caches/pip/wheels/79/9b/07/8f2c4dc42007b7a81c68c3347dbf08956ed9fe393a6ff38729/rq-1.0-py2.py3-none-any.whl
Collecting blis==0.4.1
  Using cached blis-0.4.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.0 MB)
Collecting six==1.12.0
  Using cached six-1.12.0-py2.py3-none-any.whl (10 kB)
Collecting idna==2.8
  Using cached idna-2.8-py2.py3-none-any.whl (58 kB)
Collecting python-dateutil==2.8.1
  Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting label-studio-converter>=0.0.16
  Using cached label_studio_converter-0.0.16-py3-none-any.whl (7.0 kB)
Collecting numpy==1.17.4
  Using cached numpy-1.17.4-cp36-cp36m-macosx_10_9_x86_64.whl (15.1 MB)
Collecting importlib-metadata; python_version < "3.8"
  Using cached importlib_metadata-1.6.0-py2.py3-none-any.whl (30 kB)
Processing /Users/mona/Library/Caches/pip/wheels/d1/8a/1c/32ab9017418a2c64e4fbaf503c08648bed2f8eb311b869a464/pyrsistent-0.16.0-cp36-cp36m-macosx_10_9_x86_64.whl
Collecting setuptools
  Using cached setuptools-46.4.0-py3-none-any.whl (583 kB)
Collecting redis>=3.0.0
  Using cached redis-3.5.2-py2.py3-none-any.whl (71 kB)
Collecting Pillow==6.2.1
  Using cached Pillow-6.2.1-cp36-cp36m-macosx_10_6_intel.whl (3.9 MB)
Collecting zipp>=0.5
  Using cached zipp-3.1.0-py3-none-any.whl (4.9 kB)
ERROR: pylearn2 0.1.dev0 requires argparse, which is not installed.
ERROR: distributed 1.21.8 requires msgpack, which is not installed.
ERROR: tensorflow 1.11.0 has requirement setuptools<=39.1.0, but you'll have setuptools 46.4.0 which is incompatible.
ERROR: botocore 1.12.41 has requirement urllib3<1.25,>=1.20; python_version >= "3.4", but you'll have urllib3 1.25.7 which is incompatible.
Installing collected packages: attrs, xmljson, chardet, MarkupSafe, tqdm, numpy, pytz, six, python-dateutil, pandas, Jinja2, mixpanel, appdirs, srsly, rarfile, cymem, urllib3, certifi, Werkzeug, itsdangerous, Click, Flask, flask-api, zipp, importlib-metadata, pyrsistent, setuptools, jsonschema, lxml, orjson, wasabi, idna, requests, redis, rq, blis, Pillow, label-studio-converter, label-studio
Successfully installed Click-7.0 Flask-1.1.1 Jinja2-2.10.3 MarkupSafe-1.1.1 Pillow-6.2.1 Werkzeug-0.16.0 appdirs-1.4.3 attrs-19.1.0 blis-0.4.1 certifi-2019.11.28 chardet-3.0.4 cymem-2.0.3 flask-api-2.0 idna-2.8 importlib-metadata-1.6.0 itsdangerous-1.1.0 jsonschema-3.2.0 label-studio-0.6.1 label-studio-converter-0.0.16 lxml-4.5.1 mixpanel-4.4.0 numpy-1.17.4 orjson-3.0.1 pandas-1.0.3 pyrsistent-0.16.0 python-dateutil-2.8.1 pytz-2019.3 rarfile-3.1 redis-3.5.2 requests-2.22.0 rq-1.0 setuptools-46.4.0 six-1.12.0 srsly-0.2.0 tqdm-4.40.2 urllib3-1.25.7 wasabi-0.4.2 xmljson-0.2.0 zipp-3.1.0

You may try to just reuse the existing installation :
pip install label-studio --ignore-installed certifi

@yoginTVL This works.


Remove password from state inspection

Fixes #1718

@magnetised I have a different take on the same issue - https://github.com/electric-sql/electric/pull/1772. IMO, it's better to keep the password obfuscated in memory, makes it more resilient to future code changes where we rename the connection manager module or move the connection logic into a different one. It also works in cases where the Inspect protocol is not used to print the process state, such as the case with :io.format('~p', [...]), for example.


Fail to launch server for fastapi == 0.89.0

Using GraphQLRouter for fastapi version 0.89.0 fails.
This is due to https://github.com/tiangolo/fastapi/issues/5857 .
Describe the Bug
In fastapi 0.89.0, it automatically parses response_class from the router function return type (https://github.com/tiangolo/fastapi/pull/1436).
However, fastapi has a bug (https://github.com/tiangolo/fastapi/issues/5857) which it cannot accept starlette.responses.* classes when it should.
Strawberry-graphql's https://github.com/strawberry-graphql/strawberry/blob/db81482513ecb464f19c9621cae293f7397935e4/strawberry/fastapi/router.py#L164 line defines starlette.responses.Response as return type. Therefore an error is raised.
Maybe remove the return type for now?

BTW, there was a fix and a release in FastAPI to have special handling when the type annotation is a Response, to avoid all the Pydantic validation, etc. So this should now work normally without problems. You probably already noticed, but as I just saw this issue linked from the original PR I wanted to come and comment that here. :nerd_face:


Fix cleanup of AWS-related leftover iptables chains

The poststart-eni.sh script got recently modified to delete both AWS-SNAT and AWS-CONNMARK related chains. Yet, the filter is now a regular expression, and does not return any match with plain grep. Let's fix this by setting the -E (--extended-regexp) flag.

How do you test that this works as expected? From the description it sounds a bit like the other recent change wasn't properly tested if the grep isn't matching.

Good point. I tested it manually, but I'll try to add a check to the E2E tests to make sure we don't regress on that.

Converting back to draft in the meanwhile.


Resovle issue with missing continous tasks

Description

Short description here *

closes #5315
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Code is clear and sufficiently documented
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Processing this pull request

Pull request rejected by merge tool. Failed to parse change entry file: Invalid changelog entry file /tmp/tmpo9jrnsm9/changelogs/unreleased/5211-optional-embedded. Changelog entry files should always end with a .yml extension.

Processing this pull request

Merged into branches master, iso6 in 1b9ffcacc8feec81eecfe2ba8d8b2bc8b108c73e


Countdown Display Between Two Harvests

Scenario:
-Participate in a campaign.
-Validate this link.
-Perform the harvest with this link.
-Attempt to perform the second harvest.
Expected Result:
-A countdown should appear, and it should not be possible to perform a new harvest with the same link until 24 hours have passed since the previous harvest, with the countdown displayed.
Actual Result:
-The countdown does not appear, and access to the harvest page is possible.
2nd harvest.webm

In 'farm-post-card.component.ts':

Made minor changes to calculate 'timeUntilAccepted' based on the provided timestamps.

@Marwa7894  please check now

@waelhanfi04 The countdown timer is increasing instead of decreasing

@Marwa7894  the bug has been fixed

@waelhanfi04 Yes, the issue has been fixed, and I closed it.


Profile program fix

Because of the recent schema change related to programs, the list of user posts on the profile page was not displaying properly. This is now fixed.

LGTM!