Discovering services and the use of profiles

It would be good to add a full end to end example using a profile. I suspect in the find function the profile(s) are meant to be URL(s) – IDs of the profiles, is that correct?
What would be another way to find a service in a landscape? I see the Heroku example has a field tags but that is not defined anywhere in the docs.
The full end-to-end client example should convey the following:

How do I discovery the registry in the first place?

Given I want to find and use a UUID-generating service in my landscape by a profile (I have profile ID–URL) how do I proceed?

Given I've found a service which conforms to UUID-generating profile, how am I going to find how to actually use it – meaning how am I going to discover what endpoint of that service should I call with what parameters, and how to handle the response.

I understand, the last point is out out the DISCO scope itself but I am strongly convinced that a complete example from the client perspective is critical. We shouldn't be just saying A without B...

right -- good stuff here.

you MUST know a registry exists to start (there is no -- as yet -- registry of registries). i suspect an additional operation in the registry spec might be "list-of-registries" as a way of asking a registry if it knows of any other registries. this is a meta spec we can put off for a while, IMO.

you SHOULD be able to query a registry to find what you are looking for. this can be done a few ways. for example, i might ask the registry to list all entries that has a cretain ALPS profile URI ("give me a list of services that support http://alps.org/profiles/uuid-generator/v1"). i might ask the registry for all entries that are tagged with "#UUID", etc.

there MAY be some "handshaking" that needs to go on between the the time i FIND a service to use and when I can then use it. for example, i might need to get an usage token (think API key), i might need to agree to terms, send a shared key (like an oauth bearer token exchange), or even engage in some bidding on usasge/price (think ad networks). again, there MAY NOT be anything needed at all.

