Support for automatic output of return type in function signatures

Short Description:
Add the ability to use the underscore character (_) (or similar) to indicate the return type in function signatures in Rust.
This would allow the compiler to automatically determine the type of the return value based on the function body, simplifying syntax in cases where the type is obvious from context.
Motivation:
Currently in Rust, when writing functions, you must explicitly specify the return type in the signature. In many cases, the type of the return value is obvious from context, and having to explicitly specify it adds unnecessary verbosity. Supporting automatic output of the return type will:

Simplify function signatures.
Reduce the probability of errors related to incorrect return type specification.
Increase code readability by focusing on the logic of the function rather than its types.

Examples:
fn add(x: i32, y: i32) -> _ {
    x + y
}

// In this case, the compiler will automatically determine that the returned type is `i32`.

fn concatenate(s1: &str, s2: &str) -> _  {
    format!(“{}{}”, s1, s2)
}
// Here the compiler will output the type `String`.

С++ References

auto add(int x, int y) {
    return x + y;
}
// int

auto concatenate(const std::string& s1, const std::string& s2) {
    return s1 + s2;
}
// std::string.

Unresolved issues:
Should this function be limited to certain types of functions (for example, functions with a single return statement)?
How will this function interact with the existing type inference mechanisms in Rust, especially in more complex cases involving universal functions or multiple returned data?
Future opportunities:
Extending the idea of type inference to other parts of the function signature, such as parameter types, where appropriate.
Conclusion:
The ability to automatically determine the type of the return value in function signatures will provide more convenient and readable encoding, especially in simple cases when the type of the return value is obvious from the context. However, care should be taken to ensure that this function does not introduce unnecessary ambiguity and does not complicate debugging.

I don't like this. I want to see a function signature and know what it returns.
Your proposal will make it so i need to read the function body to see that.

I don't like this. I want to see a function signature and know what it returns. Your proposal will make it so i need to read the function body to see that.

No. The function body will define return type as it is.
You still will see function signature like fn add(x: i32, y: i32) -> i32; in your IDE

This guy just begs others to comment this

The Rust norm is to be explicit in the function signatures to ensure that the interface to the function is correct, and then validate the function implementation against that. See, for example, this FAQ answer..

You still will see function signature like fn add(x: i32, y: i32) -> i32; in your IDE

One doesn't necessarily have IDE, especially when reading foreign code.

to reduce repetition #3444 i.e. putting the inference on the value rather than the type is getting more traction.
// instead of
fn rotate(angle: f64) -> _ {
    let (s, c) = angle.sin_cos();
    Mat2 { entries: [[c, -s], [s, c]] }
}

// you write
fn rotate(angle: f64) -> Mat2<f64> {
    let (s, c) = angle.sin_cos();
    _ { entries: [[c, -s], [s, c]] }
}

The Rust norm is to be explicit in the function signatures to ensure that the interface to the function is correct, and then validate the function implementation against that. See, for example, this FAQ answer..

It's just syntax sugar, it does not affect the language itself

It's just syntax sugar, it does not affect the language itself

Extending the type system to allow function signatures to infer their return types is not syntax sugar. It affects the language and the type system. It doesn't matter if the function returns a single value.
For example,
fn a() -> _ { i32 }
fn b() {
    let val = a();
}

Now introduces a dependency edge between type-checking a and type-checking b that did not exist before. I don't think this is feasible to support (outside of diagnostics, which is naturally allowed to fail gracefully), nor do I think it's desirable.

to reduce repetition #3444 i.e. putting the inference on the value rather than the type is getting more traction.
// instead of
fn rotate(angle: f64) -> _ {
    let (s, c) = angle.sin_cos();
    Mat2 { entries: [[c, -s], [s, c]] }
}

// you write
fn rotate(angle: f64) -> Mat2<f64> {
    let (s, c) = angle.sin_cos();
    _ { entries: [[c, -s], [s, c]] }
}

иди нахуй лох тебе меня никогда не понять чмо стадное

F# supports both

Return type inference, and
Mutual recursion.

The following answers suggest that it is not so simple.
https://stackoverflow.com/questions/900585/why-are-functions-in-ocaml-f-not-recursive-by-default/904715#904715

One possibility is to simply do a dependency analysis on all the definitions in a scope, and reorder them into the smallest possible groups.


[macOS] Add support for perf tests to run on macOS

This also adds macOS support for complex_layout app, which requires the boilerplate xcode config.

I will reopen this PR once https://github.com/flutter/flutter/issues/67579 has been resolved.


Migrate Alizer to Dependabot

Which area this feature is related to?
/area alizer
/area ci
Issue details
This issue is part of alizer#160. As mentioned inside, we have to separate the gosec and dependabot. The latter will be added in alizer after the onboarding to devfile team.
Related Issues
https://github.com/redhat-developer/alizer/issues/119
https://github.com/redhat-developer/alizer/issues/160
Target Date: 11 July 2023

I've created a dependabot.yaml and enabled dependabot updates on my fork (https://github.com/thepetk/devfile-alizer)

In order to allow dependabot alerts for alizer we should:

Go to repo > settings > code security and analysis

Enable the dependabot alerts:

I have changed the dependabot setting

Closing this as it is done after the update of the settings and is aligned to the rest of the projects inside devfiles org


Make reloading of classpath explicit

Currently the way SpecialClassloader is set up, anytime you load more jars, your session is wiped out! It's hard to notice because it's lazily recomputed as you ask for names from your old session, but for example side effects will happen again, and expensive re-computations will happen again, and non-determinism (e.g. Math.random) will get another chance.
We should make the default ivy loading non-reloading, delegating properly up the classloader hierarchy to sacrifice reload-ability and avoid these problems. We can add a special load.reload.ivy/load.reload.jar to provide the functionality in an opt-in way.

Fixed in https://github.com/lihaoyi/Ammonite/commit/0a08bd85cb52d68260e49ed4ef43e527fefefcb7


Preventing from swiping outside the slides range in Carousel widget

If Carousel widget has its loop property set as False, then this code blocks attempts to swipe further after reaching last item and swipe back from the first item - the widgets are locked in place.
Tested with:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.uix.carousel import Carousel

Builder.load_string("""
<MyWidget>:
    direction: 'left'
    loop: False
    Label:
        text: "Screen 1"
    Label:
        text: "Screen 2"
    Label:
        text: "Screen 3"
""")

class MyWidget(Carousel):
    pass

class MyApp(App):
    def build(self):
        return MyWidget()

if __name__ == '__main__':
    MyApp().run()

i think this behavior is interesting, but should be optional, just like ScrollView has multiple ways to deal with overscroll, application designers may have different needs for that, and changing the current behavior won't be acceptable for everybody.

I like the old behavior really much and with this edit it looks a little bit like it's not even registering the touch (because it stays in place without feedback). Maybe add something like those fancy blue strip-like things if you do the same scrolling in stackexchange's carousel-like widgets or something? If it's going to be merged, an optional behavior would be nice. ^^
Also, don't know if it's intended or not, but the PR will work only if you drag it hm... like you tried when attempting to scroll to the next of carousel pages(Screen1 -> Screen3), however, it won't work if you try to scroll to the previous page and back to the next (Screen1 -> Screen2 -> Screen3) with a single movement. (do this to compare the different behaviors, can't describe it well).


Identify correct parameters for a stable aquaplanet with PrognosticSurfaceTemperature

In #2399 , we found that the current initial conditions and parameters for the target aquaplanet case (for AMIP) lead to an unstable run, failing to complete 3 time steps.
The same initial conditions are run in the coupler where this is stable at least for 100d. The standalone case differs from the coupled case by:

the specification of the surface fluxes and coupling with the slab ocean at each substage (rather than every step)
here we're testing on atmos main with new features, e.g. bubble correction, which have not been tested in the coupler

This needs to be investigated further so that we can achieve a long run (300d in Buildkite, but test 5yr+ to reach equilibration) at the target resolution, with the slab ocean surface.

