smartstring now no longer relies on String layout

https://github.com/bodil/smartstring/blob/master/CHANGELOG.md#100---2022-02-24

[1.0.0] - 2022-02-24
CHANGED

smartstring now implements its own boxed string type rather than deferring directly to
String, so it no longer makes assumptions it shouldn't be making about the layout of the
String struct.
This also allows us to organise the boxed struct in a way that will let us rely only on our
basic assumption that heap memory is word aligned on both big and little endian architectures.
The most immediate consequence of this is that smartstring will now compile on 32-bit big
endian architectures such as mips.
We are now also explicitly allocating heap memory aligned for u16 rather than u8, ensuring
the assumption about pointer alignment becomes an invariant.
In short: smartstring no longer relies on undefined behaviour, and should be safe to use
anywhere.

Thanks!


onnx files fail to open

why do onnx files provided by face_detection_yunet fail to open?

I guess you need to install git-lfs to pull lfs objects (.onnx files).

Actually, I have the similar error.

I have already downloaded the .onnx files by downloading zip  and checked the path in demo.py.
I have  tried running code with absolute path of .onnx files.
I deploy the object_tracking_dasiamrpn with python 3.6 3.8 and opencv <IP_ADDRESS> <IP_ADDRESS>, but failed.
Hardware:
os : ubuntu 18.04 x64
when I run python demo.py , I get the follow error:

