Cucumber test results show up before executing against the browser

When I run my Cucumber tests in Protractor, the results of the Cucumber tests show up before the Cucumber steps can interact with the browser.  As you can see in the screen shot, it shows how many scenarios and steps have passed or are pending.  Then you can see the page and REST requests in the log after the Cucumber results.  I would things the results would show up after interacting with the browser.

When callback/next function is called by itself in a step, cucumber will
return result with waiting for protractor finishing executing because it is
executed asynchronously.
On Sunday, January 25, 2015, bailejl<EMAIL_ADDRESS>wrote:

When I run my Cucumber tests in Protractor, the results of the Cucumber
tests show up before the Cucumber steps can interact with the browser. As
you can see in the screen shot, it shows how many scenarios and steps have
passed or are pending. Then you can see the page and REST requests in the
log after the Cucumber results. I would things the results would show up
after interacting with the browser.
[image: screen shot 2015-01-25 at 2 11 52 pm]
https://cloud.githubusercontent.com/assets/2799489/5891704/6cdd157e-a49c-11e4-9c98-3ba2ecbdde23.png
—
Reply to this email directly or view it on GitHub
https://github.com/angular/protractor/issues/1751.

@jlin412 I appreciate the feedback.  Some of the step definitions do just have callbacks, bit others do not.  I assume those would block the execution until the browser is up and they complete.  For review, here is my step definitions.  Any thoughts?
var db = require('../../../../db')
var User = require('../../../../server/models/user')
var bcrypt = require('bcrypt')
var chai = require('chai')
chai.use( require('chai-as-promised'))
var expect = chai.expect

var username = 'user';
var pass = 'pass'

var steps = function() {

    this.Given(/^I have a valid and active account$/, function (callback) {
        db.connection.db.dropDatabase()
        var user = new User({username: username})
        bcrypt.hash(pass, 10, function (err, hash) {
            if (err) {
                return next(err)
            }
            user.password = hash
            user.save(function (err) {
                if (err) {
                    return next(err)
                }
            })
            callback();
        })
    });

    this.Given(/^I am logged out of the system$/, function (callback) {
        browser.get('http://localhost:3001') // click 'login'
        //expect(browser.getCurrentUrl()).toBe('http://localhost:3001');
        //browser.refresh() // click 'login'
        //driver.isElementPresent(by.css('nav .logout')).then(function() {
        //    element(by.css('nav .logout')).click();
        //    callback();
        //});
        expect(element(by.css('nav .logout'))).to.exist;
        callback();
    });

    this.Given(/^I request to authenticate myself$/, function (callback) {
        element(by.css('nav .login')).click() // fill out and submit registration form ' +
        callback();
    });

    this.When(/^I provide my credentials$/, function (callback) {
        element(by.model('username')).sendKeys(username)
        element(by.model('password')).sendKeys(pass)
        element(by.css('form .btn')).click() // submit a new post on the posts page
        callback();
    });

    this.Then(/^I should have access to my account$/, function (callback) {
        // Write code here that turns the phrase above into concrete actions
        callback.pending();
    });

    this.Given(/^I have an invalid account$/, function (callback) {
 //       db.connection.db.dropDatabase()
        callback();
    });

    this.Then(/^I should be denied access to my account$/, function (callback) {
        // Write code here that turns the phrase above into concrete actions
        callback.pending();
    });
};

module.exports = steps;

Here is how I will write your steps:
var db = require('../../../../db')
var User = require('../../../../server/models/user')
var bcrypt = require('bcrypt')
var chai = require('chai')
chai.use( require('chai-as-promised'))
var expect = chai.expect

var username = 'user';
var pass = 'pass'

var steps = function() {

    this.Given(/^I have a valid and active account$/, function (next) {
        db.connection.db.dropDatabase()
        var user = new User({username: username})
        bcrypt.hash(pass, 10, function (err, hash) {
            if (err) {
                return next(err)
            }
            user.password = hash
            user.save(function (err) {
                if (err) {
                    return next(err)
                }
            }).then(next)
        })
    });

    this.Given(/^I am logged out of the system$/, function (next) {
        browser.get('http://localhost:3001') // click 'login'
        //expect(browser.getCurrentUrl()).toBe('http://localhost:3001');
        //browser.refresh() // click 'login'
        //driver.isElementPresent(by.css('nav .logout')).then(function() {
        //    element(by.css('nav .logout')).click();
        //    callback();
        //});
        expect(element(by.css('nav .logout')).isPresent()).to.eventually.be.true.and.notify(next);
    });

    this.Given(/^I request to authenticate myself$/, function (next) {
        element(by.css('nav .login')).click().then(next); // fill out and submit registration form ' +
    });

    this.When(/^I provide my credentials$/, function (next) {
        element(by.model('username')).sendKeys(username)
        element(by.model('password')).sendKeys(pass)
        element(by.css('form .btn')).click().then(next) // submit a new post on the posts page
    });

    this.Then(/^I should have access to my account$/, function (next) {
        // Write code here that turns the phrase above into concrete actions
        next.pending();
    });

    this.Given(/^I have an invalid account$/, function (next) {
 //       db.connection.db.dropDatabase()
        next.pending();
    });

    this.Then(/^I should be denied access to my account$/, function (next) {
        // Write code here that turns the phrase above into concrete actions
        next.pending();
    });
};

module.exports = steps;

Only thing that I am not sure is first step to create db.  If use.save() does not return a promise, then you need to queue up with browser.executeAsyncScript();
I hope that it help you with understanding.

@jlin412 that solved my problem!  I really appreciate the help.
Thanks,
Joe

Sounds like this is fixed! Closing.


Feature/spark init

Fix #74

@jafreck,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


How do I boot Windows XP?

I have an ISO but can't get it to boot.

See https://github.com/copy/v86/issues/243


Added key.ignoreEvent

The default behavior is still to ignore events from <input>s, <select>s, and <textarea>s, but that can be changed by setting window.key.ignoreEvent to a different function.

@madrobby ping


[BUG] Weird graphic behavior.

Hi guys, thanks for your effort! :3
When I try to play from my laptop with intel integrated graphics (intel 620) I see this:

It's interesting because the glitch will be throughout the game, but if I set it to full screen then it works fine.
This has been present in the last versions (three or two releases, I don't remember :c).  With older versions it does not fail, neither with SM 5.2, 5.1 etc...
I have:
Windows 20H2
Core i5 7th
Intel HD 620
Dual monitor.

This is actually an intel driver bug, with the fact we have a new presentation window. I'd need to see a log to confirm, however it's usually fixed with a driver update. or swapping renderer. You likely wouldn't have seen it on previous versions as they defaulted to directx, not opengl, which is our default.

Ohh wow, I understand. Okay I'll check.


Feature request: use padded_batch with tf.estimator.export.build_parsing_serving_input_receiver_fn

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS 10.12.6
TensorFlow installed from (source or binary): I forget
TensorFlow version (use command below): 1.4
Python version: 2.7.8
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory:
Exact command to reproduce:

Describe the problem
As far as I can tell, tf.estimator.export.build_parsing_serving_input_receiver_fn() doesn't allow you to control the way examples are batched. So if I have an Estimator that I've trained by using Dataset.padded_batch() in the input_fn, there doesn't seem to be a way for me to use that model with TensorFlow Serving.
Source code / logs
N/A?

Whenever there's pre-processing work to be done like embedding variable-length features, is that usually done by pre-processing the data before sending a predict request to TensorFlow Serving / Cloud ML Engine?
I filed this issue with the expectation that there should be some way to write a graph whose input is a batch of tf.strings (variable-length), but maybe that's not how it's meant to be done?
Also, I'm not sure what tensorflower is, but is it coming soon? :)

@sukritiramesh FYI
Serving will accept requests with any batch size and return results according to what the graph returns. Often, you will feed single examples, but there's no restriction on this.
build_parsing_serving_input_receiver_fn however is a utility for the most common case, and it does not give you control over batching. You'll have to write your own function returning a ServingInputReceiver to do that.

I accidentally came across more information that I'm including here for posterity:
tensorflow_model_server accepts a BatchingParameters proto with a bool pad_variable_length_inputs parameter that might emulate Dataset.padded_batch() well enough. And if not, there's a Int64Value max_batch_size parameter that might disable batching if set to 1.
Using SavedModel with Estimators has more information about when/how to use build_parsing_serving_input_receiver_fn or write your own ServingInputReceiver.


Direct contributors to the current CONTRIBUTING.md

fixes # no issue logged, this is a simple spot suggestion

[X] I have read the Contribution Guidelines
[ ] I have commented on the issue above and discussed the intended changes
[ ] A maintainer has signed off on the changes and the issue was assigned to me
[ ] All newly added code is adequately covered by tests
[ ] All existing tests are still running without errors
[X] The documentation was modified to reflect the changes OR no documentation changes are required.

Changes
The current PR template contains a link to CONTRIBUTING.md. However, when clicking on it, Github redirects to a 404:

In short, the URL is missing /blob/main. This PR fixes the issue, and so contributors don't have to look too deeply.

Merged! Thank you for your contribution. Much appreciated! 👍


[feat] adding gssoc fest logo & update the readme

implementing gssoc fest logo will enhance the repo & modified the readme file pls assign me under gssoc

@Maheshwari-Love bro done this see pr #100


Layer list table

Coverage increased (+0.0004%) to 68.59% when pulling eb8cd9eb3de67986508f6a88dd5fa0e704ab79d1 on layer-list-table into 93df63c049f319ff16c2be50b568d322deed20d4 on master.


Unable to inject data from postgresql to druid (deployed using helm)

I deployed druid using helm from repository using commands from https://github.com/apache/druid/tree/master/helm/druid and got it deployed successfully but when I created a task with following spec
{
  "type": "index_parallel",
  "id": "sairam_testing_postgresql_100",
  "spec": {
    "dataSchema": {
      "dataSource": "test-ingestion-postgresql-100",
      "timestampSpec": {
        "format": "iso",
        "column": "created_at"
      },
      "dimensionsSpec": {
        "dimensions": [
          "xcall_id","app_id"
        ]
      }
    },
    "ioConfig": {
      "type": "index_parallel",
      "inputSource": {
        "type": "sql",
        "database": {
          "type": "postgresql",
          "connectorConfig": {
            "connectURI": "jdbc:postgresql://<IP_ADDRESS>:5432/mhere_trans",
            "user": "postgres@jiovishwam-frp-att-prod-mhere-trans-psql-db-1",
            "password": "lFRWncdXG4Po0e"
          }
        },
        "sqls": [
          "SELECT xcall_id ,app_id,created_at FROM transactions limit 10"
        ]
      }
    },
    "maxNumConcurrentSubTasks": 2,
    "tuningConfig": {
      "type": "index_parallel",
      "partitionsSpec": {
        "type": "dynamic"
      }
    }
  }
}

it is throwing error
Failed to submit task: Cannot construct instance of org.apache.druid.firehose.PostgresqlFirehoseDatabaseConnector, problem: java.lang.ClassNotFoundException: org.postgresql.Driver at [Source: (org.eclipse.jetty.server.HttpInputOverHTTP); line: 1, column: 969] (through reference chain: org.apache.druid.indexing.common.task.batch.parallel.ParallelIndexSupervisorTask["spec"]->org.apache.druid.indexing.common.task.batch.parallel.ParallelIndexIngestionSpec["ioConfig"]->org.apache.druid.indexing.common.task.batch.parallel.ParallelIndexIOConfig["inputSource"]->org.apache.druid.metadata.input.SqlInputSource["database"])
NOTE: I did try using quickstart and found similar issue (got fixed by manually adding postgresql jar file to lib directory ) but not sure how to handle this when the druid is deployed using helm charts  on production.

@sairamdevarashetty Already an older issue but i have the same problem. You found any solution for this?

Same problem for me, any news?
My setup is just running the sample docker-compose.yml (image: apache/druid:30.0.0) and environment same as in this github project.
The extension list contains the postgres related extension:
druid_extensions_loadList=["druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "postgresql-metadata-storage", "druid-multi-stage-query", "druid-kafka-indexing-service"]
Yet the application complains about missing org.postgresql.Driver when I try to create a PostgreSQL task


Documentation for harvesters

A new chapter dedicated to the Harvester will replace the current one for Remote Services.
The docs must explain:

general functionalities of the harvester
functionalities of the specific harvesters (GeoNode, WMS, ArcGIS)
configuration of the harvesters

Documentation has been submitted and merged and is live at:
https://docs.geonode.org/en/master/intermediate/harvesting/index.html
I think we can close this issue


Add rust-iml-cli as manager req

Signed-off-by: Joe Grund<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1076   +/-   ##
=======================================
  Coverage   72.27%   72.27%
=======================================
  Files           3        3
  Lines         202      202
=======================================
  Hits          146      146
  Misses         56       56

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 6147fc2...365cd4f. Read the comment docs.


Make tf_determinism.patch() handle tf>=2.1 as well

Hi @duncanriach,
I was wondering if it would not make sense for tf_determinism.patch() to handle tensorflow>=2.2 as well.
My viewpoint is this: maybe the interface that would be easiest to grasp for this package could be that it renders the current version of tensorflow deterministic (as deterministic as possible) on GPU's if there is any hope to do so (tensorflow >=1.14).
Following that logic, for recent tf versions (>=2.1) the following implementation of patch would make sense:
def patch():
    ...
    os.environ["TF_DETERMINISTIC_OPS"] = "1"

Otherwise, it forces users that want to support multiple versions of tf2 to write code of the sort:
import tensorflow
from tensorflow_determinism import patch
try:
    patch()
except TypeError:  # tf>= 2.2
    os.environ["TF_DETERMINISTIC_OPS"] = "1"

vs
import tensorflow
from tensorflow-determinism import patch
# only gives an error for tf <= 1.13 for which it is not possible to be deterministic on GPU's
patch()

which covers tensorflow >=1.14 fine. I understand the need to complain in certain scenarios (tensorflow < 1.14) but I feel that supporting more recent versions would be worthwhile and easier on users.
What do you think?

This is a great point, and I agree with you. I've been wanting to do this for a while. However, I decided that patch should actually just patch, because that's the historically expected functionality.
I've been planning to add another function called enable_determinism that patches if necessary and sets any state for stock TensorFlow that might be necessary, such as setting TF_DETERMINISTIC_OPS or tf.config.experimental.deterministic_ops. Also, if given a seed, it can set the various seeds.
The reason I want to do it like this is because enabling determinism often doesn't involve patching.
I've been planning to do this for a while, but I just keep getting side-tracked into other, seemingly more urgent, issues. Perhaps this should be prioritized to go into version 0.4 along with the fused softmax/cross-entropy patch that you're working on.
I would prefer that someone using this package can just call tfdeterminism.enable_determinism() and never have to think about it again.

... and, while reviewing your PR, I notice that there is a wrinkle in this argument in that the current patch function sets TF_CUDNN_DETERMINISTIC=1 to select the deterministic cuDNN functionality. So, before TensorFlow 2.1 (which TF_DETERMINISTIC_OPS was released), patch did do everything necessary, as far as ops were concerned, to make the TensorFlow operate deterministically.
I'm thinking it might make most sense to deprecate patch completely as part of the API. Up until stock TensorFlow version 2.0, it will function as it currently does, but with a printed deprecation warning (recommending a switch to enable_determinism). Then in any other version of TensorFlow, it will throw an exception (as it currently does) and inform the user to use enable_determinism.
I'll try to scaffold this for you so that your PR changes can be leveraged in the context of enable_determinism ...

Also, take a look at this comment on an earlier issue.

Closing this as per your points, enable_determinism is a perfect solution to what I outlined above.


Added "dependencies" in label.json

Fixes #17
Proposed Changes
The labels.yml action deletes the dependencies label, that dependabot puts on there.
So, added this label name, and it's associated colour in the labels.json file !

Sorry for my slow response


Fix for (beginner) issue #3272.

Contains
My attempt at fixing issue #3272 .
I added a select(0) method to the SelectGameScreen class. It now selects the first saved game(if it exists).
There's no need to verify if index 0 is valid, since index checking is already performed in the select() method.
How to test

Launch Terasology and create a saved world.
Go to the SelectGame screen from either 'Singleplayer' or 'Host Game' options in the main menu.
The first entry in the list is selected by default.

Can one of the admins please verify this patch?

Nice! Thanks for adding this. Seems like a small enough change :-)
@GooeyHub: add to whitelist

Hooray Jenkins reported success with all tests good!


chore: bdd-spring-1572996972 to 0.0.1

chore: Promote bdd-spring-1572996972 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Add year of publication to integrated data

Currently we keep the year of publication in the local data graphs. During the creation of the corpus Excel we query the year of publication of each data source and combine it with Python in a postprocessing step (and also indicate mismatches).
This combined data should be fed back to the database such that we can do analytical queries over our data.

Solved in commit https://github.com/kbrbe/beltrans-data-integration/commit/5d6bacec5d41b09507c6f51ac46626b17230e205)


Editor ignores 'run/window_placement/screen' setting when 'prefer_wayland' is enabled

Tested versions
Reproducible in 4.3 dev 3
System information
Godot v4.3.dev3 - Arch Linux #1 SMP PREEMPT_DYNAMIC Mon, 05 Feb 2024 22:07:49 +0000 - Wayland - GLES3 (Compatibility) - AMD Radeon RX 6600 (radeonsi, navi23, LLVM 16.0.6, DRM 3.57, 6.7.4-arch1-1) () - AMD Ryzen 7 5700G with Radeon Graphics (16 Threads)
Issue description
Godot always runs the project on screen 1 instead of screen 2 regardless of window placement setting. If the editor is on screen 2, the project still always launches on screen 1.
Steps to reproduce

Create new project
Create empty node as scene root
Change window placement setting to 'next screen' or 'screen 2'
Run project

Minimal reproduction project (MRP)
N/A

cc @Riteo

I just figured out a workaround for this. Change the window_placement/rect setting to 'custom position' then match the x value to the size of your main monitor e.g. 1920 for a 1080p monitor. Use -1920 if you want the window to show up on the next screen to the left.

Gotcha well that method at least works for me with kwin. I just like being able to tweak stuff in the editor with the game up on my other screen.

Right the game launches with Xwayland but the editor itself keeps using Wayland.

I found this ticket because I was experiencing the same issue: Wayland ignoring the Same as Editor screen selection.
However, I found an option that does work for me: Primary screen.
Maybe this can help you/someone. :)


Use SHA512 for Debian signing

SHA1 is being removed, and is already broken on Ubuntu 16.04:
https://wiki.debian.org/Teams/Apt/Sha1Removal
Fixes #295
Needs backporting to 2-1-stable

As long as the SHA 512 ones still work on older Ubuntus, 🚀
If you didn't check, I can for you?

Yeah, I have done zero testing on this…

Testing on old ubuntu now..


How to get metrics from outgoing requests per route whe using ochttp.Transpor?

Please answer these questions before submitting a bug report.
What version of OpenCensus are you using?
0.18.0
What version of Go are you using?
1.12.5
What did you do?
Created an HTTP client using ochttp.Transport:
&http.Client{
    Transport: &ochttp.Transport{
        Propagation: &b3.HTTPFormat{},
    },
}

What did you expect to see?
Stats about outgoing requests per route, such as:
opencensus_io_http_client_roundtrip_latency_bucket{http_client_method="GET",http_client_status="200",le="500", ---> http_server_route="/users/{UsersID}" <--- } 265
opencensus_io_http_client_roundtrip_latency_sum{http_client_method="GET",http_client_status="200", ---> http_server_route="/users/{UsersID}" <--- } 39628.590544999955
opencensus_io_http_client_roundtrip_latency_count{http_client_method="GET",http_client_status="200", ---> http_server_route="/users/{UsersID}" <--- } 278