Which build is this?
Bubble correction is by default true (so if you don't specify it in the coupler it should be on?), but you can set it to false in the yaml file.

Which build is this?
Bubble correction is by default true (so if you don't specify it in the coupler it should be on?), but you can set it to false in the yaml file.

This was tested locally when the BK builds were blocked by the dependency issue #2460. When did the bubble correction become available? We're using ClimaAtmos v0.17.1 in the coupler right now. In any case, it looks like we need to find a new config for this setup.

Which build is this?
Bubble correction is by default true (so if you don't specify it in the coupler it should be on?), but you can set it to false in the yaml file.

This was tested locally when the BK builds were blocked by the dependency issue #2460. When did the bubble correction become available? We're using ClimaAtmos v0.17.1 in the coupler right now. In any case, it looks like we need to find a new config for this setup.

I don't quite remember, but it should be early this year. I was just wondering if I can see anything obvious from the error message of the build. But don't worry if you don't have it. It is possible that we are close to the unstable regime.

I just took a look at the commit. It might be because hyperdiffusivity is not set correctly. After https://github.com/CliMA/ClimaAtmos.jl/pull/2449 we need to set hyperdiffusivity for vorticity and tracer separately. The simulation is running with the correct hyperdiffusivity here: https://buildkite.com/clima/climaatmos-longruns/builds/1321#018cce0e-e8f9-448e-bb7b-41d6aa75bca5


Elementum/Burst - Keeps crashing on Android TV

Hi,
since last night (Sept 5th) when i run Elementum + Burst on Android TV 9 on Philips TV TPM191E, Elementum keeps saying that's crashing on boot, and Burst says error 111 " URL Error Connection Refused" .
Force closing Kodi and rebooting the TV seems not sorting any effect.
From the Log, it seems that all the refused connections are connected to Mulan, which is the first movie in the first widget. Don't know why it seems to crate a problem.
Expected Behavior
Running normally as it used to.
Current Behavior
Elementum crashes, maybe due Burst error 111 with Connection Refused.
Possible Solution

Steps to Reproduce (for bugs)

Lunch Kodi on Android TV 18.7 Leia
Let Elementum start loading
See the issue in the notification and content not really loaded

Context
I m using Aura with widgets, filled from tracktv. The issue prevents to load correctly the content.
Your Environment
Android TV 9

Version used:
0.1.57/0.1.58
Environment name and version:
Kodi 18.7 Leia
Operating System and version:
Android TV 9
Link to Kodi debug log:
http://paste.kodi.tv/cizuxunuhu

@JacopoV you need to make log with debug mode enabled in Kodi.

@elgatito oh, I apologize for it. I can't reproduce the bug anymore. In elementum > advanced I clear all databases and cache and it seems fine now. If I ll get this issue again, I ll be sure to send the correct log. =)

Closing. As the issue looks fixed.


Agriffith96/add queue proxy ext

What this PR does / why we need it:
What qpext does
This directory handles extending the Knative queue-proxy sidecar container.
The qpext creates a new port in the queue-proxy container that scrapes Prometheus metrics from both queue-proxy and kserve-container.
When the new aggregate metrics endpoint is hit, the response will contain metrics from both queue-proxy and kserve-container.
The qpext adds the functionality to emit metrics from both containers on a single endpoint.
Why qpext is needed
If an InferenceService uses Knative, then it has at least two containers in one pod, queue-proxy and kserve-container. A limitation of using Prometheus is that it supports scraping only one endpoint in the pod.
When there are multiple containers in a pod that emit Prometheus metrics, this becomes an issue (see Prometheus for multiple port annotations issue #3756 for the
full discussion on this topic). In an attempt to make an easy-to-use solution, the queue-proxy is extended to handle this use case.
see also: KServe Issue #2645,
Fixes #2645
Type of changes
Please delete options that are not relevant.

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

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevent result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[x] unit tests
[x] e2e test
[x]  ran in kind cluster

Checklist:

[x] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[x] Has code been commented, particularly in hard-to-understand areas?
[x] Have you made corresponding changes to the documentation?

Awesome work @alexagriffith !!
/lgtm
/approve


Syntax on npm site is incorrect

The npm install command has a typo in it on https://www.npmjs.com/package/react-toastify-redux
npm install --save react-toasify-redux
should be
npm install --save react-toastify-redux
It almost made me give up on using it!

And to add to that, it's ToastContainer not ToastController per your code. Documentation needs some updating!

This drove me nuts for a while. Didnt pick up on the ToastContainer issue until I read this. I thought the rename was deliberate.
The doco should probably mention you still need import 'react-toastify/dist/ReactToastify.css'; to make it render properly


Offtopic: invitation to gentoobb project discussion, which uses Docker as engine

Hello guys. I am sorry about a bit of offtopic, but if everyone is interested, I am inviting anyone into https://github.com/edannenberg/gentoo-bb project discussion thread here: https://github.com/edannenberg/gentoo-bb/issues/102, where we user Docker as engine, that powers everything. We have some ideas on (possibly) the best server and LAMP/LEMP management using Docker and GentooBB for High-Load secure servers. Thanks

Please keep in mind that the GitHub issue tracker is not intended as a general support or discussion forum, but for reporting bugs and feature requests. For other type of discussions, consider using one of;

https://forums.docker.com
the [Docker community Slack channel](https://blog.docker.com/2016/11/introducing-docker-community-directory-docker-community-slack

I'm going to close this issue because this is not a bug, but feel free to comment after I closed

Sorry, continuing here: https://forums.docker.com/t/invitation-to-gentoobb-project-and-a-success-story/29667


Update install steps for MacOS

Context: We have to make sure it is clear that for MacOS users, cmake, rust, and ninja have to be installed, as well as how to install XCode and Homebrew.
Description of the Change: Add Rust and Homebrew installation steps.
Benefits: Requirements are met before installation.
Partially solves #382
Closes #665
[sc-67079]

@erick-xanadu FYI I tested under MacOS 12 and the ccache drop-in compiler replacements worked well with AppleClang 14

Do we need rust?

Do we need rust?

According to https://github.com/PennyLaneAI/catalyst/issues/382, yes @josh146 what do you think? Is this still valid?:
"Make sure it is clear that for MacOS users, cmake, rust, and ninja have to be installed, as well as how to install XCode."

https://github.com/PennyLaneAI/catalyst/pull/470

It's true that we need homebrew to be installed, but maybe that should be a separate preliminary step "if you don't have homebrew yet, ..." since many users will already have it?


Replace dots with slashes in group id

The issue
We noticed that the drone-artifactory plugin was failing to upload artifacts into our Artifactory instance when:

the artifact was a pom/jar file for a release version (not snapshot)
the group id specified was containing dots

The version of Artifactory used is Pro Power Pack <IP_ADDRESS> (rev. 30106).
To reproduce the issue I have run the drone-artifactory plugin with the following config:
node index.js <<EOF
{
    "repo": {
        "clone_url": "git://github.com/drone/drone",
        "owner": "drone",
        "name": "drone",
        "full_name": "drone/drone"
    },
    "system": {
        "link_url": "https://beta.drone.io"
    },
    "build": {
        "number": 22,
        "status": "success",
        "started_at":<PHONE_NUMBER>,
        "finished_at":<PHONE_NUMBER>,
        "message": "Testing Drone Artifactory",
        "author": "john doe",
        "author_email"<EMAIL_ADDRESS>    },
    "workspace": {
        "root": "/drone/src",
        "path": "/Users/johndoe/drone-artifactory"
    },
    "vargs": {
        "url": "http://artifactory:8081",
        "username": "username",
        "password": "password",
        "repo_key": "release-repo",
	"pom": "pom.xml",
	"force_upload": "true",
        "files": [
            "pom.xml",
            "target/snapshot/*.jar"
        ]
    }
}
EOF

and the result was:
info: Project groupId: net.skyscanner.schemas
info: Project artifactId: schemas
info: Project version: testDrone
info: Uploading /Users/johndoe/drone-artifactory/pom.xml as testDrone.pom into release-repo
info: Uploading /Users/johndoe/drone-artifactory/target/release/testDrone.jar as testDrone.jar into release-repo
error: An error happened while trying to publish the file Users/johndoe/drone-artifactory/pom.xml: HTTP Status Code from server was: 409

Same thing happened specifying the group id, artifact id and version explicitly in the configuration:
node index.js <<EOF
{
    "repo": {
        "clone_url": "git://github.com/drone/drone",
        "owner": "drone",
        "name": "drone",
        "full_name": "drone/drone"
    },
    "system": {
        "link_url": "https://beta.drone.io"
    },
    "build": {
        "number": 22,
        "status": "success",
        "started_at":<PHONE_NUMBER>,
        "finished_at":<PHONE_NUMBER>,
        "message": "Testing Drone Artifactory",
        "author": "john doe",
        "author_email"<EMAIL_ADDRESS>    },
    "workspace": {
        "root": "/drone/src",
        "path": "/Users/johndoe/drone-artifactory"
    },
    "vargs": {
        "url": "http://artifactory:8081",
        "username": "username",
        "password": "password",
        "repo_key": "release-repo",
	"group_id": "com.example.xyz",
	"artifact_id": "testDrone",
	"version": "1.0",
	"force_upload": "true",
        "files": [
            "pom.xml",
            "target/snapshot/*.jar"
        ]
    }
}
EOF

The proposed solution
The proposed solution is to replace the dots into the group id with slashes.
In this way the upload of both the pom and jar files is succeeding and the files are placed into the right path in Artifactory.

LGTM

LGTM


List Property

Hi again :)
Is it possible to have a property with a type of List<DatastoreKey> in Entity?
because right now I'm using List<String> to store bunch of encoded keys.
For example, I have Entity named (User) and this user is a member of some (Groups). So, instead of creating another entity and store these keys. I put them in one list and store it in the User Entity.
Thanks 👍

The current version only supports List<String> and List<Long> for Array properties. I see that the gcloud-java-datastore api supports Keys and other types such as Boolean, Date, etc. It should be easy to add this, just need to enhance the com.jmethods.catatumbo.impl.ListConverter to handle the other data types. I will let you know once this is added.

@bugyboo ,
Support for this has been added under the below issue -
Enhance support for Array properties #20
This will be included in the next release. In the meantime, feel free to checkout the latest code.

Great work 👍


Version 0.3 examples

I added an directory for the oemof 0.3 examples. Currently there is only one new example for the the new core that will be in the new version.
I hope it's ok to have this on the dev? I was not quite sure how we handle this here in terms of aligning the process of oemof development with the examples repository..

Last time we added a a folder to the dev branch and copied all examples from the the previous version. Right before the release we move all non-working examples to feature branches and merged all working examples to the master on the release day. We thought that it would be confusing to have examples on the master before the release is published.

Thank you for starting the process.

I was not quite sure how we handle this here in terms of aligning the process of oemof development with the examples repository..

Synchronization is a tough thing, yes. I thought about applying the git workflow also for the examples, but this would mean that there are non-working combinations that are not explicitly visible as such. Maybe, just editing dev is a good idea.
I would suggest to add them using feature branches (or one feature branch) instead of copying them without testing. In my opinion, there should also be an API freeze before finally merging them into dev.

I would suggest to add them using feature branches (or one feature branch) instead of copying them without testing.

I think you got me wrong. Last time we copied all 0.1 examples to 0.2 folder with a list and a responsible person for each example. This person was responsible to adapt the example to 0.2 until the release.

What about adding windpowerlib, TESPY,.. examples as well.

I would suggest to add them using feature branches (or one feature branch) instead of copying them without testing.

I think you got me wrong. Last time we copied all 0.1 examples to the 0.2 folder with a list and a responsible person for each example. This person was responsible to adapt the example to 0.2 until the release. It is also possible to do this in a feature branch but as all examples stand alone and do not rely on each other this is not necessary.

Let's just have all v0.3 examples on the dev branch and merge once v0.3 is released.
BTW I like adding other example but then I would suggest to a one hierarchic like this using the repositories as a reference:

oemof-solph
oemof-core
oemof-tabular (to come ;-) )
tespy
...

Of course the examples mix usage of all stuff, but nevertheless dedicated folders are quite useful I guess if people are only interested in understanding tespy for exmaple...


[BUG] window.markmap is undefined

[x] I have searched for existing issues that already reported this problem and found none
[] The bug is present in REPL

Describe the bug

loadJS()  has getMarkmap().refreshHook.call(), but the getMarkmap() is undefined . You can see this bug   In Vue demo  https://stackblitz.com/edit/markmap-vue?file=src%2Fapp.vue
To Reproduce

https://stackblitz.com/edit/markmap-vue?file=src%2Fapp.vue
Expected behavior

Actual behavior

Environment:

OS: [e.g. macOS]
Browser: [e.g. chrome, safari]
Browser Version: [e.g. 22]

Additional context

Updated.


Mappings/filter titles

Made a new mapping for language on the carrie-more-mappings branch, not pull requested yet cause unsure about point 2.
I also started mapping "Scientific (NVI)" and "Fulltext found", but I remembered these are boolean filters, and they just use the filter title if I remember right - so I guess a normal mapping will not work?
Feedback from group meeting today 1 - filter titles can't be translated, but could we change them to include both languages? e.g. "Fulltext / Fulltekst"?
Feedback from group meeting today 2 - could "NVI level" be mapped as "Level 1" (en) and "Nivå 1" (no)? (instead of just "1")

Unsure on point 1
Correct, i think
They probably can
That was the way i originally did it ;-). Create PR and i can fix the facet filter name


filtered query in query DSL is deprecated.

https://www.elastic.co/jp/blog/better-query-execution-coming-elasticsearch-2-0

already adopted.


Add stacks data structure

Do the checklist before filing the issue:

[x] Do you have Node.js and all the relevant dev-dependencies installed?
[ ] Is this a bug fix?
[x] Is this an enhancement?
[x] Is this a feature request?

NOTE: Provide a clear and concise description of the feature that needs to be added! Or if its a bug, then provide the necessary steps to reproduce it along with screenshots.

Give your answer below:

Stacks are often very useful in competitive programming owing to their LIFO property. Add a data structure with the following function:
Push(data) - Insert data into the stack.
Pop() - Delete the topmost element from the stack.
Top() - Return the topmost element(HEAD) of the stack without popping it.
copy() - Returns a copy passed stack object.
Example: Stack1 = [ 3, 2, 1];
let Stack2 = copy(Stack1);
//Stack2 also stores [3, 2, 1] now
isEmpty() - returns true if the stack has no elements in it. Returns false otherwise.
printStack() - prints all the elements of the stack. (In LIFO Order only.)
Refer to: https://www.geeksforgeeks.org/implementation-stack-javascript/

@sateslayer will you be working on this?

Yes I will work on it.

@sateslayer Implement it like PriorityQueue


fix the silly way i tried to do updating with _prt_get()

Did you actually mean ports here? Also, don't bother with the second line. I will update that in #55.


Color Contrast ratio of focus present on mycodespace1 list item is less than 3:1.

"Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier.”
GitHubTags:#A11yWCAG2.1; #A11yTCS; #Win32; #DesktopApp; #A11y_VSCode;#WCAG1.4.11; #A11ySev2;#CAITestPass_May2020;#Benchmark;#Visual Studio Code;
Environment Details:
Application Name: VS Codespace
Operating System: Win10
Version: 1.47.0-insider (user setup)
Commit: d5e9aa0227e057a60c82568bf31c04730dc15dcd
Date: 2020-07-08T10:52:52.439Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.19041
Additional Details:
MAS References:WCAG1.4.11
Repro Steps:

Open VS Code insider
Navigate till "Extension" button and search for the "Visual Studio Codespace"
Click on "Visual Studio codespace".
4.Launch AI4D.
5.Navigate up to remote explorer section and click on it.
Select the list item under Cloud Hosted codespace and Verify the color contrast of the keyboard focus.

Actual:
Color Contrast ratio of keyboard focus present on mycodespace1 list item is less than 3:1.
Same issue is also observed in "Text Box Family" screen in which focus is not move to "Clear All" and "Show Password" button.
Expected:
Closed Tab button and Clear all buttons should be in keyboard focus order for closing tab.
User Impact:
Keyboard users will not be able to closed tab with the help of keyboard key.
Attachment link for Reference:
#105722.zip

Accessibility issue for extensions should be filled in the repository of the extension. Once that is done the extension author should investigate and file an issue in VS Code using proper description of our components. Thanks!


TODO: MatchingRule design

MatchingRules are implemented as independent closure functions known as MatchingRuleAssertion. All known rules are stored in a matching rule map.  MatchingRuleDescription instances (actual matchingrule definitions) call the appropriate function based on its OID.  An assertion is conducted between a so-called "real" value (ostensibly a value that would have been called from a database) and an assertion value (a value found in a Filter qualifier Item, e,g.: equalityMatch).  The two values are asserted for equality, substring or ordering, and a boolean is returned indicative of the assertion result.

The foundation for all matching rules is completed. Further research is required to fine tune support.
Next step will be to expose methods that parallel search filter qualifiers (e.g.: equalityMatch) and then to extend test coverage.


Results add start end timestamps

There's already a duration, some users also find use for the actual
start/end timestamps.

Nice, how about  custom results? IMO we should make it possible to set via that as well

Nice, how about custom results? IMO we should make it possible to set via that as well

They should be able to. Once https://github.com/teemtee/tmt/pull/1906 lands, I'd include docs and test changes in this PR, but nothing prevents custom results to contain these two fields. tmt would load them. One thing that I would maybe do, tmt should probably overwrite the timestamps of the test itself (name: /) to what tmt measured, rather than what the custom results.yaml contains, to ensure it reflects the reality.

I guess the blocked label is outdated, right? Not sure why it was added...


Create kubernetes deployments for all modules

I created a deployment file for the front-end in #342. I think we should rename this issue to only be relevant for the front-end since we are going to be splitting the modules in their own repos. The contact module is also already done (see here).


Add Prometheus talk / event calendar to website

https://groups.google.com/forum/#!topic/prometheus-developers/fOQpfWm5g5Q

We could do this: https://support.google.com/calendar/answer/41207?hl=en


fix: updated support link for all Node.js agent modules

This fixes an issue where supportUrl for most Node.js agent team modules was wrong.

@clarkmcadoo I see the bot said this is in 1.20.4 but I don't see it in the release nor on the opensource website.


[DOC] In-line examples in functions.py docstrings should be made into notebooks

Brief Description of Fix
Currently, the docs, there are in-line examples that make the docstrings quite long. These are nice, but make functions.py difficult to navigate, in my opinion (lots of scrolling).
I would like to propose moving those in-line examples into notebooks that go in the examples/notebooks directory.
A thing that could be done, but might be overkill, is to make one notebook per function. The upside is that doing so would make the example usage extremely discoverable!
A more reasonable suggestion might be to use them as part of a data cleaning narrative, with end-users using the docs search functionality to discover those examples.
Relevant Context

functions.py

A thing that could be done, but might be overkill, is to make one notebook per function. The upside is that doing so would make the example usage extremely discoverable!

Could write a script that fills in a skeleton notebook with the docstring from each function. We'd then go in and convert them into actually-working code. It might make doing this not overkill at all.


new topics to cover

[x] as const
[x] exhaustive switch compile time checks using never
[ ] ReturnType, ArgType0, ArgType1, function utilities etc...
[ ] any other utility type that doesn't exist on TS that we use a lot... maybe Record<string, any>
[x] optional chaining
[x] nullish coalescing
[x] readOnly
[ ] Top-Level await
[ ] assertion functions
[x] Pick
[ ] Generics

Added as const examples.

Added readonly examples.

Added optional chaining example.

Added nullish coalescing examples.

awesome :D

Added Pick example.


try excluding anything bouncycastle from MemoryClassLoader

kind of a band-aid for validation

Codecov Report

Merging #50 (3033201) into main (107a365) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #50   +/-   ##
=========================================
  Coverage     80.78%   80.78%
  Complexity      142      142
=========================================
  Files            19       19
  Lines          1145     1145
  Branches        132      132
=========================================
  Hits            925      925
  Misses          148      148
  Partials         72       72

Continue to review full report at Codecov.

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


AMBARI-25226. tproxy-enabled flag is not used by ambari-server setup-trusted-proxy (amagyar)

What changes were proposed in this pull request?
Running ambari-server setup-trusted-proxy --tproxy-enabled=true --tproxy-configuration-file-path tp.json still ask the user interactively to supply inputs.
How was this patch tested?
Manually enabling/disabling tproxy via command line

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/5102/
Test PASSed.


Increased docker pull timeout

Closes/fixes/resolves issue(s)?
Closes #52
What was added/changed/fixed?
Extended the docker pull timeout for the hive-image in the HCL-file. The image is very big, and had problems downloading before the timeout when on a macbook via VPN
Related issue(s)? [Optional]
Others [Optional]
Checklist (after created PR)

[x] Added reviewers
[x] Added assignee(s)
[x] Added label(s)
[x] Added to project
[x] Added to milestone

PS: these timeouts might seem high, but are actually necessary in some cases.

Wait! The test failed: https://github.com/fredrikhgrelland/terraform-nomad-hive/runs/1424308418


Dojo-cli and dojo-plugin as standalone components

This PR removes the need for a custom cairo fork by extending the cairo compiler with the dojo plugin, outside the cairo repository.
Small internal things have been changed to make it compatible with the latest version of the compiler, but no radical changes compared to what exists under dojoengine/cairo
time : ~2 hours

i managed to get compilation working without modifying the corelib in #36!


Spring Cloud Feign Response Interceptor

I have created a ClientHttpRequestInterceptor that I use to intercept all outgoing RestTemplate requests and responses. I would like to add the interceptor to all outgoing Feign requests/responses. Is there a way to do this?
I know that there is a feign.RequestInterceptor but with this I can only intercept the request and not the response.

Is this your stack overflow question? http://stackoverflow.com/questions/31722478/spring-cloud-feign-interceptor

Yes, that's my my stack overflow question.

Please only post in one place.  This issue tracker should be for bugs and enhancement requests.


Java 20.2 : Annotation at run time

Description 📜
Added Documentation of Annotations at runtime
Fixes #4633

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Java_Domain

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@nandini7637


Feature request: Gantt View more than one value for task

How to reproduce?
In Gantt View (GanttExample.cs) it's not possible put more than one value for each charpoint (ganttPoint). For Exmple "Task 1" starts from Date1 to Date2 and then restart from Date3 to Date4 and so on.
Extra notes
I am using

I think i am after the same thing :-).  Just to confirm I am after more than one one Gantt Block on the same task line:
TaskLine1: [  ]    [     ]  []
TaskLine2:  [    ]    []   [   ]