Once all handshaking is out of the way, i MAY need to make an initial request to a "start" endpoint that is in the registry entry (i am vague on this since i've not experimented enough here). that reply SHOULD look like something that is already described in the profile (ALPS or other) and that SHOULD be enough for my client to then take over.
For example, upon by BIND action, i get a response from the registry that includes an API key token and one or more URLs marked with the IDs from an ALPS profile (", , , etc.).
and, yes, a fully working example of this (at least one, SHOULD be more) is needed.

you MUST know a registry exists to start (there is no -- as yet -- registry of registries). i suspect an additional operation in the registry spec might be "list-of-registries" as a way of asking a registry if it knows of any other registries. this is a meta spec we can put off for a while, IMO.

Couldn't a registry service, just like any other service, have some profile like http://alps.org/profiles/disco-registry/v1? That way one could crawl registries easily.

I might ask the registry for all entries that are tagged with "#UUID", etc.

So what is up about the tags, there are not in the DISCO spec (and I am not yet convinced they should be). But I recognize the main challenge with DISCO is really how to declare what a registered service offers, maybe tags can help with interfacing to humans.
Which brings me to the point "DISCO is for Services, Not Machines" – is it also for humans, or is it meant purely for machines?

there MAY be some "handshaking" that needs to go on between the the time i FIND a service to use and when I can then use it. for example, i might need to get an usage token (think API key), i might need to agree to terms, send a shared key (like an oauth bearer token exchange), or even engage in some bidding on usasge/price (think ad networks). again, there MAY NOT be anything needed at all.

Ok so this is a whole big bucket to be figured out but this is still just a prequel to the challenge of how to make the endpoints from the bound service usable. Hypermedia would be, of course, a way to do it but how about, for example, mapping ALPS profiles to OAS (swagger) documents (or the other way around)?
I like the bind function example that returns the mapping from profile to hrefs...
I would like to work on those examples.

Couldn't a registry service, just like any other service, have some profile like http://alps.org/profiles/disco-registry/v1? That way one could crawl registries easily.

well labeling (e.g. emiting a profile header) and actually finding all the servers on the internet that emit that label (e.g. crawling) are wildly differnt things.
i'm open to exploring this. the ability to "find more registries" is important in the long run. but -- just like humans -- bots will need a starting point (some web address that is the equivalent of a search engine) and that why i say bots MUST have at least one known registry to start with.
or am i kinda missing the point here?

Hypermedia would be, of course, a way to do it but how about, for example, mapping ALPS profiles to OAS (swagger) documents (or the other way around)?

yes, using hypermedia is a super-simple way to make it possible for bots to "recognize" ids and names and then act on them as expected. that's the point of ALPS, BTW. to collect all the properties and action names that a bot should be ready to "see".
as for OAS, AsynAPI, GraphQL's SDL, protobuff, etc. these are all great API definition documents for a single server somewhere out there. We don't need a mapping to the definitions in the registry but we sure can have the associations. one way i considered doing this is using Kin Lane's APIs.json to hold all that stuff. IOW, a field in he DISCO spec that points to an APIs.json (one loaded by the service when it registers) and then that contains information about SLA, endpoints, doc URLs, etc.)
this is me pushing the details off on another spec/doc. again, late binding to it for now. if we find that some of these values need to e native to the DISCO spec, we can safely add them later in a backward compatible way, right?

So what is up about the tags, there are not in the DISCO spec (and I am not yet convinced they should be).

yeah - tags got added after i started to implement the first examples. i want some unstructured field that allows folks to load up strings (like the "class=" in HTML) for narrowing search. the "tags" field is left out of the spec -- that's a bug.
eventually, we may find some structured fields make sense, too (category, owner, rating, quality, etc.) but i didn't want to overspec things at the start. we'd be able to safely add those features as non-breaking changes in the future when needed.
does that help?

I would like to work on those examples.

music to my ears!

well labeling (e.g. emiting a profile header) and actually finding all the servers on the internet that emit that label (e.g. crawling) are wildly differnt things.

i'm open to exploring this. the ability to "find more registries" is important in the long run. but -- just like humans -- bots will need a starting point (some web address that is the equivalent of a search engine) and that why i say bots MUST have at least one known registry to start with.

or am i kinda missing the point here?

I think I was not clear, I understand there must be one registry service known to a client to start with. I was more thinking about other "registry services registering to registry services" creating registry meshes so to speak.
I think the only thing we really need for this at the moment is the "registry profile" and requirement that an implementation of a DISCO registry service conforms to this profile.

as for OAS, AsynAPI, GraphQL's SDL, protobuff, etc. these are all great API definition documents for a single server somewhere out there. We don't need a mapping to the definitions in the registry but we sure can have the associations. one way i considered doing this is using Kin Lane's APIs.json to hold all that stuff. IOW, a field in he DISCO spec that points to an APIs.json (one loaded by the service when it registers) and then that contains information about SLA, endpoints, doc URLs, etc.)

this is me pushing the details off on another spec/doc. again, late binding to it for now. if we find that some of these values need to e native to the DISCO spec, we can safely add them later in a backward compatible way, right?

100% agree we should not have the mapping in the registry to the API definition formats.
My point is, for non-hypermedia API machine to machine communication that does not involve humans reading any documentations (besides programing the user agent for profile) there has to be mapping from the profile to to the actual interface invocations (e.g. to HTTP requests). Now I recognize these are out of the scope of DISCO but in order to provide a meaningful end-to-end example of such a machine to machine discovery and communication we need to figure it out, maybe as part of ALPS or another project but still we should give that example...

yeah - tags got added after i started to implement the first examples. i want some unstructured field that allows folks to load up strings (like the "class=" in HTML) for narrowing search. the "tags" field is left out of the spec -- that's a bug.

OK on tags.


Upgrade build system

Clean up the build.rs files (maybe move shared functions in a common place) and add back the functionality of transporting the yml config files and the service file in the build directory.

Done... though copying the .service file in the plugin build.rs is a bit strange... but eh, works for now, the .service file might not even be a default part of the release in the future.


"lefthook run pre-push" hangs waiting for stdin when git-lfs is active

:wrench: Summary

When manually running lefthook run pre-push when git lfs is active/installed lefthook stalls until a new-line is entered.
Lefthook version

› lefthook version -f
1.7.18

Steps to reproduce

in a new git repo
$ git lfs install
Updated Git hooks.
Git LFS initialized.
$ lefthook install
$ cat <<EOF > lefthook.yml
pre-push:
  commands:
    cat-stdin:
      run: cat
      use_stdin: true
EOF
# stalls on git-lfs, until new-line
$ lefthook run pre-push

Expected results

No stall when running pre-push when git lfs is active.
Actual results

lefthook stalls until a new-line is entered before running the commands.
Possible Solution

Possibly the git-lfs pre-push hooks shouldn't be run when running manually via lefthook run pre-push?
  Run `git lfs update` to install it.
│ [git-lfs] error:  exit status 1
│ [lefthook] cmd:    [git diff --name-only HEAD @{push}]
│ [lefthook] error:  exit status 128

Hey @indrat! Thank you for submitting the PR! I will try to ignore lfs hook when pre-push is being run manually. But I believe that for consistency lefthook should behave the same way regardless of the execution environment.

subscribe


handle user denying metamask enable request, use other provider for app

https://github.com/AugurProject/augur/issues/8487
handle user denying MM enable, set useWeb3 flag to false so other provider can be used.

@Merifyio backport dev

@Mergifyio update


Merge v 0.4.0 from agateau/master

Merge from base master

Pull Request Test Coverage Report for Build 47

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

Totals

Change from base Build 46:
0.0%

Covered Lines:
379

Relevant Lines:
431

💛  - Coveralls

Pull Request Test Coverage Report for Build 47

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

Totals

Change from base Build 46:
0.0%

Covered Lines:
379

Relevant Lines:
431

💛  - Coveralls

Pull Request Test Coverage Report for Build 47

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

Totals

Change from base Build 46:
0.0%

Covered Lines:
379

Relevant Lines:
431

💛  - Coveralls


Update logback-classic to 1.2.6

Updates ch.qos.logback:logback-classic from 1.2.3 to 1.2.6.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.qos.logback", artifactId = "logback-classic" } ]

labels: library-update, semver-patch

Codecov Report

Merging #17 (0e2126b) into main (754abca) will increase coverage by 3.24%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #17      +/-   ##
==========================================
+ Coverage   92.62%   95.87%   +3.24%
==========================================
  Files           6       14       +8
  Lines         122      218      +96
==========================================
+ Hits          113      209      +96
  Misses          9        9

Impacted Files
Coverage Δ

...in/scala/es/odavi/mandyville/GameweekManager.scala
100.00% <0.00%> (ø)

.../scala/es/odavi/mandyville/PredictionManager.scala
100.00% <0.00%> (ø)

src/main/scala/es/odavi/mandyville/Model.scala
100.00% <0.00%> (ø)

...main/scala/es/odavi/mandyville/common/Config.scala
100.00% <0.00%> (ø)

...main/scala/es/odavi/mandyville/PlayerManager.scala
100.00% <0.00%> (ø)

...in/scala/es/odavi/mandyville/SimplePredictor.scala
100.00% <0.00%> (ø)

...la/es/odavi/mandyville/common/entity/Fixture.scala
100.00% <0.00%> (ø)

src/main/scala/es/odavi/mandyville/Predictor.scala
100.00% <0.00%> (ø)

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 754abca...0e2126b. Read the comment docs.


Unwanted display of data

Hi...
Thank you for this lib it is really what I was looking for... but I have a problem.
I have a large json file I want to load at server start to make that data available to all users of the app.
I added this code :
if name == "main":
with server_state_lock["gene_data"]:  # Lock the "gene_data" state for thread-safety
if "gene_data" not in server_state:
with open('./data/gene_data.json', 'r') as fp:
server_state.gene_data = json.load(fp)
main()
I then can use the data later on
data = retrieve_files(server_state.gene_data, inputs)
and the data seems to be loading... but it seem to be getting dumped into the display even though I have not added any widget to show this data
so you understand what might be causing this?


How to get the primary key id of the new inserted object?

c.Txn.Table("group_info").Save(&newGroup)
I saved a new object this way, but newGroup.Id value which the primary key is still 0 after calling.
I need the Id value of it and return it. How could I get that?

If should not be 0, but should has the real primary key.
Could you send me a sample code that could reproduce the issue?

This is the data struct define
type GroupData struct {
	Id   int64  `gorm:"column:Fid; primary_key:yes" json:"id" `
	Name string `gorm:"column:Fname" json:"name"`
}

Here I create one and save:
newGroup := GroupData{Name: "aabbaa"}
c.Txn.Table("group_info").Create(&newGroup) // OR Save(&newGroup)

This can insert a row successfully. Then, I call
RenderJson(...)

And got this:
{
    id: 0,
    name: "aabbaa"
}

Do you need other infomation? @jinzhu

Hi, @jinzhu
I found that in func (scope *Scope) SetColumn function,
after dbName := ToSnake(str) , dbName is "fid"
but scope.Fields() returns a map that the key is Fid.
so this function finally returned an error.
but i cant rename my thousands of columns from Fxxx to fxxx.
I want to modify the ToSnake func to return Fid so that can work. Is there any risk of doing this?
or I should make the map's key to lowercase which scope.Fields() returned ?

Hello @dubiao
Sorry for the problem, just pushed a commit to fix the issue.

Hi, @jinzhu.
Did you fix this issue? Because I have the same problem here.
My struct has its pk changed to 0 (int) or "\x00" (string) after calling the method Create.
In both cases I'm not using auto generation of id.

@jinzhu issue is still actual, primary key is not set on save, and no other ways to get last inserted id either

@jinzhu sorry my bad, it's working fine


Download only specific file types

Is there a way to download only specific file types?
Example use cases:

I want to download only ppt and pdf files; or
I want to download everything except mp4 files.

Nice job with this very helpful module. Thank you.

I will consider it in the next release.


UA sniff for bad MS Edge bug (required selects must change value to be valid --glimmer PR)

This is a slight change to #169 which adds a UA sniff before doing some fake value setting to avoid an Edge bug. Here's #169's PR description:

This is a hackish compensation for a bug in Edge. I don’t think it’s necessarily something you’d even want in your codebase because it’s so unsightly, but I’m submitting it to get your feedback. (Also it’s branched off v2.2.2 because I haven’t yet converted to contextual components.)

Without this, a select with the required flag is marked as invalid until you change the value. You can change the value yourself and then change it back to the default, but even that workaround fails if the select only has one value.

I don’t really feel like this is an acceptable solution, but travis-web users on Edge are unable to add cron jobs on repositories with only one branch because of it. Even on repositories with multiple branches, all three fields have to be changed before a cron can be added:

Do you have any better ideas on how to address this? I’d love to find a cleaner way!

Hey, thanks for incorporating this. I’m still shuddering at the need for it as it’s reminiscent of the browser world a decade ago, but I didn’t know what else to do!

No problem! It's something that has to exist sadly :(


asterisk: add support for open-source opus codec

Upstream Asterisk doesn't have Opus transcoding support because of Digium's concerns about liability. They do provide an additional closed-source module with some telemetry, but that is only available for Linux x86_64. There is an alternative open-source implementation at https://github.com/traud/asterisk-opus which acts as a replacement for the closed-source module.
Considering the popularity of Opus in telephony applications (mandated in WebRTC, commonly supported in phones) I also enabled it by default.
Things done
Added new default-enabled withOpus flag to Asterisk which enables use of the open-source Opus codec.

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg build asterisk asterisk-lts asterisk-stable


Rename the generated enum field

Trait:
#[async_trait::async_trait]
#[typetag::serde(tag = "type")]
pub trait DriverTrait {}

Impl:
#[derive(Default, Serialize, Deserialize, Debug, Clone)]
pub struct Websocket {
    host: String,
    port: u16,
}

#[typetag::serde(name = "websocket")]
impl DriverTrait for Websocket {}

Config:
#[derive(Default, Serialize, Deserialize)]
pub struct Config{
    pub driver: Option<Vec<Box<dyn DriverTrait>>>,
}

When I trying to write this into a toml file, the output is:
[[driver]]
type = "websocket"
host = ""
port = 0

Is there a way to make the output like this:
[driver.websocker]
host = ""
port = 0

or:
[[driver]]
[driver.websocker]
host = ""
port = 0

Hi @Ns2Kracy, sorry that no one was able to provide guidance here. If this is still an issue, you could try taking this question to any of the resources shown in https://www.rust-lang.org/community.


Document to support Cloud Shell (https://shell.azure.com)

It would be great if there was a note for how to run this from cloud shell (https://shell.azure.com).  This will help customers who are not familiar with powershell or windows on a day to day basis.  For these customers it is high friction to have them find a windows machine, and install the azure powershell sdk.
Instead have them run these commands from cloud shell (https://shell.azure.com).  Downloading the LOA.pdf is slightly tricky and we took some time to iron out the correct instructions to make it work:

run the following commands where USERNAME is the user name displayed at the prompt.  Note the explicit path /home/USERNAME/loa.pdf must be used otherwise powershell will use a \ in the filename and the file will not be written:

New-AzExpressRoutePortLOA -ExpressRoutePort $ERDirect -CustomerName TestCustomerName -Destination /home/USERNAME/loa.pdf

click the download button, and add loa.pdf to the download dialog, and click Download.

We have confirmed these instructions work through cloudshell.

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

ID: 53b762f9-8c20-3648-f229-fe9580112fa7
Version Independent ID: 2066f90a-8539-5f6d-bebb-18bbd6c81d7f
Content: Azure ExpressRoute: Configure ExpressRoute Direct
Content Source: articles/expressroute/expressroute-howto-erdirect.md
Service: expressroute
GitHub Login: @duongau
Microsoft Alias: duau

@anhowe We are checking this and we will get back to you.

@anhowe Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Hi @anhowe, I apologize this took so long for someone to respond back to you. Thank you for providing the steps, I created this PR to include how to do it using CloudShell with your instructions: https://github.com/MicrosoftDocs/azure-docs-pr/pull/194828. Please let me know if you have any further questions. Thank you. #please-close


Fix when dismissing a promiseViewController

The proper way to dismiss a the viewController is to call
dismissViewControllerAnimated:completion on
vc2present.presentingViewController
Fixes #394

Thanks again!


checkout auraed repo to fix build

Signed-off-by: Tani<EMAIL_ADDRESS>

@cla-bot check

@cla-bot check

@MalteJ unsure why its not letting my CLA go through?

@krisnova taniwha3 was not in the old Google Forms table. Therefore also not in the new database.


Change dct:identifier to sio:has value

During CDE weekly call we agreed to change dct:identifier to sio:has value

this issue has been fixed in the new model


Preparing for release 2.2.0

Coverage remained the same at 83.272% when pulling ea3951599aa5867aa0ff393341e782b9aae7111a on v2.2.0 into fc18ec35eb1cf786aa6d6cb9ae33522b947a9f30 on master.


Feature request: Add InnerException to Exceptions' structured log

Use case
Hi!
Current implementation leads to logged exceptions to loose valuable information, in particular their inner exceptions. Only Message, Source and StackTrace are being added to the final structured log.
For the following:
Logger.LogError(
    new InvalidOperationException("Parent exception message",
        new ArgumentNullException(nameof(input), "Very important inner exception message")),
    "Something went wrong and we logged an exception itself with an inner exception. This is a param {arg}",
    12345);

We will see this, with the very important inner exception being lost forever:
{
    "...",
    "timestamp": "2024-12-05T13:29:34.9150895Z",
    "level": "Error",
    "service": "DotnetAotFunction",
    "name": "DotnetAotFunction",
    "message": "Something went wrong and we logged an exception itself with an inner exception. This is a param 12345",
    "exception": {
        "type": "System.InvalidOperationException",
        "message": "parent exception message"
    }
}

Solution/User Experience
Given InnerException is itself a property of the base Exception class, adding support to also structure log it seems pretty trivial.
For the above I would expect this instead:
{
    "...",
    "timestamp": "2024-12-05T13:29:34.9150895Z",
    "level": "Error",
    "service": "DotnetAotFunction",
    "name": "DotnetAotFunctionr",
    "message": "Something went wrong and we logged an exception itself with an inner exception. This is a param 12345",
    "exception": {
        "type": "System.InvalidOperationException",
        "message": "Parent exception message",
        "inner_exception": {
            "type": "System.ArgumentNullException",
            "message": "Very important inner exception message"
        }
    }
}

Obviously the example is for a single child inner exception but, given the serialization is recursive, this would be also be working for inner exceptions within inner exceptions, until the end of the exceptions' tree branch.
Happy to contribute a PR for this, if accepted.
Thanks!
Alternative solutions
N/A
Acknowledgment

[x] This feature request meets Powertools for AWS Lambda (.NET) Tenets
[x] Should this be considered in other Powertools for AWS Lambda languages? i.e. Python, Java, and TypeScript

Hi @joaope thanks for opening the issue. You are correct that should be part of the exception. I need a couple of days to understand why is not available in the first place, hopefully is a simple addition to the logs. Will keep you posted.
Thanks again


don't run unit tests on macos-13 runner

Motivation
The tests are flaky on this runner because it is sometimes extremely slow.
Description

Test Plan

TODO

[x] Explain motivation or link existing issue(s)
[ ] Test changes and document test plan
[ ] Update documentation as needed
[ ] Update changelog as needed

bors merge

bors merge


feat(Algebra/Homology): more duality results

Given an homological complex K, we introduce duality isomorphisms like cyclesOpIso : K.op.cycles i ≅ op (K.opcycles i) and study their naturality.

Thanks for the suggestions. I have added natural iso versions.

Thanks!
maintainer merge


Problem with packages which have no default export

I have problems with importing some libraries to my typescript app. For example: import  Immutable  from "immutable"; Then I write following statements: Immutable.fromJS(...), ...
-> compiling works, but I get at runtime the following error: TypeError: Cannot read property 'fromJS' of undefined
The problem is, that typescript create the following js code: immutable_1.default.fromJS(...) But the immutable package has no default export. So this should be immutable_1.fromJS(...)
I could resolve this problem with the following import statement: import  * as Immutable  from "immutable"; But I could not use namespaces, because this make problemes with angular AOT compilation.
Is there a way to resolve this problem?
Here is my tsconfig.json
tsconfig.zip

@lexon0011 It doesn't error in the compiler because you enabled allowSyntheticDefaultImports, which tells the TypeScript compiler you're doing something yourself to map regular module.exports = to the .default imports. If you remove that flag, you'll see the compiler error. As for how you should be importing these modules without that flag, you should do either import x = require('x') or import * as x from 'x'.


What about ESP32 and ESP32S3?

In your explanation you identify ESP32SPI (Nina FW?), ESP32S2, PicoW, Wiznet.
But what about ESP32S3 and the old (newly supported again) ESP32?
Are they in the same categorie has ESP32S2?

Yes, ESP32SPI == Nina FW == Airlift
I've only posted what I've personally tested. I use ESP32-S2 predominantly since it's stable, has SSL, etc. Proving that out creates a baseline for other ESP32-variants. I don't necessarily plan to fully test the other variants... maybe the ESP32-S3 in time, when that part of the port is more stable.
There is only one socket API for the espressif port. In theory, if it works on one ESP-variant, it should work on another, and if it doesn't then an issue could be filed in the Adafruit circuitpython repo.


Filters and search update.

If we use filters or search bar, the podium should no longer be used. Pop peoples up only on the leaderboard.

done


Refactor the statistics of network in docker stats

For now docker stats will sum the rxbytes, txbytes, etc. of all
the interfaces.
It is OK for the output of CLI docker stats but not good for
the API response, especially when the container is in sereval
subnets.
It's better to leave these origianl data to user.
Signed-off-by: Hu Keping<EMAIL_ADDRESS>

For example, the output of stats after this PR will be like:
...
"network": {
"eth0": {
"rx_bytes": 5338,
"rx_dropped": 0,
"rx_errors": 0,
"rx_packets": 36,
"tx_bytes": 648,
"tx_dropped": 0,
"tx_errors": 0,
"tx_packets": 8
},
"eth5": {
"rx_bytes": 4641,
"rx_dropped": 0,
"rx_errors": 0,
"rx_packets": 26,
"tx_bytes": 690,
"tx_dropped": 0,
"tx_errors": 0,
"tx_packets": 9
}
},
...

I agree that we should change this. However, we cannot replace the json response without versioning the fields. We should keep returning the current json for request versions <= 1.21 and the new json for request versions > 1.22.

It will also need some tests and changes in the api docs :smile_cat:

Test updated.

@HuKeping looks like this needs a rebase
Also, don't forget to update the example output in the API docs and add a mention to the API change log here; https://github.com/docker/docker/blob/master/docs/reference/api/docker_remote_api.md

@calavera  rebased, please take a look if this change is OK
@thaJeztah thanks and I'll update the docs after code review

@HuKeping would you mind rebasing again?  thanks!

rebased @ehazlett

Thanks @HuKeping. LGTM

this will need docs updates right

Yup, it does; https://github.com/docker/docker/pull/15786#issuecomment-136190238

Docs added @thaJeztah  @jfrazelle , PTAL

Thanks, @HuKeping. Docs changes LGTM (but we're not in docs-review yet).
Question; this is only affects the API; the output of docker stats on the CLI is still the same, correct?

Question; this is only affects the API; the output of docker stats on the CLI is still the same, correct?
Yes.

rebased for conflict

needs rebase sorry

rebased @jfrazelle

ping...

LGTM, moving to docs review.

docs re-LGTM
ping @SvenDowideit @moxiegirl

@HuKeping thank you! LGTM

All green, merging \o/

@HuKeping the API docs example shows a network JSON entry, it should be networks now right?
https://github.com/docker/docker/blob/master/docs/reference/api/docker_remote_api_v1.21.md
{
     "read" : "2015-01-08T22:57:31.547920715Z",
     "network": {      <- should be "networks"
             "eth0": {
                 "rx_bytes": 5338,
                 "rx_dropped": 0,
                 ...

Yes it is @twhiteman , sorry for that I'll fix it.


[NFC NameLookup ASTScope] Fixes for large app, eager primary tree creation, memberCount fix.

Latest ASTScope lookup code, disabled-by-default. Includes fixes for bugs exposed when compiling a large app, and also fixes for other changes made to the source base.

@swift-ci please smoke test

@slavapestov I have split up the commits, as you suggested (offline). I'll think about tests, but may not come up with any. For this PR, with ASTScopes disabled, the bugs are moot. The memberCount bug will be tested by the existing tests as soon as ASTScopes are turned on.

@swift-ci please smoke test

@swift-ci please smoke test OS X platform

@swift-ci please smoke test linux platform

@swift-ci please smoke test linux platform


Docker Pull Failed

Attempting to pull the image
jamiesage123/idrac_ipmi_fan_controller:latest
Fails due to being restricted or image not present.
Error returned is   "Error response from daemon: pull access denied for jamiesage123/idrac_ipmi_fan_controller, repository does not exist or may require 'docker login': denied: requested access to the resource is denied"

Hey
Looks like I put the wrong docker image repo in the read me, it should be  jamiesage123/idrac-ipmi-fan-controller (dashes instead of underscores); this has been corrected
This is the docker command using the correct image:
docker run -d \
  --name iDRAC_IPMI_fan_controller \
  --restart=unless-stopped \
  -e IDRAC_HOST=<iDRAC host> \
  -e IDRAC_USERNAME=<iDRAC username> \
  -e IDRAC_PASSWORD=<iDRAC password> \
  -e TEMP_RANGES=<pipe seperated list of temp ranges> \
  jamiesage123/idrac-ipmi-fan-controller:latest

Thank you for brining this to my attention

Ah ha,  Thanks a ton!
Regards,
Jeff Arms
On Sat, Jul 16, 2022 at 12:12 PM Jamie Sage @.***>
wrote:

Hey
Looks like I put the wrong docker image repo in the read me, it should be
jamiesage123/idrac-ipmi-fan-controller (dashes instead of underscores);
this has been corrected
This is the docker command using the correct image:
docker run -d
--name iDRAC_IPMI_fan_controller
--restart=unless-stopped
-e IDRAC_HOST=
-e IDRAC_USERNAME=
-e IDRAC_PASSWORD=
-e TEMP_RANGES=
jamiesage123/idrac-ipmi-fan-controller:latest
Thank you for brining this to my attention
—
Reply to this email directly, view it on GitHub
https://github.com/jamiesage123/idrac-ipmi-fan-controller/issues/2#issuecomment-1186228790,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AT2WOJ6WMSTCHDNRAYKDIZLVULNNFANCNFSM53YHHJAA
.
You are receiving this because you authored the thread.Message ID:
@.***>


phoneNumber isn't recognised exception - How to catch and pass country's code

Hi!
In the Readme, it is written that "could throw an Exception if the phoneNumber isn't recognised its a good pattern to pass the country's isoCode or have '+' at the beginning of the string. isoCode could be null if PhoneNumber is not recognised"
How to catch and pass the country's isoCode to avoid this Exception?

Solved.


[BUG] Azure PowerShell + Compute Images

This came from an Azure Market Place image : WindowsServer.2016-Datacenter.2016.127.20180613

Here are the results from my LAB TEST of the ISSUE:

@AlexGhiondea:  Would you please review the tagging and help route if necessary?

Is there any update concerning this issue?

Is there any update concerning this issue?


Not authenticated on nodes

I'm on a manager node and I successfully logged in (docker login). I run docker deploy --compose-file docker-compose.yml myapp which contains a docker image from a private repo (Docker Hub). Then I do docker stack ps myapp. I get no such image for all nodes except the manager node I am currently logged in.
Output of docker version:
Client:
 Version:      1.13.0-rc6
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   2f2d055
 Built:        Wed Jan 11 18:17:53 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.0-rc6
 API version:  1.25 (minimum version 1.12)
 Go version:   go1.7.3
 Git commit:   2f2d055
 Built:        Wed Jan 11 18:17:53 2017
 OS/Arch:      linux/amd64
 Experimental: true

Output of docker info:
Containers: 10
 Running: 10
 Paused: 0
 Stopped: 0
Images: 6
Server Version: 1.13.0-rc6
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 70
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
Swarm: active
 NodeID: et9swhzrnf75bo7sa4rht94p1
 Is Manager: true
 ClusterID: 2haye8u7irll56bpl1skp8xir
 Managers: 3
 Nodes: 5
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc version: 2f7393a47307a16f8cee44a37b262e8b81021e3e
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-21-generic
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.882 GiB
Name: docker-swarm-master-01-master
ID: FJEZ:PTLX:FDQ5:2WN2:GTNX:GHON:RPKR:SZUA:N2D5:UCK7:LRGZ:LWZ2
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: ******
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):
Azure Ubuntu VMs

ping @vdemeester @dnephin
What's the correct way to pass auth credentials with deploy?

docker stack deploy --with-registry-auth, same as with service create

Wow... just wow... I even did 'docker stack deploy --help' and somehow completely glazed over the option I figured must be there.
@mrmunch as @dnephin mentions, you must use --with-registry-auth. The reason for this is worker nodes may be untrusted, but each node must have the credentials to be able to pull the image. So the extra flag makes sure the user really wanted to pass credentials to a potentially untrusted worker node.


Unknown provider: ui.sortableProvider <- ui.sortable

Hi there,
maybe it is my fault.
I setup a VS project and icluded by NuGet jQuery and jQuery.UI (both 1.10).
Then added angular-ui sortable.
Here is my bootstrap code (typescript):
this.mAngularApp = angular.module(this.moduleName, "ui.sortable");
How may I fix this bootstrap error?
Unknown provider: ui.sortableProvider <- ui.sortable
Thank you,
Andi

It seems that the ui-sortable js file is not (properly) included to the web page.

Did you solve it? I met the same problem

Hi @seusofthd, since I never got further feedback, how are you including angularjs & ui-sortable?
That specific error message appears when a module is requested and is not part of the available/known modules. (That applies both in plain JS and TypeScript as well.)

I just followed the examples without changing anything

Unfortunately, I can't really help if nobody shares any code.

Any feedback on this?

--
Thodoris Greasidis

Closing this for now, feel free to re-open if necessary.


As an agency partner, I want to download a list of communities with their associated Cumulative Index

Closing bc this is redundant with https://app.zenhub.com/workspaces/justice40-60993f6e05473d0010ec44e3/issues/usds/justice40-tool/111 though I'd like to update the title of that one - the main user of the community list is expected to be agency partners


standard_init_linux.go:207: exec user process caused "no such file or directory"

I got this message:
21.09.20 15:44:38 (-0400)  wpe  standard_init_linux.go:207: exec user process caused "no such file or directory"
Everything worked last week...

It's seem to work now after a git clone and balena push


[client] Make Realm Castles on world map reflect their Realm

Make the world map castles represent what level the Realm actually is on.

are you tackling this next @r0man1337  ?

Fixed in #1964


Use logging module instead of print statements

Logging module
Basic re-write of codebase replacing print statements with logging functionality, which provides  several benefits .

I need a little more context here.

Where are these logged to? I see less in my terminal, but where am I seeing more?
You've missed other print statements in transcriber.py

Right now, the logger just outputs to the stdout and stderr. I will set the logger configuration to INFO level, which will output everything as before.
The main benefit now is that simply changing configuration, we can specify which level of outputs are required to be shown and saving the logs in some file.

@adamjonas I've made the changes as pointed out.


Allow or Disallow Tile Size Hyperparameter in 3DUNet

From Alex in https://github.com/mlcommons/inference_policies/issues/213:
We believe that steps 1-5 should not count against benchmark time and steps 6-8 could be left to the submitters to optimize (i.e. change the tile size) as long as they meet the expected accuracy or above. Indeed step 8 can probably take place on an accelerator. However it is to my understanding that the Inference closed division doesn't allow hyperparameter change. So submitters have to go with 128x128x128. Is this true?
My reading of the model equivalence rules
All implementations are allowed as long as the latency and accuracy bounds are met and the reference weights are used.
is that they do allow for hyperparameters. Given that the network is fully convolutional and the pre- and post-processing can be adjusted for tile size, we would need to specifically prohibit variation in tile size in the model equivalence rules. There is precedent for this: we outlawed changing the beam width in GNMT in 0.5.

Would you be willing to consider using a cubic tile size and then batching tiles for optimal sizing?

@DilipSequeira  The batching option you suggested is same as the original proposal. Per my understanding, batching option requires cubic tiles to have overlap and requires 3x of 128x128x128 to cover area of 256x128x128. The compute will be 1.5x of the required as you need cubic tiles with a stride of 64. We should let the slice to be dynamic as long as the inference meets the desired accuracy target. Intel team contacted folks at a medical imaging company to find their practice, and they apparently don't go with fixed slice size and decide the slice size as long as it meets the  accuracy target.

@rnaidu02 the original proposal allows no variation in tile size. So what I'm asking is not the same.
We share an understanding that allowing variation in tile size will allow submitters to produce more efficient implementations, and also that it would be reasonable thing to do in production.
The tradeoff is the additional complexity for MLPerf - e.g. if every submitter chooses a different tile size, and then submits a quantized model based on that tile size, the benchmark can become unmanageable. That's why MLPerf would prefer not to have hyperparameters at all, or if that's not possible, to minimize the size of the hyperparameter space. So the question is: what is the smallest hyperparameter space that Intel believes is reasonable?

@DilipSequeira May be I misunderstood your proposal. As an alternative to a tile size of 256x128x128 your proposal allow 3 overlapping tiles of 128x128x128 with a stride of 64 right?
We looked at the sizes of image scans from Kits19 and found that the image sizes are of Nx512x512 where N varies from 34 to 683 from a small sample of images from the data set. Based on this observation, our proposal  to have N as 128 and the 2nd and 3rd dimension to have starting value of 128 and increment by 128 and 256 - that results in tile size combinations of 128x128x128, 128x128x256,128x256x256,128x256x512,128x512x512.

As an alternative to a tile size of 256x128x128 your proposal allow 3 overlapping tiles of 128x128x128 with a stride of 64 right?

Correct.
It's not obvious to me why 128x128x512 isn't valid tile size in your proposal - can you elaborate on that?
Thanks for defining a smaller set; I'm not sure how to evaluate the tradeoff between this smaller one and the earlier one (128 x powers of 2 on all axes) which seems to me more natural.
In any case, if we're going to have tile hyperparameters, I suggest we also allow untiled.

This is kind of pedantic, but I don't think "tile size" is a hyperparameter per se. A hyperparameter is a parameter whose value is used to control the learning process. Tile size doesn't control the learning process.

Pablo did some experiments on accuracy vs tile size.

Thanks for the results! Can you give more details about how these experiments were run? Is this the result of retraining the model for each tile size or reusing the weights from 128^3? What sort of numerics were used?

How does accuracy at 128^3 at FP32 compare with FP16?

It's a different dataset, so the accuracies aren't comparable.

@tjablin The model is trained by using sub-volumes of 128^3 dimensions, as this is the way it was prescribed in the original paper and that we follow in the MLPerf Training benchmark. Since the model is fully convolutional, once it's trained it can be applied seamlessly to infer over volumes of different dimensions. For reference, in the previous edition we were also training using 128^3 cubes, but we were abe to achieve SOTA accuracy by inferring over the full volume. The reason why this is hard to do using KITS19 is because of class imbalance (i.e., lots of background, smaller lesions).
As Dilip said, the results are obtained using FP16 precision. To the best of our knowledge, there is no accuracy loss compared to using FP32. As for the difference between targets (0.85300 DICE vs ~0.91 DICE), the reason for it is that we are moving from the BRATS19 dataset to the KITS19 dataset, so tasks are different and thus, final accuracy is also different. The most important thing to keep in mind is that our model is able to reproduce the SOTA accuracy on KITS19 achieved by 3D-UNet on this dataset (0.91ish DICE ) as it did for BRATS19 (0.853 DICE).
We collected these experiments by adding small tweaks to the training reference implementation. We are happy to share a diff in case you want to review the changes or run it on your local setup.

Thank you Pablo and Dilip for your explanation and the effort to run inference under different tile sizes to measure the accuracy. @pribalta I have few questions. When you run inference using 160^3 tile size, did you use a stride of 80 pixels (half the size of tile size)? With the existing code can you run inference on whole image of 192x384x384 instead of using cubic tiles - in this case do you expect to have accuracy lower than the SOTA accuracy of 0.91 DICE score?

On 6/8/2021, WG agreed to have tile size of 128x128x128 with a stride of 64 for 3D-UNet inference with KITS19 dataset.


[QUERY] Is it expected that WithCredential work when calling AddEventHubProducerClient?

Library name and version
Azure.Messaging.EventHubs 5.9.2
Query/Question
I'm attempting to use Azure Event Hubs like so:
    builder.Services.AddAzureClients(
        b =>
        {
            b.AddEventHubProducerClient(builder.Configuration.GetConnectionString("EventHub"))
                .WithCredential(new DefaultAzureCredential());
        }
    );

However, I'm getting an exception thrown from EventHubsConnectionStringProperties.Parse which is called from the EventHubProducerClient constructor that doesn't get a credential. It seems that the EventHubsConnectionStringProperties.Parse method isn't called if a credential is passed to the EventHubProducerClient constructor, though, but I'm not finding another way to specify a credential when using the AddEventHubProducerClient method. I just want to verify that I'm using it as expected. It seems that I'll have to register the EventHubProducerClient manually if I want to use identity instead of a shared access key or signature.
Environment
 Version:   7.0.302
 Commit:    990cf98a27

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  13.5
 OS Platform: Darwin
 RID:         osx.13-x64
 Base Path:   /usr/local/share/dotnet/sdk/7.0.302/

Host:
  Version:      7.0.5
  Architecture: x64
  Commit:       8042d61b17

.NET SDKs installed:
  5.0.408 [/usr/local/share/dotnet/sdk]
  6.0.408 [/usr/local/share/dotnet/sdk]
  7.0.302 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.17 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.16 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 5.0.17 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.16 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Hi @drmohundro.  Thanks for reaching out and we regret that you're experiencing difficulties.  To register a producer using a credential, you'd want to call the AddEventHubProducerClientWithNamespace method.   This would look something like:
var fullyQualifiedNamespace = "<< FULLY-QUALIFIED EVENT HUBS NAMESPACE (like something.servicebus.windows.net) >>";

public void ConfigureServices(IServiceCollection services)
{
    services.AddAzureClients(builder =>
    {
        // This will register the EventHubProducerClient using the default credential.
        builder.AddEventHubProducerClientWithNamespace(fullyQualifiedNamespace);

        // By default, DefaultAzureCredential is used, which is likely desired for most
        // scenarios. If you need to restrict to a specific credential instance, you could
        // register that instance as the default credential instead.
        builder.UseCredential(new ManagedIdentityCredential());
    });

    services.AddControllers();
}

Some discussion and examples for registering the Event Hubs clients can be found on its Overview page.  More in-depth discussion and examples can be found in Dependency injection with the Azure SDK for .NET.

Thanks @jsquire - I should have kept digging. I must have had tunnel vision, though, because I had even been on that page. Appreciate it!


Responsive Navbar And Footer.

thanks, bro for contributing i will merge ur PR but  pls star this repo and follow me


Unable to pass array as objects field to serial

Code
await deep.serial({
  operations: [
    ({
      table: 'links',
      type: 'insert',
      objects: [{
        type_id: await deep.id(deep.linkId, "MyType"),
        in: {
          data: {
            type_id: containTypeLinkId,
            from_id: deep.linkId,
          }
        }
      }
    }]),
  ]
})

Fixed


[InAppMessaging] Banner message display overlaps status bar on iPad Pro 11"

[READ] Step 1: Are you in the right place?
According to @christibbs yup
[REQUIRED] Step 2: Describe your environment

Xcode version: 11.3.1
Firebase SDK version: 6.15.0
Firebase Component: InAppMessaging
Component version: 0.16.0, InAppMessagingDisplay is 0.15.5

[REQUIRED] Step 3: Describe the problem
Banner message overlaps with status bar text, looks awful. See photo:

Steps to reproduce:
Display a banner style message on iPad Pro 11" (2018 model, the only one I think), running iOS 13.3

Sorry for the delay, this will be fixed in an upcoming release. Will close when code is complete.


Hello, I'd like to know if there are any papers published on this work

Hello, I'd like to know if there are any papers published on this work

Thanks for your interest. Unfortunately, no. We aren't currently working on these ideas at the moment.


Update azure cli to 2.51.0.

This is to ensure compatibility with python 3.11

I'm going to merge this in as the old version doesn't work with AKS.


d!isitup

Usage: d!isitup [website url]
& that's it

man wtf
not this

(just check the 2e7a564 commit)

& i used isomorphic-fetch because request doesn't have a native promise base.


Bad permission on payload_service.sh

Block service start with permission denied error
Resolution : chmod +x Payload_Type/pickle_wrapper/mythic/payload_service.sh

I don't think anybody has updated this for Mythic 3.0, which is why you're seeing that error


TagHelperOutputExtensions.RemoveRange() does not handle its attributes parameter safely

the following code:
var attributes = tagHelperOutput.Attributes
    .Where(item => item.Name.StartsWith("route-", StringComparison.OrdinalIgnoreCase));
tagHelperOutput.RemoveRange(attributes);

throws an InvalidOperationException with Message == "Collection was modified; enumeration operation may not execute."
RemoveRange() should use ToArray() or ToList() to avoid such issues in its for loop.

@ajaybhargavb please write a failing unit test first, TDD style. Then fix.

Need to mark as "Done"?


typo fix

Proposed changes:

fix a typo in the URL that is given when an end-to-end-test file has an error

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

Thanks for submitting a pull request 🚀 @chkoss will take a look at it as soon as possible ✨


Added caveat and retina display patch dwarf-fortress

Out of the box, after a brew install, you have to do some things to make dwarf fortress work. For new users, it should be easier now.

Merged alternate caveats, thanks!


Goerli Testnet Version

Deploy interface also on Goerli Testnet.

Contracts are already deployed: https://github.com/gnosis/safe-contracts/blob/v1.1.1/.openzeppelin/goerli.json
Services also run on Goerli.

So only the interface has to be adapted to Goerli and be deployed at goerli.gnosis-safe.io

I'm not sure about what needs to be done in this issue to properly estimate.
I'm guessing that we need to update/create .travis.yml, and bash script files.

and also deploy the contracts

so there may be some work directly on contracts repo https://github.com/gnosis/safe-contracts

Closing this since we our testnet is Rinkeby and we currently don't plan to support Görli. Can be reopened in case there's demand.

I'd recommend multiple deploys to eth-style testnets, due to people running scripting in the different environs.
https://ethereum.stackexchange.com/questions/69592/what-is-the-purpose-of-görli-testnet has a few good justifications, but on a personal level;
massive project deploy in multiple parts, some depend on community resources (testing on uniswap amms etc.) and so sometimes require earlier deploys.
so in the middle of a pre-audit testing scenario, I needed to get the team to beta-test across a network that had compatible community tools.
after the audit, we needed to redeploy the contract due to breaking changes, and so the address (and all requisite control-flow logic that dealt with the upgrade manager) changes.
I redeployed to Goerli for the final tests.
Afterwards, I found great use for Gnosis tooling, but now I can't do a 100% replication.
I love being able to do 100% replications.

I'm trying to test the Gnosis Safe with an eth2 staking provider service and to do that I need it on Goerli... any chance this can be reopened? @tschubotz

+1 on ETH2 and Gnosis Safe. I think it's time to reconsider Goerli support :)

Closing this since we our testnet is Rinkeby and we currently don't plan to support Görli. Can be reopened in case there's demand.

This is worth reconsidering imo. Görli testnet is a huge improvement over Rinkeby (or Kovan!) and a lot of engineering teams are currently using it to test their dapps. Right now they are unable to test out complex transactions on their dapp through Safe, so it really is a blocker in that sense.

Support has been added


Fix guessing warnings when there are no rows #3024

@Kartones CR please

Frontend tests were OK :+1: (details)

:+1:


chore: remove unused view edits

remove unused edit functions.
this is a long overdue cleanup :)

Nice!


Implementation of RBAC for KeyValuePair

Implemented RBAC functionality and unit tests for key-value pairs for existing and new permission types. Previously, RBAC feature for key value pairs are not yet implemented.

Existing permission types - KEY_VALUE_VIEW, KEY_VALUE_SET, KEY_VALUE_DELETE
New permission types - KEY_VALUE_LIST, KEY_VALUE_ALL

RBAC is enabled in the st2.conf file. Access to a key value pair is checked in the KeyValuePair API controller.

SET and DELETE permissions will automatically grant LIST and VIEW permissions.
By default, user has access to his/her own user scoped KVPs without requiring specific permission grant.
A non-admin user can be explicitly granted permission to one or more system scoped KVPs.
A non-admin user cannot access another user's KVPs.
By default, admin and system_admin has ALL access to system scoped KVPs.
Admin has full access to another user's KVPs (behavior in current version).

This change requires RBAC backend support @ PR https://github.com/StackStorm/st2-rbac-backend/pull/55.

Moving this feature to v3.7.0 to give more time for folks to soak this in.

@ashwini-orchestral The PR needs a Changelog. Please add one.
@m4dcoder Additionally, do we need documentation changes for this new feature as well?

@armab Corresponding PR for docs at https://github.com/StackStorm/st2docs/pull/1092


Restructure test UI pages for NavigationView

Description

Moved the NavigationView test ui pages into folders to make the structure easier to understand.
Also removed a redundant button on the case bundle page.
Motivation and Context

Closes #2805
How Has This Been Tested?

Ran some tests
Screenshots (if appropriate):

/azp run


Add support for 32bit arm (armv6hf/armv7l)

Hi, I needed this for my 32bit Raspi.

Let's merge this for now. If it breaks then we'll revert it.

@blackliner can you squash everything into a single commit?

sorry, didn't mean to close this. working on it.

I accidentally pushed my own master branch instead of the branch of your PR when I was pushing to your fork. I guess this made your PR close since it became the same revision as the branch it was a PR against.
I can't push to your fork anymore because the PR got closed which means I no longer have write access.
can you open another PR? i have your changes in this branch.

I accidentally pushed my own master branch instead of the branch of your PR when I was pushing to your fork. I guess this made your PR close since it became the same revision as the branch it was a PR against. I can't push to your fork anymore because the PR got closed which means I no longer have write access.
can you open another PR? i have your changes in this branch.

no worries --> #49


add screenshots to readme

website mockup
doc mockup
updated cheatsheet with logo

I'll leave the doc mockup out until we finalize it


Make scroll up absolute

Issue #: https://github.com/bcgov/met-public/issues/
Description of changes:

Scroll up to absolute location

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #2313 (3ffe7f8) into main (5f482b5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2313   +/-   ##
=======================================
  Coverage   68.55%   68.55%
=======================================
  Files         472      472
  Lines       15590    15590
  Branches     1193     1193
=======================================
  Hits        10688    10688
  Misses       4693     4693
  Partials      209      209

Flag
Coverage Δ

metweb
61.48% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Add ampere-hours to misc module

Adds ampere-hours which is a widely used unit for batteries.

Thank you!


Deploy angular 8 with visual studio code

Repro steps:

Action: appService.Deploy
Error type: Error
Error Message: Deployment to "GameOfDronesDag" failed. See output channel for more details.
Version: 0.15.0
OS: win32
Product: Visual Studio Code
Product Version: 1.36.1
Language: en

Call Stack
Object.<anonymous> extension.bundle.js:1:477530
o extension.bundle.js:1:475521
process._tickCallback next_tick.js:68:7

Hi @microsoft/flumapmodel
Could you provide repro steps please?


Null aware access operators don't support maps.

If I try to access a map value of a possibly null class, it will blow up.
Sample code:
void main() {
  // "if null" operator
  print(null ?? 'New in Dart 1.12');

  // null-aware method invocation
  var isNull = null;
  print(isNull?.foo()); // Works
  print(isNull?.foo['test']); // Blows up
}

Dartpad:
https://dartpad.dartlang.org/0593a864be7d75cd2da1
Dart2JS produces this obscure error:
Uncaught TypeError: C.JSNull_methods.$index is not a function
In the VM it's much more clear what is happening:
The null object does not have a method '[]'
This occurs with Dart 1.12.2 and bleeding_edge

What happens on the VM?

The null object does not have a method '[]'

ah, thanks!

I don't see the bug.
Looking at your statement, isNull?.foo['test'] first evaluates isNull?.foo (null-aware access), which evaluates to null. Then it evaluates null['test'], but The null object does not have a method '[]'.
I think maybe you are expecting null-aware map lookup?, like isNull?.foo?['test'], which is not a thing.

I suppose I am expecting the null-aware map lookup, but without the extra null check. I guess that comes down to not anticipating [] as an operator.
Thanks for the reference to that discussion, I hadn't noticed it previously.

Null aware map lookup would be a great feature to have built in, e.g. when destructuring json into objects.
The linked thread mentions adding get and add methods to map, since null aware access exists, allowing name = json.get('attributes')?.get('name').
I plan to work around by adding get and add on Map via extension method.

Just FYI, the following program works fine when the not yet released non-null-by-default feature (aka NNBD) is turned on:
main() {
  Map? map = null;
  map?.[3] = "Unused";
  print(map?.[3]);
}

So 'closed-as-intended' was true in 2015, but things have been moving since then and the null-aware index operators will be available along with NNBD.

It seems the syntax for the null aware map accessor landed on
void main() {
  Map? map = null;
  map?[3] = "Unused";
  print(map?[3]);
}

(i.e. no . after the ?)  Just noting cause I found the above example when searching for the syntax.


How can get data quality report with single dataset?

Hi,
I have been trying to generate the data quality report by using evidently using single dataset. I have been passing my single dataset in "current_data" argument while preparing the report and it was throwing error that "referenece_data" is not passed. Can you please help me how i can generate all the data quality reports using my single dataset?
If you can also refer  me to some examples notebook it would be great.
Also, I want to add few more additional checks into the report apart from default checks how i can do that?

Hi @karndeepsingh, re the single dataset error: could you share the Evidently version you are using?
If you want to create a custom Report to add additional checks, you can simply list the metrics you want to include in your report. You can combine presets and metrics in a single list:
dataset_report = Report(metrics=[
    DataQualityPreset(),
    DatasetDriftMetric(),
    DatasetMissingValuesMetric()
])

You can use the example notebook with All Metrics to see what's there:
https://github.com/evidentlyai/evidently/tree/main/examples/sample_notebooks
Or use a reference table: https://docs.evidentlyai.com/reference/all-metrics
(It works the same way for Tests - this could be a more convenient option compared to Reports if you want to run checks in an automated fashion and only react when some tests fail. )

@karndeepsingh To generate the report for a single dataset, specify the reference data as None:
data_quality_report = Report(metrics=[
    DataQualityPreset()
])

data_quality_report.run(current_data=adult_cur, reference_data = None, column_mapping=None)
data_quality_report

@karndeepsingh To generate the report for a single dataset, specify the reference data as None:
data_quality_report = Report(metrics=[
    DataQualityPreset()
])

data_quality_report.run(current_data=adult_cur, reference_data = None, column_mapping=None)
data_quality_report

Thankyou so much @elenasamuylova
How Can I put DataQualityPreset() And DataQualityTestPreset() into a single dashboard and deploy this dashboard through an public API?

Also, I would like to add new metrics to the dashboard and present it as visualization, How can I do that? Please help me.
Thanks

How regularly would you want to update the dashboard @karndeepsingh
Right now, I have been looking for Monthly updates. May be later I can do it on daily basis.


refactor: align folders and theme file names to new convention

:tada: This PR is included in version 0.10.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Build apps/progs.h dynamically

Because apps/progs.h isn't configuration agnostic, it's not at all
suited for 'make update' or being versioned, so change it to be
dynamically generated.

Note that the Travis builds are currently breaking, precisely because progs.h is changed by make update when the configuration says no-stdio (or no-autoalginit, we just don't have a CI build for that configuration)

Merged.
master: 6a74806ed741db24df3a7155e4bc11fb4ba9bc2a
1.1.0: 2ac7754a72b0488241463dbff1bd75b82081417a


Support tests written on interpreted languages

In a most C/C++ projects only small part of tests written on C/C++. Other parts are implemented on Interpreted languages like Python, Perl etc, because they are cheaper in implementation and maintenance. As far as I understand Mull supports only tests written on C/C++. It means that it cannot kill all produced mutants even there are exists tests that can do it, because Mull don't run them.
It would be good to add ability to execute all possible tests exist in a project. Otherwise mutation testing using Mull is imperfect.

I think this is a good suggestion. To implement this I assume that we would have to be able to create a mutated standalone binary that can be run in the same way as the original binary. Not sure how to take this from the current binary in memory, but one potential solution would involve calling a normal linker to be able to create a freestanding executable. Given the wide range of build systems and how they are invoked I think the easiest way might even be to provide hooks where Mull calls an external script/program for linking and another external program for executing the tests. That would allow for full flexibility regarding how test binaries should be built and how they are invoked.
Some open questions that I see around this approach:

Does it make sense to implement something like this in mull-cxx, or is this out of scope for this tool?
Are there any other mutation testing products (for C++ code) which already have this feature?
Running multiple mutations in parallel may pose an obstacle when built this way. Who should be responsible to ensure that each parallel run has its own working area, Mull or the external scripts?
Should each mutation have its own directory, or is it sufficient to have separate working directories per worker thread so that parallel runs are not stepping on each others' files?
Who cleans up object files and other temporaries after a mutation run?

I'd love to see Mull supporting this use case. There are, however, obstacles.
Here are some technical details.

As @gebart mentioned, this approach requires Mull to generate a standalone executable. We can get all the objects files from a program by compiling embedded bitcode to machine code (pretty much the same way we do now with the JIT engine). However, we'd also need to get linker flags from a user so that we can emit correctly linked executable. An alternative approach - store all the object files in some folder and ask a user to link them manually (e.g. clang *.o -o the-tests).

Mull relies on the code coverage info to generate fewer mutations. Currently, Mull gathers coverage by running tests before generating any mutants. In the case of a standalone executable, we can no longer run the tests via JIT so we have to add support for external coverage information (e.g., gcov, lcov, etc.). In this case, we will also lose the call-tree feature which is useful when combined with a specific test framework.

Currently, Mull uses indirect stubs + function pointers to control which mutants to turned on/off. For a standalone executable, we'd need another approach. The one that comes to my mind is to generate all the mutants and hide them behind a conditional, e.g.

if(env("specific-mutant-id")) {
  // mutated code
} else {
  // original behavior
}

This approach actually has some benefits (e.g. mutant generation will be a bit faster and the size of the program will be smaller). But it also has at least one drawback - if a hot path in the program contains many mutations, then we may lose many CPU cycles with all these if(env(....)) checks. I don't know how bad this drawback is, but this is certainly something to be aware of.

Inter-process communication. Currently, Mull's driver is a single program that does all the bookkeeping in one address space. In the case of a standalone executable, we'd need to find a way to collect all the information in one place to generate reports and whatnot. While this is not a blocker and not the hardest problem, it still adds certain complexity and overhead on top of everything else.

General performance implications: running mutation testing against integration tests (as opposed to unit tests) may appear impractical and useless.

Some comments on @gebart's questions

Does it make sense to implement something like this in mull-cxx, or is this out of scope for this tool?

It is possible to implement as part of mull-cxx, but it is probably out of scope because of the reasons mentioned above.

Are there any other mutation testing products (for C++ code) which already have this feature?

There is at least mutate_cpp that can be used to achieve this goal.

Running multiple mutations in parallel may pose an obstacle when built this way. Who should be responsible to ensure that each parallel run has its own working area, Mull or the external scripts?
Should each mutation have its own directory, or is it sufficient to have separate working directories per worker thread so that parallel runs are not stepping on each others' files?

IMO, these two share the same issue: there might be shared resources that prevent parallelization.

Who cleans up object files and other temporaries after a mutation run?

This is an easy decision, IMO. We can just store the temporaries in a temporary folder and then either let OS take care of them, or ask users to do it.

I feel your pain with support tests written on interpreted languages!
But let's take a look at this from user point of view. Imagine you have a C/C++ project where someone wants to use mutation testing. In most projects unit tests covers a small part of a project, much more smaller, than "big" tests like integration/system tests and these tests often written on interpreted languages (like Python). So Mull have limited applicability in a real projects. It produces results that are not representative. Support of a single type of tests severely restricts use of Mull on practice.
I see several ways for those who like me wants to integrate Mull to a real projects:

use Mull for unit tests (because it is convenient, documented, fast and supported tool) and make 'self-made' tool for other types of tests. It is possible and I already did it in another project (some Python code, tool like Frama-C-Mutation that generate mutations in C/C++ source code).
switch to other tool that supports integration tests (like mutate_cpp). But I personally don't like that tool.

Can you implement limited support for integration tests?
Support may look like this:

dumb mutator that produce mutants for a whole project or for files in a specified path one by one
run project test-suite using specified command line for each mutant and save exit code for each run
produce report

Just to clarify a bit: I'd be happy to see this feature. My point was that it is not a trivial task and would require some fundamental changes in how Mull works.
First of all, we'd need to get rid of JIT which is certainly a good idea since it causes lots of troubles and adds a lot of limits.
It's worth mentioning that removing JIT will also lead to performance degradation. In this PR https://github.com/mull-project/mull/pull/793, I dropped part of JIT for controlling mutations and the test run against OpenSSL is now 6 times slower, ~100s vs ~600s.
I'd need to find a way to speed it up a bit.

Personally I don't care about performance (total execution time) of mutation testing at all. For me it's ok to run Mull for a night or a couple of days and then analyze results. Mutation testing is not a usual testing like e2e, unit tests or even performance tests. I'm not sure it is worth to add MT as a pre-commit check and so it is not huge difference 100s or 600s. For those who want to integrate MT to continuous integrate much more important ticket with mutation testing only for changed source code (see #790).
With fixed #790 integration of MT to a development process would look like this:

Run Mull on a whole source code base or only on a critical parts of project.
Analyze results.
Fix tests that missed mutants and suppress non-interesting mutants.
Run Mull for a changes in source code only, it doesn't matter manually or as a CI job on pre-commit or every push.

Just a follow-up: with the recent changes in place (#798) Mull can handle tests written in interpreted languages.
However, there is no timeline yet on when Mull will be able to handle such a use case out of the box.
Please, stay tuned and let me know if you need it badly.

Done via https://github.com/mull-project/mull/pull/854 https://github.com/mull-project/mull/pull/855
The tutorial is coming up soon as well.

The tutorial is here: https://github.com/mull-project/mull/pull/882


issue-179 - curator does not configure crontab logger correctly

Get the root logger by calling logging.getLogger() with no arguments.
The root logger config setting is inherited by all other loggers.
@sosiouxme @ewolinetz PTAL

LGTM

[merge]


Can't build custom ops in tensorflow-gpu 1.9.0 if include "cuda_kernel_helper.h" with C++14

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):Linux Ubuntu 16.04
TensorFlow installed from (source or binary):binary
TensorFlow version (use command below):v1.9.0-0-g25c197e023 1.9.0
Python version: 3.6.5
Bazel version (if compiling from source):N/A
GCC/Compiler version (if compiling from source):5.5.0
CUDA/cuDNN version:9.0/7.0
GPU model and memory:GTX1060
Exact command to reproduce:N?A

Describe the problem
If I build a custom ops with C++ 14 and "cuda_kernel_helper.h", following errors are produced:
>> nvcc -std=c++14 -c -o fill_functor.cu.o fill_functor.cu.cc    -arch=sm_61 ${TF_CFLAGS[@]} -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -I/usr/local --expt-relaxed-constexpr

/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h: In instantiation of ‘bool stream_executor::port::internal_statusor::StatusOrData<T>::ok() const [with T = stream_executor::dnn::VersionInfo]’:
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:124:7:   required from ‘stream_executor::port::internal_statusor::StatusOrData<T>::~StatusOrData() [with T = stream_executor::dnn::VersionInfo]’
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor.h:85:7:   required from here
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:164:76: error: invalid static_cast from type ‘const Status {aka const tensorflow::Status}’ to type ‘stream_executor::port::Status& {aka tensorflow::Status&}’
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h: In instantiation of ‘bool stream_executor::port::internal_statusor::StatusOrData<T>::ok() const [with T = std::unique_ptr<stream_executor::dnn::RnnDescriptor>]’:
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:124:7:   required from ‘stream_executor::port::internal_statusor::StatusOrData<T>::~StatusOrData() [with T = std::unique_ptr<stream_executor::dnn::RnnDescriptor>]’
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor.h:85:7:   required from here
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:164:76: error: invalid static_cast from type ‘const Status {aka const tensorflow::Status}’ to type ‘stream_executor::port::Status& {aka tensorflow::Status&}’
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h: In instantiation of ‘bool stream_executor::port::internal_statusor::StatusOrData<T>::ok() const [with T = std::unique_ptr<stream_executor::dnn::RnnSequenceTensorDescriptor>]’:
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:124:7:   required from ‘stream_executor::port::internal_statusor::StatusOrData<T>::~StatusOrData() [with T = std::unique_ptr<stream_executor::dnn::RnnSequenceTensorDescriptor>]’
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor.h:85:7:   required from here
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:164:76: error: invalid static_cast from type ‘const Status {aka const tensorflow::Status}’ to type ‘stream_executor::port::Status& {aka tensorflow::Status&}’
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h: In instantiation of ‘bool stream_executor::port::internal_statusor::StatusOrData<T>::ok() const [with T = std::unique_ptr<stream_executor::dnn::RnnStateTensorDescriptor>]’:
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:124:7:   required from ‘stream_executor::port::internal_statusor::StatusOrData<T>::~StatusOrData() [with T = std::unique_ptr<stream_executor::dnn::RnnStateTensorDescriptor>]’
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor.h:85:7:   required from here
/home/xxx/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/stream_executor/lib/statusor_internals.h:164:76: error: invalid static_cast from type ‘const Status {aka const tensorflow::Status}’ to type ‘stream_executor::port::Status& {aka tensorflow::Status&}’

If I build it with std=c++11 or tensorflow 1.8.0, there is no problem. But I need auto lambda to use static loop in my host code which only available in c++14.
Source code / logs
The following code is a minimal example to reproduce that error.
// fill_functor.h
#define EIGEN_USE_THREADS

#include "third_party/eigen3/unsupported/Eigen/CXX11/Tensor"
#include "tensorflow/core/framework/tensor_types.h"
#include "tensorflow/core/framework/types.h"

namespace tensorflow {
namespace functor {

template <typename Device, typename T>
struct FillFunctor {
  // Computes on device "d": out = out.constant(in(0)),
  void operator()(const Device& d, typename TTypes<T>::Flat out,
                  typename TTypes<T>::ConstScalar in);
  void operator()(const Device& d, typename TTypes<T>::Flat out,
                  T in);
};

template <typename Device, typename T>
struct SetZeroFunctor {
  // Computes on device "d": out = out.setZero(),
  void operator()(const Device& d, typename TTypes<T>::Flat out);
};

}  // namespace functor
}  // namespace tensorflow

// fill_functor.cu.cc
#if GOOGLE_CUDA

#define EIGEN_USE_GPU

#include "tensorflow/core/framework/register_types.h"
#include "tensorflow/core/framework/tensor_types.h"
#include "fill_functor.h"
#include "tensorflow/core/platform/types.h"
#include "tensorflow/core/util/cuda_kernel_helper.h"
namespace Eigen {
namespace internal {

template <typename T>
struct scalar_const_op {
  typedef typename packet_traits<T>::type Packet;

  const T* val;

  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
  scalar_const_op(const scalar_const_op& x)
      : val(x.val) {}

  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE scalar_const_op(const T* v) : val(v) {}

  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T operator()() const {
    return *val;
  }

  template <typename PacketType = Packet>
  EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const PacketType packetOp() const {
    return internal::pset1<PacketType>(*val);
  }
};

template <typename T>
struct functor_traits<scalar_const_op<T> > {
  enum {
    Cost = 1,
    PacketAccess = packet_traits<T>::Vectorizable,
    IsRepeatable = true
  };
};

}  // end namespace internal
}  // end namespace Eigen

namespace tensorflow {

namespace functor {

typedef Eigen::GpuDevice GPUDevice;

// Partial specialization FillFunctor<Device=GPUDevice, T>
template <typename T>
struct FillFunctor<GPUDevice, T> {
  void operator()(const GPUDevice& d, typename TTypes<T>::Flat out,
                  typename TTypes<T>::ConstScalar in) {
    Eigen::internal::scalar_const_op<T> f(in.data());
    To32Bit(out).device(d) = To32Bit(out).nullaryExpr(f);
  }
  void operator()(const GPUDevice& d, typename TTypes<T>::Flat out,
                  T in) {
    To32Bit(out).device(d) = To32Bit(out).constant(in);
  }
};

#define DEFINE_FILL_GPU(T) template struct FillFunctor<GPUDevice, T>;
TF_CALL_NUMBER_TYPES(DEFINE_FILL_GPU);
TF_CALL_bool(DEFINE_FILL_GPU);
#undef DEFINE_FILL_GPU

// Partial specialization of FillFunctor<Device=GPUDevice, T>.
template <typename T>
struct SetZeroFunctor<GPUDevice, T> {
  void operator()(const GPUDevice& d, typename TTypes<T>::Flat out) {
    To32Bit(out).device(d) = To32Bit(out).constant(T(0));
  }
};

#define DEFINE_SETZERO_GPU(T) template struct SetZeroFunctor<GPUDevice, T>;
TF_CALL_NUMBER_TYPES(DEFINE_SETZERO_GPU);
TF_CALL_bool(DEFINE_SETZERO_GPU);
#undef DEFINE_SETZERO_GPU

}  // end namespace functor
}  // end namespace tensorflow

#endif  // GOOGLE_CUDA

Nagging Assignee @rohan100jain: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

my understanding was that all templating code needed to be in the header (.h) file and there were issues if they were defined in the cpp file.

@rohan100jain this issue only appears when compile with C++14 and tf 1.9.0, no problem with C++11(1.9.0) or C++14(1.8.0).

Nagging Assignee @zheng-xq: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @zheng-xq: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @zheng-xq: It has been 44 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @ymodak: It has been 59 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Is this an issue?

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

@traveller59 , Hello, I met the same problem and didn't find any other issues.
If you have solved the problem, would you mind sharing your method for solving this problem ?
my enviroment is:
tensorflow == 2.3.0
g++ == 5.4.0
cuda == 9.0


CB-12248 Set the net.ipv4.tcp_keepalive_time to 300 to avoid rare NLB…

… timeouts

In DE HA cluster there is an occasional timeout for beeline queries.
NLB idle-timeout is 350s compared to the system keepalive time of 2 hours in manager node.
To make sure the clients never get an RST because the NLB connection was idle-timeout reduce keep alive timeout value below 350.

No testing done, based on an analysis from a blog post https://medium.com/tenable-techblog/lessons-from-aws-nlb-timeouts-5028a8f65dda

@cegganesh84 A change from 7200s to 300s seems fairly significant. Are here any concerns about potential side effects of making this change?

@hreeve-cloudera Yes, this will affect all FreeIPA, datalake, and datahub clusters. Unfortunately, it is hard to know where it will affect. It is hard to test it unless we let it go through the QE cycle for 7.2.10. I have never seen a value of keep alive being more than 5 mins. But a datamart cluster being accessed via BI tool that expects a long-running query of more than 1-hour being affected is also not tested by anyone at the moment.
An alternative to this for reducing the blast radius is to set this value only for DE HA cluster knox instances. @moresandeep do you know if Knox can take a keep alive setting for the application instead of relying on the OS?

@cegganesh84 Yes, knox does have settings to adjust socket and connection timeouts. These are the properties I think you are looking for

httpclient.socketTimeout  - The amount of time to wait for data on a socket before aborting the connection. The natural unit is milliseconds, but a ‘s’ or ‘m’ suffix may be used for seconds or minutes respectively. The default timeout is system dependent but is likely to be indefinite. Default 20s

httpclient.connectionTimeout  - The amount of time to wait when attempting a connection. The natural unit is milliseconds, but a ‘s’ or ‘m’ suffix may be used for seconds or minutes respectively. The default timeout is system dependent.  Default 20s

This is an example of how to set it at service level
<service>
     <role>HIVE</role>
     <param>
         <name>httpclient.socketTimeout</name>
         <value>180s</value>
     </param>
</service>

Ref: https://knox.apache.org/books/knox-1-5-0/user-guide.html#Common+Service+Config
Having said that, there are other timeouts to consider, i.e. the NLB timeout, the backend service timeout.

@moresandeep Thanks. Great point about other timeouts. NLB actually proxies knox request through nginx which already has a keep-alive timeout of 75s. I need to dig this a little deeper, because I can not explain the behaviour with that setting.


Mobile Rendering Broken

My project works just fine on every browser (except IE), however trying to view the panorama on mobile shows a white screen and it never loads. Is there anything special you have to do to make it work on mobile?
Here's what my js code looks like:
 // Detect desktop or mobile mode.
  if (window.matchMedia) {
    var setMode = function() {
      if (mql.matches) {
        document.body.classList.remove('desktop');
        document.body.classList.add('mobile');
      } else {
        document.body.classList.remove('mobile');
        document.body.classList.add('desktop');
      }
    };
    var mql = matchMedia("(max-width: 500px), (max-height: 500px)");
    setMode();
    mql.addListener(setMode);
  } else {
    document.body.classList.add('desktop');
  }

  // Detect whether we are on a touch device.
  document.body.classList.add('no-touch');
  window.addEventListener('touchstart', function() {
    document.body.classList.remove('no-touch');
    document.body.classList.add('touch');
  });

  // Use tooltip fallback mode on IE < 11.
  if (bowser.msie && parseFloat(bowser.version) < 11) {
    document.body.classList.add('tooltip-fallback');
  }

// Create viewer.
var viewer = new Marzipano.Viewer(document.getElementById('pano'));

// Create source.
var source = Marzipano.ImageUrlSource.fromString(
  "pano/blp-pano.jpg"
);

// Create geometry.
var geometry = new Marzipano.EquirectGeometry([{ width: 8192 }]);

// Create view.
var limiter = Marzipano.RectilinearView.limit.traditional(1024, 100*Math.PI/180);
var view = new Marzipano.RectilinearView({ yaw: Math.PI }, limiter);

// Create scene.
var scene = viewer.createScene({
  source: source,
  geometry: geometry,
  view: view,
  pinFirstLevel: true
});

// Display scene.
scene.switchTo();

Seems to be an issue with RectilinearView. Taking an output of https://www.marzipano.net/tool/ and modifying it with RectilinearView produces the same result: it works on desktops but does not work on mobile

What do you mean by "modifying it with RectilinearView"? Do projects exported from the Marzipano Tool (with no local modifications) work for you? And if not, which mobile device(s) are affected?

I had the same issue. In my case, it was because the image file was too big. After reducing the resolution, it also worked on mobile devices. I suggest you either try that or use CubeGeometry instead.
Unfortunately, Marzipano does not print an error message here that would help you tracing the problem.

I also have issue with EquirectGeometry rendering on mobile. I've tried using images from the server up to 658KB, before failed to render on 840KB image on mobile (moto g5s plus. Android 7.1).
Going to use CubeGeometry instead, but have to figure it how to convert equirectangular images to cubefaces using JS first

To be specific, it's not about file size, instead it's about image resolution. For example iOS just can't take 8K image (for now).

The issue is probably that your equirectangular image is too big to fit in a single WebGL texture in those devices. You should see an error in the developer console if that's the case.


Add default formatting in post processing module

Close #772  by adding a default format for output printing. This has been "hidden" under an underscored method (_setting_format), meaning it is not intended for final user usage.

We should avoid changing the state of MAPDL upon initialization (and in general). A few reasons for this:

Users may expect a header and will find it strange that pymapdl returns a different (or no) header than the defaults
We're slowing down the initial load of MAPDL. While this is small, it's non-trivial and it's an unneeded complexity.

If we want a better representation of the data, we should go with #735. As outlined in several of our conversations, the goal of this project is to supplement, but not replace, MAPDL. I'm fine with sane defaults, and we can consider setting self.page(1E9, '', -1, 240, mute=True), but changing the header is a drastic change that users won't expect. If they're using PRNSOL instead of the PostProcessing class, it's probably because they just want a nice readable table.
Recommend abandoning in favor of #735

Abandoned in favor of #735.
Closed without applying any changes.


Repair verb tense in SPEC

Perfect tense is 'are run'.

@adminspotter Thanks for spotting this! :+1:

Very welcome!


persistWithOnConflict() returns true if the row already exists in the Table.

According to the current persistWithOnConflict() method documentation, this method will return false if the current Model object is not inserted in the table. But it returns true.
The reason is that [insertWithOnConflict in SQLiteDatabase](http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insertWithOnConflict(java.lang.String, java.lang.String, android.content.ContentValues, int)) returns the rowId of the existing record and not -1 if the row contained in the Squidb model object already exists. Try the CONFLICT.IGNORE Conflict Algorithm.

I'm not sure I quite understand what you're saying, and I think in fact you might find that it's the SQLiteDatabase documentation that is incorrect. We have a unit test that in fact tests this behavior: https://github.com/yahoo/squidb/blob/master/squidb-tests/src/com/yahoo/squidb/data/SquidDatabaseTest.java#L549. In all of our testing, we've found that when using the IGNORE conflict algorithm, -1 is returned for the rowId on conflict. You can see in this unit test (which does pass) that we call assertFalse on the result of a call to persistWithOnConflict using the IGNORE algorithm. Can you write a unit test that exhibits consistently different behavior on a wide variety of devices?

After CONFLICT_IGNORE, if any constraint violations occur, SQLiteDatabase returns the rowId of the record where the violation occurs. It does not return -1, according to the [official doc](http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insertWithOnConflict(java.lang.String, java.lang.String, android.content.ContentValues, int)). I used squidb in my project, and persistWithOnConflict returned true when CONFLICT_IGNORE was used.
I cannot point you to the actual test, as it is in a private repo.

Yeah, I understand the official docs have said it does not return -1, but we've found that the official doc is incorrect. As you can see from the unit test I linked to, that method does return false as documented. We run our unit test suite on a wide variety of Android API levels/emulators and the behavior appears consistent across all of them.
If you can write a separate (non-private) test case using the squidb test suite that does exhibit the problem you're describing, that will help us track down whether or not this is an edge case that we somehow haven't considered or if it's an issue specific to the device/API level you're running on.

I dug into this a bit more just to be sure, and after examining the Android source code I feel pretty confident that the Android SQLite classes do return -1 when a conflict occurs during an insert using the IGNORE conflict algorithm, even though this is not documented correctly in their official documentation. I'll outline my findings here.
When executing a SQL INSERT statement, the Android classes eventually call SQLiteConnection.executeForLastInsertedRowId, which in turn calls and returns the value from the native method nativeExecuteForLastInsertedRowId. The source code for this native method can be found here. The line that determines the return value is this:
return err == SQLITE_DONE && sqlite3_changes(connection->db) > 0
            ? sqlite3_last_insert_rowid(connection->db) : -1;

In the case of the IGNORE conflict algorithm, if a conflict had occurred attempting to execute the insert, the value returned by sqlite3_changes would be 0, since no changes would have occurred executing the most recent insert statement. That would make the overall boolean condition false, triggering a return of -1.
I don't doubt that at some point you saw persistWithOnConflict return true, but I think it may be more likely that there were simply some unexpected conditions in your DB access code that caused the call to perhaps do an update instead of an insert (which would be more likely to succeed and return true), or for some reason there wasn't actually any conflict in the DB to resolve. Since our unit tests are confirming that the method works as documented and the Android source code seems to back up the behavior our unit tests expect, I'm inclined to consider this issue resolved. However, if you feel like I missed something in my explanation or if you are able to create a unit test that can duplicate the problem, feel free to reply and we can try to figure out why you saw the unexpected behavior you did.

Going to close this issue, but feel free to reopen if you have additional information to add or want to clarify the issue at all.


.Capabilities.KubeVersion.Minor returns "28+", making it hard to compare

Output of helm version: v3.13.0
version.BuildInfo{Version:"v3.13.0", GitCommit:"825e86f6a7a38cef1112bfa606e4127a706749b1", GitTreeState:"clean", GoVersion:"go1.20.8"}

Output of kubectl version:
Client Version: v1.28.3
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.5-eks-5e0fdde

Cloud Provider/Platform (AKS, GKE, Minikube etc.): AWS

Hi,
Capabilities.KubeVersion.Minor returns 28+ on my cluster. I've got a template which does if lt (.Capabilities.KubeVersion.Minor|int) 21, but it's broken on this cluster because of the + -> 28+ is not a number, so the condition ends up being false. I expected it to return 28.
How can I reliably compare the Kubernetes version? Is the format documented anywhere? I only see

Capabilities.KubeVersion.Minor is the Kubernetes minor version.

on the documentation.

Apparently the right way is {{ if semverCompare "<1.21-0" .Capabilities.KubeVersion.Version }}, should that be documented somewhere?

This has come up a few times and it could use being the docs somewhere.  It could probably fit under the FAQ.

Still relevant.

Still relevant.

+1