Traceback (most recent call last):
File "demo.py", line 54, in
model = DaSiamRPN(
File "/home/milab/Projects/PycharmProjects/pythonProject/opencv_zoo/models/object_tracking_dasiamrpn/dasiamrpn.py", line 24, in init
self._model = cv.TrackerDaSiamRPN.create(self._param)
cv2.error: OpenCV(4.6.0) /io/opencv/modules/dnn/src/onnx/onnx_importer.cpp:260: error: (-210:Unsupported format or combination of formats) Failed to parse ONNX model: object_tracking_dasiamrpn_model_2021nov.onnx in function 'ONNXImporter'
Please help me.

@Vincen-31 Your issue, including the one from OP, is all because of the git LFS object not being pulled properly. If you do not install git-lfs when doing git clone, or directly download via the Download ZIP button, the models (git-lfs objects) will not be fetched properly. Typically speaking, a deep learning model is at least several megabytes (one exception in opencv zoo is face_detection_yunet, which is ~330KB), but you can observe that the not-properly-fetched models are always 131B. And if you open those non-properly-fetched models with your text editor, you can see something as follows:
 version https://git-lfs.github.com/spec/v1
 oid sha256:176794409ae5e9d44b268297b1c480ba7f6df9f793a81d22eac4520aaf331594
 size 119815

I can see there are two methods to download models properly:

Install git-lfs as said in the front page readme and run git clone https://github.com/opencv/opencv_zoo.git to get the whole opencv zoo with all models.
Click into the model you want to download and click the download button in the webpage. Example: https://github.com/opencv/opencv_zoo/blob/master/models/face_detection_yunet/face_detection_yunet_2022mar.onnx.

@fengyuentau Thanks for your reply. I have fixed the problem by following your instrction.


[DOC]: Invalid Task Domains link and WorkflowDefinition link in Chapter Configuration/SystemTask/SubWorkflow

link (configuration/taskdomains) shoud be (/conductor/configuration/taskdomains)
link (configuration/workflowdef) shoud be (/conductor/configuration/workflowdef)

Thanks for the suggestion. https://github.com/Netflix/conductor/pull/2327


[5.4] Implicit Route Binding fails if the target model has a global scope t…

…hat joins tables
If the joined table has a field named as the searched model primary key (usually id) the join fails (column reference "" is ambiguous).
ref. https://github.com/laravel/framework/pull/18998

People may already be returning the table name from the routeKeyName method in which case this would break their code.


Languages can't be loaded if app is vulcanized

If the app that is loading the d2l-file-uploader is vulcanized the localize behaviour is unable to find the languages.json file that it needs to load.

Cool thanks @zwilson2. I'll switch this to use a app-localize-behavior.html file instead, which should solve the issue for you.


Update lorawan to 1.3.1

Please update my adapter ioBroker.lorawan to version 1.3.1.
This pull request was created by https://www.iobroker.dev c0726ff.

This Version is online till 30.07. without Problems

RE-CHECK!


Restore expand-all-hidden-comments feature

Fixes #4921
Test URLs

Go to https://togithub.com/lensapp/lens/pull/3910 and scroll down to the "131 hidden items / Load more" button.
Alt-click it. Every comment in the main thread should load.
Scroll down until you see a review thread with a "44 hidden comments" button.
Alt-click it. Every review comment in the thread should load.

Screenshot
https://user-images.githubusercontent.com/46634000/168293483-7931ccdb-f632-4e9e-8882-f8b08538dc48.mp4

Woot! Looking forward to the release with this.


Metered billing?

How exactly should metered billing work?
I am writing a processor as you suggested but some things are quite strange. In my test I do the following:
subscribeToPlanAndProcessPayment() is a function that triggers a subscription
    Carbon::setTestNow('2020-04-01');
    $user->newSubscription('default', 'growth-v1')->create();
    ...simulate payment and mollie callback....
    Carbon::setTestNow('2020-04-10');
    $user->subscription()->swap('pro-v1');

handle() in my processor is called once with the following order Item:
  "owner_id" => 1
  "owner_type" => "App\Models\User"
  "process_at" => "2020-04-10 00:00:00"
  "currency" => "EUR"
  "unit_price" => 14900
  "quantity" => 1
  "tax_percentage" => "0.0000"
  "description" => "Pro plan, monthly payment"
  "orderable_id" => 1
  "orderable_type" => "Laravel\Cashier\Subscription"
  "updated_at" => "2020-04-10 00:00:00"
  "created_at" => "2020-04-10 00:00:00"
  "id" => 4

And the connected subscription:
"id" => 1
"name" => "default"
"plan" => "pro-v1"
"owner_type" => "App\Models\User"
"owner_id" => 1
"next_plan" => null
"quantity" => 1
"tax_percentage" => "0.0000"
"ends_at" => null
"trial_ends_at" => null
"cycle_started_at" => "2020-04-10 00:00:00"
"cycle_ends_at" => "2020-04-10 00:00:00"
"scheduled_order_item_id" => 4
"created_at" => "2020-04-01 00:00:00"
"updated_at" => "2020-04-10 00:00:00"

My questions are:

Why is it only called once for the swap() and not for the initial payment?
Why is cycle_started_at and cycle_ends_at both "2020-04-10 00:00:00" ? Should start and end not differ?
How am I supposed to know for which period I have to get the metered billing details for?

Or am I doing it wong and I have to create my own order items before the processor is called?

More questions....

Why am I not receiving the processor callback for the prorated / partially refunded first order?

invoice1.pdf
invoice2.pdf

It's not yet supported on the first payment. See #177 .
No. It will be set correctly once the payment has been processed and your webhook has been called. That happens before your customer is redirected back to your app from Mollie's checkout.
Usually "usage up to the moment the Order is processed`" does the trick, so there's no attributes available on the preprocessor to check what cycle/period it's about. But I certainly can understand that there are other use cases that need more granular specificity than this. Interesting idea.
Refund behaviour is on the backlog #148. I don't think the solution will involve the preprocessors firing automatically, will probably use an Event to listen for.

Some notes on testing/debugging:

Are (other) webhook calls from Mollie reaching your app?
Did you run cashier:run?
Note that Mollie does not automatically update the status of mandated test payments. The status of mandated test payments can be manually set in the browser using the url provided by:

mollie()->payments()->get($paymentId)->_links->changePaymentState()

More info here.

Closing this for now, let me now if it should be reopened.


Unify structure of data across Redshift, Snowflake & BigQuery

Support for SUPER type in Redshift such that self-describing events & entities no longer need to be shredded out to separate tables, and the structure of data across the three warehouses can be unified.

Great call 👍

This is actually problematic for large enterprises with advanced access schemas unless you're planning to support both. Shredding into tables enables per column access grants in

BigQuery
Redshift
Snowflake


Validate receipt signature with OpenSSL, using a custom date

So today, a receipt that Apple uses to sign receipts expired. We can see this if we run the following:
➜ ~ openssl pkcs7 -inform der -in 34612809.bin -print_certs -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            18:59:43:21:72:74:9c:fc
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=US, O=Apple Inc., OU=Apple Worldwide Developer Relations, CN=Apple Worldwide Developer Relations Certification Authority
        Validity
            Not Before: Nov 11 21:58:01 2010 GMT
            Not After : Nov 11 21:58:01 2015 GMT
        Subject: CN=Mac App Store Receipt Signing, OU=Apple Worldwide Developer Relations, O=Apple Inc., C=US
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    00:b6:93:c2:b7:0f:24:5e:ed:d2:34:48:e8:85:05:
                    e3:33:94:66:5b:e8:27:37:bf:7b:43:49:eb:f9:c9:
                    17:97:33:73:32:49:4a:c8:6f:68:29:14:b8:94:a6:
                    f4:65:4b:3b:47:d7:d1:2c:66:4b:b8:98:d9:bc:f5:
                    12:51:cb:e6:2f:a9:f4:b3:9f:1c:e8:28:fc:52:c0:
                    81:a2:cb:56:62:80:5a:a2:91:ae:4e:40:c3:7d:28:
                    2e:d7:d3:ed:4d:d9:ad:8a:fb:f2:67:48:ec:eb:79:
                    bd:02:6d:04:59:18:ff:8c:37:9f:8a:37:f1:62:ff:
                    bb:a2:03:50:87:0a:d5:92:e0:86:11:5e:23:46:f5:
                    e1:25:63:2b:a2:6a:8c:b2:10:b7:91:23:4d:9a:3f:
                    83:40:f2:64:09:5a:f7:8d:ae:56:5c:d4:f5:b4:6e:
                    03:1b:04:5d:2c:1b:af:00:99:17:d7:a5:fb:49:91:
                    ce:e2:a1:11:31:5e:19:01:c0:da:ce:50:83:5e:c8:
                    eb:49:3b:49:1a:2a:ea:e0:9f:bf:d2:46:49:9c:d8:
                    ab:a1:83:61:6c:0f:c1:fc:b3:ad:99:75:2a:fc:23:
                    9b:ef:22:08:eb:7b:59:14:11:9f:73:34:2d:e6:b9:
                    39:a6:3b:f7:e6:3e:ec:ca:a6:fb:ab:af:26:df:8f:
                    88:81
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: critical
...

There are two other certs in the chain after the first one. However, the first one has the line Not After : Nov 11 21:58:01 2015 GMT, which makes all receipts signed with that cert bad. So if we check the receipt's signature locally, we will get that the receipt is expired.
What would be great, would be to have a way to verify the receipt with a given date. I have no idea if that is possible. For now, local verification with OpenSSL should be considered broken.
https://github.com/educreations/python-iap/commit/2b67fc45af2d3d84394c2b891a3d2f569445aff0 moves the bundle and device verification later, and validates the response from Apple.

@meastman, I got to spend a bunch of time hating OpenSSL, as usual. Two things:

I figured you'd get a kick out of this big screw up by Apple
I was wondering if you knew of a way to validate with a specified date. If you want to test, you can grab a receipt with our CloudFront URL + /appstore-receipts/34612809.bin


Provide better docker-compose.yml example

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2106
Originally created by @DouweM on 2020-06-23 23:11:16

View 15 previous comments from the original issue on GitLab


Also updates an item ("Newfoundland") that I had renamed to "dresser" (based on a wikimedia photo) previously, probably inappropriately. @gewarren pointed out that this was probably a dog based on its place in the list. I have re-renamed it to "dog".
For Eskimo dog, "Eskimo" is offensive in all contexts, but "Inuit" isn't accurate. Some places called this an "American Eskimo dog," so I have renamed it to "American dog."
11/7/22: Added term "rooster" to replace "cock".
These names are probably arbitrary. The offensive terms still occur in the publicly-available Tensorflow list. We are removing the terms from MS docs if possible to avoid any future hits. https://dev.azure.com/mseng/TechnicalContent/_workitems/edit/2001296
Fixes #Issue_Number (if available)
https://dev.azure.com/msft-skilling/Content/_workitems/edit/14660
https://dev.azure.com/msft-skilling/Content/_workitems/edit/14695
https://dev.azure.com/msft-skilling/Content/_workitems/edit/14677
https://dev.azure.com/msft-skilling/Content/_workitems/edit/14641
14716
14755
14746
14573

#sign-off. Just changing the term "Eskimo" dog or "American Eskimo dog" to "American dog," changing "cock" to "rooster," and changing "dresser," (which I'd mistakenly changed from "Newfoundland" in a previous PR because the wikimedia photo "Newfoundland" shows a dresser), to "dog", based on its position in the list. None of these labels actually refer to any photos in the tutorial. Just getting rid of the Policheck hits in the MS Docs version of this list. Thanks. @gewarren FYI.


Cannot package JAR with test classes

TestNG Version
6.14.3
Expected behavior
JAR file should be generated with test classes.
Actual behavior
I use maven-assembly-plugin in pom.xml to generate jar.
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>test.LeanFTest</mainClass>
                        </manifest>
                    </archive>
                    <finalName>${project.artifactId}-fatjar-${project.version}</finalName>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptors>
                        <descriptor>src/main/assembly/leanft-assembly.xml</descriptor>
                    </descriptors>
                </configuration>
            </plugin>

Is the issue reproductible on runner?

[ ] Shell
[x] Maven
[ ] Gradle
[ ] Ant
[ ] Eclipse
[x] IntelliJ
[ ] NetBeans

Test case sample
This project has same structure as my project: https://github.com/kohli-harshit/leanft-testng-template

This issue has got nothing to do with TestNG.
Also since the project shared has references to licensed jars that are not available in the internet, we cannot use this project as is to simulate the problem.
So I went ahead and created a sample project using which you can see how to solve the problem.
kungfu-panda.zip
Below is a sample that shows how the test classes are being executed via the uber jar
23:03 $ java -jar target/kungfu-panda-1.0-SNAPSHOT.jar -testclass com.rationaleemotions.MasterShifu
Executing :com.rationaleemotions.MasterShifu.testOne()
Executing :com.rationaleemotions.MasterShifu.testTwo()

===============================================
Command line suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================

Closing this question with resolution as Question answered

I have also updated my answer to your question on stackoverflow to include the required information https://stackoverflow.com/a/51034894/679824


vmware_vm_cpu_ready_summation is not very useful without the number of vCPUs on the VM

This value is in millseconds over the observed interval, on it's own it doesn't provide much insight and usually it is translated into a percentage value using the following formula:
(<value> / (<interval> * 1000)) * 100 = % CPU ready

for example, if the value is 1000 and the interval is 20 (Real-time), the result is:
(1000 / (20s * 1000)) * 100 = 5% CPU ready

The result of above calculations are a sum of each virtual CPUs %RDY time, However, it is more accurate to calculate the % CPU Ready per vCPU, mainly because 5% on 1 vCPU VM is a problem, however 5% on an 8 vCPU VM is OK (0.625% per vCPU)
In order to get the % CPU Ready per vCPU, we need to know how many vCPU each VM has, currently the exporter doesn't collect this information.

I believe #31 takes care of this.
@rverchere for your consideration 😄

Merged, thanks !


Dotcom links

Update .com header links
Update .com footer links
Update .com user guide links

Context

Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

I highly doubt this will cause any failure. Let's merge and see.


githubteacher's tampa food list

Added restaurants that I suggest going to.  Probably should add gifs at some point.
@brianamarie can you check this out, is there any other information you need?

Looks good!...any good taco places?

@githubteacher Nothing from Clearwater?


Naming tokens

You should be able to add a name to the draggable tokens to keep track

On hover, display the name as a tooltip.
Add an edit button to create the label/name in the hover menu.


Feature request: deploy metaflow's service to aws lambda

I'm not too experience with aws infrastructure, but what's the easiest way to have the metadata service running as a lambda function?
I expect to run metaflow infrequently but from different machines (including cloud instances), so I think it would make sense to have it as a lambda function (and fall well below aws' free usage quota).
Also, I suppose the backing DB could also be configured to exploit aws' free quotas for low usage?

@ogoid This should definitely be doable! I believe (I haven't tried this before) that by using Zappa you should be able to deploy the service behind API Gateway on AWS Lambda - would you like to try this approach?


Add SignExtend for two's complement sign extension

Useful for a lot of arithmetic ops which allow different bitsizes. wiki

I think this belongs in bookkeeping not arithmetic + this bloq needs to implement classical action

My understanding is that bookkeeping bloqs are only for building the correct bloq graph, but do not actually perform any quantum action. But this bloq actually performs a non-trivial action, so it makes more sense to keep it in arithmetic.

My understanding is that bookkeeping bloqs are only for building the correct bloq graph, but do not actually perform any quantum action. But this bloq actually performs a non-trivial action, so it makes more sense to keep it in arithmetic.

This is a reasonable set of logic to apply to the organization, thanks


chore(devs-infra): memoize isTestFile in config-set

Summary

Other getters have been memoized, no idea why this one I didn't do it. This PR makes it as a memoized getter.
Test plan

Green CI
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
N.A.

Pull Request Test Coverage Report for Build 5536

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.936%

Totals

Change from base Build 5535:
0.0%

Covered Lines:
1093

Relevant Lines:
1128

💛  - Coveralls


asdf on M1 macs tries and fails to download a Darwin ARM version of terraform

Downloading terraform version 0.12.29 from https://releases.hashicorp.com/terraform/0.12.29/terraform_0.12.29_darwin_arm.zip
Error: terraform version 0.12.29 not found

Hashicorp hasn't released new silicon versions of terraform yet, but the amd64 versions work fine due to Rosetta.
asdf should download arm versions if they're available (currently not released for any stable version) and fall back on a Rosetta compatible amd64 version if there's no arm version available.

currently not released for any stable version

This is actually not entirely true! Packer and Waypoint include darwin_arm64 builds for new releases today, and the other products are coming soon.

Closing this now that #31 is merged! Thanks for bringing this up.


Reindex to add moduleTypes for all packages

There are packages that didn't have a new release since the field moduleTypes was added and therefore don't have that field in the index. We talked with @Haroenv about doing a full reindex to fix this but there were some issues with the bootstrap process back then.
I got back to this recently and noticed the issue is still there so it'd be great if the full reindex could be done if/when it works.

cc @bodinsamuel, do you see some method to move the reindex that you're busy doing to the live one to solve this issue?

Still asserting that full reindex is okay, could have done in the correct app from the start that would have saved us 10days 💀
After the TS migration, I think optimisation will be easier but for now I'm not too confident in touching the codebase.

It's done and we are working on improving packages refresh even without npm updates 👌🏻


Fix Coverity CID 1466708 - correct pointer calculation in one case of  OSSL_HTTP_parse_url()

In my latest improvements to  OSSL_HTTP_parse_url() I had introduced a bug.

Merged - thanks @paulidale for the swift approval


Vectorized named parameters and generalized allowed input

This first adds support for vectorized named parameters. I also figured requiring the dict input to have values of type list[int] was needlessly restrictive, so I generalized it to allow slices, ints, or arbitrary sequences of ints. This includes multidimensional arrays, i.e., the named parameters now can have arbitrary shapes (which I think was originally desired in #386).
I also simplified the input validation (and replaced asserts with exceptions)---the messages could be more specific (e.g., "you have too many/too few/duplicate indices"), but I think they're sufficient as is. So far as I have thought of, the one kind of semi-invalid input that could sneak through is overslicing, i.e., passing {"x": slice(ndim+1)}. Presumably this would still, say, trigger an exception in log_prob if one was really expecting x to have size larger than ndim.
I will add tests for the extra cases allowed, I just put this together quickly (and got it working for my use case) and wanted to post for feedback.
Small note: I removed the import try/except for python 2 when I added an import from collections.abc.
(Edit: force pushed to replace checks for Iterables with Sequences as dictionaries are the former but not the latter.)

Thanks! I think this looks great, although I don't really use this interface, so I'm not extremely familiar with the details. A couple of tests to demonstrate this behavior would be awesome!

Thanks for taking a look! Will work on the tests soon (the current failure is just a preexisting check that vectorization + name parameters raised an assertion error).
I suppose it would be prudent to add examples to the docs, too, while I'm at it. In fact, I don't think there's an example of vectorization in there - probably good to point out, since for cheap likelihoods it can be much faster than multiprocessing (given the latter's added overhead).
Another idea: would it not be better UX to forgo the parameter_names argument and simply allow users to pass dict-like initial_states and infer the mapping to a flat array automatically? Maybe this goes beyond what you'd want to support, given that you don't use the interface yourself. (Feel free to ping me if issues arise here either way.)

Another idea: would it not be better UX to forgo the parameter_names argument and simply allow users to pass dict-like initial_states and infer the mapping to a flat array automatically? Maybe this goes beyond what you'd want to support, given that you don't use the interface yourself. (Feel free to ping me if issues arise here either way.)

This is an interesting idea! I've always felt that this interface didn't have the best UX. One alternative idea: Recently, I've been using JAX a lot and I love the Pytree interface, which easily covers all the use cases I would expect us to need here. I'm not very keen to bring in JAX as a dependency, but we could at least write a tutorial talking through how you could use JAX to build an interface for emcee models. As a demo, I put together a notebook that demonstrates this and it really only requires a tiny bit of boilerplate code, even with support for vectorized models: https://gist.github.com/dfm/3e637d60d452e1306b2c4077e33f103a
What do you think about using this interface and using this instead of trying to reinvent the wheel ourselves over here?

I like the idea in principle - thanks for the demo (I haven't taken the opportunity to try jax before). I've certainly long yearned for a seamless flat array <-> dict-like data container converter (having hacked such interfaces for scipy.integrate.solve_ivp which itself only interfaces with flat arrays).
However, I'm going to advocate for my previous idea (inspecting initial_state) for the following reasons:

I think dict[str, float | np.ndarray] is quite straightforward to support, has a well-defined scope, and provides a significant QOL improvement for (I suspect) the vast majority of use cases. (I've never used emcee without writing a wrapper to emulate this!) So I think it makes sense for emcee, even given its intended minimalism re: interface. I wouldn't want to sacrifice it to instead suggest users take on a (beefy) additional dependency and add rather than remove boilerplate, all to enable arbitrarily nested data structures - it seems like overkill. (That said, I'd be interested if you have examples where the full power of Pytrees was uniquely useful - maybe my view is too narrow!)
The overhead is killer. Locally I observe the wrapped/jit-ed function adds 330us of overhead. Sampling in your demo (with 50 walkers) is 40x slower than the vanilla, unvectorized case. Even with vectorization a factor of 5 remains. The implementation of named parameters in this PR adds no observable overhead - the conversion takes half a microsecond (which makes sense, as taking views of arrays and constructing dicts should be nearly free).

More broadly, I have played with writing a thin wrapper to automate some of the usual boilerplate---specifying parameters with names and priors, using the names to create dicts from parameter vectors (i.e., as parameter_names does), evaluating the priors  and skipping likelihood evals if log_prior == -np.inf, sampling from the priors to generate initial state vectors, blobs handling, converting chains to xarray.Dataset/arviz.InferenceData. I'd be happy to discuss more if you're it's something you're interested in pursuing (external to emcee, of course, if not generalized beyond it as well).

Those bench marking numbers actually don't scare me - stating them as relative for such a cheap model does make them sound scary, but in most real world applications, I'd expect this to be a fairly small price to pay. But no I wasn't suggesting that we make JAX a dependency of emcee!
All that being said, if you're keen to implement a version that inspects the input state and you're up for testing it thoroughly then that sounds like a great emcee contribution to me, and I'd love to review it! Do you want to use this PR for it or open a new one?

Those bench marking numbers actually don't scare me - stating them as relative for such a cheap model does make them sound scary, but in most real world applications, I'd expect this to be a fairly small price to pay.

I totally agree - I just meant to frame it as an overhead compared to emcee's existing internal overhead, which I think is the right thing to compare to. 300us/eval is slow even compared to the more expensive moves (like KDE). (And I certainly do have use cases---the one that motivated this PR---with << 300us likelihoods where vectorization helps a lot.)

But no I wasn't suggesting that we make JAX a dependency of emcee!

Yeah, that's how I read it - but it would be a dependency for those who want to follow your example! That's what I meant as overkill.

All that being said, if you're keen to implement a version that inspects the input state and you're up for testing it thoroughly then that sounds like a great emcee contribution to me, and I'd love to review it! Do you want to use this PR for it or open a new one?

It sounds like the way to go to me! I'll open a new PR. Thanks for hashing this out.


feat: Do not create snapshot_identifier when skip_final_snapshot = true

Description
Do not create random_id for snapshot_identifier when skip_final_snapshot = true because it is not required.
Motivation and Context
When we set skip_final_snapshot = true it is not required to generate snapshot_identifier. In current implementation it is still generated.

Breaking Changes
No breaking changes
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[ ] I have tested and validated these changes using one or more of the provided examples/* projects
[ ] I have executed pre-commit run -a on my pull request

we'll need to change skip_final_snapshot default value to false which matches the API but is more explicit here for the conditional checking requirements. Don't forget to run pre-commit run -a after changing to update the docs/etc.

I added a default value and also run a pre-commit run -a and got a lot of errors, but at least docs passed
Terraform docs...........................................................Passed
Terraform validate with tflint...........................................Passed
check for merge conflicts................................................Passed
fix end of files.........................................................Passed

Documentation updated in PR

This PR is included in version 7.6.0 :tada:


Make the pull-request remediator use git-go instead of plan GH API calls

This would allow us to modularize better the actual action that's done
(currently creating a file in git) and then keep on adding more actions like calling frizbee to change actions' tag to a SHA.
Fixes: #1729

I somehow am able to reason better about the code now that we're using go-git. Great work! It ended up being a lot more involved than I thought, and I really appreciate all the effort you put in this!

Honestly it took most time to write unit tests because I spent way too much time trying to bend memfs based repos into accepting a remote for pushing before realising I can just use a fs-based repo and be happy..


declare routes with annotation

I wonder why Spark does not support annotated route. I dug up some old issue two years ago, and it said it's "against" the paradigm Spark stands for.
I understand that. But still declarative route have its advantage:

can be attached with javadoc
easier to navigation in IDE
make route map more structured

The code would look like this.
/**
 * book api
 */
@Endpoint(path = "/book")
public class BookAPI {

    /**
     * get book by id
     */
    @Endpoint(path = "/:id", methods = HttpMethod.get)
    public static Object get(Request req, Response res) {

        return "hello";
    }

    public static void main(String... args) {

        Spark.scan(Arrays.asList("spark.examples"));

    }

}

Isn't it a good thing to make more options for users. They can choose the style they feel famillar with.

If people want this, they should use Jersey.  Please keep annotation-based routing out of Spark, at all costs.  It's the reason I use it.

If people want this, they should use Jersey. Please keep annotation-based
routing out of Spark, at all costs. It's the reason I use it.

+1

Please no. There are plenty of annotations based web frameworks out there. Keep this one as it is.

If people want this, they should use Jersey. Please keep annotation-based routing out of Spark, at all costs. It's the reason I use it.

:+1:

I agree with the comments above. Spark has its sweet spot at you know exactly (almost) was is going on. However, when that is said, I think it would be nice with some kind of plugin layer, which people could use to add extensions to Spark. Then having something like a "spark-contrib" area, for plugins.

+1
But when you have too many routes, It kind of becomes a pain.
So few days back I wrote this app https://github.com/debarshri/spark-annotation
Crappy. but it works and external to spark.

I agree with the previous sentiments that annotations do not belong in Spark, but I figured I'd explain why I see the way Spark does routing as worthwhile.
I've been using JAX-RS containers for a while, and the trouble with annotations is that there is always some amount of guesswork involved.    Worse still, since there is a disconnect between where you add the annotation and where the annotated resource is added to the configuration/wiring, it gets hard to understand exactly what is happening and in what order.  It is all magic.
When you explicitly configure the routes, adding resources to the configuration is explicit.  You can point to a place in the code and say "here is where it gets added".  You also get the opportunity to detect and report errors as you do this, since the framework can give you a compiler error or an exception that directs you towards the exact place where you had a problem.
Explicit configuration also makes it easier for new entrants to a project to follow what is happening.  While it may be easy for experienced JAX-RS users to navigate smallish codebases, navigating large, complex codebases if you are inexperienced or rusty gets hairy quickly.
I actually think Spark could be made even better by moving further in the direction it is already moving.  By ditching static instances, enforcing immutability and instead provide creature comforts by adding supporting code, like sensible builders and, to those who prefer the static model, a static facade (although I am conflicted by this since static instances are .... well...extremely problematic and you don't want people to do that)

+1 to everything said above

+1 to @borud


Queue import error

hello,
I'm trying to make populus work and got this error, is it intended to run on python 2 ?
➜  testpopulus git:(master) ✗ populus deploy
Traceback (most recent call last):
  File "/usr/local/bin/populus", line 9, in <module>
    load_entry_point('populus==0.7.4', 'console_scripts', 'populus')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 568, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2720, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2380, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2386, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/lib/python3.5/dist-packages/populus/cli/__init__.py", line 2, in <module>
    from .attach_cmd import attach  # NOQA
  File "/usr/local/lib/python3.5/dist-packages/populus/cli/attach_cmd.py", line 16, in <module>
    from eth_rpc_client import Client
  File "/usr/local/lib/python3.5/dist-packages/eth_rpc_client/__init__.py", line 1, in <module>
    from .client import Client  # NOQA
  File "/usr/local/lib/python3.5/dist-packages/eth_rpc_client/client.py", line 3, in <module>
    from eth_client_utils import (
  File "/usr/local/lib/python3.5/dist-packages/eth_client_utils/__init__.py", line 1, in <module>
    from .client import (  # NOQA
  File "/usr/local/lib/python3.5/dist-packages/eth_client_utils/client.py", line 4, in <module>
    import Queue
ImportError: No module named 'Queue'

Yes, but python3 support is becoming a high priority pretty quickly.  I believe fixing this should be as simple as including six in the dependency chain and then running the test suite in python3 and seeing what's broken.
If you'd like to take a stab at I'd be happy to help in any way I can.

Fixed and up on pypi as 0.3.1
The dependent libraries are going to take a little longer to get python3 support into but I'm working on it.


No error report in editor on "unused-imports/no-unused-imports"

Hi! Unfortunately, plugin is not showing and not fixing errors in editor for "unused-imports/no-unused-imports" rule.
If I run npm script "eslint .", I will see these errors in a terminal. Also, I can see these errors in WebStorm IDE, but not in VS Code.

VS Code editor:

terminal output:

WebStorm:

@AlexMarlow25 you very likely need to let ESLint know about working directories using eslint.workingDirectories setting.
If this doesn't help, please provide me with a GitHub repository I can clone that demos what you are seeing.

@AlexMarlow25 you very likely need to let ESLint know about working directories using eslint.workingDirectories setting.
If this doesn't help, please provide me with a GitHub repository I can clone that demos what you are seeing.

I think I've found a problem! I inspected my config with npx eslint --print-config eslint.config.js and found out, that there two rules:
"ts/no-unused-vars": [
      0
 ],

and
"unused-imports/no-unused-vars": [
      2,
      {
        "args": "after-used",
        "argsIgnorePattern": "^_",
        "vars": "all",
        "varsIgnorePattern": "^_"
      }
],

In result I don't have errors on unused imported variables, as described earlier. But finally I will see them, if I set this rule manually in config to
'ts/no-unused-vars': [
        2,
        {
          args: 'after-used',
          argsIgnorePattern: '^_',
          vars: 'all',
          varsIgnorePattern: '^_',
        },
],

From that moment I think, that a problem somewhere on a WebStorm side 😅 Or am I completely confused.

I have encounterd the same problem, for example: https://github.com/yunsii/cf-worker-status-page-pro/blob/32f076f16843025d06e6223b379f0eceb3447f8b/scripts/public-assets.ts#L3
If I add a extra import chalk from zx:
import { chalk, fs, path } from 'zx'

VS Code report no error, but npm run lint throw an error like:
/home/my/project/cf-worker-status-page-pro/scripts/public-assets.ts
  3:10  error  'chalk' is defined but never used  unused-imports/no-unused-imports

✖ 1 problem (1 error, 0 warnings)
  1 error and 0 warnings potentially fixable with the `--fix` option.

@yunsii can you please provide me with a GitHub repository I can clone with a minimal repro case. Otherwise it is hard to say why it is not working.

@dbaeumer It's really strange:

https://github.com/yunsii/vscode-eslint-1767/tree/master branch works as expected
https://github.com/yunsii/vscode-eslint-1767/tree/eslint-ts-patch also works as expected (use eslint-ts-patch instead based on master branch)
https://github.com/yunsii/vscode-eslint-1767/tree/antfu-eslint-config encounter the same question (use @antfu/eslint-config based on master branch)

After my deep investiagtion, it seems that there is a difference between eslint cli and vscode-eslint. Specifically, npx eslint ./hello.ts will throw 2 errors:
/home/projects/vscode-eslint-1767/hello.ts
  1:10  error  'chalk' is defined but never used                                                  unused-imports/no-unused-imports
  3:7   error  'result' is assigned a value but never used. Allowed unused vars must match /^_/u  unused-imports/no-unused-vars

✖ 2 problems (2 errors, 0 warnings)
  1 error and 0 warnings potentially fixable with the `--fix` option.

But there is only 1 error in editor:

@dbaeumer It's really strange:

https://github.com/yunsii/vscode-eslint-1767/tree/master branch works as expected
https://github.com/yunsii/vscode-eslint-1767/tree/eslint-ts-patch also works as expected (use eslint-ts-patch instead based on master branch)
https://github.com/yunsii/vscode-eslint-1767/tree/antfu-eslint-config encounter the same question (use @antfu/eslint-config based on master branch)

After my deep investiagtion, it seems that there is a difference between eslint cli and vscode-eslint. Specifically, npx eslint ./hello.ts will throw 2 errors:
/home/projects/vscode-eslint-1767/hello.ts
  1:10  error  'chalk' is defined but never used                                                  unused-imports/no-unused-imports
  3:7   error  'result' is assigned a value but never used. Allowed unused vars must match /^_/u  unused-imports/no-unused-vars

✖ 2 problems (2 errors, 0 warnings)
  1 error and 0 warnings potentially fixable with the `--fix` option.

But there is only 1 error in editor:

Thank you for your repo! In the antfu-eslint-config branch I see the error in the WebStorm too, and don't in VSCode. I've decided to investigate what is going on inside antfu config and found this:
isInEditor = !!((import_node_process3.default.env.VSCODE_PID || import_node_process3.default.env.VSCODE_CWD || import_node_process3.default.env.JETBRAINS_IDE || import_node_process3.default.env.VIM) && !import_node_process3.default.env.CI),

...

"unused-imports/no-unused-imports": isInEditor ? "off" : "error",

A very non-obvious behavior for a library is to disable errors in the editor. If we put both facts together, it seems that this variable does not work for WebStorm and therefore there are errors there, but not in the VSCode.

@AlexMarlow25 thanks a lot for the great investigation. Indeed very strange to disable errors in an editor.

I will close the issue since there is to my understanding nothing VS Code can do to fix.


Version constraint problem with rsyslog

The pessimistic version matching breaks, because the rsyslog cookbook has switched major versions.
I changed ~> to >= to get it to work in the metadata. I can do a PR, but I'm not 100% sure that's the correct way.

That's probably a legit change.  I'll make it now.


[dev] JSON output is no longer consistent

magma/mantle regression tests are no longer working because linux/mac produce different orderings in the JSON outputs (inconsistency in the gold files between locally and on travis)
For our test cases the difference manifests in the ordering of genargs and the ordering of record type fields

This would become a non-issue once we migrate the magma/mantle tests to use the coreir simulator.  For now I might try using the verilog pass and verilator to run the tests.

Can you send me two files which should be the same but have a different diff?

Let me know if it is fixed in dev

Looks like the ordering of genargs is now consistent, but record type fields are still different.
Here's the failing test on travis: https://travis-ci.org/phanrahan/magma/jobs/275533240 (the gold file was generated locally on my mac)
Gold files: https://github.com/phanrahan/magma/tree/enable-coreir-regressions-tests/tests/test_coreir/gold
Test script: https://github.com/phanrahan/magma/blob/enable-coreir-regressions-tests/tests/test_coreir/test_coreir.py

Per our recent conversation, I vote for making arguments (and any dictionary including record types) have a well-defined ordering. Hopefully that would help with the JSON.

The likely cause of this is that I have Records being organized by insertion order. I did this early on because it is sometimes nice to maintain the order of the ports that were specified by the user.
The easy fix is for me to just sort by key like the rest of the dictionaries. Alternatively, magma could also sort by insertion order.

Fixed for magma/mantle tests


Nicer clean-dashboard for create repo event

Resolve #5530
Test URLs
https://github.com/
Screenshot

Huh, just realized this feature is almost completely wrecked.

Closing in favor of #5535


Gh11 find step def usages fails first time

…e first time.
Partial Fix for #11
This patch displays an error dialog when the StepDefinition binding registry is not yet fully populated (instead of current behavior of the command silently failing).
Modified PreExec to check for a valid Binding Registry. If one not found, an error dialog is displayed and the command exits.
Same modification made to 'Find Unused Step Definitions' command.
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 not work as expected).
[ ] Performance improvement
[ ] Refactoring (so no functional change)
[ ] Other (docs, build config, etc)

Checklist:

[ ] I've added tests for my code. (most of the time mandatory)
[X ] I have added an entry to the changelog. (mandatory)
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Thx!


Add mesh generation and api exercises to repository

just an fyi that your mesh generation notebook has about 6MB of trash warnings in it

Thanks @langevin-usgs
I thought I'd filtered those out, but some still made it through. They're cleaned up now


Loot discord webhook

@egut125  What is this PR? Is it ready to go?

@egut125  What is this PR? Is it ready to go?

I believe so but it's been a really long time since I tested it.
Should allow you to set up a separate discord channel for just loot messages if you want. Allows separate channel for  messages vs loot messages.


JAMES-1436 SwitchableLineBasedFrameDecoder: clean up cumulation buffer

Thanks https://github.com/jtconsol for the report.
If data remains in the cumulation buffer after say a APPEND, we flush it, as it avoids
APPEND to wait indefinitly for data. However this did let the cumulation buffer in a
non usable state causing following commands to fail.
We should this set the cumulation buffer to null to no longer use it (and allocate a new one)
in order to prevent failures in follow up message processing.

For the sake of completeness here's the pre-patch behavior on my machines:
$ for i in $(seq 10); do mvn -B -pl :james-server-protocols-imap4 test 2>&1 | grep "in org.apache.james.imapserver.netty.IMAPServerTest"; done
[ERROR] Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.576 s <<< FAILURE! - in org.apache.james.imapserver.netty.IMAPServerTest
[ERROR] Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.668 s <<< FAILURE! - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.833 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.666 s - in org.apache.james.imapserver.netty.IMAPServerTest
[ERROR] Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.685 s <<< FAILURE! - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.615 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.636 s - in org.apache.james.imapserver.netty.IMAPServerTest
[ERROR] Tests run: 6, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.705 s <<< FAILURE! - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.709 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.728 s - in org.apache.james.imapserver.netty.IMAPServerTest

Post-patch behavior (patch makes one of the problematic tests run 200 times per build invocation):
$ for i in $(seq 10); do mvn -B -pl :james-server-protocols-imap4 test 2>&1 | grep "in org.apache.james.imapserver.netty.IMAPServerTest"; done
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.864 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.199 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.578 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.963 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.896 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.546 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.324 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.034 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.711 s - in org.apache.james.imapserver.netty.IMAPServerTest
[INFO] Tests run: 205, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.553 s - in org.apache.james.imapserver.netty.IMAPServerTest

Thanks again!


interception_spec: add a failing test (SystemStackError stuff)

Original issue: https://github.com/pry/pry/issues/942
The problem occurs in pry-rescue plugin, which the original poster uses. I really wished to fix that myself, but I stumbled upon the wall. So I just added a failing test.
The failing test errors with the following message (on 1.9.3 and higher): can't modify frozen object (RuntimeError). Notice that this time it's frozen object, not Class.
On 1.8.7 the error message is different (BTW, I think we, Ruby developers, should forget about 1.8.7 now): NameError: undefined local variable or method `shoulder'. I'm not sure, but it looks like it cannot retrieve the correct binding.
I discovered that the problem lies somewhere around that line: https://github.com/ConradIrwin/interception/blob/e6259a786b1f9715127e9a26491331c5c525e549/ext/interception.c#L47
For what it's worth, I also found that SystemStackError inherits from Exception. It also freezes the message error string, but I don't think that's relevant. https://github.com/ruby/ruby/blob/bbe36f64a065dd6124b119590c5d4e5370c893e5/proc.c#L2154-L2157

@ConradIrwin is there any chance you could pick this back up? The system stack errors seem to be related to something deep in Interception, and I can't fix it from in pry-rescue land.


GitHub release API misused

(NOTE: This is used to report product bugs:
To report a security vulnerability, please visit https://istio.io/about/security-vulnerabilities/
To ask questions about how to use Istio, please visit https://discuss.istio.io
)
Bug description
While looking after a bug in release pipeline, I've found that we have a bad tag in the API usage:
target_commitsh instead of target_commitish , we should probably have a look around the various repos to fix this.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[X] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Steps to reproduce the bug
Version (include the output of istioctl version --remote and kubectl version)
How was Istio installed?
Environment where bug was observed (cloud vendor, OS, etc)
Additionally, please consider attaching a cluster state archive by attaching
the dump file to this issue.

Closed as wont-fix until we swap to #16887


Rollup and babel in build pipeline

We want to modernize the code base, and in order to do so we need to add a transpilation step for building the browser artifacts we distribute, so we can retain our current conservative browser version targets.
The strategy I suggest is applying Babel in our bundling tool to keep the output browser compatible. I suggest switching from browserify to Babel to give us an ability to move to ES modules when we want to, but alsy get the immediate option of creating multiple distributions with different configurations of transpilation applied.
When these changes are all done we should be able to convert the code base to more modern js, allowing things like destructuring, arrow functions etc.
Description of the Change

[x] Clean up code paths, so node-only code isn't part of a browser bundles dependency graph
[x] Replace Browserify with Rollup
[ ] Set up eslint to keep the code node compatible at a version we decide
[x] Add Babel transpilation to rollup bundles

[x] Configure browser output that is IE11 compatible --> mocha.js
[ ] Configure a more modern output for evergreen browsers --> mocha.modern.js?

Alternate Designs
We could have retained browserify as our bundling tool, but rollup was chosen for its ability to deal with ES modules, which is a very likely future for Mocha, given its browser nature.
Benefits
No more restrictions on authors to write ES5 and remember what browser globals were available 7 years ago
Possible Drawbacks
Changing bundling strategy can carry a risk, especially if the bundler changes the way it resolves node global for a browser.
Applying transpilation can carry a risk of not knowing the exact output that will be generated.
We need to test these changes very well.

Coverage decreased (-0.1%) to 93.081% when pulling 5ea30376d91a7388c031a819f96f86518574cd0b on munter/transpilation into 1a4646dd2f7b35010c2488edcb2d5f4cfb2f14a8 on master.

needs https://npm.im/process

rebased onto master

This branch is ready to be merged IMO. All the transpilation config has been added, which makes the code base ready to be converted to modern JS.
I made an example branch where I ran lebab -t arrow on our lib files: https://github.com/mochajs/mocha/compare/munter/transpilation...munter/lebab?expand=1
The travis build for that is green, meaning that it runs in IE11, where arrow functions would normally throw: https://travis-ci.org/github/mochajs/mocha
I think we should merge this branch separately from doing the actual code modernisation, as an attempt to keep the change-set as small as possible here and make it easier to coordinate when we pull in modernisations that will likely require other branches to resolve conflicts

The failing Netlify deploy is something about spriting opencollective images, which also happens on other branches. I'll look into that somewhere else

The strategy I suggest is applying Babel in our bundling tool to keep the output browser compatible.

This means our code plus the code of our dependencies will be transpiled, right?

This means our code plus the code of our dependencies will be transpiled, right?

I'm pretty sure the current config will also transpile node_modules, but I haven't actually tested it. Maybe we should make a new branch based on this one and upgrade a dependency we know will break IE11. The Travis build should tell us if it works

Maybe we should make a new branch based on this one and upgrade a dependency we know will break IE11.

@Munter I tried to make this test. But I can't get your branch munter/transpilation (unchanged) running on my local Windows machine. npm test fails at script test.browser.unit with code ELIFECYCLE. The bundling of ./mocha.js succeeds with a warning of circular dependencies, but above script fails.

adding failOnEmptyTestSuite: false to karma.conf.js, npm test passes, but no browser tests are run. The summary always states: SUMMARY: √ 0 tests completed.
So the root problem is, the karma-runner does not execute any tests on Windows.

I'd say this is a blocker. You should be able to develop locally on windows.
I'm a bit confused why our tests from saucelabs are not representative of your experience here.
const browserPlatformPairs = {
  'chrome@latest': 'Windows 10',
  'MicrosoftEdge@latest': 'Windows 10',
  'internet explorer@latest': 'Windows 10',
  'firefox@latest': 'Windows 10',
  'safari@latest': 'macOS 10.13'
};

I guess it could be something with the bundling mechanism, since the saucelabs tests are run on linux bundled assets I think.
Maybe we need appveyor to run an additional test of karma and a local headless chrome

My local output shows:
nps is executing `test.browser.unit` : cross-env NODE_PATH=. karma start --single-run
CI mode disabled

START:
babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here:
https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers
Generated an empty chunk: "_rollup:plugin-multi-entry:entry-point"
Generated an empty chunk: "_rollup:plugin-multi-entry:entry-point"
20 06 2020 16:00:19.035:INFO [karma-server]: Karma v4.4.1 server started at http://<IP_ADDRESS>:9876/
20 06 2020 16:00:19.046:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited
20 06 2020 16:00:19.070:INFO [launcher]: Starting browser ChromeHeadless
20 06 2020 16:00:22.356:INFO [HeadlessChrome 83.0.4103 (Windows 10.0.0)]: Connected on socket NylQbcaiMkoAHu2QAAAA with id
56280182

Finished in 0.012 secs / 0 secs @ 16:00:22 GMT+0200 (GMT+02:00)

SUMMARY:
√ 0 tests completed

These two empty chunks look odd. In Travis' logfile you don't find such a warning.

What about this rollup-plugin-glob-import?
Doesn't it bundle multi test files (also glob's) into one single test file?

What about this rollup-plugin-glob-import?
Doesn't it bundle multi test files (also glob's) into one single test file?

@juergba That plugin works on globs in import statements in code. Useful if you want to bundle thing you can't statically analyse the need for. Like icons or dynamic content etc. We could possibly use it, but only if we created a new entry file for each of our test branches from Karma and import those globs. I'm unsure how that would work with a new wrapper layer i import/exports. It didn't seem very appealing

These two empty chunks look odd. In Travis' logfile you don't find such a warning

@juergba I think I might have messed something up that caused the different windows paths with backslashes not to match in the plugin. I'll be at the office tomorrow and will bring home a windows laptop so I have a setup I can recreate and fix it in.
I still think it would be a good idea to add an appveyor test for running headless chrome tests on windows

I'll give this a try on windows too

I'm running this side-by-side on mac and windows, and the result of nps build is different.  windows builds one thing, and mac builds something else.

alright, the difference is just some object prop ordering.
but I can definitely reproduce the "can't run browser tests on windows" problem :(

it creates an empty bundle.  we see warnings
Generated an empty chunk: "_rollup:plugin-multi-entry:entry-point"
Generated an empty chunk: "_rollup:plugin-multi-entry:entry-point"

the contents of the bundle:
(function () {
	'use strict';

}());
//# sourceMappingURL=f16fa37b-ce80-4765-8342-10dd7125ff93.rollup.js.map

OK, 008da88 should fix it.  @juergba can you give it a shot?

I'm unsure what the root cause is here.  perhaps there's something in karma that demands POSIX paths?

Yes, npm test is now running successfully on my Windows laptop. 👍
I have a good feeling about the first bundling step (building mocha.js). The file is bigger though than before. But I'm not sure about the second one (squeezing our test files into karma). This approach does seem too complicated to me.

Maybe we should make a new branch based on this one and upgrade a dependency we know will break IE11.

This test also passes successfully, see branch juergba/transpilation.

(someone needs to rebase this manually before merging)

I marked this patch but I'm not entirely confident it won't break somebody.
@mantoni I wanted to let you know that this exists and will be merged soon.  I am not sure if this is going to be good or bad for you, or neither.  😄

@boneskull Thank you for thinking of me. My current experiments with a rewrite of Mochify depend on the pre-bundled version of Mocha. So this won't be an issue.

I'd like to see if I can silence a few of the rollup warnings before we merge


[gestures] make stylus pointer types use touch pan/drag slop

Description
A user reported that they could not drag/pan/scale correctly anymore. Revert the stylus values to the old settings.
Fixes https://github.com/flutter/flutter/issues/67869

Failure is single flaky fuchsia bot, skipping.


Exit code suggestion - to discuss and review whether to add exit code

Hi @kensoh
Exit code returns 0 by default when there is no syntax problem in a code.My suggestion is when exit code is different from 0 when an error is received in the project.Because when a cron job or windows task scheduler is defined, a different value than exit code 0 can be warned.
For this I have added the following code in the tagui.cmd file.
for /f "tokens=*" %%a in (%flow_file%.log) do set "line=%%a"
echo "%line%"|findstr /i /c:"ERROR" >nul
if errorlevel 1 (
 set tagui_error_code=0
) else (
 set tagui_error_code=1
)

Similar problem here: my tagui script is launched by an external process and I need to monitor if any error happened during the automation (for example if wrong credentials are provided). Like this:
if !present('LOGOUT')
{
  echo 'error: credentials are not valid ' + username
  this.exit(1)
}

I tried using in my script this.exit(1) and also setting  exitCode = 1 before the exit command, but I still have an exit code 0 when i call echo $? from command line.
btw, this also happens when there's an error in the script (for example read can't find a path). The exit code is always 0.
Am I missing something? Is there a way to set the exit code in my tagui script?
Thank you for your support and for your work, tagui is awesome!

Thanks @muratcim for sharing and @youleaf for your kind words!
The exit code from TagUI is aimed to detect whether error happens during parsing of the human language script into working JavaScript code. Thus running this.exit(1) from the script will not pass on the exit code 1.
Looping my colleague @siowyisheng into this discussion. Yi Sheng, what do you think of having the ability to have custom exit codes in TagUI script? Is this something you would like to have in v6.x / v7?
If this is to be implemented, probably a new step is needed, eg exit 1 to retain the human language syntax. And also updating the language dictionaries if that feature is retained.
Above are 2 different examples, first way is detect 'ERROR' keyword in the output log file, second way is to invoke exit code from script. Right now if an error happens during automation TagUI simply exit with this.exit() with no error code.

If this can be useful, at the following link you'll find standard exit codes in glibc (adopted by linux, *bsd and also osx that doesn't use glibc). AFAIK, windows uses different exit codes though.
https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=misc/sysexits.h;hb=0f1e40d49c1d4871fa9d7b7efdc7fca7f5ac01c0
Didn't know 1 was used for script parsing errors. This is useful and perfectly makes sense; anyway being able to catch run errors too would be great in use cases where script launch is automated.

Bumping my colleague @siowyisheng for inputs

Hi @muratcim and @youleaf thanks for your inputs! 👍🏻
I'll have a look this week to see if there is a good way to implement exit code.

Hi Guys, I've looked at this. Some findings -
The current architecture does not support exiting with error level 1 even if there is an error, for example an element not found. Similarly, doing a this.exit(1); would not work (@youleaf). This is because of the following lines in tagui and tagui.cmd.
In order to both capture log files and also output the automation execution to screen, the execution is piped into the tee command. However, that means that the error level returned back would be the error level of tee command which is 0, and never 1, even if explicitly set.
macOS / Linux
"$CASPERJS_EXECUTABLE" "$1".js $params$api | tee -a "$1".log

Windows
casperjs "%flow_file%.js" %params%!api! | tee -a "%flow_file%.log"

However, @muratcim method should be doable even in v6, by hijacking log file before it is deleted by default. The following lines should do the job, by adding to just before log files are deleted.
Windows
rem give errorlevel 1 on error detected
if exist "%flow_file%.log" (
    find /c "ERROR -" "%flow_file%.log" > nul
    if not errorlevel 1 set tagui_error_code=1
)

Fyi Guys, above has been implemented with above commit.
Now available with latest cutting edge version - https://github.com/kelaberetiv/TagUI/archive/master.zip

Hi @youleaf for your block of code, the following should work now and return errorlevel 1 -
TagUI v6
if !present('LOGOUT')
{
  echo ERROR - credentials are not valid `username`
  this.exit(1)
}

@muratcim and @youleaf thanks for your contributions and patience!
Closing the issue for now until further inputs or issues.


(WIP): Added Welcoming Stepper Modal Component, also this PR fixes Workflow Cluster and FinishModal issues

This PR is adding Welcoming Stepper Components of Modals. Which will take project and user information.
Also this PR fixes workflow cluster screen and Finish Modal.
Which issue this PR fixes fixes #<1573>,#<1574> , will close that issue when PR gets merged):
Checklist

[x] Does this PR have a corresponding GitHub issue?
[ ] Have you included relevant README for the chaoslib/experiment with details?
[x] Have you added debug messages where necessary?
[x] Have you added task comments where necessary?
[ ] Have you tested the changes for possible failure conditions?
[ ] Have you provided the positive & negative test logs for the litmusbook execution?
[ ] Does the litmusbook ensure idempotency of cluster state?, i.e., is cluster restored to original state?
[ ] Have you used non-shell/command modules for Kubernetes tasks?
[ ] Have you (jinja) templatized custom scripts that is run by the litmusbook, if any?
[ ] Have you (jinja) templatized Kubernetes deployment manifests used by the litmusbook, if any?
[ ] Have you reused/created util functions instead of repeating tasks in the litmusbook?
[ ] Do the artifacts follow the appropriate directory structure?
[ ] Have you isolated storage (eg: OpenEBS) specific implementations, checks?
[ ] Have you isolated platform (eg: baremetal kubeadm/openshift/aws/gcloud) specific implementations, checks?
[ ] Are the ansible facts well defined? Is the scope explicitly set for playbook & included utils?
[ ] Have you ensured minimum/careful usage of shell utilities (awk, grep, sed, cut, xargs etc.,)?
[ ] Can the limtusbook be executed both from within & outside a container (configurable paths, no hardcode)?
[ ] Can you suggest the minimal resource requirements for the litmusbook execution?
[ ] Does the litmusbook job artifact carry comments/default options/range for the ENV tunables?
[x] Has the litmusbooks been linted?

Special notes for your reviewer:

@rajdas98 @gdsoumya @arkajyotiMukherhee
Please PTAL. I have updated the changes.
I am stucked with E2E testing and Map component. Please Review this asap.


Getting Data Wiki Page insists on Python 2

The Getting Data Wiki page is insistent that Python 2 must be used. However, based on the code, that's not required anymore. Should it be updated?

Probably. We definitely support Python 3 now. Looks like that warning was added in 2012.

I edited the wiki page and I am preparing a PR to fix setup on python 3.7

I've edited the wiki page to remove the warning.


Python code to start the Python Client examples at a fixed location

Does anyone have a line of Python code example to include in the Python client examples to start the SDC at a given existing location in the view_location.php list?
I'm trying to analyze one itinerary and it keeps starting at random locations.
Thanks in advance!

Hi @Denis2054
If you take a look at client_example.py you will find these lines:
https://github.com/carla-simulator/carla/blob/860dbe908e7a81232bdba6853943707f6b0102c2/PythonClient/client_example.py#L99-L107
Here you can see that client.start_episode(...) expects an integer ID between 0 and len(scene.player_start_spots) - 1
I recomend you to take a look at client_example.py to familiarize yourself with Carla module.
Cheers.

OK. Thanks a lot!!!
https://www.packtpub.com/big-data-and-business-intelligence/artificial-intelligence-example
Denis Rothman
Artificial Intelligence expert, Author, Speaker
https://www.packtpub.com/big-data-and-business-intelligence/artificial-intelligence-example
https://www.packtpub.com/big-data-and-business-intelligence/artificial-intelligence-example
Linkedin https://www.linkedin.com/in/denis-rothman-0b034043
Amazon Author Page https://www.amazon.com/Denis-Rothman/e/B07DFRCJG8
Packt Publishing Author Page
https://www.packtpub.com/books/info/authors/denis-rothman
On Fri, Jul 20, 2018 at 11:38 AM, Marc Garcia Puig<EMAIL_ADDRESS>
wrote:

Hi @Denis2054 https://github.com/Denis2054
If you take a look at client_example.py you will find these lines:
https://github.com/carla-simulator/carla/blob/
860dbe908e7a81232bdba6853943707f6b0102c2/PythonClient/
client_example.py#L99-L107
Here you can see that client.start_episode(...) expects an integer ID
between 0 and len(scene.player_start_spots) - 1
I recomend you to take a look at client_example.py to familiarize
yourself with Carla module.
Cheers.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/carla-simulator/carla/issues/611#issuecomment-406546919,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AdYkVob9XiDv78Fyx8xxHkhXH4Rs1Rl5ks5uIaUkgaJpZM4VXqWh
.


Dose it need change all gotrans to transcoder?

go get can not install transcoder.
Dose it need change all gotrans to transcoder?

Fixed, thanks for letting us know.


Add shell control in options

Description : https://github.com/getsentry/sentry-python/issues/360

Thanks for your PR! Would you mind making this an option on the integration, like the options on e.g. FlaskIntegration?

I think the integration could be this way. Isn't that right?
import sentry_sdk
sentry_sdk.init(
    'http.....',
    debug=True,
    is_shell_active=True,
)

@tolgahanuzun My point is that this global setting is not used by any other integration. To configure transaction_style for the FlaskIntegration, you run this:
sentry_sdk.init(
    ...,
    integrations=[FlaskIntegration(transaction_style="...")]
)

And I think it should work the same for this integration, because it's really only something the integration uses.

You can send events with capture_event and other integrations. I have trouble imagining where you'd be fine with a NameError being sent to Sentry:
>>> foo = 42
>>> fooo
NameError: ...

In every situation, this should be a configurable parameter, not hard coded.

We will not add configurable options without a reason, especially not on the client object. You write:

We need to send events to Sentry working in REPL.

And I don't understand why that is desirable. A REPL session is full of typos and broken code that you then rerun immediately. Why do you want to add all of that into Sentry?
In any case it seems nowhere near a popular enough usecase to have this as param on init.

We need to send events to Sentry working in REPL.

Again, why is this desirable behavior?

In any case it seems nowhere near a popular enough usecase to have this as param on init.
Well then, thank you. :) You can close Pr.

@tolgahanuzun To be clear I would be happy to have this on the integration object, but we are more careful with direct args on init


Preemptively notify users when Confluent Cloud is experiencing issues

CCloud-related behavior within the extension might be affected whenver CCloud is experiencing issues. The extension could subscribe to https://status.confluent.cloud (several mechanisms are available), and if the status is not green then notify the user of potential problems and link to https://status.confluent.cloud/.
Of course, this might get annoying, and it might be good to allow users to disable this in user extension settings (maybe via "Do not notify me of status changes" on the dialog).

per @shouples -- could be a use case for Status Bar to be less annoying but still visible.


Java admin client library

I have not found a java admin client library, I just want to know is it implemented by someone?

I'm not aware of any, but search github or check the readme for community contributions.

In case you are still looking, here's one I built.
kong-java-client


Update extension generator

https://github.com/lensapp/generator-lens-ext

closing in favour of https://github.com/lensapp/generator-lens-ext/issues/33


Improve pane source interlinking

With the new IR view, we might want to overhaul how we communicate to the user that one code in one pane is related to some other code in another pane.
Some initial work makes something like this possible already

Trying out new styles, I can't stop the background colour from blending with the highlighting as seen in the attached gift, but they now cover the whole block


question: allow provenance generation workflow to hash artifacts?

Sorry if this has already been discussed and rejected, but reading https://slsa.dev/blog/2022/08/slsa-github-workflows-generic-ga and based on my understanding of GitHub Actions, it sounds like it should be possible to combine the Generate hashes step and the provenance generation step, if the provenance step takes a list of comma-separated paths to hash. For example:
provenance:
  permissions:
    actions: read # Needed for detection of GitHub Actions environment.
    id-token: write # Needed for provenance signing and ID.
    contents: write # Needed for release uploads.
  uses<EMAIL_ADDRESS>  with:
    artifact-paths: artifact1,artifact2

Then the provenance step could run sha256sum artifact1 artifact2 | base64 -w0 internally, and use it just as if the hash had been generated outside and passed in.
Is there some reason this wasn't considered?

Good question. The main issue is that binaries need to be available to the attestor. Because the attestor runs in a different VM, the binaries need to be uploaded by the caller via the actions/upload-artifact and downloaded by the attestor via with actions/download-artifact.
The problem is that different VMs in a GitHub workflow can tamper with the binaries uploaded. This is why we ask the caller to provide the hash. You may argue that the workflow file needs to be checked-in, so it needs code reviews to run anyway; and in this case it might as well just build a malicious binary. We've made the decision to not allow this pattern, in order to simplify reasoning about the results / code; and because we're never certain that it's impossible for a user to update the uploaded binaries. We don't think the uploaded binaries can be altered by a user, but it may be possible. There's nothing wrong with allowing this from GitHub's point of view, since the maintainer owns the repository.
In the case of builders (which build the code on behalf of a project), then this is even more important.

Oh okay, I think I missed the fact that building the artifacts and generating/attesting provenance for them were in two separate workflows, linked by outputs to pass only the SHAs around.
That makes a lot more sense, thanks for clarifying!


Proposal: get rid of Hardware::CPU.is_32_bit? conditionals

Snow Leopard was the last macOS release to support 32-bit. We can’t even guarantee HBC works that far back, and we certainly shouldn’t go out of our way to support such old versions.
As such, the Hardware::CPU.is_32_bit? seems useless. I propose we simply get rid of those conditionals altogether.
Casks in main repo (grep -R 'Hardware::CPU.is_32_bit' "$(brew --repository)/Library/Taps/caskroom/homebrew-cask/Casks" | sed -E 's|.*/(.*)\.rb.*|- [ ] [\1](../tree/master/Casks/\1.rb)|' | pbcopy):

[ ] ableton-live
[ ] aquamacs
[ ] gambit-c
[ ] geppetto
[ ] gnubg
[ ] libreoffice
[ ] ngrok
[ ] p4
[ ] pacifist
[ ] plex-home-theater
[ ] praat
[ ] razorsql
[ ] reaper
[ ] scala-ide
[ ] story-writer
[ ] streamtools
[ ] supersync
[ ] tiddlywiki
[ ] vega
[ ] vuescan
[ ] wkhtmltopdf

Casks in caskroom/versions (grep -R 'Hardware::CPU.is_32_bit' "$(brew --repository)/Library/Taps/caskroom/homebrew-versions/Casks" | sed -E 's|.*/(.*)\.rb.*|- [ ] [\1](../../homebrew-versions/tree/master/Casks/\1.rb)|' | pbcopy):

[ ] ableton-live-beta
[ ] ableton-live-standard
[ ] ableton-live-suite

Fine with me. Want to make this a Hacktoberfest task as well?

Happy to update libreoffice if you like?

Want to make this a Hacktoberfest task as well?

Sure, why not?

Happy to update libreoffice if you like?

Lets wait a few more hours (lets say 12) to see if any maintainer has an objection. If not, go ahead.

Lets wait a few more hours (lets say 12) to see if any maintainer has an objection. If not, go ahead.

Nope. 👍

@miccal Go right ahead.

@vitorgalvao Done.

All done except for the versions Casks, as I have not tapped versions.

I’ll deal with the caskroom/versions ones. Thank you, @miccal. Closing this.

No problem.


feat(refinement-list): implement InstantSearch.css to searchbox

This implements InstantSearch.css for the refinementList searchbox.
At some point we should refactor the searchbox widget to use a single searchbox.
Specs
https://instantsearch-css.netlify.com/widgets/refinement-list/
Stories
https://deploy-preview-3263--instantsearchjs.netlify.com/v2/dev-novel/?selectedStory=RefinementList.with search inside items

@francoischalifour since the input is uncontrolled the only way to test it is to directly access the input and set a value on it. Indeed they don't have an a proper API to do it but you can probably get a reference to the node and set the value directly on it.


added autoHeight and autoHeightClass

Allows these options to be used.

@s950329 please take a look into this MR. I'm really missing this features.

@s950329 Your event to is not fully implemented, which is really important one. It doesn't pass params [position, speed] and can't be triggered.
It would be great for you to check this pr and merge asap.

@s950329 please merge this PR, there are important fixes in here.


Use an ordered broadcast to ensure only a single pacemaker instance ever schedules heartbeats

Hey @esoxjem can you provide details regarding the logic you've used to resolve this issue over here as well. Will go through the pull request tomorrow in detail.

Whenever Pacemaker schedules a linear or exponential heartbeat, an ordered broadcast is across the system. Whichever Scheduler instance in any app that receive this broadcast first with schedule the alarm accordingly and stop further propagation to other receivers by calling abortBroadcast(). This ensures only one app will send heartbeats.

This solution is flawed. Closing.

Hi, could you discuss the flaws? Would be great for learning and understanding :)

This only allows one instance of Pacemaker to schedule heartbeats hence overriding intervals scheduled by other apps. Different apps may want to use different scheduling. Also, this does not handle multiple concurrent broadcasts.
It also doesn't take into consideration the Doze mode in Android M. Pacemaker will seize to function normally on Marshmallow.
In my opinion, this should be a system service and shouldn't be handled by the application layer.

Ideally, yes this should be handled at OS/Play Services layer, but the entire reason for Pacemaker's existence is that Google hasn't shown this to be a priority :)

Was going to say the same as Raveesh.
The best we can do with an app is have only 1 instance send the broadcast. Now the questions to be answered are-

Which instance should send it
What logic should be used to determine the same
How do make sure 1 and 2 take place

Also, with respect to your point on scheduling - An Exponential schedule should continue it's broadcast as is, whereas the "polling" of broadcasts should only be done in the case of Linear broadcasts in my opinion. The reason for this is that Exponential Broadcasts will automatically kill themselves after a set period of time anyways. But you may argue that an Exponential Broadcast need not be executed at all, if a Linear Broadcast is already running on the phone, to which I concur.
The algorithm I've suggested only allows the instance with minimum time (delay) to run on the given device. For that, on Schedule of Linear, we determine whether we have the minimum time or not, If we do - we go forward with scheduling it, else we just ignore straight off the bat. Once scheduled we check if we should broadcast (By checking whether anyone else has updated the minimum value, in which case we check again and repeat the process). If we don't have the minimum value, we just cancel.
Exponential requests become a bit easier to handle but a little tricky in the logic.
If there are no linear requests on the system - we let all the exponential requests go through, as they all have varying times and they all die out after a while anyways. (Accommodated for this in commit #2). There may be some overlap here and could cause minor hiccups in the phone battery, but as it is exponential, they are bound to die out eventually and depend on the user's usage of the Pacemaker carrying apps.
In the case there is an existing Linear request on the system, we just ignore the Exponential request as a linear request is most probably going to have a shorter average delay time. This can be mathematically proved, but intuitively also, it makes sense.


Add support for azure mysql sink

swagger link: https://github.com/Azure/azure-rest-api-specs/pull/6820


Enhancements for upgrades

DeviceVersions and RepositoryAPI instances are now automatically created in SoftwareActionAPI and PartitionManagerAPI constructor.
In case of upgrade and activate software, user can pass image path or just version.
Set current partition as default is possible now.
Add usage example for PartitionManager and SoftwareActionAPI.

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/110


Call on_disconnect for most portal connect errors

If the portal host is typo'd, connlib will keep trying to connect to it and never call on_disconnect. It might be better to fail quickly on name failures to the portal so that the client is not stuck in a signed in but inoperable state:
connlib	07:18:20.591010-0700	FirezoneNetworkExtensionmacOS	dev.firezone.firezone	Reconnecting to portal on transient client error: websocket connection failed: IO error: failed to lookup address information: nodename nor servname provided, or not known  backoff=22.666594299s max_elapsed_time=Some(86400s)

refs #5467

I think for this particular one we can just immediately call on_disconnect if the initial connection fails.
For roaming / deploys, we can call reconnect which should have retry logic. wdyt @thomaseizinger ??

I think for this particular one we can just immediately call on_disconnect if the initial connection fails.
For roaming / deploys, we can call reconnect which should have retry logic. wdyt @thomaseizinger ??

It is a bit tricky. At the moment, phoenix-channel does not differentiate between setting up a connection for the first time or because we called reconnect: We always just try to connect, see: https://github.com/firezone/firezone/blob/6641e1b70f0feb42e9077d37f4ac612916518e26/rust/phoenix-channel/src/lib.rs#L220-L223
It would be better if we can unambiguously identify "fatal" errors where we never want to retry. We have these already, like when the portal returns us 401. IO errors are a bit trickier because they are somewhat opaque (and platform-dependent).
I just experimented with this and I think with the addition of resolving the portal domain before connlib starts up in https://github.com/firezone/firezone/pull/5563, this is resolved at least for typos in the domain name. I tried to set the API as foo.firez.one and got the following behaviour:
❯ sudo RUST_LOG=wire::api=trace,debug target/debug/firezone-headless-client -u wss://foo.firez.one --firezone-id $(hostname) standalone
Place your right index finger on the fingerprint reader
2024-07-04T01:32:18.844543Z  INFO firezone_headless_client::standalone: git_version="gui-client-1.1.3-3-gf6e99752e-modified"
2024-07-04T01:32:18.845013Z  INFO firezone_headless_client::standalone: Running in headless / standalone mode
2024-07-04T01:32:18.880697Z  INFO firezone_headless_client::dns_control::linux: dns_control_method=Some(Systemd)
2024-07-04T01:32:18.881183Z DEBUG netlink_proto::connection: reading incoming messages
2024-07-04T01:32:18.881227Z DEBUG netlink_proto::codecs: NetlinkCodec: decoding next message
2024-07-04T01:32:18.881269Z DEBUG netlink_proto::connection: forwarding unsolicited messages to the connection handle
2024-07-04T01:32:18.881306Z DEBUG netlink_proto::connection: forwarding responses to previous requests to the connection handle
2024-07-04T01:32:18.881347Z DEBUG netlink_proto::connection: handling requests
2024-07-04T01:32:18.881389Z DEBUG netlink_proto::connection: sending messages
2024-07-04T01:32:21.731527Z ERROR connlib_client_shared: connlib failed: failed to lookup address information: Name or service not known
2024-07-04T01:32:21.731604Z ERROR firezone_headless_client: Got `on_disconnect` from connlib error=Io(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
2024-07-04T01:32:21.731825Z DEBUG firezone_headless_client::dns_control::linux: Reverting DNS control...
Error: Firezone disconnected

Caused by:
    failed to lookup address information: Name or service not known

I just experimented with this and I think with the addition of resolving the portal domain before connlib starts up in #5563, this is resolved at least for typos in the domain name.

Can we consider this resolved for that case @jamilbk?

fixed by #5970


dts: spi: add more dts nodes and fixup defines, convert boards to using dts

This adds the remaining SPI related fixup defines to STM32 dts.fixup files at SOC family level. I added fixup defines for all SPIs that might be present on a SOC of that specific STM32 SOC family. Same for SPI dts-nodes.
Also I added SPI configuration via device tree to all STM32 Boards, that already have SPI in their pinmux.c.

Spi nodes in <board>.dts file are populated matching boards existing pinmux default configuration.
Selecting SPI on those boards defaults to enabling SPI_1 in Kconfig. Other SPIs are disabled by default.

Fixes #5836

So how far should we spread the files in dts/arm/st dir out by default?

stm32f048cX.dtsi and stm32f048gX.dtsi would be fine.

This would have an effect on fixup definitions as well? But I guess since the fixup defines should be obsolete sooner or later, my approach of defining most of them now is OK?

Theoretically it should, but I hope we'll get rid of them befoire we get in any trouble. So let's keep  things simple for now on that side, your approach is ok.

So I changed this PR to include the spi nodes in the right places of dtsi file hierarchy. But I still generate all the fixups with the adresses, that seem to be the SOC families default addresses. As discussed with @erwango

Theoretically it [the fixup addresses] should [be split up further, to reflect different addresses that can exist inside a SoC family], but I hope we'll get rid of them befoire we get in any trouble

Please also look at the new dtsi include hierarchy of stm32f405.dtsi, I don't have enough overview of the SoC families to be sure it is correct now.
Some dts conflicts I noted along the way (not spi related, so outside the scope of this PR):

stm32f4.dtsi declares i2c3, but it is not supported on all F4 SoCs
stm32f3.dtsi declares i2c2, but it is not supported on all F3 SoCs
stm32f1.dtsi declares i2c2, but it is not supported on all F1 SoCs
stm32f0.dtsi declares i2c2, but it is not supported on all F0 SoCs

@DWagenk looks like I did some redundant work (#6172) with your pr: I should drop the nucleo_f334rb part I did. Could you rebase your PR on top of master to resolve the conflict? I'd like to rebase my PR on top of yours then.

@erwango:
For the "missing" SPIs:
I followed the overview at http://www.st.com/en/microcontrollers/stm32f4-series.html wich also lists stm32f401 SoCs that only have 3 SPIs, so I didn't add it in stm32f401.dtsi. Same for SPI5 and SPI6 for stm32f429 and stm32f469.
I know those SoCs are not present in zephyr right now, but I'd rather propose that, whoever wants to use spi4 on a stm32f401 soc adds the corresponding stm32f401Xy.dtsi file and adds it there and vice versa for stm32f429 and stm32f469.
After the discussion in the beginning of this PR I don't like adding nodes in places, where they are OK right now, but would need to be moved when adding more SoCs later.
@ydamigos: same reasoning for not including SPI2 in stm32f103Xb.
@tbursztyka: rebased, but I' might have to integrate further changes, depending on ydamigos and erwango's replies.

@DWagenk Sure, I'll follow your updates. I have also to apply changes on mine. thanks

@galak can you look into the sanitycheck errors? it seems to be unrelated to my changes or at least in some area I didn't tocuh (although it only effects boards I touched)
tests/kernel/mem_protect/obj_validation/test and samples/mpu/mem_domain_apis_test/test
fail on nucleo_f401re and nucleo_l476rg
FAILED: : && ccache /opt/sdk/zephyr-sdk-0.9.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-zephyr-eabi/arm-zephyr-eabi-gcc    zephyr/CMakeFiles/app_sizing_prebuilt.dir/misc/empty_file.c.obj  -o zephyr/app_sizing_prebuilt.elf  -T zephyr/linker_app_sizing.cmd -Wl,-Map=/home/buildslave/src/github.com/zephyrproject-rtos/zephyr/sanity-out/nucleo_f401re/tests/kernel/mem_protect/obj_validation/test/zephyr/zephyr.map -u_OffsetAbsSyms -u_ConfigAbsSyms -e__start -Wl,--start-group -Wl,--whole-archive libapp.a zephyr/libzephyr.a zephyr/boards/arm/nucleo_f401re/libboards__arm__nucleo_f401re.a zephyr/tests/ztest/libtests__ztest.a -Wl,--no-whole-archive zephyr/kernel/libkernel.a zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj -Wl,--end-group -L"/opt/sdk/zephyr-sdk-0.9.2/sysroots/armv5-zephyr-eabi/usr/lib/arm-zephyr-eabi/6.2.0/armv7e-m" -L/home/buildslave/src/github.com/zephyrproject-rtos/zephyr/sanity-out/nucleo_f401re/tests/kernel/mem_protect/obj_validation/test/zephyr -lgcc -nostartfiles -nodefaultlibs -nostdlib -static -no-pie -Wl,--fatal-warnings -Wl,-X -Wl,-N -Wl,--gc-sections -Wl,--build-id=none && cd /home/buildslave/src/github.com/zephyrproject-rtos/zephyr/sanity-out/nucleo_f401re/tests/kernel/mem_protect/obj_validation/test/zephyr && /usr/bin/python3 /home/buildslave/src/github.com/zephyrproject-rtos/zephyr/scripts/gen_alignment_script.py --output ./include/generated/app_data_alignment.ld --kernel /home/buildslave/src/github.com/zephyrproject-rtos/zephyr/sanity-out/nucleo_f401re/tests/kernel/mem_protect/obj_validation/test/zephyr/app_sizing_prebuilt.elf
Traceback (most recent call last):
  File "/home/buildslave/src/github.com/zephyrproject-rtos/zephyr/scripts/gen_alignment_script.py", line 79, in <module>
    main()
  File "/home/buildslave/src/github.com/zephyrproject-rtos/zephyr/scripts/gen_alignment_script.py", line 62, in main
    app_ram_size = syms['__app_last_address_used'] - \
KeyError: '__app_last_address_used'
ninja: build stopped: subcommand failed.

@DWagenk : Ok I had miss these variations across f4 series.
Indeed, I had missed that within F429/F469, a minority of SoCs support only 4 SPI vs 6 in rest of the sub series. This might be a good occasion to introduce "delete-node"
I don't like "delete-node" to be applied as a general rule, but I think it could be useful to handle exceptions to the general rule.
Hence, there would be:

stm32f429.dtsi defining 6 SPI
-- 6 SPI defined
stm32f429vX.dtsi
-- includes stm32f429.dtsi
-- delete-node SPI5
-- delete-node SPI6

When used only to handle exceptions, I think it could be useful and allow to reduce amount of dtsi files.

@erwango:
should I introduce the stm32f429vX.dtsi right here then? Or will it be added when someone adds that SoC?

should I introduce the stm32f429vX.dtsi right here then? Or will it be added when someone adds that SoC?

@DWagenk : I was about to say "If not used right now don't introduce it", but challenge is to remember this proposal when the need will come. Then I propose you introduce it, as an example of "delete-node" usage, so we can refer to it for upcoming SoC ports.
Besides, I'm raising an issue to document these rules (#6199)

recheck

@erwango @ydamigos: can you take a look at the changes, especially the /delete-node example and comments?

Can somebody help me with the CI failures? When I try to run the tests localy (e.g. kernel/mem_protect/obj_validation for nucleo_l476rg) no tests are run due to filters.

Can somebody help me with the CI failures? When I try to run the tests localy (e.g. kernel/mem_protect/obj_validation for nucleo_l476rg) no tests are run due to filters.

I believe it has something to do with CONFIG_STM32_ARM_MPU_ENABLE=y and PR #4974 being merged.

@andrewboie or @agross-linaro can you have a look and drop a hint on how to resolve this?

Enabling CONFIG_APPLICATION_MEMORY seems to fix it.

@DWagenk PR #6223 fixes it

@ydamigos: thanks, it passes again.
Can we get this merged now? @erwango

rebased, included @ydamigos pr #6254 in the spot of commit history, where it made sense, adressed issue #6238.


fix: update localization files to retain 'Hype Train' as a proper noun

Update localization files to retain "Hype Train" as a proper noun instead of translating it for languages with Latin scripts.

Modify lib/l10n/app_de.arb to retain "Hype Train" as a proper noun in the keys: "hypetrainEventConfigTitle", "customizeYourHypetrainEvent", "hypeTrainEventProgress", "hypeTrainEventEndedSuccessful", "hypeTrainEventEndedUnsuccessful".
Modify lib/l10n/app_es.arb to retain "Hype Train" as a proper noun in the keys: "hypetrainEventConfigTitle", "customizeYourHypetrainEvent", "hypeTrainEventProgress", "hypeTrainEventEndedSuccessful", "hypeTrainEventEndedUnsuccessful".
Modify lib/l10n/app_fr.arb to retain "Hype Train" as a proper noun in the keys: "hypetrainEventConfigTitle", "customizeYourHypetrainEvent", "hypeTrainEventProgress", "hypeTrainEventEndedSuccessful", "hypeTrainEventEndedUnsuccessful".
Modify lib/l10n/app_it.arb to retain "Hype Train" as a proper noun in the keys: "hypetrainEventConfigTitle", "customizeYourHypetrainEvent", "hypeTrainEventProgress", "hypeTrainEventEndedSuccessful", "hypeTrainEventEndedUnsuccessful".
Modify lib/l10n/app_nl.arb to retain "Hype Train" as a proper noun in the keys: "hypetrainEventConfigTitle", "customizeYourHypetrainEvent", "hypeTrainEventProgress", "hypeTrainEventEndedSuccessful", "hypeTrainEventEndedUnsuccessful".
Modify lib/l10n/app_pt.arb to retain "Hype Train" as a proper noun in the keys: "hypetrainEventConfigTitle", "customizeYourHypetrainEvent", "hypeTrainEventProgress", "hypeTrainEventEndedSuccessful", "hypeTrainEventEndedUnsuccessful".

For more details, open the Copilot Workspace session.

Lemme ask about this and see what the twitch website behavior is

@kevmo314 This is fine as is for all languages but French and Spanish


Unify cheminformatics python microservice name across all usages

use singular: cheminformatics-python-microservice
use either full form or the short version: cheminf or cheminformatics

Let's stick to Cheminformatics


Overhall Docs Architecture

I find the IA difficult to navigate, Margin and Padding both under the "Spacing' label. I spend a lot of time trying to find stuff, but this could just be because I'm new to it? Did you run any open and/or closed card sorts?

move to v5 suggestions


add Moore machine

This is not meant to be merged, it's just as exercise, a translation of this tweet by drboolean https://twitter.com/drboolean/status/898634041129279488

Should we add this to docs? Looks cool.

Ah sure, or maybe in the examples folder.
As a further interesting exercise, I wonder if is possible to constraint the transitions to make sure statically that you can login twice before you logout
.step({ type: 'didLogIn', user: { name: 'bob' } })
.step({ type: 'didLogIn', user: { name: 'jan' } }) // <= should raise an error
.step({ type: 'didLogOut' })

Perhaps something along the lines of indexed monads https://github.com/gcanti/fp-ts/blob/016b40de5d562a6f0871d648ff17f81b4144d9d7/examples/ixIO.ts

I'd probably just model it as capabilities using Either somehow. I haven't worked with indexed monads though, that looks like a cool solution indeed.


New WebVR Plugin and Library Compilation

Description
I want to write a VR plugin for viewing models in Virtual Reality. Provide multiple controllers like first person controller or Orbit Controller for viewing. How do I compile the library and write a new plugin

Hello @kpsaluja47, it's great that you're contributing to the project.
You can check our Contributing guide.
The documented project is different, but the same can be applied to View3D as we use the same structure.
Basically, you should work inside the src directory of View3D.

https://github.com/naver/egjs-view3d/tree/main/packages/view3d/src
You can create a new Typescript file inside the plugin if you're writing a new one :)

Thanks @WoodNeck , Look Forward to it


⚠ SceneTime has degraded performance

In 9c36821, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1799 ms

Resolved: SceneTime performance has improved in 14ab0fa after 6 minutes.


docker2podman: import ceph-defaults in first play

We must import this role in the first play otherwise the first call to
client_group_namefails.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1777829
Signed-off-by: Guillaume Abrioux<EMAIL_ADDRESS>

This is unrelated but we're using the client_group_name in the first gather fact task but the hardcoded clients name in the second. [1]
Should we consider to update the second task in this PR or a dedicated one ?
[1] https://github.com/ceph/ceph-ansible/blob/master/infrastructure-playbooks/docker-to-podman.yml#L33