what about this guys?

Did you solve it?


ClosureLifetimeFixup inhibits optimizations

Description
I saw this with autodiff-produced code, but I believe the issue is generic and is not autodiff-related, it was just easier to notice there.
Consider the reproduction code. hardyCrossSimpleLoop function contains a loop that calculates gradient in the loop. If we'd comment out let (f, Df) = valueWithGradient(at: flow, of: subsystem.totalDeltaP) line and instead uncomment the following line that does essentially the same, then the code is optimized down to just simple sequence of arithmetic operations. However, the original code cannot be optimized down and actually the runtime differs by something like 3 orders of magnitude.
The loop body looks as follows:
bb2(%60 : $Int):                                  // Preds: bb1
  %61 = alloc_stack $Float                        // users: %109, %102, %93
  %62 = alloc_stack $Float                        // users: %108, %103, %93
  %63 = begin_access [read] [unknown] %24 : $*Float // users: %65, %64
  %64 = load [trivial] %63 : $*Float              // user: %67
  end_access %63 : $*Float                        // id: %65
  %66 = alloc_stack $Float                        // users: %101, %93, %67
  store %64 to [trivial] %66 : $*Float            // id: %67
  // function_ref implicit closure #1 in hardyCrossSimpleLoop(initialFlow:subsystem:)
  %68 = function_ref @$s4flow20hardyCrossSimpleLoop33_D8A55993C73D177076A5BC68755B3D90LL11initialFlow9subsystemS2f_AA9SubsystemACLLVtFS2fcAGcfu_ : $@convention(thin) (Subsystem) -> @owned @callee_guaranteed (Float) -> Float // user: %69
  %69 = apply %68(%1) : $@convention(thin) (Subsystem) -> @owned @callee_guaranteed (Float) -> Float // user: %70
  %70 = differentiable_function [parameters 0] [results 0] %69 : $@callee_guaranteed (Float) -> Float // users: %100, %71
  %71 = convert_escape_to_noescape [not_guaranteed] %70 : $@differentiable(reverse) @callee_guaranteed (Float) -> Float to $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float // users: %99, %72
  %72 = begin_borrow %71 : $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float // users: %98, %85, %79, %73
  %73 = differentiable_function_extract [original] %72 : $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float // user: %74
  %74 = copy_value %73 : $@noescape @callee_guaranteed (Float) -> Float // user: %76
  // function_ref thunk for @callee_guaranteed (@unowned Float) -> (@unowned Float)
  %75 = function_ref @$sS2fIgyd_S2fIegnr_TR : $@convention(thin) (@in_guaranteed Float, @guaranteed @noescape @callee_guaranteed (Float) -> Float) -> @out Float // user: %76
  %76 = partial_apply [callee_guaranteed] %75(%74) : $@convention(thin) (@in_guaranteed Float, @guaranteed @noescape @callee_guaranteed (Float) -> Float) -> @out Float // user: %77
  %77 = convert_function %76 : $@callee_guaranteed (@in_guaranteed Float) -> @out Float to $@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float> // users: %97, %78
  %78 = convert_escape_to_noescape [not_guaranteed] %77 : $@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float> to $@noescape @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float> // user: %91
  %79 = differentiable_function_extract [jvp] %72 : $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float // user: %80
  %80 = copy_value %79 : $@noescape @callee_guaranteed (Float) -> (Float, @owned @callee_guaranteed (Float) -> Float) // user: %82
  // function_ref thunk for @callee_guaranteed (@unowned Float) -> (@unowned Float, @owned @escaping @callee_guaranteed (@unowned Float) -> (@unowned Float))
  %81 = function_ref @$sS4fIegyd_Igydo_S2fxq_Ri_zRi0_zRi__Ri0__r0_lyS2fIsegnr_Iegnro_TR : $@convention(thin) (@in_guaranteed Float, @guaranteed @noescape @callee_guaranteed (Float) -> (Float, @owned @callee_guaranteed (Float) -> Float)) -> (@out Float, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>) // user: %82
  %82 = partial_apply [callee_guaranteed] %81(%80) : $@convention(thin) (@in_guaranteed Float, @guaranteed @noescape @callee_guaranteed (Float) -> (Float, @owned @callee_guaranteed (Float) -> Float)) -> (@out Float, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>) // user: %83
  %83 = convert_function %82 : $@callee_guaranteed (@in_guaranteed Float) -> (@out Float, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>) to $@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float> // users: %96, %84