What did you see instead?
The stats for the roundtrip (which I'm assuming are coming from ochttp.Transport:
opencensus_io_http_client_roundtrip_latency_bucket{http_client_method="GET",http_client_status="200",le="500"} 265
opencensus_io_http_client_roundtrip_latency_sum{http_client_method="GET",http_client_status="200"} 39628.590544999955
opencensus_io_http_client_roundtrip_latency_count{http_client_method="GET",http_client_status="200"} 278

Right now the ochttp.DefaultClientViews don't export the path in the metric view. You can add it by doing something similar to this.
var (
	ClientRoundtripLatencyDistribution = &view.View{
		Name:        "opencensus.io/http/client/roundtrip_latency",
		Measure:     ochttp.ClientRoundtripLatency,
		Aggregation: ochttp.DefaultLatencyDistribution,
		Description: "End-to-end latency, by HTTP method and response status",
		TagKeys:     []tag.Key{ochttp.KeyClientMethod, ochttp.KeyClientHost, ochttp.KeyClientPath, ochttp.KeyClientStatus},
	}

	ClientCompletedCount = &view.View{
		Name:        "opencensus.io/net/http/client/completed_count",
		Measure:     ochttp.ClientRoundtripLatency,
		Aggregation: view.Count(),
		Description: "Count of completed requests, by HTTP method and response status",
		TagKeys:     []tag.Key{ochttp.KeyClientMethod, ochttp.KeyClientHost, ochttp.KeyClientPath, ochttp.KeyClientStatus},
	}

	DefaultHttpClientViews = []*view.View{ClientCompletedCount, ClientRoundtripLatencyDistribution}
)

What im trying to investigate right now is how to understand if req.URL.Path then replace it somehow... has anyone else found a solution to not having the metrics be super granular?
opencensus_io_http_client_roundtrip_latency_bucket{http_client_method="GET",http_client_status="200",le="500", http_client_path="/users/42112f64-b2b0-4188-a429-2c292bc2d916" <--- } 265

If you use something like Gorilla mux for your client routes you can use named routes logic.
An example adjusting OC span names to these routes can be found here:
https://github.com/basvanbeek/opencensus-gorilla_mux-example/blob/master/client/main.go
You can probably use this as basis for metrics tagging.


Possible Country Array does not reset after clicking 'restart'

The possibleCountry array that stores the possible countries does not refresh after clicking 'restart' at the end of the game. This bug causes previous 'ok' countries to stay in the array, this can lead to misleading advising.

Possible fix = possibleCountries.length = 0.


Extremely slow repetitive regexing from the new QueryLogger

All coming from here: https://github.com/launchbadge/sqlx/commit/7bc3133f70b63cb177927b03c3c9b745d6aa5a29#diff-eb0cd75f4616762e6091c0588db07a75
I'm seeing an execution that runs many times (graphql resolver that resolves on thousands of its children) throttled at 100% . It spends all that time regexing through the SQL I've passed it in QueryLogger. This used to be quite fast as it would simply do a cache check on a prepared statement against the connection, and if it did, execute (or prepare a new one) and never needed to read into the query itself.
Here's a simplified callstack from lldb, where I've tried to reduce the noise and remove any internal-eyes-only sql:
 thread #3, name = 'actix-rt:worker:0'
    frame #0: 0x000000010ad819fa clausehound`regex::backtrack::usize_to_u32::hdf907051fdf3a146(n=4) at backtrack.rs:287:5
    frame #1: 0x000000010ad818da clausehound`regex::backtrack::Bounded$LT$I$GT$::has_visited::hf8af1293bf08fe70(self=0x000070000a51ecc0, ip=1225, at=InputAt @ 0x000070000a51e838) at backtrack.rs:273:18
    frame #2: 0x000000010ad806a5 clausehound`regex::backtrack::Bounded$LT$I$GT$::step::hbc37ff202a0f4eb5(self=0x000070000a51ecc0, ip=1225, at=InputAt @ 0x000070000a51eaa0) at backtrack.rs:205:16
    frame #3: 0x000000010ad80550 clausehound`regex::backtrack::Bounded$LT$I$GT$::backtrack::hee64c3ce72ad992c(self=0x000070000a51ecc0, start=<unavailable>) at backtrack.rs:178:24
    frame #4: 0x000000010ad7fb3a clausehound`regex::backtrack::Bounded$LT$I$GT$::exec_::h230596d2910ee547(self=0x000070000a51ecc0, at=InputAt @ 0x000070000a51ed00, end=241) at backtrack.rs:145:55
    frame #5: 0x000000010ad7f05a clausehound`regex::backtrack::Bounded$LT$I$GT$::exec::h473fc42d6ce15005(prog=0x00007fb009800420, cache=0x00007fb007f13f70, matches=&mut [bool] @ 0x000070000a51ed30, slots=(data_ptr = 0x00007fb007c10880, length = 6), input=CharInput @ 0x000070000a51ec88, start=0, end=241) at backtrack.rs:103:9
    frame #6: 0x000000010adaf3d8 clausehound`regex::exec::ExecNoSync::exec_backtrack::h97e8f52e94e02b47(self=0x000070000a529430, matches=&mut [bool] @ 0x000070000a51ee68, slots=(data_ptr = 0x00007fb007c10880, length = 6), text=(data_ptr = "XXXSQLXXX", length = 241), start=0, end=241) at exec.rs:1119:13
    frame #7: 0x000000010adaeea0 clausehound`regex::exec::ExecNoSync::exec_nfa::h0cfe7711f7d7040a(self=0x000070000a529430, ty=Backtrack, matches=&mut [bool] @ 0x000070000a51ef68, slots=(data_ptr = 0x00007fb007c10880, length = 6), quit_after_match=false, quit_after_match_with_pos=false, text=(data_ptr = "XXXSQLXXX", length = 241), start=0, end=241) at exec.rs:1060:13
    frame #8: 0x000000010adaeb3a clausehound`regex::exec::ExecNoSync::captures_nfa_type::ha869baee80db827c(self=0x000070000a529430, ty=Auto, slots=(data_ptr = 0x00007fb007c10880, length = 6), text=(data_ptr = "XXXSQLXXX, length = 241), start=0, end=241) at exec.rs:1009:12

## ..... a bunch more Regex::captures

    frame #15: 0x000000010a5eaf83 clausehound`sqlformat::tokenizer::get_plain_reserved_token::he762e95704837ba6(input=(data_ptr = "XXXSQLXXX, length = 241)) at tokenizer.rs:212:5
    frame #16: 0x000000010a5eae02 clausehound`sqlformat::tokenizer::get_reserved_word_token::_$u7b$$u7b$closure$u7d$$u7d$::h37054d6b1e5ddfaf at tokenizer.rs:188:21
    frame #17: 0x000000010a607714 clausehound`core::option::Option$LT$T$GT$::or_else::h134d84f62f07b282(self=Option<sqlformat::tokenizer::Token> @ 0x000070000a529838, f=closure-2 @ 0x000070000a5297d8) at option.rs:766:21
    frame #18: 0x000000010a5ead77 clausehound`sqlformat::tokenizer::get_reserved_word_token::hf9734b5ed74bca49(input=(data_ptr = "XXXXXSQL", length = 241), previous_token=Option<&sqlformat::tokenizer::Token> @ 0x000070000a529830) at tokenizer.rs:185:5
    frame #19: 0x000000010a5e9c2c clausehound`sqlformat::tokenizer::get_next_token::_$u7b$$u7b$closure$u7d$$u7d$::hd7a15da3554e8455 at tokenizer.rs:79:21
    frame #20: 0x000000010a607fe0 clausehound`core::option::Option$LT$T$GT$::or_else::hd328e8464ce36f66(self=Option<sqlformat::tokenizer::Token> @ 0x000070000a529a88, f=closure-6 @ 0x000070000a529980) at option.rs:766:21
    frame #21: 0x000000010a5e9a3b clausehound`sqlformat::tokenizer::get_next_token::heea5162f560d3da9(input=(data_ptr = "XXXXXSQL", length = 241), previous_token=Option<&sqlformat::tokenizer::Token> @ 0x000070000a5299d8) at tokenizer.rs:72:5
    frame #22: 0x000000010a5e9558 clausehound`sqlformat::tokenizer::tokenize::haf06a858d053e60b(input=(data_ptr = "XXXXXSQL", length = 241)) at tokenizer.rs:12:22
    frame #23: 0x000000010a609d3e clausehound`sqlformat::format::h4a39c243e774c1e6(query=(data_ptr = "XXXXXSQL, length = 311), params=0x000000010b017050, options=(indent = sqlformat::Indent @ 0x000070000a529e80, uppercase = false, lines_between_queries = '\x01')) at lib.rs:15:18
    frame #24: 0x000000010a5672eb clausehound`sqlx_core::logger::QueryLogger::finish::hd9f9434d6a799964(self=0x00007fb009093fe0) at logger.rs:41:21
    frame #25: 0x000000010a567761 clausehound`_$LT$sqlx_core..logger..QueryLogger$u20$as$u20$core..ops..drop..Drop$GT$::drop::he09628e261f4cd86(self=0x00007fb009093fe0) at logger.rs:70:9
    frame #26: 0x000000010a5cb2c1 clausehound`core::ptr::drop_in_place::h0ec659c352390567((null)=0x00007fb009093fe0) at mod.rs:177:1
    frame #27: 0x000000010a5cd699 clausehound`core::ptr::drop_in_place::h46c9c821341507f9 at async_stream.rs:71:9
    frame #28: 0x000000010a5caff1 clausehound`core::ptr::drop_in_place::h053074e64eb2d435((null)=0x00007fb009093f68) at mod.rs:177:1
    frame #29: 0x000000010a5cf5a9 clausehound`core::ptr::drop_in_place::h8b42d23ca82add9a at async_stream.rs:28:33
    frame #30: 0x000000010a5d24a1 clausehound`core::ptr::drop_in_place::hdab8fe07eb2a2c7e((null)=0x00007fb009093c00) at mod.rs:177:1
    frame #31: 0x000000010a5cec01 clausehound`core::ptr::drop_in_place::h6e6ced6195372bbc((null)=0x00007fb009093c00) at mod.rs:177:1
    frame #32: 0x000000010a5ce9b1 clausehound`core::ptr::drop_in_place::h6cb48ac7c1601a22((null)=0x00007fb009093c00) at mod.rs:177:1
    frame #33: 0x000000010a5ce39f clausehound`core::ptr::drop_in_place::h5f6a3dfe4f33b527((null)=0x00007fb007d26858) at mod.rs:177:1
    frame #34: 0x000000010a5d2b91 clausehound`core::ptr::drop_in_place::hecf2308d5edf9470((null)=0x00007fb007d26858) at mod.rs:177:1
    frame #35: 0x000000010a5d334e clausehound`core::ptr::drop_in_place::hf642a7d0cc209dc4((null)=0x00007fb007d26850) at mod.rs:177:1
    frame #36: 0x000000010a5cc30b clausehound`core::ptr::drop_in_place::h29b1a0c6f7831645((null)=0x00007fb00908b9e8) at mod.rs:177:1
    frame #37: 0x000000010a5ce9d1 clausehound`core::ptr::drop_in_place::h6cbe51a0d5d8a1aa((null)=0x00007fb00908b9e8) at mod.rs:177:1
    frame #38: 0x000000010a11487b clausehound`core::ptr::drop_in_place::hc85beac201e8602b at async_stream.rs:71:9
    frame #39: 0x000000010a1041e1 clausehound`core::ptr::drop_in_place::h88e0e36d05fd5962((null)=0x00007fb00908b970) at mod.rs:177:1
    frame #40: 0x000000010a121399 clausehound`core::ptr::drop_in_place::hfbcede085ec486cc at async_stream.rs:28:44
    frame #41: 0x000000010a106f01 clausehound`core::ptr::drop_in_place::h94899048937e44d3((null)=0x00007fb00908b600) at mod.rs:177:1
    frame #42: 0x000000010a121dd1 clausehound`core::ptr::drop_in_place::hfd19355a22e27521((null)=0x00007fb00908b600) at mod.rs:177:1
    frame #43: 0x000000010a0fa081 clausehound`core::ptr::drop_in_place::h662773a8b5a00cd7((null)=0x00007fb00908b600) at mod.rs:177:1
    frame #44: 0x000000010a5ce39f clausehound`core::ptr::drop_in_place::h5f6a3dfe4f33b527((null)=0x00007fb007d148f8) at mod.rs:177:1
    frame #45: 0x000000010a5d2b91 clausehound`core::ptr::drop_in_place::hecf2308d5edf9470((null)=0x00007fb007d148f8) at mod.rs:177:1
    frame #46: 0x000000010a5d334e clausehound`core::ptr::drop_in_place::hf642a7d0cc209dc4((null)=0x00007fb007d148f0) at mod.rs:177:1
    frame #47: 0x000000010a5d14bf clausehound`core::ptr::drop_in_place::hc85774b31faf7854((null)=0x00007fb007d1d1e0) at mod.rs:177:1
    frame #48: 0x000000010a5cf0c1 clausehound`core::ptr::drop_in_place::h7a4a3bfda5533806((null)=0x00007fb007d1d1e0) at mod.rs:177:1
    frame #49: 0x000000010a1d65ed clausehound`sqlx_core::mysql::connection::executor::_$LT$impl$u20$sqlx_core..executor..Executor$u20$for$u20$$RF$mut$u20$sqlx_core..mysql..connection..MySqlConnection$GT$::fetch_optional::_$u7b$$u7b$closure$u7d$$u7d$::h803ff86c56fe07fe((null)=ResumeTy @ 0x000070000a52e7b8) at executor.rs:255:9

## a bunch of futures-polling frames...

### finally, my function
    frame #54: 0x0000000109e7a150 clausehound`_$LT$clausehound..models..framework..Framework$u20$as$u20$clausehound..models..base..Fetch$GT$::fetch::__fetch::_$u7b$$u7b$closure$u7d$$u7d$::hd4129b2b7f99f3a9((null)=ResumeTy @ 0x000070000a52fe60) at framework.rs:15:24

Being able to turn off that QueryLogger and not pay the hard cost of its ::new would be great, but at very least caching that SQL string into a hashmap would speed things up a ton so it wouldn't have to regex it literally millions of times.
Hitting this using the mysql driver, on 0.4.0-beta.1

For anyone hitting this, you can work around it easily by adjusting the RUST_LOG setting for this crate to error or lower. I'd still like to get warnings though.
I wonder now if SQL parsing for whitespace is too heavy an action to do on every Drop in the execute. Personally I'd be fine leaving it off, especially since an unformatted sql string might give me some hints useful for debugging, and I'd rather pay the cost of formatting eg on my laptop when I'm reading the log, than at runtime

cc @shssoichiro

Acknowledging that my eyes are on this. Still looking into what could be causing this, it seems out of the ordinary.

@jkoudys Would you happen to have an example of a query that is triggering this behavior? I'm running through the benchmarks that exist in sqlformat, and the existing ones perform well. However, if I benchmark the example from #651, which is significantly long (insert 10000 rows), the time increase does seem somewhat exponential. So, I am trying to determine if there is some commonality between the queries, or if it is only the length of the query that is causing issue.

I've run into this issue as well. @jkoudys how did y'all turn off logging for just sqlx?

@c1wren see https://rust-lang-nursery.github.io/rust-cookbook/development_tools/debugging/config_log.html
You can do it in code, though we use the env var because it's easier to config staging and prod envs that way. Anything more severe than a WARN will suppress it entirely. Personally I'd like to have warn logging on in production, because the same best-practices that prevent sql-injection also keep confidential info out of the prepared statements it logs, but if I'm getting a warning because the queries are going slowly, the slow regexing from this compounds with that and turns a few seconds of delay into a server hang.

@jkoudys I spent some extra time digging into the problem and due to how the logging was implemented here, you can't have ANY of the log levels for any part be less than error or the slow part of the code will still get run even though it isn't getting logged.
https://github.com/launchbadge/sqlx/blob/2e1658e08b053f66102b5beabc7fdd4ac28e3a48/sqlx-core/src/logger.rs#L34 controls if the super slow code gets run BUT
https://github.com/launchbadge/sqlx/blob/2e1658e08b053f66102b5beabc7fdd4ac28e3a48/sqlx-core/src/logger.rs#L60 controls if it actually gets logged though, which is a design flaw.
So it is possible to have it not logged but the slow code will still get run.

Ah I see. I was using that line 34 to simply set the max level above warn, but yeah I see the ::format happens regardless of the log level, so long as the max level is at least warning.

https://github.com/shssoichiro/sqlformat-rs/pull/2 improves average case performance by 50%, including for this query. The query in #651 improves by 17% but still has some other issue occurring. I'll continue to investigate that and release a patch version of sqlformat after finding a fix for that query.

I think in order to get any more significant gains, I'll have to rewrite sqlformat's tokenizer to use nom instead of regex. So I'll publish a patch version for now with the gains that are in place.

With the release of sqlformat 0.1.2, the runtime for this pathological query has been reduced by 90%, from 100ms to 10ms. Runtime for all queries has improved across the board by about 25% as well.

Current latest sqlx version (0.4.2) ships sqlformat 0.1.5 (which presumably includes the perf improvements from 0.1.2), but I still observe a very slow query logging.
For query
insert into test_table(a) values (?), (?), ...1000 more times (?) it takes around 734ms to finish the query.execute execution with the logging on.
If I disable the logging, the speed drops down to 5ms for the same query.

I wrote up a new benchmark for the query you mentioned, @SomeoneToIgnore, and got consistent results of 3ms to format the query. It's interesting that you're seeing such different results.

https://github.com/SomeoneToIgnore/sqlx-large-queries-print
Here's my repro on the freshmost sqlx.

Interesting, I ran the repo you posted and although I do see about 3-5x performance improvements, it's certainly not the 100x difference mentioned. I'm getting around 13-15ms per query with logging enabled and 3-5ms per query with logging disabled. It would seem really odd for this to be caused by some sort of machine difference, since sqlformat doesn't have to hit the disk or anything of that sort...

Interesting, I ran the repo you posted and although I do see about 3-5x performance improvements, it's certainly not the 100x difference mentioned. I'm getting around 13-15ms per query with logging enabled and 3-5ms per query with logging disabled. It would seem really odd for this to be caused by some sort of machine difference, since sqlformat doesn't have to hit the disk or anything of that sort...

My bad, I've used debug build and did not mention it.
Rechecked, on my machine, release with query logging produces 16-20ms per insert for 1000 items, but starts to grow when I insert more:
1 column,

1000 items: 16-20ms
2000 items: 48-50ms
3000 items: 96-106ms

3000 items with 1 column are inserted in 5-8ms for me when I disabled the sql logging.
If I increase the number of columns to 3 and rerun the release built tests, it gets way worse:
3 columns,

1000 items: ~70ms
2000 items: ~250ms
3000 items: ~520ms

3000 items with 3 columns are inserted in ~10ms (with the first query being slow, ~30ms) for me when I disabled the sql logging.
===
IMO there's something fishy here still, you just have to be curious a bit and fiddle with the numbers to receive peculiar performance results.

My bad, I've used debug build and did not mention it.
Rechecked, on my machine, release with query logging produces 16-20ms per insert for 1000 items, but starts to grow when I insert more:
1 column,

1000 items: 16-20ms
2000 items: 48-50ms
3000 items: 96-106ms

3000 items with 1 column are inserted in 5-8ms for me when I disabled the sql logging.
If I increase the number of columns to 3 and rerun the release built tests, it gets way worse:
3 columns,

1000 items: ~70ms
2000 items: ~250ms
3000 items: ~520ms

3000 items with 3 columns are inserted in ~10ms (with the first query being slow, ~30ms) for me when I disabled the sql logging.
===
IMO there's something fishy here still, you just have to be curious a bit and fiddle with the numbers to receive peculiar performance results.

Are there any processes here? I also hit into this problem.

QueryLogger uses a sqlformat crate, and his tokenizer has O(n²) complicity 😬
https://github.com/shssoichiro/sqlformat-rs/blob/66bdb0fadf9e750600df0c778cff88e45277d7c1/src/tokenizer.rs#L13
With large requests, for example a batch insert of 2000 lines with 6 values, with the query logging enabled, the process takes 13 seconds, when without logging it is milliseconds. the same batch of 500 lines with logging takes less than a second, so dependence on time is non-linear
https://github.com/launchbadge/sqlx/blob/12b4250454b13fa2699dee9a4c761154ae60ddb6/sqlx-core/src/logger.rs#L38-L46C17
After changing
format!(
    "\n\n{}\n",
     sqlformat::format(
         &self.sql,
         &sqlformat::QueryParams::None,
         sqlformat::FormatOptions::default()
          )
)```

to

```rust
format!(
    "\n\n{}\n",
      &self.sql,
)```

there is no more performance problems.

maybe it is worth using a more effective tokenizer/formatter or remove this formatting altogether?


Animation: Fix animation.runtimeAnimations array not cleaned up on stop

Fixes #13762
The code I added back was removed in https://github.com/BabylonJS/Babylon.js/commit/93d7ccc2f98435a455ece615f6e0a3561bcded9a but calling runtimeAnimations[index].dispose(); is cleaning the Animation._runtimeAnimations array, which is different from the Animatable._runtimeAnimations array.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/13774/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13774/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13774/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13774/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13774/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13774/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13774/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13774/merge#BCU1XR#0


Cannot install module into existing angular-cli app

I've tried both testing with npm install ang-select --save and it's not registered with npm.
I also tried installing locally but running npm run build inside the project and using npm install "../ang-select" --save and I get errors running the application:
core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'ang-select'.
1. If 'ang-select' is an Angular component and it has 'ngModel' input, then verify that it is part of this module.
2. If 'ang-select' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component. ("
                    bindText="name"
                    [allowClear]="true"
                    [ERROR ->][(ngModel)]="selectedCity">
        </ang-select>

"): ng:///BlogPageModule/BlogPageComponent.html@9:20
Error: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'ang-select'.
1. If 'ang-select' is an Angular component and it has 'ngModel' input, then verify that it is part of this module.
2. If 'ang-select' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component. ("
                    bindText="name"
                    [allowClear]="true"
                    [ERROR ->][(ngModel)]="selectedCity">
        </ang-select>

"): ng:///BlogPageModule/BlogPageComponent.html@9:20
    at syntaxError (http://localhost:4200/vendor.bundle.js:21366:34)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:32478:19)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46523:39)
    at http://localhost:4200/vendor.bundle.js:46443:62
    at Set.forEach (native)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46443:19)
    at http://localhost:4200/vendor.bundle.js:46330:19
    at Object.then (http://localhost:4200/vendor.bundle.js:21356:156)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46329:26)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46258:37)
    at syntaxError (http://localhost:4200/vendor.bundle.js:21366:34)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:32478:19)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46523:39)
    at http://localhost:4200/vendor.bundle.js:46443:62
    at Set.forEach (native)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46443:19)
    at http://localhost:4200/vendor.bundle.js:46330:19
    at Object.then (http://localhost:4200/vendor.bundle.js:21356:156)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46329:26)
    at<EMAIL_ADDRESS>(http://localhost:4200/vendor.bundle.js:46258:37)
    at resolvePromise (http://localhost:4200/polyfills.bundle.js:3193:31)
    at resolvePromise (http://localhost:4200/polyfills.bundle.js:3164:17)
    at http://localhost:4200/polyfills.bundle.js:3241:17
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2833:31)
    at Object.onInvokeTask (http://localhost:4200/vendor.bundle.js:51328:37)
    at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (http://localhost:4200/polyfills.bundle.js:2832:36)
    at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (http://localhost:4200/polyfills.bundle.js:2600:47)
    at drainMicroTaskQueue (http://localhost:4200/polyfills.bundle.js:3005:35)
    at <anonymous>

Also, curious if you have used npm link with any success ?

I not pushed this package to npm yet, but I think you need to use npm link command in order to install local npm package. More info https://docs.npmjs.com/cli/link

depending on your version of npm there may be issues with cli projects - https://github.com/angular/angular/issues/15763 the last several comments cover this pretty well.
as for npm link issues see: https://github.com/angular/angular-cli/wiki/stories-linked-library
@anjmao i used both your sample and the quickstart-lib to get a webpack version going as well as the integration app using the cli.  If you're ok with it and if i have some time i can make a PR with the integration app using the cli instead?

@hungerregnuh i'm interested in your work, is it published somewhere? 😄

@hungerregnuh I will update integration app to use angular-cli soon :)


Replace copyFromPointer with two unsafeWrite

https://github.com/Bodigrim/linear-builder/blob/04292bb771691fda936e9b5db68afae1a165b286/src/Data/Text/Builder/Linear/Dec.hs#L90
I suspect that this is very slow on architectures like ARM, which penalise unaligned access. It could be faster just do two byte-sized writes.

The perceived slowdown of decimal builder was because of https://gitlab.haskell.org/ghc/ghc/-/issues/22933.


Autoload all Google Cloud services

When calling require "google/cloud" all service gems should also be loaded.
This happens automatically if Bundler's autorequire feature is on.
But if users aren't using Bundler then load all gems with this code.

Ugh, I can't believe I forgot to add this code weeks ago. Sorry about that.


Enable fetching manifest JSON from a remote hosted on a different domain

Clear and concise description of the problem
When using the ModuleFederationPlugin, one can configure the remotes like this:
new ModuleFederationPlugin({
  name: 'federation_consumer',
  remotes: {
    federation_provider:
      'federation_provider@http://my-3d-party.com:3000/mf-manifest.json',
  },
}),

But this leads to two problems:

We get a CORS error when the mf-manifest.json is being fetched
If the 3rd party system is behind an authentication, e.g. token stored in cookie, and the user is already authenticated for this system, the request for the mf-manifest.json is missing the cookies of that domain.

Suggested solution
As far as I can see (please correct me if I'm wrong), the SnapshotHandler.getManifestJson is responsible for fetching that file, see here. The fetch call there could be made configurable so it accepts both the cross-origin mode setting and credentials setting like this:
res = await fetch(manifestUrl, { credentials: 'include', mode: 'cors' });

We'd be willing to provide a pull request to make this change configurable if you agree that this change makes sense and you can point us in directions to start.
Alternatives
A: Build a FederationRuntimePlugin and provide an undocumented fetch hook to supply a custom fetch:
const fetchWithIncludeCredentials = (): FederationRuntimePlugin => ({
  name: 'custom-fetch-plugin',
  fetch(remoteEntry) {
    return fetch(remoteEntry, { credentials: 'include', mode: 'cors' });
  }
});

This actually works, but is undocumented so I don't know if it is a good idea to use.
B: Build a FederationRuntimePlugin and provide a custom loadEntry hook. But I don't think it's possible to just customize the loading part.
C: In older Module Federation versions, it was possible to supply dynamic promise based remotes. In such a Promise, one could fetch the manifest json and configure CORS and credentials themselves. Maybe an API like this would also make sense?
Additional context
A reproduction repository for the CORS error can be found here.
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I've updated the issue description to include an alternative A that actually solves our problem. The only issue is that the fetch hook is undocumented at the moment. This comment states for the fetch hook:

only work for manifest , so not open to the public yet

Additionally, the plugin documentation doesn't include this hook. Would it be an option to make the usage of this hook official to solve exactly the use case we have?

Alright, will do that as soon as I can, thanks!

@pganster much love<3


Cannot Allocate Memory causes RC to not continue to try to spin up nodes

What would cause this?
$ cluster/kubectl.sh describe po client-purple-g0t89
Name:				client-purple-g0t89
Image(s):			gcr.io/linear-pointer-95422/client_image:v2.0.0
Node:				ip-172-20-0-10.us-west-2.compute.internal/<IP_ADDRESS>
Labels:				name=client,version=v2.0.0
Status:				Pending
Reason:
Message:
IP:
Replication Controllers:	client-purple (2/2 replicas created)
Containers:
  client:
    Image:	gcr.io/linear-pointer-95422/client_image:v2.0.0
    Limits:
      cpu:		100m
    State:		Waiting
      Reason:		Image: gcr.io/linear-pointer-95422/client_image:v2.0.0 is ready, container is creating
    Ready:		False
    Restart Count:	0
Conditions:
  Type		Status
  Ready 	False
Events:
  FirstSeen				LastSeen			Count	From							SubobjectPath	Reason		Message
  Mon, 06 Jul 2015 16:58:01 -0700	Mon, 06 Jul 2015 16:58:01 -0700	1	{scheduler }								scheduled	Successfully assigned client-purple-g0t89 to ip-172-20-0-10.us-west-2.compute.internal
  Mon, 06 Jul 2015 16:57:56 -0700	Mon, 06 Jul 2015 16:59:06 -0700	8	{kubelet ip-172-20-0-10.us-west-2.compute.internal}			failedMount	Unable to mount volumes for pod "client-purple-g0t89_default": fork/exec /bin/mount: cannot allocate memory
  Mon, 06 Jul 2015 16:57:56 -0700	Mon, 06 Jul 2015 16:59:06 -0700	8	{kubelet ip-172-20-0-10.us-west-2.compute.internal}			failedSync	Error syncing pod, skipping: fork/exec /bin/mount: cannot allocate memory

This container is running properly on other nodes. As a result, my cluster is out of alignment (only one replica has been created, when 2 are required) but this is permanently stuck.
The exact same cluster works fine on GCE, it appears it's only on AWS.

What else is running on that node? Do you have resource values on the pod's containers?

The odd part is that these nodes just finished running these very
containers. I'm using the default t2.micros, so I'm increasing it to
m3.mediums to see what happens.
On Mon, Jul 6, 2015 at 5:18 PM, Daniel Smith<EMAIL_ADDRESS>wrote:

What else is running on that node? Do you have resource values on the
pod's containers?
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/10793#issuecomment-119033092
.

We’re going through old support issues and asking everyone to direct your questions to stackoverflow.
We are trying to consolidate the channels to which questions for help/support are posted so that we can improve our efficiency in responding to your requests, and to make it easier for you to find answers to frequently asked questions and how to address common use cases.
We regularly see messages posted in multiple forums, with the full response thread only in one place or, worse, spread across multiple forums. Also, the large volume of support issues on github is making it difficult for us to use issues to identify real bugs.
The Kubernetes team scans stackoverflow on a regular basis, and will try to ensure your questions don't go unanswered.


pin-handler.js: sending all pins information to client upon get request

pinHandler.retrievePins should retrieve all pins information and send data array back to the client.


Update to rfc4180 norm

merged, but there seems to be an unknown problem with this:
https://github.com/zachwick/TableCSVExport/issues/15


[SPARK-6396][Core] Add broadcast timeout

TorrentBroadcast uses fetchBlockSync method of BlockTransferService.scala which wait Infinite. A timeout would be better.

Can one of the admins verify this patch?


P2P feedback

The code is clean and you have followed best practices. I could not find any issue in your repo. However, I would suggest you add a live demo link just for convenience.

Highlight

[ ] Great job!
[ ] You have done a great job, Vangelis your project is flawless.
[ ] You have followed best practices.  However, I would suggest you add a live demo link just for convenience.


Added World Python interface

Signed-off-by: ahcorde<EMAIL_ADDRESS>🎉 New feature
This PR is part of this meta ticket https://github.com/ignitionrobotics/sdformat/issues/931
Require

https://github.com/ignitionrobotics/sdformat/pull/950
https://github.com/ignitionrobotics/sdformat/pull/952
https://github.com/ignitionrobotics/sdformat/pull/961
https://github.com/ignitionrobotics/sdformat/pull/963

Summary
Added World Python interface
Test it
from sdformat import World

world = World()

Checklist

[x] Signed all commits for DCO
[x] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Codecov Report

Merging #964 (2a763d2) into main (0f25399) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #964   +/-   ##
=======================================
  Coverage   66.66%   66.66%
=======================================
  Files           2        2
  Lines          27       27
=======================================
  Hits           18       18
  Misses          9        9

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 0f25399...2a763d2. Read the comment docs.


Ready to merge: Rename all structs and functions (part 1)

@mirestrepo This is ready to review and merge. It's far from complete - there are still a lot of names to change. But I want to merge this PR now, then I'll refactor the plotting code into a separate package, then I'll finish up renaming the structs and functions.


Format 'ipv4' is more restrictive than the pattern in Data Type 'Ipv4Address'

Problem description
The Data Type 'Ipv4Address' is defined as
Ipv4Address:
      type: string
      format: ipv4
      pattern: '^([01]?\d\d?|2[0-4]\d|25[0-5])(?:\.(?:[01]?\d\d?|2[0-4]\d|25[0-5])){3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'
      example: "<IP_ADDRESS>/24"

The format 'ipv4' is defined by the OpenAPI specification as "An IPv4 address according to the "dotted-quad" ABNF syntax as
defined in RFC 2673, section 3.2 [RFC2673].". The "dotted-quad" does not allow the addition of a netmask, e.g. "/24"
The regular expression of the pattern allows also the addition of a netmask. The provided example "<IP_ADDRESS>/24" is not comply with the format 'ipv4'
A similar issue exist for data type Ipv6Address.
Expected behavior
The suggested correction is to replace 'ipv4' with 'string' and rely on the regular expression in pattern.

@eric-murray @akoshunyadi @jlurien @patrice-conil any opinions on the proposed solution (expected behavior)?

From OAS v3.0.3:
Primitives have an optional modifier property: format. OAS uses several known formats to define in fine detail the data type being used. However, to support documentation needs, the format property is an open string-valued property, and can have any value. Formats such as "email", "uuid", and so on, MAY be used even though undefined by this specification.
ipv4 is not a format defined by OAS, and is not mandated by the v3.0.3 specification to use the same definition as the JSON schema specification. The tooling I am aware of ignores format: ipv4, hence the need for the pattern. But format: ipv4 is a good hint to the API caller, so I'd suggest to keep it, at least whilst API definitions are based on v3.0.3. Adding a suitable description would probably help here as well.
OAS v3.1.0 does link format to the JSON schema definitions, so maybe we will need to revisit the issue if and when we start using that version. But I don't see having both format: ipv4 and a pattern that supports subnets ever causing a conflict, assuming sensible implementation choices by tooling developers.

Done by #153


Kotlin 1.9.0

Kotlin 1.9.0 came.
Please use Kotlin 1.9.0.

There's no compose multiplatform build supporting 1.9.0 yet.

try media.kamel:kamel-image:0.7.1-SNAPSHOT . Just note, I'm having issues with the js sample, not sure if js is working.

I'll update it.
Thank you very much.


Help with dynamic representer

I'm trying to make a dynamic collection representer which will detect which representer to use for the items in the collection.
I created methods in the representer to examine the represented collection and construct the relevant constants for the representers as well as for the url helpers in the links collection.
However, these methods are out of scope for using as parameters in a collection method.
What's really got me twisted up is that it works for the class: parameter with collection, but not the extend: parameter.
How do I do this?
Please see this gist:
https://gist.github.com/joshco/0519fad6f846a6a7fcb3
Look at the comment starting with HELP
Snippets
 def xlass
        represented.class.to_s.split(':')[0].constantize
 end

 def child_representer
        base_class=represented.class.to_s.split(':')[0]
        rep_class = 'Api::V1::' + base_class + 'Representer'
        rep_class #.constantize
      end

 options = {
          class: :xlass,
          extend: QuestionRepresenter,
          # HELP
          # I want to call a method child_representer to dynamically find the right collection item representer
          # this does not work and fails with no such method or error
          #
          embedded: true,
          #decorator_scope: true,
          as: "osdi:questions"
      }

collection :all, options

@joshco Am I correct in assuming you are including your CollectionRepresenter in Decorators? In that case, you'll want to use the decorator and :exec_context options.
If so, you might find this helpful: https://github.com/summera/roar-contrib/blob/master/lib/roar/contrib/decorator/collection_representer.rb
I created Collection and Pagination Representers for use with Decorators as part of roar-contrib.
If you plan on using Representer Modules , you could take a look at Representables docs on Polymorphic Extend . Hope this helps!

Thanks for this info.  I'll explore it.

@joshco Is exec_context: :decorator what you want?


Question: Database Creation

i can't get my 2nd table created for some reason, i tried deleting ext_table.sqllite, rebuilding and starting the docker container, remove the extension from the dbversions and extenions table. but still only the first table "sendmail.emailaddresses" is created :(, what am i missing? i see its working in other extensions.
i have this in my migrate.py
async def m001_initial(db):

    await db.execute(
        f"""
        CREATE TABLE sendmail.emailaddress (
            id TEXT PRIMARY KEY,
            wallet TEXT NOT NULL,
            email TEXT NOT NULL,
            smtp_server TEXT NOT NULL,
            smtp_user TEXT NOT NULL,
            smtp_password TEXT NOT NULL,
            smtp_port TEXT NOT NULL,
            description TEXT NOT NULL,
            cost INTEGER NOT NULL,
            time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now}
        );
    """
    )

    await db.execute(
        f"""
        CREATE TABLE sendmail.email (
            id TEXT PRIMARY KEY,
            wallet TEXT NOT NULL,
            emailaddress TEXT NOT NULL,
            subject TEXT NOT NULL,
            to TEXT NOT NULL,
            message TEXT NOT NULL,
            paid INTEGER NOT NULL,
            time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now}
        );
    """
    )

ok, reading logs, helps... docker logs lnbits showed the following, i guess "to" is reserved
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "to": syntax error
[SQL:
        CREATE TABLE sendmail.email (
            id TEXT PRIMARY KEY,
            to TEXT NOT NULL,

        );
    ]

Couldn't it be that that comma at the end? I think you can't have commas at the end of the last column declaration.

that's just an excerpt from the log, its fine now :)


Detect incorrect message formatting

Description
Basically, copy in the single feature of flake8-logging-arg-count.
Placeholders without corresponding arguments are silently not converted:
>>> logging.warning("It was %s")
WARNING:root:It was %s

Extra arguments cause a crash when formatting:
>>> logging.warning("It was %s", 1, 2)
--- Logging error ---
...
TypeError: not all arguments converted during string formatting
...
Message: 'It was %s'
Arguments: (1, 2)

This error does not occur if the logging level prevents the message being formatted:
>>> logging.info("It was %s", 1, 2)

Since the level can change with configuration, it is good to detect this crash early.
Python 3.2 introduced multiple formatting styles in Formatter.


Bump minimum version of ramsey/collection

By bumping ramsey/collection to the latest version that supports PHP 8.1, we prevent builds from third party libraries from failing when they install dependencies with prefer-lowest.
Description
If right now, a library requires ramsey/uuid it'll install the lowest version of ramsey/collection of its ^1.0 constraint on PHP 8.1 instead of the actual compatible one of v1.2.0. By bumping the minimum version we make sure it'll install the latest version when a third party tries to test its lowest bounds with prefer-lowest.
Motivation and context
We'll be able to remove the workaround here: https://github.com/laravel/framework/blob/9.x/.github/workflows/tests.yml#L76
How has this been tested?
We'll be able to test this once a new version of ramsey/uuid is tagged.
Types of changes

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

PR checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING.md document.
[ ] I have added tests to cover my changes.

Thank you for contributing! 🎉


web: remove security headers

Sorry. Of course I forgot the right merge base again...

shame on you :stuck_out_tongue_winking_eye:
LGTM

For people who stumble on this without context, here is more context in the original PR against the master branch: https://github.com/prometheus/prometheus/pull/4258


[nrf noup] scripts: west_commands: runners: nrfjprog: bring --snr back

This patch partially reverts 2cee5ff.
nRF VScode extension implemented support for the new option, --dev-id, however, it relied on deprecated code paths to detect wether Zephyr supported --dev-id or not. The extension has been updated to fix this issue, so this patch can be safely removed once a new release of the extension gets deployed. In the mean time, it will allow people working on main to not experience any issues.
Signed-off-by: Gerard Marull-Paretas<EMAIL_ADDRESS>

A new VS Code release has now been published on the marketplace: https://nrfconnect.github.io/vscode-nrf-connect/release_notes/connect/2022.11.140.html#fixes-in-2023144
Users will have to restart VS Code to get it, but IMO, we can close this PR, as this is no longer an issue for VS Code.

A new VS Code release has now been published on the marketplace: nrfconnect.github.io/vscode-nrf-connect/release_notes/connect/2022.11.140.html#fixes-in-2023144
Users will have to restart VS Code to get it, but IMO, we can close this PR, as this is no longer an issue for VS Code.

Great, thanks for the update. Will close then.


kubeflow job monitor/waiter

we need a monitor function in the kubebench controller image that polls status of deployed kubeflow jobs until the desired status (success/fail/etc.) is met. the monitor will be run in the "wait for job finish" step in #50. It will take a job manifest (generated in the previous step), a success/failure condition, and an optional timeout as input, and return error if failure condition or timeout is met.
we might take argo's resource execution functionality as a reference (which contains polling of k8s resource status but with a fixed timeout, which causes #17).

/priority p1

https://github.com/argoproj/argo/issues/702
https://github.com/argoproj/argo/issues/763
argo's event management support would be needed for a cleaner solution.

Precisely this might help- https://github.com/argoproj/argo/issues/763#issuecomment-381805052

anyone?


feat(dashboard): json to csv package

Overview

import package to convert a list of objects to a CSV
remove some extraneous values in the CSVObject type
update dates to be ISO string

Legal
This project is available under the Apache 2.0 License.

Sweet! Thank you, @corteggiano!


Optimize code in phase1.hpp

memcpy(&(right_writer_buf[i * entry_size_bytes]), to_write, 16);

This memcpy function will be called<PHONE_NUMBER> times
we can use:
Util::IntTo16Bytes(&right_writer_buf[i * entry_size_bytes], entry);
instead of:
Util::IntTo16Bytes(to_write, entry);
memcpy(&(right_writer_buf[i * entry_size_bytes]), to_write, 16);
Delete memcpy

I think this is a reasonable change, mostly for simplifying the code.
Did you measure a speed improvement? (I suspect the compiler would apply a very similar transformation as this patch already)

With the PR branch rebased onto the current main branch in this repo, the timing is 102s on main vs 110s on 683280:main. Note these numbers come from running the benchmark command from the readme once. So take it with a grain of salt :sweat_smile:


On-Chain Verification on Bitcoin Cash VM

Exciting project, thanks for your work!
Would you be open to a pull request adding the Bitcoin Cash VM as another target for on-chain proof verification?
Maybe:
cargo openvm prove cashvm --input <path_to_input>
cargo openvm verify cashvm --proof <path_to_proof>

I can contribute the pull request and help with any maintenance – just want to check with OpenVM maintainers in advance.
I'd also appreciate any guidance if you already have plans for adding support for other verification targets. The project layout is very clear already (and Contributor Docs are very helpful, thanks!) I'm expecting to simply port the EVM implementations and add another ProveSubCommand and VerifySubCommand, but just want to make sure I'm working within any existing plans.

Thanks for the suggestion!  At present we'd prefer not to add a Bitcoin Cash verifier as the maintainers are not sufficiently familiar with the verification model.  We'll revisit in the future if this changes.


remove support for node 16.x

Changelog
Remove support for node 16.x
Docs
None
Description
Node 16 is EOL and not supported anymore. This PR removes the node 16.x CI check and requires at least node 18 to run the @foxglove/ws-protocol-examples scripts.
See also https://github.com/foxglove/ws-protocol/pull/776#issuecomment-2228205157

@defunctzombie could you remove the required 16.x checks from the repo settings?


OS.execute is broken

Godot version:
3.2.1
OS/device including version:
Windows 10
Issue description:
The example
OS.execute("CMD.exe", ["/C", "cd %TEMP% && dir"], true, output)
does not produce the expected result, but instead an empty array.
When exported with debug, the debug window produces:
The filename, directory name, or volume label syntax is incorrect.
Steps to reproduce:
Export a test project with debugging enabled, where the example expression gets executed.
Minimal reproduction project:
Any test project where the example expression gets executed.

Seems to be issue with the way CMD is handling quotation marks, and Godot adding them.
Command evaluates to:
"CMD.exe" "/C" "cd %TEMP% && dir"

which don't work, neither do any of these
CMD.exe /C cd %TEMP% && dir
"CMD.exe" /C cd %TEMP% && dir
CMD.exe "/C" cd %TEMP% && dir
CMD.exe "/C" "cd %TEMP% && dir"

But following command forms do:
"CMD.exe" /C "cd %TEMP% && dir"
CMD.exe /C "cd %TEMP% && dir"

According to CMD.exe docs:
The special characters that require quotes are:
     <space>
     &()[]{}^=;!'+,`~

And CreateProcessW (OS.execute backend) only require quoting filenames with spaces.
Probably we should quote only arguments with these special characters.


[INFRA] Configure default readonly permissions for GH_TOKEN

[x] change repository settings. Done on 2022-06-07
[x] ensure the GH Actions are still working. Detect no changes in playground repository: https://github.com/process-analytics/github-actions-playground/issues/30. Confirmed here

check-typescript-projects.yml: GH_TOKEN only used for checkout
update_bpmn_visualization_version.yml: download artifact hosted in another repository and PR creation done with a dedicated PAT, so nothing to do

All tasks completed so closing.


telomeric heterochromtin ve subtelomeric heterochromatin

We have a component term  "telomeric heterochromatin", and various process terms containing this string.
which makes the logic here slightly incorrect:
telomeric region
--telomeric heterochromatin (this is in the subtelomere)
--nuclear telomere cap complex (this is at the telomere proper)
The telomeric/subtelomeric  heterochromatin isn't really part of the telomere per se, it is adjacent to the telomere (the region of repetative DNA where the cap complex resides). A fix for this would be to rename/define all "telomeric heterochromatin" as "subtelomeric heterochromatin"
This would then mirror the SO arrangement which has 2 disjoint terms:
telomere (the chromosome end i.e. telomeric repeats, where the capping complex localizes)
and
subtelomere (adjacent to the telomere, where the heterochromatin resides)
The grouping term "telomeric region" needs to be defined to include the telomeric cap and the subtelomeric heterochromatin  (at present it isn't).
There could probably be a better label for "telomeric region" (esentially includes the telomere and the subtelomere), but I can't think of one.
I'll assign this to David as it is closely aligned to the recent rearrangements of the centromere terms.
Also, Ruth  &Co should take a look first and see if they approve as they are working in this area.
VAl
Reported by: ValWood
Original Ticket: geneontology/ontology-requests/11254

@NancyCampbell

@ValWood @mah11
Should I go ahead and make the three regions?
-D

I think we need input on this one! I'm still unsure what the technical definitions of the telomeres and subtelomeres.

Hi Val
there are a few github tickets that need to be considered here, https://sourceforge.net/p/geneontology/ontology-requests/10526
https://github.com/geneontology/go-ontology/issues/2537
Also I think some of these discussions arise from the difference between human and pombi telomeres. The human telomere contains a very long repeat region, because there is no telomerase in many mitotic cells and therefore the telomere gradually shortens with each replication. In contrast, from what I can remember from previous discussions, in pombi the sequences is very short and the telomere is literally the last few bp of the chromosome, because telomerase is always present and therefore there is no telomere shortening. See previous discussions re subtelomere etc.
However, I can't see any problems with having the 3 terms:
telomeric region

part_of child term: telomere
part_of child term: subtelomere

if that is what is being suggested.
I can ask the people here who have been annotating telomeres specific questions if you would like me to, but I can't work out from above what the specific question is.
best
Ruth

@ValWood  I think this can be closed ?

Redundant with #19086

Yes,  we now have the solution I requested in 2014 ;)  At the time it was never completed because we got bogged down in the spin-off discussion.


Drag test - out of bounds error

Was trying the Demo project that is shipping with the control and noticed in the Drag test that if I exit the yellow area (with the mouse button still pushed) the blue box resets to position (0, 0) inside the yellow area.  Maybe it would be best not to set it to (0, 0) but to leave it at the last position before the mouse cursor left the yellow area.

Hello,
Thanks for the report. I just tried this myself but wasn't able to reproduce. Just in case I'm being daft and missing the blindingly obvious, can you specify how you got this to happen? I've tried drawing from scratch, tried all drag handles, movement, it all is working apparently perfectly normally for me.
Thanks;
Richard Moss

Hi Richard. Sorry for the late answer. Let me replicate again the problem:
Step 1:  DRAG TEST DEMONSTRATION

Step 2:  Left click the selection rectangle. Do not release left click. Start dragging the selection rectangle until you exit the yellow area (while dragging).

Step 3: When the mouse exits the yellow area (while still dragging) the selection rectangle's position is reset to 0,0 (left top corner).
Is this supposed to happen? In the RESIZABLE SELECTION DEMONSTRATION dragging works good (the selection rectangle sticks to the edge of the yellow zone when mouse exits the zone.
I hope I've explained better this time. 😄


Use send_wrapper for WASM instead of InnerFuture

See https://github.com/http-rs/http-client/pull/35#discussion_r483559211

Instead of using InnerFuture we should probably use send_wrapper instead. I think we can then convert the send method's body to be along the lines of:
async fn send(&self, req: Request) -> Result<Response, Error> {
    let fut = SendWrapper::new(async move {
        // perform the `fetch` call here
    });

    fut.await
}

This doesn't appear to work at the current time, maybe SendWrapper needs to impl Future where T: Future.

Yeah I wasn't able to figure out how to make this work or why it would improve the code


python: tweak script linking in virtualenv

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes?
[x] Have you successfully run brew tests with your changes locally?

Remaining steps/tasks (see below for context):

[ ] Agree on the preferred interface for the non-block form.
[x] Replace minimal implementation with proper one without block/recursion.
[x] Update documentation in code (YARD).
[ ] Update documentation in share/doc/homebrew/.
[x] Update tests.

This is an attempt to refine #344, to address https://github.com/Homebrew/brew/pull/344#issuecomment-232577429 by @MikeMcQuaid:

venv.link_scripts(bin) { venv.pip_install "." }

Don't understand why venv.link_scripts is a block rather than a following command.

@ilovezfs expressed similar concerns in https://github.com/Homebrew/brew/pull/344#issuecomment-234242676:

Also, it does still seem awkward to have venv.link_scripts taking the block that does  venv.pip_install buildpath. Could the virtualenv accumulate before and after state without needing to resort to nesting?

Instead of making the formula author use a slightly awkward block construct and expose this implementation detail (diffing of @venv_root/"bin"), offer a more familiar:
venv.pip_install buildpath, :link_scripts => bin

The default will be not to link any scripts, but this can be of course reversed if that's a useful default behavior (in this case, the opt-out would be :link_scripts => false).
Note: The current state of the PR is primarily to solicit feedback whether this is a reasonable change to make to the user-facing API of the virtualenv support, assuming my proposal doesn't come a bit late (as far as I'm aware this part of the interface hasn't been used yet in formulae).
cc @tdsmith

Makes sense to me; can you supply a sample formula diff?

any thoughts on having install & install_and_link, and exposing even less of this?

This was the first way I implemented it. I came to feel that using an options hash was not as nice as composing methods, based on a prejudice against arguments that switch behavior on or off; you can find some comments in that PR where I vacillate between the two options.

install & install_and_link

This was the second way I implemented it! I think this is probably nicer than an options hash.

Pushed a few updates to make the code changes more complete.

Makes sense to me; can you supply a sample formula diff?

Most formulae will use the single-shot wrapper virtualenv_install_with_resources that already exists. The more complicated cases will use virtualenv_create and operate on the returned Virtualenv instance. For these, the only difference will be to replace:
venv.link_scripts(bin) { venv.pip_install buildpath }

With:
venv.pip_install buildpath, :link_scripts => bin

any thoughts on having install & install_and_link, and exposing even less of this?

I'm fine with that and it would be a trivial change. Basically, I think either of the following read nicer than the block form (though I'm personally most fond of the option hash form):
venv.pip_install_and_link buildpath
venv.pip_install buildpath, :link_scripts => true
venv.pip_install buildpath, :link_scripts => bin

Virtualenv#pip_install_and_link would be basically the current Virtualenv#link_scripts but instead of yielding, it would forward its arguments to Virtualenv#pip_install.

Replaced the functionality of :link_scripts => bin with a #pip_install_and_link method that uses composition instead and delegates to #pip_install for installing the targets.

I have addressed all comments. I'm not sure how reasonable the stuff is, that I'm doing in the test, but at least I'm not sticking things with side effects into places where they don't belong.

:+1:

Apologies that I was hardly around the past few days!
I have to admit that I'm not entirely happy that this was merged without completing the checklist in the top comment (e.g. update documentation in share/doc/homebrew/) and with all the noise of the incremental changes preserved in the commit message …


Preview plugin causes issues with Light Edit mode in IntelliJ

See https://youtrack.jetbrains.com/issue/IDEA-285718

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Store generated jspdf on Firebase

I use angular cli 6 and firebase.
I want to print a pdf from my html code (I'm getting there) but I want to store it on firebase at the same time.
https://stackoverflow.com/questions/51359958/capture-pdf-make-by-jspdf-on-firestore
I have the 2 codes but I can not bind them
Print pdf :
  public captureScreen()
  {
    var data = document.getElementById('contentToConvert');

    html2canvas( data ).then(canvas => {
      // Few necessary setting options
      var imgWidth =210;
      var pageHeight = 295;
      var imgHeight = canvas.height * imgWidth / canvas.width;
      var heightLeft = imgHeight;

      const contentDataURL = canvas.toDataURL('image/png')
      let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF
      var position = 0;
      pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)
      pdf.save(Date.now().toString());
  });
 }

and to save on firebase :
uploadFile(file: File) {
    return new Promise(
      (resolve, reject) => {
        const almostUniqueFileName = Date.now().toString();
        const upload = firebase.storage().ref()
          .child('images/' + almostUniqueFileName + file.name).put(file);
        upload.on(firebase.storage.TaskEvent.STATE_CHANGED,
          () => {
            console.log('Chargement…');
          },
          (error) => {
            console.log('Erreur de chargement ! : ' + error);
            reject();
          },
          () => {
            resolve(upload.snapshot.downloadURL);
          }
        );
      }
    );
}

this.ppssService.uploadFile(pdf : File);

Hey @alanent and thanks for posting this! This issue looks like a question that would be best asked on StackOverflow. StackOverflow is amazing for Q&A: it has a reputation system, voting, the ability to mark a question as answered. Because of the reputation system it is likely the community will see and answer your question there. This also helps us use the GitHub bug tracker for bugs only. Will close this as this is really a question that should be asked on SO.


Fix duplicate error logging

During the processing of an exception thrown by a queue message handler method, the AbstractMethodMessageHandler always logs the error when there is no existing handler method for that exception. On the other hand, the SimpleMessageListenerContainer logs the same exception again when the message deletion policy is set to ON_SUCCESS. This results in duplicated error logging.
This commit fixes this issue by delegating exception processing to AbstractMethodMessageHandler only when there is a configured exception handler.

I have also signed the Pivotal CLA.


Full Screen within a zone [Product-FancyZones] [Idea-Enhancement]

Would it be possible for an app when placed in full screen to be "forced/restricted" to enter full screen but only within the allocated zone?
For example a YouTube video playing in full screen mode but instead of occupying the full screen, it is full screen within its zone.

Hi @asecor
this feature request is already tracked by https://github.com/microsoft/PowerToys/issues/422
Closing this issue as duplicate.
Thank you.


thaumcraft

i can not make the wand with the iron caps im not able to craft them or the iron nuggets

I think the actual documentation about wands and all that is for Thaumcraft 5.
To get started in Thaumcraft 6, just do Salis mundus (to craft it you need 3 different vis crystals, redstone, flint and a bowl in your crafting table).
Then put the salis mundus in your hand and right click a bookshelf with it so you get the Thaumonomicon. This book will guide you through the mod from now on.

okay, thank you so much

Close the issue if it's solved. It helps the developers to keep clean the issue tracker.

@UrMansAMamasBoy Close the issue if it's solved. It helps the developers to keep clean the issue tracker.


First draft styles for alos

Please review and let me know if I missed anything.
I really want R=HH, G=HV and B=HH/HV, but I don't think it's possible.

{
    "name": "alexs_magic_blue",
    "title": "RGB plus quotient",
    "abstract": "Weird thing Alex asked about",
    # Mixing ration between linear components and colour ramped index. 1.0 is fully linear components, 0.0 is fully colour ramp.
    "component_ratio": 0.5,
    "index_function": lambda data: (data["HH"] / data["HV"]),
    "needed_bands": ["HH", "HV"],
    "range": [0.01, 2.0],
    "components": {
        "red": {
        "HH": 1.0
        },
        "green": {
        "HV": 1.0
        },
        "blue": {
        "HH": 0.0
        }
    },
    "scale_range": [0.0, 3000.0]
},

Paul says this will maybe work. Needs a blues colour ramp.


png size

Hello,
is it possible to change the png size? I would like to add it to an image but the png file is a little too small.

@arnauldb you can always use convert for that:
convert -resize 1280x orig.png big.png

Or did you want something else?

I run this:
convert viewcam.jpg <( curl wttr.in/st-cloud+france_transparency=150_q0_lang=fr.png ) -geometry +10+40 -composite target.jpg
and obtain this:

But I wish to have the resulting insert (showed by the pink arrow) bigger.

convert viewcam.jpg \( <( curl wttr.in/St-cloud,France_transparency=150_q0_lang=fr.png ) -resize 600x \) -geometry +10+40 -composite target.jpg
Voilà!

Thanks a lot! I already use wttr.in on a daily basis to check the weather, a great tool.

@arnauldb Thank you very much! If you need some feature, just ping me. And stay tuned, the project is being developed, we are adding new features all the time

It loses quality though.


Roll Engine from 3c1d96f0b86f to 00e1c106774c (11 revisions)

https://github.com/flutter/engine/compare/3c1d96f0b86f...00e1c106774c
2021-05-16<EMAIL_ADDRESS>Remove counter from eintr wrapper (flutter/engine#26124)
2021-05-16<EMAIL_ADDRESS>Roll Skia from bc7c754ce395 to f91ce0201328 (1 revision) (flutter/engine#26178)
2021-05-16<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from PVI875Hyp... to TB587FHc5... (flutter/engine#26177)
2021-05-16<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from q_v1AFsEq... to lU-S8er5G... (flutter/engine#26176)
2021-05-15<EMAIL_ADDRESS>Roll Skia from bc8e0d8ba0d4 to bc7c754ce395 (1 revision) (flutter/engine#26175)
2021-05-15<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from 9-tG_VdU_... to PVI875Hyp... (flutter/engine#26174)
2021-05-15<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from RT1RbBM69... to q_v1AFsEq... (flutter/engine#26173)
2021-05-15<EMAIL_ADDRESS>Reland "Fix a11y placeholder on desktop; auto-enable engine semantics" (flutter/engine#26134)
2021-05-15<EMAIL_ADDRESS>Roll Skia from df2dbad1a87d to bc8e0d8ba0d4 (1 revision) (flutter/engine#26171)
2021-05-15<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from a6aB7cNgl... to 9-tG_VdU_... (flutter/engine#26169)
2021-05-15<EMAIL_ADDRESS>Roll Skia from aecf8d517143 to df2dbad1a87d (9 revisions) (flutter/engine#26168)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from RT1RbBM69e3n to lU-S8er5GbI3
fuchsia/sdk/core/mac-amd64 from a6aB7cNgl94H to TB587FHc5bPV
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


Printed version doesn't match tag

Printed version is 0.1.0, while tagged version is 0.2.0.
version.go file needs to be updated to match tag version.

Did the goreleaser used version from tag?

Yes, that job triggers on tag.
on:   push:     branches-ignore:       - '**'     tags:       - 'v*.*.*'

is this not related to the PR that I merged for the version bump? Should we close this?


GEE resamples the output on the fly based on the viewing scale so visual comparison of different filters tend to look similar. If you want to visually compare, please reproject the output to a fixed scale first before using Map.addLayer().

I have checked on huge zoom on one corner, and they are exactly the same.

Then increase the kernel size and number of images in the multi-temporal speckle filter settings.

I tried everything still ... only it does is lee filtering, but nothing more.

please paste the parameter dictionary here so I can reproduce your results

This the Multi-temporal Lee filter with a 9x9 filter kernel and 10 images in the framework.

Whereas this is the Multi-temporal boxcar filter with kernel size of 15 and number of images of 14.

 From the three examples, it is pretty clear the multi-temporal filter is doing something.

Maybe I am doing something wrong?
https://code.earthengine.google.com/82a2a95203ed1c8778dd71e8024197d4

This is ho original data looks like:

This is how the same image with 5 images multitemporal and lee kernel=7 looks like:

And this is how LEE with kernel=7 looks like:

It does differ now, but I got like an opposite problem - multitemporal doesn't seem to apply LEE?

You can also implement the equivalent number of looks (ENL=mean^2/variance)  for a homogeneous region in your image to see if they are really identical or not.


Cannot create Debug directory

Environment data
dotnet --info output:  dotnet: command not found...
VS Code version:
Version 1.19.3
Commit 7c4205b5c6e52a53b81c69d2b2dc8a627abaa0ba
Date 2018-01-25T10:32:23.601Z
Shell 1.7.9
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
C# Extension version: 1.13.0
Steps to reproduce
start VSCode
Expected  behavior
Omnisharp works
Actual behavior
"Unable to create directory "/Debug/". Access to the path "/Debug/" is denied."
Omnisharp does not start.

What operating system are you running? Also, could you provide your OmniSharp Log? You can retrieve this by select View->Output from the VS Code menu and then choosing "OmniSharp Log" from the top-right corner of the Output pane.

uname -a
Linux xiaosan 4.14.16-200.fc26.x86_64 #1 SMP Wed Jan 31 19:34:52 UTC 2018
x86_64 x86_64 x86_64 GNU/Linux

i.e. Fedora 26. I run dnf upgrade so everything should be at the current
patch levels.
Here is what I am getting from OmniSharp. Note that there is an issue with
MSBuild,which I have raised with them separately.
Starting OmniSharp server at 2018-2-7 10:28:09
Target: /home/martin/jigsaw/git/main/main/Main/Main.sln
OmniSharp server started wth Mono
Path:
/home/martin/.vscode/extensions/ms-vscode.csharp-1.13.1/.omnisharp/omnisharp/OmniSharp.exe
PID: 3734
�info: OmniSharp.Stdio.Host
Starting OmniSharp on fedora 26.0 (x64)
[warn]: OmniSharp.MSBuild.Discovery.Providers.MonoInstanceProvider
It looks like you have Mono 5.2.0 or greater installed but MSBuild could
not be found.
Try installing MSBuild into Mono (e.g. 'sudo apt-get install msbuild') to
enable better MSBuild support.
info: OmniSharp.MSBuild.Discovery.MSBuildLocator
Located 1 MSBuild instance(s)
1: StandAlone 15.0 -
"/home/martin/.vscode/extensions/ms-vscode.csharp-1.13.1/.omnisharp/omnisharp/msbuild/15.0/Bin"
info: OmniSharp.MSBuild.Discovery.MSBuildLocator
MSBUILD_EXE_PATH environment variable set to
'/home/martin/.vscode/extensions/ms-vscode.csharp-1.13.1/.omnisharp/omnisharp/msbuild/15.0/Bin/MSBuild.dll'
info: OmniSharp.MSBuild.Discovery.MSBuildLocator
Registered MSBuild instance: StandAlone 15.0 -
"/home/martin/.vscode/extensions/ms-vscode.csharp-1.13.1/.omnisharp/omnisharp/msbuild/15.0/Bin"
MSBuildExtensionsPath = /usr/lib/mono/xbuild
CscToolPath =
/home/martin/.vscode/extensions/ms-vscode.csharp-1.13.1/.omnisharp/omnisharp/msbuild/15.0/Bin/Roslyn
CscToolExe = csc.exe
MSBuildToolsPath =
/home/martin/.vscode/extensions/ms-vscode.csharp-1.13.1/.omnisharp/omnisharp/msbuild/15.0/Bin
TargetFrameworkRootPath = /usr/lib/mono/xbuild-frameworks
info: OmniSharp.Cake.CakeProjectSystem
Detecting Cake files in '/home/martin/jigsaw/git/main/main/Main'.
info: OmniSharp.Cake.CakeProjectSystem
Could not find any Cake files
info: OmniSharp.DotNet.DotNetProjectSystem
Initializing in /home/martin/jigsaw/git/main/main/Main
info: OmniSharp.DotNet.DotNetProjectSystem
Auto package restore: False
info: OmniSharp.DotNet.DotNetProjectSystem
Update workspace context
info: OmniSharp.DotNet.DotNetProjectSystem
Resolving projects references
info: OmniSharp.MSBuild.MSBuildProjectSystem
Detecting projects in '/home/martin/jigsaw/git/main/main/Main/Main.sln'.
info: OmniSharp.MSBuild.MSBuildProjectSystem
Loading project:
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp.csproj
[warn]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Unable to create directory "/Debug/". Access to the path "/Debug/" is
denied.
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Could not write lines to file
"/Debug/Assembly-CSharp.csproj.CoreCompileInputs.cache". Could not find a
part of the path "/Debug/Assembly-CSharp.csproj.CoreCompileInputs.cache".
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
Failed to load project file
'/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp.csproj'.
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp.csproj
Loading project:
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-firstpass.csproj
[warn]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Unable to create directory "/Debug/". Access to the path "/Debug/" is
denied.
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Could not write lines to file
"/Debug/Assembly-CSharp-firstpass.csproj.CoreCompileInputs.cache". Could
not find a part of the path
"/Debug/Assembly-CSharp-firstpass.csproj.CoreCompileInputs.cache".
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
Failed to load project file
'/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-firstpass.csproj'.
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-firstpass.csproj
Loading project:
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-Editor.csproj
[warn]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Unable to create directory "/Debug/". Access to the path "/Debug/" is
denied.
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Could not write lines to file
"/Debug/Assembly-CSharp-Editor.csproj.CoreCompileInputs.cache". Could not
find a part of the path
"/Debug/Assembly-CSharp-Editor.csproj.CoreCompileInputs.cache".
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
Failed to load project file
'/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-Editor.csproj'.
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-Editor.csproj
Loading project:
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-Editor-firstpass.csproj
[warn]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Unable to create directory "/Debug/". Access to the path "/Debug/" is
denied.
[fail]: OmniSharp.MSBuild.ProjectFile.ProjectFileInfo
Could not write lines to file
"/Debug/Assembly-CSharp-Editor-firstpass.csproj.CoreCompileInputs.cache".
Could not find a part of the path
"/Debug/Assembly-CSharp-Editor-firstpass.csproj.CoreCompileInputs.cache".
[warn]: OmniSharp.MSBuild.MSBuildProjectSystem
Failed to load project file
'/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-Editor-firstpass.csproj'.
/home/martin/jigsaw/git/main/main/Main/Assembly-CSharp-Editor-firstpass.csproj
Detecting CSX files in '/home/martin/jigsaw/git/main/main/Main'.
info: OmniSharp.Script.ScriptProjectSystem
Could not find any CSX files
info: OmniSharp.Stdio.Host
Invoking Workspace Options Provider:
OmniSharp.Roslyn.CSharp.Services.CSharpWorkspaceOptionsProvider
info: OmniSharp.Stdio.Host
Configuration finished.
info: OmniSharp.Stdio.Host
Omnisharp server running using Stdio at location
'/home/martin/jigsaw/git/main/main/Main' on host 3606.
Regards,
Martin
On 7 February 2018 at 06:32, Dustin Campbell<EMAIL_ADDRESS>wrote:

What operating system are you running? Also, could you provide your
OmniSharp Log? You can retrieve this by select View->Output from the VS
Code menu and then choosing "OmniSharp Log" from the top-right corner of
the Output pane.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OmniSharp/omnisharp-vscode/issues/2011#issuecomment-363587989,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIgNgqrn1W49-YVKZPv037WSV1OYkvy7ks5tSNMRgaJpZM4R6k5Z
.

Could you try dnf installing msbuild and see if that addresses the problem?

Thanks, the msbuild people have fixed their issue, so now I have been able
to re-install msbuild and that has fixed OmniSharp. So please close the
issue as fixed.
Regards,
Martin
On 8 February 2018 at 01:15, Dustin Campbell<EMAIL_ADDRESS>wrote:

Could you try dnf installing msbuild and see if that addresses the
problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OmniSharp/omnisharp-vscode/issues/2011#issuecomment-363841504,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIgNgts4R_Bzyy3R9b13AUja7tl9IRuEks5tSdohgaJpZM4R6k5Z
.

Glad to hear it. Thanks for verifying!


Add index.styl

Allows you to
@import rupture cleanly when installed from npm. This is how other Stylus libraries like nib do it.

bump :|