...

So, essentially we are taking a closure over subsystem value and then executing the autodiff code. Note that all values involved are explicitly destroyed in the end of the loop body. Differentiation does not change much, essentially the first apply is just changed to autodiff curry thunk.
What happes is ClosureLifetimeFixup essentially creates bunch of optionals extending the lifetime of all closures until the end of the next loop iteration:
bb0(%0 : $Float, %1 : $Subsystem):
  %2 = enum $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>, #Optional.none!enumelt // users: %55, %3
  %3 = begin_borrow %2 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>> // user: %55
  %4 = enum $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>, #Optional.none!enumelt // users: %55, %5
  %5 = begin_borrow %4 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>> // user: %55
  %6 = enum $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>>, #Optional.none!enumelt // users: %55, %7
  %7 = begin_borrow %6 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>> // user: %55
  %8 = enum $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float>, #Optional.none!enumelt // users: %55, %9
  %9 = begin_borrow %8 : $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float> // user: %55
  debug_value %0 : $Float, let, name "initialFlow", argno 1 // id: %10
...
bb1(%56 : @reborrow $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float>, %57 : @owned $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float>, %58 : @reborrow $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>>, %59 : @owned $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>>, %60 : @reborrow $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>, %61 : @owned $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>, %62 : @reborrow $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>, %63 : @owned $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>): // Preds: bb4 bb0
  %64 = borrowed %62 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>> from (%63 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>) // users: %215, %127
  %65 = borrowed %60 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>> from (%61 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>) // users: %215, %115
  %66 = borrowed %58 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>> from (%59 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>>) // users: %215, %103
  %67 = borrowed %56 : $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float> from (%57 : $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float>) // users: %215, %90
  %68 = alloc_stack $Optional<Int>                // users: %74, %73, %71
  %69 = begin_access [modify] [static] %32 : $*IndexingIterator<Range<Int>> // users: %72, %71
  // function_ref IndexingIterator.next()
  %70 = function_ref @$ss16IndexingIteratorV4next7ElementQzSgyF : $@convention(method) <τ_0_0 where τ_0_0 : Collection> (@inout IndexingIterator<τ_0_0>) -> @out Optional<τ_0_0.Element> // user: %71
...

Looks like these optionals inhibit all kinds of optimizations including inlining, specialization, as the closures and differentiable functions now have multiple uses and therefore necessary peepholes (that expects single use obviously) cannot happen. So, after all optimizations we end with:
// %34                                            // user: %54
// %35                                            // user: %59
// %36                                            // user: %62
// %37                                            // user: %66
// %38                                            // users: %89, %69
// %39                                            // users: %45, %41, %40
bb2(%34 : $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float>, %35 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>>, %36 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>, %37 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1, τ_0_2, τ_0_3> (@in_guaranteed τ_0_0) -> (@out τ_0_1, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <τ_0_2, τ_0_3>) for <Float, Float, Float, Float>>, %38 : $Builtin.FPIEEE32, %39 : $Builtin.Int64): // Preds: bb5 bb0
  %40 = builtin "cmp_slt_Int64"(%39 : $Builtin.Int64, %14 : $Builtin.Int64) : $Builtin.Int1 // user: %43
  %41 = builtin "cmp_slt_Int64"(%39 : $Builtin.Int64, %7 : $Builtin.Int64) : $Builtin.Int1 // user: %42
  %42 = builtin "xor_Int1"(%41 : $Builtin.Int1, %18 : $Builtin.Int1) : $Builtin.Int1 // user: %43
  %43 = builtin "or_Int1"(%40 : $Builtin.Int1, %42 : $Builtin.Int1) : $Builtin.Int1 // user: %44
  cond_fail %43 : $Builtin.Int1, "Index out of bounds" // id: %44
  %45 = builtin "sadd_with_overflow_Int64"(%39 : $Builtin.Int64, %19 : $Builtin.Int64, %18 : $Builtin.Int1) : $(Builtin.Int64, Builtin.Int1) // users: %47, %46
  %46 = tuple_extract %45 : $(Builtin.Int64, Builtin.Int1), 0 // users: %105, %97, %49
  %47 = tuple_extract %45 : $(Builtin.Int64, Builtin.Int1), 1 // user: %48
  cond_fail %47 : $Builtin.Int1, "arithmetic overflow" // id: %48
  debug_value %46 : $Builtin.Int64, var, name "$generator", type $IndexingIterator<Range<Int>>, expr op_fragment:#IndexingIterator._position:op_fragment:#Int._value // id: %49
  %50 = alloc_stack $Float                        // users: %80, %83, %85
  %51 = partial_apply [callee_guaranteed] %22(%1) : $@convention(thin) (Float, Subsystem) -> Float // users: %106, %109, %31, %53
  %52 = partial_apply [callee_guaranteed] %23(%1) : $@convention(thin) (Float, Subsystem) -> (Float, @owned @callee_guaranteed (Float) -> Float) // users: %107, %110, %32, %53
  %53 = differentiable_function [parameters 0] [results 0] %51 : $@callee_guaranteed (Float) -> Float with_derivative {%29 : $@callee_guaranteed (Float) -> (Float, @owned @callee_guaranteed (Float) -> Float), %52 : $@callee_guaranteed (Float) -> (Float, @owned @callee_guaranteed (Float) -> Float)} // users: %56, %55, %99
  release_value %34 : $Optional<@differentiable(reverse) @callee_guaranteed (Float) -> Float> // id: %54
  %55 = convert_escape_to_noescape %53 : $@differentiable(reverse) @callee_guaranteed (Float) -> Float to $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float // user: %56
  %56 = mark_dependence %55 : $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float on %53 : $@differentiable(reverse) @callee_guaranteed (Float) -> Float // users: %57, %60, %63
  %57 = differentiable_function_extract [original] %56 : $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float // user: %58
  %58 = partial_apply [callee_guaranteed] %24(%57) : $@convention(thin) (@in_guaranteed Float, @guaranteed @noescape @callee_guaranteed (Float) -> Float) -> @out Float // users: %112, %100
  release_value %35 : $Optional<@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>> // id: %59
  %60 = differentiable_function_extract [jvp] %56 : $@differentiable(reverse) @noescape @callee_guaranteed (Float) -> Float // user: %61
  %61 = partial_apply [callee_guaranteed] %25(%60) : $@convention(thin) (@in_guaranteed Float, @guaranteed @noescape @callee_guaranteed (Float) -> (Float, @owned @callee_guaranteed (Float) -> Float)) -> (@out Float, @owned @callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Float, Float>) // users: %113, %102
...

(note that %53 has also %99 use that essentially saves the function into optional until the next iteration).
All these does not happen when we control the lifetime just outlining the things into a separate function.
Is there something that could be done differently at autodiff side to "help" closure fixup if it cannot be fixed to handle this particular case in better way?
Reproduction
import _Differentiation

// MARK: Boiler

private typealias Scalar = Float

private struct Boiler {
    @differentiable(reverse)
    func inlineResistanceFluid(_ x: Scalar) -> Scalar {
        100000.0
    }

    @differentiable(reverse)
    func deltaP(_ x: Scalar) -> Scalar {
        -inlineResistanceFluid(x) * x * x
    }
}

// MARK: Pump

private struct Pump {
    private let coefConst: Scalar = 54162.06
    private let coefLin: Scalar = -51815.13
    private let coefQuad: Scalar = 10052.31

    @differentiable(reverse)
    //@_silgen_name("Pump_deltaP")
    func deltaP(_ x: Scalar) -> Scalar {
        coefConst + coefLin * x + coefQuad * x * x
    }
}

// MARK: RadiantSlab

private struct RadiantSlab {
    init() { }
    //@_silgen_name("RadiantSlab_inlineResistanceFluid")
    @differentiable(reverse)
    func inlineResistanceFluid(_ x: Scalar) -> Scalar {
        let dynamicViscosity: Scalar = 8.9e-4
        let nLoop = Scalar(3)
        let lengthTotal: Scalar = 163.98
        let innerDia: Scalar = 0.01905
        let lengthLoop = lengthTotal / nLoop
        let areaFlow: Scalar = Scalar.pi * 0.25 * innerDia * innerDia

        let reNr: Scalar = x * innerDia / (dynamicViscosity * areaFlow) // f(x)
        let frictionFactor: Scalar = 64.0 / (reNr + 0.01) //h(g(f(x)))
        let flowCoeff: Scalar = frictionFactor * lengthLoop / innerDia //i(h(g(f(x))))
        return flowCoeff / (2.0 * 995.0 * areaFlow * areaFlow) //j(i(h(g(f(x)))))
        // j(i(h(g(f(x)))))' = j'(i(h(g(f(x)))))i'(h(g(f(x)))h'(g(f(x)))g'(f(x))f'(x)
    }

    //@_silgen_name("RadiantSlab_deltaP")
    @differentiable(reverse)
    func deltaP(_ x: Scalar) -> Scalar {
        -inlineResistanceFluid(x) * x * x
    }
}

// MARK: SubSystem

private struct Subsystem { // Simple loop like Basic Load Matching
    private let boiler = Boiler()
    private let pump = Pump()
    private let load = RadiantSlab()

    init() {

    }

    //@_silgen_name("Subsystem_totalDeltaP")
    @differentiable(reverse)
    func totalDeltaP(_ flow: Scalar) -> Scalar {
        boiler.deltaP(flow) + pump.deltaP(flow) + load.deltaP(flow)
    }
}

@inline(never)
private func hardyCrossSimpleLoop(initialFlow: Scalar, subsystem: Subsystem) -> Scalar {
    let maxIters = 20
    let balanceTol: Scalar = 1e-6
    let stepTol: Scalar = 1e-6
//    let delta: Scalar = 1e-4

    var flow = initialFlow

    @inline(never)
    func valueWithGradientWrapper(at: Scalar) -> (Scalar, Scalar) {
        return valueWithGradient(at: at, of: subsystem.totalDeltaP)
    }

    for _ in 0 ..< maxIters {
        // Auto diff
        let (f, Df) = valueWithGradient(at: flow, of: subsystem.totalDeltaP)
        //let (f, Df) = valueWithGradientWrapper(at: flow)

        let step = -f / Df
        flow += step
        guard abs(step) > stepTol, abs(f) > balanceTol else { break }
    }
    return flow
}

private let subsystem = Subsystem()
private let nominalFlow: Scalar = 0.25 // Pre-solve guess at flow
private var flow: Scalar = 0

flow += hardyCrossSimpleLoop(initialFlow: nominalFlow, subsystem: subsystem)
print(flow)

Expected behavior
Code could be optimized down to simple set of arithmetic operations in both cases.
Environment
Swift version 6.1-dev (LLVM fcc20a24e57c484, Swift f802b67fc06447f)
Target: arm64-apple-macosx13.0
Additional information
No response

@JaapWijnen


Added test to make sure tinygrad core is under 1000 lines

I added a test to make sure that the tinygrad core length is under 1000 lines by recursively going through all of the files and directories under tinygrad/tinygrad. This did come out to around 3050 lines, which I manually verified. Are not all files under tinygrad/tinygrad considered core tinygrad?

lol welcome to the tinygrad is 1000 lines scam, it's currently 2196 lines (use ./sz.sh)
the documentation isn't the best...

Oh, lol. Any plans to make the docs better?


feat: update to new version of googleapis protos

With this version, we can now use the googleapis-provided BUILD files
for the Bigtable Admin V2 protos, so we don't need to define our own. I
also move the unnecessary proto deps out of the googleapis.BUILD file
to make the targets in there look more consistent -- they only exist so
that we can explicitly sort the grpc++ target after the grpc proto
rules that depend on it (this is working around a grpc issue).

This change is

FYI, I like it better when the CMake and Bazel versions of these protos are the same (see the cpp-cmakefiles repo), but that can wait until a future PR.

They were already different, but I'll bring them into sync in a separate PR.


Add chart for basic web service.

Starter chart to build from, modeled after the existing identity-tom confguration in https://github.com/uwit-iam/gcp-k8/blob/main/dev/identity-tom.
Look for anything conspicuously incorrect (ignoring unconfigured values).
basic-web-service would be overridden in the dependent configuration's nameOverride value. (e.g., identity-tom).

Default template output:
---
# Source: basic-web-service/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: basic-web-service
  labels:
    app: basic-web-service
    helm.sh/chart: basic-web-service-0.1.0
    app.kubernetes.io/name: basic-web-service
    app.kubernetes.io/managed-by: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 8000
      protocol: TCP
      name: http
  selector:
    app.kubernetes.io/name: basic-web-service
---
# Source: basic-web-service/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: basic-web-service
  labels:
    helm.sh/chart: basic-web-service-0.1.0
    app.kubernetes.io/name: basic-web-service
    app.kubernetes.io/managed-by: Helm
spec:
  replicas: 1
  selector:
    matchLabels:
      app: basic-web-service
  template:
    metadata:
      labels:
        app: basic-web-service
        app.kubernetes.io/name: basic-web-service
    spec:
      containers:
        - name: basic-web-service
          image: unconfigured  # {"$imagePolicy": "default:basic-web-service-policy"}
          envFrom:
            - configMapRef:
                name: basic-web-service
          imagePullPolicy: IfNotPresent
          ports:
            - name: http
              containerPort: 80
              protocol: TCP
          livenessProbe:
            httpGet:
              path: /status
              port: http
          readinessProbe:
            httpGet:
              path: /status
              port: http
          resources:
            {}
---
# Source: basic-web-service/templates/ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: basic-web-service
  labels:
    helm.sh/chart: basic-web-service-0.1.0
    app.kubernetes.io/name: basic-web-service
    app.kubernetes.io/managed-by: Helm
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: letsencrypt
spec:
  ingressClassName: nginx
  tls:
  rules:
    - host: "chart-example.local"
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: basic-web-service
                port:
                  number: 80
---
# Source: basic-web-service/templates/deployment.yaml
apiVersion: image.toolkit.fluxcd.io/v1beta1
kind: ImagePolicy
metadata:
  name: basic-web-service-policy
  namespace: default  # must be 'default' in MCI, even if app itself is not in default
spec:
  imageRepositoryRef:
    name: basic-web-service-gcr
  filterTags:
    pattern: '^unconfigured\.(?P<ts>[0-9\.]+)\.v.+$'
    extract: '$ts'
  policy:
    alphabetical:
      order: asc
---
# Source: basic-web-service/templates/deployment.yaml
apiVersion: image.toolkit.fluxcd.io/v1beta1
kind: ImageRepository
metadata:
  name: basic-web-service-gcr
  namespace: default  # must be 'default' in MCI, even if app itself is not in default
spec:
  image: gcr.io//basic-web-service
  interval: 5m0s
  secretRef:
    name: flux-mci-registry-credential
---
# Source: basic-web-service/templates/tests/test-connection.yaml
apiVersion: v1
kind: Pod
metadata:
  name: basic-web-service-test-connection
  labels:
    helm.sh/chart: basic-web-service-0.1.0
    app.kubernetes.io/name: basic-web-service
    app.kubernetes.io/managed-by: Helm
  annotations:
    "helm.sh/hook": test
spec:
  containers:
    - name: wget
      image: busybox
      command: ['wget']
      args: ['basic-web-service:80']
  restartPolicy: Never

Overall this looks like a good starting point and I think I can start to see where knobs would go for IST's applications.

I have updated this repo and also created a gist that shows:

The values.yaml that would configure identity-tom as it is today
The resulting identity-tom.yml that would be applied (deployed? whatever) to the cluster.

I haven't tried actually deploying this configuration yet, but while I do that, I figured I could let y'all take a look while I find bugs.

Closes #2


Arabic/Yiddish: Once you get an exposure alert and try to delete data, the app does not start over properly

App version: Android <IP_ADDRESS>
OS: Android 11
Device: Google Pixel 3XL
Reproducible: Always
Summary:  App is in Arabic or Yiddish and I received an exposure alert. If I delete data to reset app it takes me to the first screen to onboard and then I see the exposure alert screen show up. At this point the app gets unstable sometimes freezes. I have to quit the app to get it to work again. If I am in other languages it doesn't seem to happen.
Steps:

Launch app and go to Settings > My language and change to Yiddish or Arabic
Wait for Close Contact Alert and tap notification
Once you see the exposure screen Go Back
Go to Settings > Delete Data and wait for a few seconds after confirming delete

Results:
The "I confirm" screen will show for a second and then the Exposure Landing screen pops up again now in English.
There is no date for the message.
At this point I can scroll down but the back button does not work and it seems stuck.
One time I even saw part of the tabs show up and it was totally frozen.
Expected: Once you delete data it should not show exposure alert or freeze up
Workaround: Quit app and start it up again
Note: I tested this in Spanish and English and it did not show the exposure landing screen or freeze up.

@denisedresbach When you have this problem, if you pull down the notification pane, is there a "Checking exposure keys" notification active, either when the app freezes up or after restarting the app?

@AlanSl Yes and I noticed it was checking exposure keys for a long time, over 20 mins at least. I can test again to get exact if you want.

That's enough info thanks - if it's anything like what I've been seeing when I've successfully replicated this it'd be a very long wait (I often have to restart the phone). I should have enough info to fix this now but it'll be a tricky one.

(also slightly off topic @denisedresbach but on that device do the device tabs always look like that with the icons cropped off, or is that only when this bug happens?)

@AlanSl No the screenshot with tabs seems to happen because I interact with it by swiping to the side as it loaded or when it loaded the exposure screen. If I don't touch it the tabs don't show up it just kinda seems stuck.

Testing this out in <IP_ADDRESS> - The issue seems to be fixed, but I do see a bit of flashing screens going by as I wait for the I confirm screen.

Should be fixed in <IP_ADDRESS>

<IP_ADDRESS> This looks a lot better now! Testing iOS and Android

This is likely totally unrelated, but in New Zealand we just released an update include EN and users are reporting the "Checking exposure keys" notification hanging around persistently. This is the only other issue I've found reporting a similar thing, although not in the same context.
@AlanSl did you manage to create any conditions that cause that "checking exposure keys" notification to show up for a prolonged period? We are struggling to reproduce it here, any suggestions appreciated!

Hi @phindmarsh, thanks for getting in touch. Do you have an issue tracking this on the NZ app repo? If you do (or if you can open one) can you ping me in it please, and I'll share anything relevant that I find.
On that issue on the NZ repo, it would be good to see in particular if you have any information about when users are seeing this - for example, is it the first time they open the app after updating, or every time, or intermittently? Is it only on Android or is there also an issue on iOS? And, does your production app build have the 1.1.x or 1.2.x React Native Exposure Notification Service, and does it use the v1 or v2 (new in 1.2.x) ENS score calculation method?
On our side, we've only seen this on either dev builds or beta test builds, only on Android, and almost always on switching back to a previously used app after testing another COVID app (but we didn't find a consistent or reliable way to replicate it). This was on 1.1.x React Native Exposure Notification Service, I'm hoping to have some time to thoroughly test 1.2.x later this week.


Chore: run prettier --check on CI

Problem:
We broke our pre-commit hook that was supposed to run prettier and we didn't notice it for a few days. This led me to realize that if someone uses git commit --no-verify they can sneak unprettified code into our codebase.
Fix:
Run prettier --check as part of running the tests on Github CI. This fails the pull request that attempts to add unprettified code to our codebase.
Commit Details:

The meat of the PR is in package.json
Added new npm script called prettier-check, running this as part of check and check-ci
Fixing the pre-existing prettier issues in our codebase so this PR can pass (sorry for the ugly diff – feel free to ignore anything that is not package.json, it was auto-written by Prettier, I pinky swear I didn't alter the files :) )

What actually broke the pre-commit hook?

What actually broke the pre-commit hook?

What actually broke the pre-commit hook?

After writing this I immediately switched tabs to #870 and found the answer there :D

What actually broke the pre-commit hook?

After writing this I immediately switched tabs to #870 and found the answer there :D


Fix caching subtitle lines with very long durations

Hey, first of all: thanks for making this very neat piece of software! Much appreciated :slightly_smiling_face:!
Then the matter of this pull request: I ran into an issue today where a subtitle line with a very long duration (e.g. lasting from 9 seconds to 21 seconds) was only displayed for a second and then disappeared. Upon examining the code, it turned out that buildCache only populates the cache bins for the start and end times of a subtitle line. If there are any bins between those, they are left empty. Not good :sweat_smile:. This pull request fixes that.
I couldn't find any guidelines on contributing to this project anywhere, so I hope this way is ok. If not, please let me know!

Very nice catch @Fastigium , good that you spotted it!
I also like the way you solved it, thanks for the contribution!


Add a link to resource climatetechlist.com

Checklist

[x] I reviewed 2 other open pull requests. Try to prioritize unreviewed PRs, but you can also add more comments to reviewed PRs. Go through the below list when reviewing. This requirement is meant to help make the project self-sustaining. Comment here which PRs you reviewed. You're expected to put a good effort into this and to be thorough. Look at previous PR reviews for inspiration.
[x] I read and followed the CONTRIBUTING guidelines.
[x] This pull request has a title in the format Add Company Name. Or Add Company1, Company2 and Company3 if it adds multiple companies.

:x: Update README.md
:x: Added Orbital Systems
:white_check_mark: Add Orbital Systems
:white_check_mark: Add Orbital Systems and Bulb

[x] I added entries in alphabetical order.
x] The description is simple and doesn't contain unnecessary buzzwords. It needs to say what the company does, it's not a sales pitch.

:x: Disruptive company developing cutting-edge AI-enabled solutions to provide farmers with a decision support system.
:white_check_mark: They use satellites to help farmers monitor crops and lower their emissions by reducing their nitrogen usage.

@nglgzz wanted to flag this PR :)

Thank you for your contribution @stevenqzhang :sparkles:
It looks good, but please use https for the link to the company's website if https is available (which in this case it is).

@nglgzz done :)


Travis build failing on dartfmt error, but no details

It doesn't seem to be clear from the log which line of the code is actually causing the error and it's not obvious by visual inspection.
Steps to Reproduce
Created a PR (https://github.com/flutter/website/pull/267) for a change to flutter/website.
Flutter Doctor
[✓] Flutter (on Linux, channel master)
• Flutter at /usr/local/google/home/quddusc/flutter/flutter
• Framework revision 20b9750a73 (21 hours ago), 2016-08-23 16:17:36
• Engine revision 28e9b3bc49
• Tools Dart version 1.19.0-dev.5.0
[✓] Android toolchain - develop for Android devices (Android SDK 24.0.0)
• Android SDK at /usr/local/google/home/quddusc/Android/Sdk
• Platform android-24, build-tools 24.0.0
• OpenJDK Runtime Environment (build 1.8.0-google-v7-128173541-128170350)
[✓] Atom - a lightweight development environment for Flutter
• flutter plugin version 0.2.4
• dartlang plugin version 0.6.35
Logs and Crash Reports
Full output log is here.
Relevant lines from Travis log:
20 code snippets extracted.
Analyzing the extracted Dart libraries.
Analyzing 20 files...
No analyzer warnings! (ran in 11.5s)
Check formatting of the extracted Dart libraries.
There are formatting errors in the following files:
example/reading_writing_files_md_1.dart
The command "./tool/travis.sh" exited with 1.

For more information about diagnosing and reporting Flutter bugs, please see https://flutter.io/bug-reports/.

@sethladd

cc @a14n
Thanks for the report @qchong !

@a14n if you think there's more actionable info that we can print (other than the file which was unformatted), please reopen. Otherwise, we know which file needs formatting love so I'm going to close.

dartfmt outputs the name of files that changes after reformat. That's what is display in logs:
There are formatting errors in the following files:
example/reading_writing_files_md_1.dart

I just push a branch where the output looks like:
There are formatting errors in the following files:

===== example/widgets_intro_md_1.dart =====
----- expected format -----
// Extracted from widgets-intro.md, line 28.
import 'package:flutter/material.dart';

void main() {
  runApp(new Center(child: new Text('Hello, world!')));
}
----- current format -----
// Extracted from widgets-intro.md, line 28.
import 'package:flutter/material.dart';

void main() {
  runApp(
    new Center(child: new Text('Hello, world!')));
}
----- diff -----
5c5,6
<   runApp(new Center(child: new Text('Hello, world!')));
---
>   runApp(
>     new Center(child: new Text('Hello, world!')));
===== /end example/widgets_intro_md_1.dart =====

Let me know if that's better. So I'll make a PR.

Wow, nice. Since you already have the branch, we'll be happy to take a PR. Thank you!

created: flutter/website#268


chore(deps): bump version of plugin-community from 2.2.12 to 2.3.0

What does this PR do?
Bump plugin-community from 2.2.12 to 2.3.0
Acceptance Criteria
How do you know this change is successful? What is the scope of this change? What tests test the criteria (or why no tests)?
The Acceptance Criteria can be copied from the work item if they exist there but it is useful to have on the PR when reviewing the code.
Testing Notes
Anything additional to note about testing this PR. How did you test it? Special setup? Additional manual test cases? Things not tested?
Checklist

[X] This change has been approved by the CLI Review Board or approval isn't required. Anything that adds/changes/deletes commands, flags, output, or json output has to be reviewed.
[X] Doe s this follow the deprecation policy?

What issues does this PR fix or reference?
@W-12638942@

Version already updated


scala-ide 4.3.0

Update scala-ide to version 4.3.0.

Thank you for the contribution. It needed some fixes, so they were made in a9aba031ac0738f9cbb666c4c0c55e9706e04ef0. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


Casting tuple onto the order_fields attribute in _get_ordered_field_names

Cast tuple onto the Meta order_fields so they can concatenate with the Meta fields.
On a class inheriting resources.ModelResource, when fields and order_fields are defined as list in the class' Meta, tuple is cast onto the fields attribute but not onto the order_fields.
This results in the TypeError on line 1121 coming from the line defined_fields = order_fields + tuple(getattr(self._meta, "fields") or ()
(.../import_export/resources.py)
What problem have you solved?

Now both resources.ModelResource - Meta - fields and order_fields can be defined as list.
How did you solve the problem?
Casting the tuple build in function onto the order_fields too.

Thanks for submitting.  It would be ideal if you could supply an integration test which proves that the problem exists and that your change fixes it.

coverage: 100.0%. remained the same
when pulling 9b0727817324047a4e39eb35f45c32ddbda77636 on Klexus1:main
into a0b5dfdb85d81e9c3e47d3292aa33bb5923a4dad on django-import-export:main.

coverage: 100.0%. remained the same
when pulling bcace46aacb139eb8730bb909d4c653173b44468 on Klexus1:main
into a0b5dfdb85d81e9c3e47d3292aa33bb5923a4dad on django-import-export:main.


Check kwargs in event handlers

fix #490

Coverage increased (+0.01%) to 93.157% when pulling f991695f19129ecac58c7ebc3bdedf535785cd07 on check_kwargs_in_event_handlers into df89aa964ec4ad46bd9ef4d6c769437f8886887a on dev.


Not showing the log when contentoverload is crashing an app

I crashed an app using contentoverload.  This app doesn't recognize the crash when I do that

I think this is because the app doesn't capture crashes of native apps...


Code not getting minified in production bundle

Apps that use this library seem to have a copy of the source code included rather than minified version included in the bundle as with other dependencies. Is this expected?
For example, model manager source.

After a bit of research, this isn't actually the case.
See screenshot showing build files served from docker:

Folders in chrome dev tools shown in orange are actually source code parsed from the minified bundles using javascript source maps (generated by webpack). You can confirm this by disabling javascript source maps in chrome dev tools console. If you want in the future, this is something that can be turned off in production CRA builds
https://create-react-app.dev/docs/advanced-configuration/

A bit of further discussion on whether to include in production.
https://css-tricks.com/should-i-use-source-maps-in-production/

I don't think we should include in production.


Add flatten handling of pre-existing wires as created by interfaces

Fixes #1145.
This inadvertently also enables the following:
module top (input [3:0] A, B, output [3:0] X, Y);
  (* keep *) wire [3:0] bar.internal;
  assign Y = bar.internal;
  foo bar ( A, B, X );
endmodule

module foo (input [3:0] din1, din2, output [3:0] dout);
  (* keep *) wire [3:0] internal = din1 & din2;
  assign dout = din1 | din2;
endmodule

yosys -p 'read_verilog test.v; prep -top top; flatten;; show'

Although I think that the quasi-hierarchical-references could be useful, and I'd like to see the interfaces issue fixed, I've noticed that some tools generate wires named thus (see #1220). I think in that case it was using them for output ports of the submodule of the same name so there would be no conflict, but not sure what the best way forward is with that?

New example for connecting to signals in sub-modules using new hierconn attribute:
module top (input [3:0] A, B, output [3:0] X, Y);
  (* hierconn, keep *) wire [3:0] bar.internal;
  assign Y = bar.internal;
  foo bar ( A, B, X );
endmodule

module foo (input [3:0] din1, din2, output [3:0] dout);
  (* hierconn, keep *) wire [3:0] internal = din1 & din2;
  assign dout = din1 | din2;
endmodule


Not working for me

Thanks for writing the only Alfred 5 workflow for resetting default browser. I am unable to make it work. I type in the command sdb and see many browser icons in the drop down menu. But when I hit enter on Chrome, for example, nothing happens. I did read through your "file action" explanation regarding the bundle identifier information. I do not understand it. At the moment, there is one type listed under "types:" com.apple.application-bundle. Can you help?

Hey @jw2554, is nothing happening or is there perhaps a notification? If you open the debug window in Alfred (⌘D) and try to switch to chrome, is there a message about the error?
The File Action can give you information about the bundle identifier of an app, which you can then copy-paste to create a new option in the "List Filter" object, i.e. a new browser to select when you type sdb. However, Chrome is already in the list and should work (unless the identifier changed since last time I checked).
The reason there is only one type for the File Action object, namely com.apple.application-bundle, is to ensure that only apps can be presented to it. For example, if you type "Chrome" in Alfred and then hit the right arrow key on the Chrome app, you can pass it to the Bundle Identifier Information File Action to get its bundle id. You really only need this if you're using a browser that's not in the list. But it won't hurt to verify that the identifier is correct.
If it continues to not work, I'd suggest you first see if there is any debugging information available, and if there is, to post it here.

Hi Patrick, thanks so much for your reply.  Can you help?

Jie

On Apr 18, 2023, at 1:09 PM, Patrick Sy @.***> wrote:
Hey @jw2554 https://github.com/jw2554, is nothing happening or is there perhaps a notification? If you open the debug window in Alfred (⌘D) and try to switch to chrome, is there a message about the error?
The File Action can give you information about the bundle identifier of an app, which you can then copy-paste to create a new option in the "List Filter" object, i.e. a new browser to select when you type sdb. However, Chrome is already in the list and should work (unless the identifier changed since last time I checked).
The reason there is only one type for the File Action object, namely com.apple.application-bundle, is to ensure that only apps can be presented to it. For example, if you type "Chrome" in Alfred and then hit the right arrow key on the Chrome app, you can pass it to the Bundle Identifier Information File Action to get its bundle id. You really only need this if you're using a browser that's not in the list. But it won't hurt to verify that the identifier is correct.
If it continues to not work, I'd suggest you first see if there is any debugging information available, and if there is, to post it here.
https://user-images.githubusercontent.com/25689591/232851303-e84c33e2-5e61-4311-86c6-4c8c1d13bd54.gif
—
Reply to this email directly, view it on GitHub https://github.com/zeitlings/alfred-set-default-browser/issues/2#issuecomment-1513518622, or unsubscribe https://github.com/notifications/unsubscribe-auth/APLFRROTYZGT46IXXJCZNO3XB3DFZANCNFSM6AAAAAAXCUEWSU.
You are receiving this because you were mentioned.

Did the previous version of the workflow work for you? It looks like the problem might be with the Xcode CLI tools. You can try resetting the path, or perhaps install the tools from the terminal in the first place:
xcode-select --install
sudo xcode-select -s /Library/Developer/CommandLineTools/

Hi Patrick, thanks for your note. I’d love to understand what you think might help me fix the problem. I don’t know much about how the terminal, neither do I have training in coding or computer science. But I’m very good at following instructions. Do you think you can instruct me how to use the terminal for the Xcode?

Jie

On May 1, 2023, at 4:06 PM, Patrick Sy @.***> wrote:
Did the previous version of the workflow work for you? It looks like the problem might be with the Xcode CLI tools. You can try resetting the path, or perhaps install the tools from the terminal in the first place:
xcode-select --install
sudo xcode-select -s /Library/Developer/CommandLineTools/
—
Reply to this email directly, view it on GitHub https://github.com/zeitlings/alfred-set-default-browser/issues/2#issuecomment-1530146538, or unsubscribe https://github.com/notifications/unsubscribe-auth/APLFRRL2CC3JIDQY6WH5JPDXEAJUFANCNFSM6AAAAAAXCUEWSU.
You are receiving this because you were mentioned.

Hey, Jie. We can try! It should be as simple as

opening the Terminal App
pasting the first command xcode-select --install and hitting enter (will install the tools if not present)

At this point you can already check if the workflow works. In that case you can skip the rest and relax.

pasting the second command sudo xcode-select -s /Library/Developer/CommandLineTools/ and hitting enter

since this command is prefixed with sudo (=super-user-do), you will be asked to enter the login password for your mac. You won't see that anything has been typed, but your input will be registered.

Your Terminal will look differently


Added script to test caffe converted models layer by layer

I've added a script which compares layer by layer both the weights and the outputs of a caffe model and its converted mxnet model.
The script by default runs on the known test models mentioned in test_converter.py, namely: bvlc_googlenet, vgg-16 and resnet-50.
In addition the script offers functions for comparing any model by supplying the parameters of the caffe model.
The script goes over the layers of the network DAG, in BFS order, and compares the layer's parameters, usually weights and bias, but others as well.
In addition the script takes an image as input and run inference using both caffe and mxnet models, and compare the blob outputs of each layer, taking into consideration inplace layers.
For each weight blob and output blob the script log to screen the mean and max of the absolute difference between the blobs.
Attached output generated when running the script using default parameters: compare_layers_output.txt
Since the script runs caffe inference, it depends on caffe being installed. The dependency is implicit, so the user of the script can resolve it by installing his favorite caffe version and setting the proper environment variables. All the script requires is that 'import caffe' will work.

Note that this PR addresses the 'pair test with caffe' in future roadmap of #5247

Can you please add a CI test on https://github.com/dmlc/mxnet/blob/master/Jenkinsfile#L335

I'm not sure how to go about that..
Is running the tool enough? should I add assertion to make sure the per layer difference is low?
Also, the tool depends on caffe being setup properly (such that 'import caffe' works), can this be an issue for integration tests?

the ci docker has caffe installed, also gpu is enabled if you want to use.
see.
https://github.com/dmlc/mxnet/blob/master/tests/ci_build/Dockerfile.caffe_gpu
i suggest to download a model, feed in an image, and compared the results
to make sure that the difference is small
the current test script is here:
https://github.com/dmlc/mxnet/blob/master/tools/caffe_converter/test_converter.py
On Tue, Jun 13, 2017 at 11:29 AM, Arik Poznanski<EMAIL_ADDRESS>wrote:

I'm not sure how to go about that..
Is running the tool enough? should I add assertion to make sure the per
layer difference is low?
Also, the tool depends on caffe being setup properly (such that 'import
caffe' works), can this be an issue for integration tests?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/mxnet/pull/6680#issuecomment-308206911, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAZv4aVKrxtVDxXCl_g8eRKQ3KWXSg28ks5sDtUKgaJpZM4N4Atd
.

Currently test_converter.py downloads the models and dataset and check the models performance,
while compare_layers.py downloads the models and a test image and check the models weights and outputs.
Do you think the test_converter.py script should cover both checks? in which case I need to merge them to a single file.
Or should I leave compare_layers.py as a standalone script, add the relevant assertions, possibly rename it to test_compare_layers.py, and add it to the list of CI tests?

i prefer to add the test codes into test_converter.py. but i'm ok with the
second option as well
On Tue, Jun 13, 2017 at 11:53 AM, Arik Poznanski<EMAIL_ADDRESS>wrote:

Currently test_converter.py downloads the models and dataset and check
the models performance,
while compare_layers.py downloads the models and a test image and check
the models weights and outputs.
Do you think the test_converter.py script should cover both checks? in
which case I need to merge them to a single file.
Or should I leave compare_layers.py as a standalone script, add the
relevant assertions, possibly rename it to test_compare_layers.py, and
add it to the list of CI tests?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/mxnet/pull/6680#issuecomment-308213594, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAZv4Zz3Re4CzgP8j5oEUyopO4SyqNszks5sDtqygaJpZM4N4Atd
.

I've refactored test_converter.py script to run both performance test and layer-by-layer comparison test for known models. The layer comparison login remains in a standalone compare_layers.py script, to avoid clouding the test_converter script, and to allow users to run the layer by layer comparison on their private models.
I've added assertion of mean difference allowed (1e-4) and max difference allowed (1e-2), based on actual numbers I got when running on CPU. Unfortunately, I can't run the test on GPU, so I hope it passes the integration test, and if not, we might need to update the threshold for the GPU. Hopefully, there won't be any significant difference..

Finally, continuous-integration/jenkins/pr-head passed with the new test.
I'm not familiar with the problem of continuous-integration/travis-ci/pr, if someone can check it out it would be great..

ready to merge

@mli can you check?

errors doesn't seem to be related


Feature Request: (Badlist) Allow setting a heuristic score per update source

Is your feature request related to a problem? Please describe.
It would be helpful to be able to set a heuristic score per update source for the badlist service.
For example, we have a feed that is pretty noisy, but still relevant. We may want to have this show up in the submission result, but not neccesarily be marked as instant malicious.
Describe the solution you'd like
Set up different heuristic score levels for badlist update sources.
My suggestion would be to be able to tag sources as either Informational (0 score), Suspicious(300 score), Malicous(1000 score).
Describe alternatives you've considered
N/A
Additional context
N/A

Suspicious and malicious that might not be a bad idea but and informational tag woudl be kind of weird as this is not bad and your in the badlist...

Awesome, thanks!


feat: Add page structure and fix menu order

Description

Create empty pages structures
Fix home navigation
Added mentorship session and other menu items
Move About to single item with submenus

Change Type

[x] Bug Fix
[x] New Feature

Screenshots

Pull request checklist
Please check if your PR fulfills the following requirements:

[x] I checked and followed the contributor guide
[x] I have tested my changes locally.
[x] I have added a screenshot from the website after I tested it locally

@dricazenck  the spelling for programs needs to be corrected. There is mm in it.
We can either go with Programs  (american english)  OR Programmes (British english).
Also it might be better to say 'About Us' than just About.

@mads6879 @dricazenck I suggest British english, since we're based in Europe.
Regarding capitalisation of headings on the website, should we only capitalise the first word in the headings? Seems like that's more common in British english.


https url-path

Hello,
I'm trying you forwarder and I'm facing and issue with https.
When I call my service, let's say https://service.domain.com, I get a 400 error code saying :
he redirect URI in the request, https://service.domain.com/_oauth, does not match the ones authorized for the OAuth client.
How can I make the url path called with https ?
Regards,
Martinho MOREIRA

Have you added https://service.domain.com/_oauth in the Google Oauth Console?

I did but the calling url is http and not https.
Do you know why ? Maybe a missing header

Sorry I'm not following you, in your example all the URL's had https at the start, so I can't see an issue with that.
Could you give an example request flow?

Sure, I'm call my service with https then I'm redirected to google auth screen but I get a 400 error with the message : the redirect URI in the request, http://service.domain.com/_oauth, does not match the ones authorized for the OAuth client.
I did a wrong copy paste in my initial post. The _oauth url is called with http instead of https.

Hmm, are you sure your first request is https? If it is, are you being redirected to http before being redirected to google? (You will have to watch your request log in your browser to check).

I'm pretty sure but I'm doing ssl offloading through haproxy maybe the issue comes from that.

Yep, that will be the issue - the way this tool works at the moment is to look at the protocol of the request as received by traefik.
I could look at a way to override this in the future but unfortunately this wouldn't be a quick fix for me

Ok I understand
Thanks you for tour help
Le mer. 6 févr. 2019 à 18:07, Thom Seddon<EMAIL_ADDRESS>a
écrit :

Yep, that will be the issue - the way this tool works at the moment is to
look at the protocol of the request as received by traefik.
I could look at a way to override this in the future but unfortunately
this wouldn't be a quick fix for me
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/thomseddon/traefik-forward-auth/issues/27#issuecomment-461103877,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APxTF3baOEF0QExFWsQRmaEZkIBkmYfYks5vKwvUgaJpZM4alfWY
.


why the environment variable CUDA_VISIBLE_DEVICES no use

hi, when i run tensorflow  project, i set those two  environment variables below to make the tensorflow use the GPUs as i expected, but the settings did not effect as i expected.
export CUDA_DEVICE_ORDER="PCI_BUS_ID"
export CUDA_VISIBLE_DEVICES="5,6"
as  i set the variable CUDA_VISIBLE_DEVICES as above, when i run tensorflow project , it only use the GPU:0 and GPU:1, it seems that it ignore what i set , just start with GPU:0.
can anyone give some advices?
thanks a lot.
PS my tensorflow version is 2.4.1

Tensorflow always labels devices starting from zero, but it does use CUDA_VISIBLE_DEVICES. So, what TensorFlow labels as GPUs 0 and 1 should in fact be your system's GPUs 5 and 6. You can check that by monitoring GPU activity using tools such as nvidia-smi or nvtop from the command line while a TensorFlow job making use of the GPUs is running.

@nkjulia ,
Please take a look at this link which provide more information on CUDA_VISIBLE_DEVICES. Link1,Link2.Thanks!

@nkjulia ,
Please take a look at this link which provide more information on CUDA_VISIBLE_DEVICES. Link1,Link2.Thanks!

ok~ thanks

Tensorflow always labels devices starting from zero, but it does use CUDA_VISIBLE_DEVICES. So, what TensorFlow labels as GPUs 0 and 1 should in fact be your system's GPUs 5 and 6. You can check that by monitoring GPU activity using tools such as nvidia-smi or nvtop from the command line while a TensorFlow job making use of the GPUs is running.

Tensorflow always labels devices starting from zero, but it does use CUDA_VISIBLE_DEVICES. So, what TensorFlow labels as GPUs 0 and 1 should in fact be your system's GPUs 5 and 6. You can check that by monitoring GPU activity using tools such as nvidia-smi or nvtop from the command line while a TensorFlow job making use of the GPUs is running.

i checked the usage of GPUS when running a task with specified setting, no questions now, thank u.


Question - Why Testerra2 for Windows Automation

First of: Happy new year!
These are two questions in one:
1.) Can you add a question type to the issues. Or, where would you like such questions go? They are neither a bug nor a feature, sec val.
2.) in another Issues @mreiche mentioned that Testerra2 would be suitable for Windows automation:
"Its not official supported yet, but already in use in various projects requiring Windows automation. I recommend to checkout the testerra2 branch of the skeleton repo" <-- this repo
Why is Testerra2 better for Windows automation?
Thank you.
Kind regards.
Christian

The question label already exists.
The internal infrastructure in Testerra 2 is much more lighweight, faster and way cleaner according to WebDriver and WebDriverFactory interfaces to implement a strict WebDriver lifecycle controlled by WebDriverRequest to support other types of WebDrivers like WinAppDriver.

Testerra1 controls how sessions are handled globally by properties, but that doesn't fit the requirements for applications under test using WinAppDriver, because we won't close applications for reasons, after a test has finished. In Testerra 2, we can control the handling of a session per request (see here: https://github.com/telekom/testerra/blob/testerra2/core/src/main/java/eu/tsystems/mms/tic/testframework/webdrivermanager/WebDriverRequest.java)
Another aspect is, that focusing on the WebDriver interface, we were able to abstract a lot of features for UiElement in the core so the codebase of extensions is way smaller.

Testerra 1: https://github.com/telekom/testerra-appium-connector/blob/master/appium/src/main/java/eu/tsystems/mms/tic/testframework/mobile/guielement/AppiumGuiElementCoreAdapter.java
Testerra 2: https://github.com/telekom/testerra-appium-connector/blob/testerra2/appium/src/main/java/eu/tsystems/mms/tic/testframework/mobile/guielement/AppiumGuiElementCoreAdapter.java


Retrieve specific configuration object: SLIM-501

 You should sign our Contributor License Agreement in order to get your pull request merged.

All is well.

All is well.

All is well.

All is well.

All is well.

All is well.


Tracing screenshot size differs

I get issue to compute the speed index using speedline module.
The size of the screenshots into the tracing file are not all the same.
The strange thing is that the issue occurs around 66% times, running 3 times the same code, the issue occurs twice.
Steps to reproduce

Puppeteer version<EMAIL_ADDRESS>Platform / OS version:
Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux

const puppeteer = require('puppeteer');
const devices = require('puppeteer/DeviceDescriptors');
const speedline = require('speedline');

async function run() {
    const iPhone = devices['iPhone 6'];
    const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
    const filename = 'trace.json';

    const page = await browser.newPage();
    await page.emulate(iPhone);
    try {
        await page.tracing.start({path: filename, screenshots: true});
        await page.goto('https://www.amazon.fr');
        await page.tracing.stop();
        const results = await speedline(filename);
        console.log('Speed Index value:', results.speedIndex);
    } catch (e) {
        console.error(e);
    }
    browser.close();
}

run();

What is the expected result?
Image should all be 375x667 according to the DeviceDescriptors.jsfile
{
    'name': 'iPhone 6',
    'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
    'viewport': {
      'width': 375,
      'height': 667,
      'deviceScaleFactor': 2,
      'isMobile': true,
      'hasTouch': true,
      'isLandscape': false
    }
  },

What happens instead?
The two first pictures size are  376x667, triggering an exception Images have different sizes! into ImageSSIM

I ran into the same issue today. This happens also when setting the device or viewport at all.

headless: false //not happening
headless: true, 100% reproducible.

Hi,
You there be an update on this issue, am running into this often even oh headless false on docker

I reproduce the issue with "puppeteer": "^15.1.1",
Very easy to reproduce with the code provided, no every time but quite often
const puppeteer = require('puppeteer');
const speedline = require('speedline');

async function run() {
    const iPhone = puppeteer.devices['iPhone 6'];
    const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
    const filename = 'trace.json';

    const page = await browser.newPage();
    await page.emulate(iPhone);
    try {
        await page.tracing.start({path: filename, screenshots: true});
        await page.goto('https://www.amazon.fr');
        await page.tracing.stop();
        const results = await speedline(filename);
        console.log('Speed Index value:', results.speedIndex);
    } catch (e) {
        console.error(e);
    }
    browser.close();
}

run();

Trace example https://www.dropbox.com/s/g6gtavb8hauhufp/trace.1656359331733.json?dl=0

How can I help to confirm it ?

I am no longer able to reproduce.