Current location takes 10 seconds to load on iOS

@martin-braun thank you for your support your package is working but the current location button on iOS always takes 10seconds to 12seconds
can you please let me know how to fix it
PS: on android, the button working properly.
REGARDS
Originally posted by @SmarterVision in https://github.com/fysoul17/google_maps_place_picker/issues/163#issuecomment-1026845468

@SmarterVision Can you please provide some more details (i.e. device logs when it happens)? I'm very busy right now, but I can try to check it out this week. Please also tell me if this is happening in the simulator and which device/simulator you've tested.

hi @martin-braun It is not working in my iPhone 12 (take 10 seconds to get my current location )
but t's working fine in the simulator (iPhone 12)

@SmarterVision Can you please pull this project and run the example app (debug) on the device and [log the output](https://developer.apple.com/documentation/xcode/acquiring-crash-reports-and-diagnostic-logs#Access-Device-Console-Logs and share your relevant logs)?
I do not own an iPhone 12, thus I rely on your help now.

Hey! @SmarterVision @martin-braun  you can check my solution for this on original repos issue.

@gsoykan Thanks for your report and support, means a lot to me. I'd love to hear back from @SmarterVision in regards of this as well, since I updated the geolocator almost a month before @SmarterVision was reporting the issue.
I can only assume that he depended on version 7 on himself in some way. I close this and hopefully I don't have to re-open it. 😄

@gsoykan Thank you for your great investigation and help, that means a lot to me.
I currently have some publishing issues here at the moment. Once they are solved and the next version is published I will close this issue as it should be solved then. Please pull the new version when it's ready, then you can remove your dependency to the geolocator again.

New version 2.0.0-mb.14 is up. Pull it and it should be fixed without the need of a more recent geolocator package in your pubspec.


Research Testing Framework of different projects....

Blockchain-Related Testing

[ ] Staking
[ ] scenario of jailing
[ ] scenario of byzantine
[ ] scenario of delegation
[ ] scenario slashing
[ ] IBC

QA Testing framework from Cosmos SDK: https://github.com/cosmos/qa-integration

Observations:

Cosmos Hub: They have written tests in golang, and various scenarios are tested related to blockchain
Cheqd

They haven't written test in both Bash and Python3
They are testing scenarios such as:

IBC Token transfer between Osmosis and Cheqd Locally using hermes relayer
Running full nodes and promoting it to validator and asserting the process
Chain Upgrade
Cosmos Keys related operations

Assertion Golang Package: https://github.com/stretchr/testify

Test Scenarios:
Validator

Addition of a full node and then promoting it to a validator node
Checking if a validator is receiving rewards
Switching off one of the validators for blocks beyond the threshold block height, to check if the validator is jailed.
Check for double singing a.k.a, byzantine behaviour

Reference for simulating byzantine node: https://gist.github.com/cwgoes/3ab18585a72966bb9e68e8a9428a28b8

Governance:
Node Upgrade: https://github.com/hypersign-protocol/hid-node/issues/155#issuecomment-1220542397
Genesis Param change:
Community Proposal Spend:

Stress Testing Ref: https://github.com/DaevMithran/tendermint-load-test


Pokemon Tiles

Would it be possible to add an option for the user so he can choose which graphics he want to use for pokemon? the new ones are ugly and i cant spot any pokemon, its just a screen with lots of colors.Hard to see anything

I imagine the issue was that the official graphics were being used before and some recent stuff came up about those graphics being used without permission in other places and he's probably just playing it safe here?

Hello,
I received a copyright notice from Niantic to remove all images :/
I'm working on a Texture Pack system to allow user to get official image 👍
Sorry guys but this is not my fault :/

Hello
Source code is up to date ?
I want Pokémon images, if I install my builder version of iPokeGo, i can view it ?

Hello, yes this is the 2.4 version on github.

Thanks, but on appstore we are 2.4.2 and 2.4.1

@djgreg13 2.4.2 and 2.4.1 contains only new Pokemon images (I changed two times^^)

Or you just use... You know... non-copyrighted Pokemon images?

@kevdotcom Give me your non-copyrighted Pokemon images please 👍 I searched without success (we need all 151 Pokemons and for the upcoming Pokemons launched very soon).
Currently I don't have many time. I created this open source project to allow any users to help me.
Like I said I received 7 mails from Niantic, I did better than I could...

I'm currently working on a theme manager and it looks pretty good !!
Keep connected 👍

So I finished the new theme system and it looks like very nice !
I am looking for people which have a private server to host themes :)
Please respond if you are interested :)

v2.5 submitted, I'm waiting for the review 👍

Will you release source code of 2.5 ? I have some specific development to connect into my infrastructure

Le 11 déc. 2016 à 22:18, Dimitri Dessus<EMAIL_ADDRESS>a écrit :
v2.5 submitted, I'm waiting for the review 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


[Bug] After changing style, the cell type will be covered by the type of value

Before you submit this issue, have you checked the following

[X] Is this really a problem?
[X] I have searched the Github Issues for similar issues, but did not find anything.

Affected packages and versions
0.2.5
Reproduction link
before:

after:

Expected behavior
keep the cell data type
Actual behavior
change the string type to number type
System information
No response

This behavior is consistent with Excel, it's not a bug.

Change excel cell style will not update data type.

This is NOT the default behavior of Excel, you may have set the number format.

Wps excel has the same performance. I'm sure the cell data is string, number cell has different format.


hide_next_prev_page_buttons: true don't hide buttons on "sections" page

Hi,
On the main section page (type: sections), the hide_next_prev_page_buttons: true attribute does not hide the next/prev buttons.
On leaf pages (type: section and subsections) the next/prev buttons are hidden.
It is a bit odd since "sections" pages shows prev/next buttons relating to other content.
Am I doing something wrong with this setting ? I want all next/prev buttons hidden for a complete sections/section/subsection tree)
Regards
M33

Hi @m33m33 , the next/prev buttons should not appear on the top-level page of Sections, just the section and sub-section pages. For example, https://demo.hibbittsdesign.org/grav-open-publishing-quark/multi-section-page does not display these buttons but https://demo.hibbittsdesign.org/grav-open-publishing-quark/multi-section-page/section-one does.
Are you seeing something different on your install? Are you running the latest version of Quark Open Publishing? Perhaps also look at the example Sections to check page names/structure? https://github.com/hibbitts-design/grav-theme-quark-open-publishing/tree/master/_demo/pages/05.multi-section-page
Let me know what you see etc.

Hi @paulhibbitts here are screenshots of the section tree, and the settings

Hi @m33m33 , thanks for the additional information - very helpful!
Unfortunately Sections is designed to be a top-level page, and not a child page within another folder such as a Blog. This was done so the first level of the hierarchy can always be known by checking for the Grav pages folder.
If you would like to customize the Twig for this specific situation (and Sections being used only within a blog folder) you could try to change the following checks for pages to blog in the Twig template file sections:
https://github.com/hibbitts-design/grav-theme-quark-open-publishing/blob/master/templates/sections.html.twig#L37
https://github.com/hibbitts-design/grav-theme-quark-open-publishing/blob/master/templates/sections.html.twig#L59
https://github.com/hibbitts-design/grav-theme-quark-open-publishing/blob/master/templates/sections.html.twig#L59
If this works for you then you should create an inherited theme to store this change, so furture updates to Quark Open Publishing does not overwrite it https://learn.getgrav.org/16/themes/customization If you are working with the Open Publishing Space skeleton there is an inherited theme already setup for you called mytheme

Looking into this issue a bit more, and I think I see a way to support non top-level Sections pages... I will test this out a bit more and update this issue soon.

Hi @m33m33, please update to the latest theme release and let me know if that works for you.

Problem solved :-)
Thanks @paulhibbitts !

Great, thanks for letting me know!


Refactor Tests and Switch to babel-preset-env

This PR refactors tests to use Jest instead of Mocha. It also switches from babel-preset-es2015 to babel-preset-env. It is still in progress.
Changes

Remove mocha and all related dependencies
Rewrite tests with Jest
Uninstall babel-preset-es2015
Install babel-preset-env

Tests
There are 38 total tests. All must be included and must pass.
Redux Promise Middleware:

[x] must export correct default promise status
[x] must return a function to handle next

When action is not a promise:

[x] invokes next with the action
[x] returns the return from next middleware
[x] does not dispatch any other actions

When action has promise payload:

[x] dispatches a pending action for implicit promise payload
[x] dispatches a pending action for explicit promise payload
[x] pending action optionally contains optimistic update payload from data property
[x] pending action optionally contains falsy optimistic update payload
[x] pending action does contain meta property if included
[x] pending action does contain falsy meta property if included
[x] allows global customisation of action type suffixes
[x] allows global customisation of action type delimiter
[x] uses default separator with empty config (backward compatibility)

When promise is fulfilled:

[x] propagates the original promise
[x] persists meta property from original action
[x] promise returns value and action as parameters
[x] allows global customisation of fulfilled action type

When resolve reason is null:

[x] resolved action is dispatched
[x] promise returns null value
[x] resolved action payload property is undefined

When resolve reason is false:

[x] resolved action is dispatched
[x] promise returns false value
[x] resolved action payload property is false

When resolve reason is zero:

[x] resolved action is dispatched
[x] promise returns 0 value
[x] resolved action payload property is zero

When using async functions:

[x] supports async function as payload.promise
[x] supports async function as payload
[x] supports optimistic updates
[x] supports rejected async functions
[x] handles synchronous functions

When promise is rejected:

[x] errors can be caught with catch
[x] errors can be caught with then
[x] rejected action error property is true
[ ] rejected action payload property is original rejected instance of Error
[ ] promise returns original rejected instance of Error
[x] allows global customisation of rejected action type

Connect #220.

Hey @tomatau, would you be available and interested to give this PR a review? Since it refactors the tests, I think it would be good to get some extra eyes on it. 😄

Hey I'll have a go but there's quite a lot and I'm not sure when I'll get time! I still have about 4 projects I've been needing to update the CI integration for! :S

Thanks for the heads up, @tomatau. It is a big PR, yeah. If you have time in the future, I appreciate it. There's also no rush here! I'm moving across the country and won't have my computer for the next few weeks.


Update PrototypeBoards.md

Docs Build status updates of commit e0f0968:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit a62c436:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/TOC.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 09a86e5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/TOC.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/rpi.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 7184cc9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/TOC.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/minnowboard.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/rpi.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 8155931:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/TOC.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/minnowboard.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/nxp.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/rpi.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 6831a10:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/TOC.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/dragonboard.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/minnowboard.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/nxp.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/quickstarter/PrototypeBoards.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/rpi.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


upgrading ipsec stack doesnt honor bind ip addresses passed in

Rancher versions:
rancher/server: 1.6.5
rancher/server: 1.6.10 has slightly different but still buggy behavior
Docker version: (docker version,docker info preferred)
1.12.6
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
ubuntu 16.04
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Steps to Reproduce:

upgrade ipsec service
select host ip link to surface bind ip's
insert <IP_ADDRESS> in bind ip to have ipsec listen on all interfaces

Results:
on 1.6.5 through UI.
{
	...
	"id": "1s6",
	"type": "networkDriverService",
	"name": "ipsec",
	"state": "active",
	...
	"launchConfig": {
		...
		"ports": ["500:500/udp", "4500:4500/udp"],
                ...
	},
	...
}

on 1.6.10 through UI. Upgrading both ports 500 and 4500 with bind ip's only 500 reflected the change post upgrade ONLY on port 500. Here's the request payload from the UI:
{
	...
	"id": "1s4",
	"type": "service",
	"baseType": "service",
	"name": "ipsec",
	"state": "active",
	...
	"launchConfig": {
		...
                "ports": ["<IP_ADDRESS>:500:500/udp", "4500:4500/udp"],
                ...
	},
	...
}

on 1.6.5 the ipsec container didnt get the ip:ports requested.
{

    "id": "1i52",
    "type": "container",
    "links": {
        "self": "…/v2-beta/projects/1a5/containers/1i52",
        "account": "…/v2-beta/projects/1a5/containers/1i52/account",
        "credentials": "…/v2-beta/projects/1a5/containers/1i52/credentials",
        "healthcheckInstanceHostMaps": "…/v2-beta/projects/1a5/containers/1i52/healthcheckinstancehostmaps",
        "hosts": "…/v2-beta/projects/1a5/containers/1i52/hosts",
        "instanceLabels": "…/v2-beta/projects/1a5/containers/1i52/instancelabels",
        "instanceLinks": "…/v2-beta/projects/1a5/containers/1i52/instancelinks",
        "instances": "…/v2-beta/projects/1a5/containers/1i52/instances",
        "mounts": "…/v2-beta/projects/1a5/containers/1i52/mounts",
        "ports": "…/v2-beta/projects/1a5/containers/1i52/ports",
        "serviceEvents": "…/v2-beta/projects/1a5/containers/1i52/serviceevents",
        "serviceExposeMaps": "…/v2-beta/projects/1a5/containers/1i52/serviceexposemaps",
        "serviceLogs": "…/v2-beta/projects/1a5/containers/1i52/servicelogs",
        "services": "…/v2-beta/projects/1a5/containers/1i52/services",
        "targetInstanceLinks": "…/v2-beta/projects/1a5/containers/1i52/targetinstancelinks",
        "volumes": "…/v2-beta/projects/1a5/containers/1i52/volumes",
        "stats": "…/v2-beta/projects/1a5/containers/1i52/stats",
        "containerStats": "…/v2-beta/projects/1a5/containers/1i52/containerstats"
    },
    "actions": {
        "restart": "…/v2-beta/projects/1a5/containers/1i52/?action=restart",
        "update": "…/v2-beta/projects/1a5/containers/1i52/?action=update",
        "stop": "…/v2-beta/projects/1a5/containers/1i52/?action=stop",
        "migrate": "…/v2-beta/projects/1a5/containers/1i52/?action=migrate",
        "logs": "…/v2-beta/projects/1a5/containers/1i52/?action=logs",
        "execute": "…/v2-beta/projects/1a5/containers/1i52/?action=execute",
        "proxy": "…/v2-beta/projects/1a5/containers/1i52/?action=proxy"
    },
    "baseType": "instance",
    "name": "ipsec-ipsec-1",
    "state": "running",
    "accountId": "1a5",
    "blkioDeviceOptions": null,
    "blkioWeight": null,
    "build": null,
    "capAdd": [ ],
    "capDrop": [ ],
    "cgroupParent": null,
    "command": [ 3 items
        "sh",
        "-c",
        "echo Refer to router sidekick for logs; mkfifo f; exec cat f"
    ],
    "cpuCount": null,
    "cpuPercent": null,
    "cpuPeriod": null,
    "cpuQuota": null,
    "cpuSet": null,
    "cpuSetMems": null,
    "cpuShares": null,
    "createIndex": 12,
    "created": "2017-10-04T18:58:05Z",
    "createdTS":<PHONE_NUMBER>000,
    "dataVolumeMounts": { },
    "dataVolumes": [ ],
    "dataVolumesFrom": [ ],
    "dataVolumesFromLaunchConfigs": [ ],
    "deploymentUnitUuid": "46e97299-9e6b-4db6-8a43-bca6ee31aeb0",
    "description": null,
    "devices": [ ],
    "diskQuota": null,
    "dns": [
        "<IP_ADDRESS>"
    ],
    "dnsOpt": null,
    "dnsSearch": [ 3 items
        "ipsec.rancher.internal",
        "ipsec.ipsec.rancher.internal",
        "rancher.internal"
    ],
    "dockerPorts": [ ],
    "domainName": null,
    "entryPoint": null,
    "environment": null,
    "expose": null,
    "externalId": "f24ea61c9c074c4eabf6c194ec46c91c90645c30bb02d240feb3bb75e8952a4c",
    "extraHosts": null,
    "firstRunning": "2017-10-04T18:58:09Z",
    "firstRunningTS":<PHONE_NUMBER>000,
    "groupAdd": null,
    "healthCheck": null,
    "healthCmd": null,
    "healthInterval": null,
    "healthRetries": null,
    "healthState": null,
    "healthTimeout": null,
    "hostId": "1h1",
    "hostname": null,
    "imageUuid": "docker:rancher/net:holder",
    "instanceTriggeredStop": "stop",
    "ioMaximumBandwidth": null,
    "ioMaximumIOps": null,
    "ip": null,
    "ip6": null,
    "ipcMode": null,
    "isolation": null,
    "kernelMemory": null,
    "kind": "container",
    "labels": {
        "io.rancher.service.deployment.unit": "46e97299-9e6b-4db6-8a43-bca6ee31aeb0",
        "io.rancher.service.requested.host.id": "1",
        "io.rancher.sidekicks": "router,cni-driver",
        "io.rancher.cni.link_mtu_overhead": "0",
        "io.rancher.stack_service.name": "ipsec/ipsec",
        "io.rancher.service.launch.config": "io.rancher.service.primary.launch.config",
        "io.rancher.project.name": "ipsec",
        "io.rancher.network.arpsync": "true",
        "io.rancher.project_service.name": "ipsec/ipsec",
        "io.rancher.network.macsync": "true",
        "io.rancher.stack.name": "ipsec",
        "io.rancher.scheduler.global": "true",
        "io.rancher.container.system": "true",
        "io.rancher.container.ip": "<IP_ADDRESS>/16",
        "io.rancher.container.uuid": "584306a7-b63d-41e7-bbac-e11054395330",
        "io.rancher.cni.network": "ipsec",
        "io.rancher.cni.wait": "true",
        "io.rancher.container.mac_address": "02:e3:e0:b3:d6:8e",
        "io.rancher.container.name": "ipsec-ipsec-1"
    },
    "logConfig": {
        "type": "logConfig",
        "config": { },
        "driver": null
    },
    "lxcConf": null,
    "memory": null,
    "memoryReservation": null,
    "memorySwap": null,
    "memorySwappiness": null,
    "milliCpuReservation": null,
    "mounts": null,
    "nativeContainer": false,
    "netAlias": null,
    "networkContainerId": null,
    "networkMode": "ipsec",
    "oomKillDisable": null,
    "oomScoreAdj": null,
    "pidMode": null,
    "pidsLimit": null,
    "ports": [ 2 items
        "500:500/udp",
        "4500:4500/udp"
    ],
    "primaryIpAddress": "<IP_ADDRESS>",
    "primaryNetworkId": "1n6",
    "privileged": false,
    "publishAllPorts": false,
    "readOnly": false,
    "registryCredentialId": null,
    "removed": null,
    "requestedHostId": "1h1",
    "restartPolicy": null,
    "secrets": [ ],
    "securityOpt": null,
    "serviceId": null,
    "serviceIds": [
        "1s6"
    ],
    "shmSize": null,
    "stackId": null,
    "startCount": 1,
    "startOnCreate": true,
    "stdinOpen": false,
    "stopSignal": null,
    "storageOpt": null,
    "sysctls": null,
    "system": true,
    "tmpfs": null,
    "transitioning": "no",
    "transitioningMessage": null,
    "transitioningProgress": null,
    "tty": false,
    "ulimits": null,
    "user": null,
    "userPorts": [ 2 items
        "500:500/udp",
        "4500:4500/udp"
    ],
    "usernsMode": null,
    "uts": null,
    "uuid": "584306a7-b63d-41e7-bbac-e11054395330",
    "version": "afaeda8a-54b5-4bad-8c15-b5fd18cca19c",
    "volumeDriver": null,
    "workingDir": null

}

There's no change observer on the IP field.  So if you edit only that field, it's not updated.  If you edit one of the other fields on the row, the IP is read and updated.
So the first time you touched one of the other fields on 500 and the second time you didn't.

I am still able to reproduce this issue with v1.6.11-rc2.
@vincent99 Did this UI change make it to v1.6.11-rc2 ?

No, there was no UI change in rc2.

Version - 1.6 & 2.0 master 10/16
Verified fixed


Fixes #272

Fixes #272. The best option is to use jquery.slideToggle, since this function can calculate the height of the element in the case of height: auto

I'm getting a warning in the logs:

Check the top-level render call using <styled.div>. See https://fb.me/react-warning-keys for more information.
    in React.Fragment
    in SidebarMenu
    in div
    in styled.div
    in div
    in styled.div
    in div
    in styled.div
    in div
    in styled.div
    in Layout
    in withRouter(Layout)
    in Page
    in Documentation
    in StyleSheetManager
    in Unknown
    in Container
    in App
    in Capture```


Data set Question

Hey, where did you download the FROSI data set. Also, where did the labels come from to make the SSF data set. I'm super interested and it would help me with my work.

Hi, I have updated the readme.md file and you may find something new.
TLTR: we provide a FROSI now but the images are 10x smaller. You should cite the original author's paper (not our paper) if you use the dataset.
The labels of SSF can be found from the datasets directly.  But if you ask where they are from at the beginning, they are from the nearby weather observation spots. So, some labels may not have good quality and trustable.

You can see the results for visibility in our paper. The bad results are not caused by our method but the reference values. The reference values for visibility clusters at 10000 m and 16000 m, making the estimation not good.

Thank you so much! I appreciate it, however, I have been emailing the authors and they have not responded. I am not sure if the emails I found online are still active. I was hoping to use the full size images. Do you have a link for that?

Thanks to the author for the data. In addition, do you have the contact information of the author of the original paper? The email from the official website has not been answered. If so, please send me a copy<EMAIL_ADDRESS>

@melreinas Sorry for the late reply.
Unfortunately, I do not have the full-size images myself (@zyydzxx ).
If you cannot get access from the original authors, you may create your own datasets.
According to the paper  Impact of Reduced Visibility from Fog on Traffic Sign Detection, they create the FROSI dataset (1) using the software named $SiVIC^{TM}$ to generate clean images with traffic signs; (2) by leveraging the Koschmieder model and the atmospheric scattering model to generate images with haze.
Hope this message helps and sorry for the trouble.

@melreinas Sorry for the late reply.
Unfortunately, I do not have the full-size images myself (@zyydzxx ).
If you cannot get access from the original authors, you may create your own datasets.
According to the paper  Impact of Reduced Visibility from Fog on Traffic Sign Detection, they create the FROSI dataset (1) using the software named $SiVIC^{TM}$ to generate clean images with traffic signs; (2) by leveraging the Koschmieder model and the atmospheric scattering model to generate images with haze.
Hope this message helps and sorry for the trouble.


Remove “publish” menu option from starter pack

Remove “publish” menu option from starter pack.
Too confusing, doesn't work, and will be solved in another way.

Done


stabilize inner timer

The logic around the handling of the inner timer needs to be improved.
Timer should be recreated/updated before every call of the timers play function. Since the timer needs to exist between renders, it will probably have to be stored in a ref. Note also, that the timer's delay needs to be updated to the next delay value before the execution of the next callback. The timing of this requirement is important and what poses a challenge.
The current approach is to recreate/update the timer on every render and prepare the delays for the next callback and the one after that. This ends up being problematic when the number of renders between timer callbacks varies. The latter has resulted in many conditionals surrounding the delay value.
Ultimately, I believe the best solution is neither of the above actually. I believe adding a couple of features to react-use-precision-timer will work best long term. The features to add are:

ability to pass an array for the delay prop
new starting index prop for the delay array whose value can be changed after creation of the timer.

Also forgot to mention that because of rerender sensitivity of the timer delay value, strict-mode causes a discrepancy in sync behavior when playing (because of the additional rerender when line changes during play). For this reason, strict-mode will be removed.


Add slim build support

@matthewp should we keep the slim version in a minor branch? I could just merge and let it be part of the next minor release with the Edge fix, the new file is only used by the slim build.... I should probably add a couple of tests tho.


OLD: Run the full test suite on macOS

These test were failing on macOS so they were skipped. Here we re-enable them on macOS to see if we can get them to pass. This will run the full test suite on macOS just like what is currently done on Linux.
Note: This most likely requires a rebuild of OpenBLAS to work.
xref: https://github.com/conda-forge/python-spams-feedstock/pull/13

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Replacing with PR ( https://github.com/conda-forge/python-spams-feedstock/pull/23 ).


Identifiers validation failed for dataset Presencia de ciguatoxinas en la especie invasora pez león (Pterois volitans) y en otros peces arrecifales en dos áreas naturales protegidas de Quintana Roo: Arrecife de Puerto Morelos e Isla Contoy

Identifier validation failed for the dataset Presencia de ciguatoxinas en la especie invasora pez león (Pterois volitans) y en otros peces arrecifales en dos áreas naturales protegidas de Quintana Roo: Arrecife de Puerto Morelos e Isla Contoy:

Crawler attempt: 105
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 2084
Cause: GBIF IDs hit maximum allowed - 50%, duplicates - 100%, total records count 2084, absent records count 2084
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3073514/step

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Presencia de ciguatoxinas en la especie invasora pez león (Pterois volitans) y en otros peces arrecifales en dos áreas naturales protegidas de Quintana Roo: Arrecife de Puerto Morelos e Isla Contoy : https://doi.org/10.15468/dpk4hw.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Identifier validation still  failing for the dataset Presencia de ciguatoxinas en la especie invasora pez león (Pterois volitans) y en otros peces arrecifales en dos áreas naturales protegidas de Quintana Roo: Arrecife de Puerto Morelos e Isla Contoy:

Crawler attempt: 108
Publishing organization: Comisión nacional para el conocimiento y uso de la biodiversidad
Publishing country: MEXICO
Installation: IPTCONABIO
Number of occurrences indexed for this dataset at the time of the issue: 2084
Cause: GBIF IDs hit maximum allowed - 50%, duplicates - 100%, total records count 2084, absent records count 2084
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3094345/step

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Presencia de ciguatoxinas en la especie invasora pez león (Pterois volitans) y en otros peces arrecifales en dos áreas naturales protegidas de Quintana Roo: Arrecife de Puerto Morelos e Isla Contoy : https://doi.org/10.15468/dpk4hw.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.


Three suggestions

Hello, I am a user of this. But I have a couple of quality-of-life suggestions. I hope you'll take a look at them.
1 & 2: Change the mouse cursor to a pointer instead of a selector when selecting the theme and remove the underline from the links as they don't look the best.

3: Make the theme automatically switch based off of the OS theme.

Thanks.

Snowbin is currently on a pending rewrite, which, unfortunately, is on a pause. The issues you mentioned have already been fixed in my rewrite branch, excluding the links which I agree now, don't look good in the footer and was at the time, a design choice of mine. However, speaking the only pieces left to be rewritten is the backend infrastructure to be independent of cloudflare workers.
I've been busy with other projects taking my time, with me being the sole maintainer of snowbin and related projects, unfortunately, which has made this more difficult. Hopefully, i wish to change this slow momentum one day.

Regarding 3: It should already work, but it may be blocked by your browser's ad blocker. It looks like you're using Brave, which might be blocking the prefers-color-scheme media query, supposedly for "privacy" reasons, like many other adblocking solutions (that I personally don't agree with).
https://github.com/taskyland/snowbin/blob/d27523f8c45371f2f97cf970e58b6d7ee4345f46/assets/static/theme.js#L3


UnknownServer error in php

What are you trying to achieve? (Expected behavior)
To run the phpsample without errors.
What do you get instead? (Actual behavior)
PHP Fatal error:  Uncaught exception 'Facebook\WebDriver\Exception\UnknownServerException' in /home/naaiporg/Selenium-Setup-Webdriver/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:118
Stack trace:
#0 /home/naaiporg/Selenium-Setup-Webdriver/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php(287): Facebook\WebDriver\Exception\WebDriverException::throwException(13, NULL, Array)
#1 /home/naaiporg/Selenium-Setup-Webdriver/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php(97): Facebook\WebDriver\Remote\HttpCommandExecutor->execute(Object(Facebook\WebDriver\Remote\WebDriverCommand))
#2 /home/naaiporg/public_html/TestDriver.php(15): Facebook\WebDriver\Remote\RemoteWebDriver::create('http://naaip.or...', Object(Facebook\WebDriver\Remote\DesiredCapabilities), 5000)
#3 {main}
  thrown in /home/naaiporg/Selenium-Setup-Webdriver/vendor/facebook/webdriver/lib/Exception/WebDriverException.php on line 118

How could the issue be reproduced? (Steps to reproduce)
<?php
// An example of using php-webdriver.
// Do not forget to run composer install before and also have Selenium server started and listening on port 4444.
namespace Facebook\WebDriver;
ini_set("log_errors", 1);

require_once('/home/naaiporg/Selenium-Setup/vendor/autoload.php');
require_once('/home/naaiporg/Selenium-Setup-Webdriver/vendor/autoload.php');
use Facebook\WebDriver\Chrome\ChromeDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
// start Chrome with 5 second timeout
$host = 'http://localhost:4444/wd/hub/'; // this is the default
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
// navigate to 'http://www.seleniumhq.org/'
$driver->get('https://www.seleniumhq.org/');
// adding cookie
$driver->manage()->deleteAllCookies();
$cookie = new Cookie('cookie_name', 'cookie_value');
$driver->manage()->addCookie($cookie);
$cookies = $driver->manage()->getCookies();
print_r($cookies);
// click the link 'About'
$link = $driver->findElement(
    WebDriverBy::id('menu_about')
);
$link->click();
// wait until the page is loaded
$driver->wait()->until(
    WebDriverExpectedCondition::titleContains('About')
);
// print the title of the current page
echo "The title is '" . $driver->getTitle() . "'\n";
// print the URI of the current page
echo "The current URI is '" . $driver->getCurrentURL() . "'\n";
// write 'php' in the search box
$driver->findElement(WebDriverBy::id('q'))
    ->sendKeys('php') // fill the search box
    ->submit(); // submit the whole form
// wait at most 10 seconds until at least one result is shown
$driver->wait(10)->until(
    WebDriverExpectedCondition::presenceOfAllElementsLocatedBy(
        WebDriverBy::className('gsc-result')
    )
);
// close the browser
$driver->quit();
?>

Details

Php-webdriver version: Dev-Master
PHP version: 5.6.36
Selenium server version: 2.48.2
Operating system: CentOS 6.9
Browser used + version: Chrome

Hi,
from the versions info you provided, it looks like you are using incompatible selenium + chrome.
Please ty to use newer Chrome with compatible Chromedrive and latest Selenium server.

Thanks Ondra!  Can you tell me wht versions of Chromedrive I should be using for this?  Chromedrive 2.40 works with the latest version of Selenium?

Yes.


Add process-timeout configuration

To prevent composer serve timing out after 300 seconds

Similar to https://github.com/slimphp/Slim-Skeleton/pull/53

As commented in #76, composer has a timeout for a reason:
If you run composer serve, you end up running a PHP server running on top of another PHP instance (used by composer). I guess this is fine for some quick checks but not for developing.

There's another problem with this: it affects all composer operations, including install/update. These you may want to have timeout if servers are unreachable. I'm thinking it may make more sense to document that you can use composer serve for short, targeted spot-checking, but should use the actual PHP command line and/or a real server (potentially via the Vagrant or Docker integrations!) for longer running purposes.


Is full data flow tracing feasable?

I quite like Lua, but writing out EmmyLua documentation can be tedious. I know of the plugin, to preprocess annotated code, but that would require a compiling step before executing lua code. So I was wondering, how much the language server could infer without writing any EmmyLua Docs at all:

In the end, classes are really just tables and there is nothing sepecial about a class table, except that it can be a metatable for something else.
Consider this function again:
local function someConstructor(obj)
	return setmetatable(obj, MyClass)
end

The server has no idea how this function ever get's called, so i wouldn't expect any documentation completion for obj.
When it get's called however, the language server could emulate the function itself to find out what would happen:
someConstructor {
	test = true
}

Now it can add the type { test: true } to the parameter obj and reparse the function to find out if there is something wrong.
When there would be something wrong:
someConstructor(12)

The server could immediatly throw a warning: Attempt to set metavalue of a numeric value or something like that, since it knows what would happen if it get's called.
I believe, as long as only known values are concerned, the language server could trace them all through the program.
A few issues I would consider are:

What about recursive functions?
What if the function call tree grows larger and larger?
What about unknown values?

For the first issue I would say: recursive functions won't be parsed (or looping functions in the sense of a calls b calls a again).
Maybe at a later stage one could add some checks to also parse recursive functions, that will definitly halt after n steps, if it can be deduced. A simple recursive function that will halt at a glance:
local function halting(n)
    if n <= 0 then
        return 0
    else
        return n + halting(n-1)
    end
end

A stupid function, that would eventually return after calling itself n times.
And here lies the key for the second issue: If we have a function that tells us, a given function will definitly return after n steps, we can set a limit that the language server will execute this function or not.
Concerning the last issue: We don't know all values in advance, but we know all types in advance.
In a straight lua file ... will always be a vararg containing 0 to n strings, assuming it is called directly from lua. io.read will also always return a string value, so the language server could tell that someConstructor(io.read()) would also produce an error.
In my head this all makes sense and it feels like it should be possible, allthough it is probably quite hard.
Do you think it is feasable? Are there maybe any plans to extend the current tracing functionality beyond what is traced now, or is it just a wishfull dream, that is too performance heavy to accomplish (or maybe even impossible)?
My greatest doubt is, that we have too few deductive methods to deduce that a program will halt in n steps, that it won't help in allday programming, cause the halting problem is a real problem.

I'm glad to share my design ideas and experience with you. I have written a small part on a whim before, and I will finish it slowly and translate it into English in the future: https://github.com/sumneko/blog/blob/master/2021.10.25 Lua语言服务的回顾思考.md
If I have to find a reason, I will say it's a performance issue.
Running simulated code for each token will incur O(n^2) overhead, and I hope to maintain the overhead at O(n) .

Thanks for sharing! I have read the article, using google translator, and therefore maybe misunderstood some things.
You mention, you don't allways know the execution order, given multiple lua files. As far as I know, there are mostly single entry points in Lua. lua myfile.lua, love . which calls first conf.lua and then main.lua. So it wouldn't be asking to much of the user to specify the "entry point". For single projects this would be fine, for projects, which have multiple subprojects (e.g. multiple script entrys), maybe adding targets, would help.
Considering the problem with having up to 20 different types for a single variable, is it maybe possible to parse if statements to eliminate types as you are doing right now with parsing nilables?
Something like:
local var -- With { test: string } | { other: string } | boolean | number
if var then
  -- Now { test: string } | { other: string } | true | number
  if var.test then -- Warning, because it could be true | number
     -- Now { test: string }
  end
  if var == true then
    -- Now true
  end
  if var < 10 then -- Warning, because true and {...} has no metatable
    -- Now number
  end
end

In the future, I can try to statically analyze the relationship between parameters and return values and establish an implicit generic type.
But I don't want to run the function flow every time a function is called. This performance overhead is uncontrollable.

I would like to take a closer look at the language server, but last time i tried to understand why the renaming issue happened, I couldn't fully understand how the internal structure works. Do you have some suggestions, what to check out first?

I would like to take a closer look at the language server, but last time i tried to understand why the renaming issue happened, I couldn't fully understand how the internal structure works. Do you have some suggestions, what to check out first?

Open this project in VSCode, install Lua-debug, set breakpoint at test\definition\local.lua:1, press F5

I was hoping for pointing out some important files, functions or classes. I've got to the debugging step myself and created a testcase where the bug appeared.

Thank you!
I had the idea to allow renaming generics inside function strings:
---@generic T
---@param t `T`
local function f(name) end
---@class MyClass

f "MyClass"

So that inside the parameter f, I would have autocompletion for any class and when renaming, the content of the string would also change.
I tried to implement it, but I didn't know where to look. In your File Structure wiki page, I searched for completion, and didn't found anything. Currently i am going down the rabbit whole, how require gets autocompletion inside the string.
On another note: How do I launch the compiled language server inside a new VSCode window? I want to test some things, for whicht the unit test framework is too rigid.

So that inside the parameter f, I would have autocompletion for any class and when renaming, the content of the string would also change.

This feature requires "find reference of MyClass".

I tried to implement it, but I didn't know where to look. In your File Structure wiki page, I searched for completion, and didn't found anything. Currently i am going down the rabbit whole, how require gets autocompletion inside the string.

script\core\completion\completion.lua:912

On another note: How do I launch the compiled language server inside a new VSCode window? I want to test some things, for whicht the unit test framework is too rigid.

See https://github.com/sumneko/lua-language-server/wiki/Debug


how do i disable writing to filesystem?

Im getting the following Error:
**

Unable to write file '\workspace\model63.PatCommands' (NoPermissions (FileSystemError): Not allowed)
FileOperationError@webpack://patc/./node_modules/monaco-editor/esm/vs/platform/files/common/files.js?:428:9
writeFile@webpack://patc/./node_modules/@codingame/monaco-vscode-files-service-override/vscode/src/vs/platform/files/common/fileService.js?:325:19

**
my package.json looks as follows:
{
    "name": "patc",
    "version": "0.1.0",
    "private": true,
    "dependencies": {
        "@codingame/monaco-vscode-configuration-service-override": "~1.85.0",
    "@codingame/monaco-vscode-editor-service-override": "~1.85.0",
    "@codingame/monaco-vscode-keybindings-service-override": "~1.85.0",
        "@typefox/monaco-editor-react": "^2.6.0",
        "@types/react": "^18.2.22",
        "@types/react-dom": "^18.2.7",
        "blue-react": "^9.1.2",
        "clean-webpack-plugin": "^4.0.0",
        "copy-webpack-plugin": "^12.0.2",
        "html-loader": "^5.0.0",
        "html-webpack-plugin": "^5.6.0",
        "mini-css-extract-plugin": "^2.7.7",
        "monaco-editor-workers": "^0.45.0",
        "monaco-editor": "npm<EMAIL_ADDRESS><1.86.0",
        "monaco-editor-wrapper": "~3.6.0",

        "node-polyfill-webpack-plugin": "^3.0.0",
        "npm-run-all": "^4.1.5",
        "patorg-web-api-js": "^2.4.0",
        "react": "^18.2.0",
        "react-bootstrap-icons": "^1.10.3",
        "react-dom": "^18.2.0",
        "react-router-dom": "^6.22.0",
        "react-scripts": "5.0.1",
        "sass": "^1.68.0",
        "sass-loader": "^14.0.0",
        "vscode": "npm<EMAIL_ADDRESS><1.86.0",
        "vscode-languageclient": "^9.0.1",
        "vscode-languageserver-protocol": "^3.17.5",
        "webpack": "^5.90.0",
        "webpack-cli": "^5.1.4",
        "worker-loader": "^3.0.8"
    },
    "scripts": {
        "start": "webpack serve --config webpack.config.js --mode development",
        "backend-start": "node server.js",
        "build": "react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
    },
    "eslintConfig": {
        "extends": "react-app"
    },
    "browserslist": {
        "production": [
            ">0.2%",
            "not dead",
            "not op_mini all"
        ],
        "development": [
            "last 1 chrome version",
            "last 1 firefox version",
            "last 1 safari version"
        ]
    },
    "devDependencies": {
        "ts-loader": "^9.5.1"
    },
    "overrides": {
        "monaco-editor": "$monaco-editor",
        "vscode": "$vscode"
    },
    "resolutions": {
        "monaco-editor": "npm<EMAIL_ADDRESS><1.86.0",
        "vscode": "npm<EMAIL_ADDRESS><1.86.0"
    }
}

i have no webpack-resolutions in place. can anyone tell  me how i stop editor from trying to write to my filesystem?

service-overrides were in wrong order


Fix only first product in the list of products using getProductDetail could be bought

Poke @aogilvie if you have few minutes to check this. We had quite a bug where only the first product in the list of products we asked details for could be bought.

+1 LGTM

Thanks mate! :beer:


Fix docker with removal of ETH bridge so tests are able to run on CI

User Story

As an <audience/user>:  dev
I want to <action/task>: be able to run automated tests
so that <outcome/goal/benefit>: we can easily integrate PRs

Type

[x] Enhancement
[ ] Maintenance
[ ] Refactor

Description
We removed the dependency on the ETH bridge.
Solution
Update our docker commands and readme
Definition of Done

[ ] update docker commands
[ ] update readme
[ ] travis CI now passes.

Attach files or screenshots if it's helpful for this issue.

@perfectmak is this something you can help me with this iteration?


Prepare for protobuf editions support

When I have time, I need to review the details of https://protobuf.dev/editions/overview/ and ensure we do not need to do anything in the plugin to continue to support Protobuf as it moves from proto2/proto3 to editions support.
This should if possible include support for prototiller once available.
Existing functionality must be kept.
It is likely we do not need to do anything with this, but it needs to be checked.

This appears to not need any change for now, so closing.


Update jQuery

The current version is 3.4.1, as the name of src/js/jquery-3.4.1.min.js: implies.
Meanwhile, jQuery 3.5.0 has been released and fixes a security issue:
https://github.com/jquery/jquery/releases
Unfortunately, it's a breaking change:

NOTE: Despite being a minor release, this update includes a breaking change that we had to make to fix a security issue (CVE-2020-11022). Please follow the blog post & the upgrade guide for more details.

Perhaps upgrade to the latest jQuery 3.6.0?

+1 for staying up to date, but we'd have to test if the upgrade breaks our "version panel" in the BIDS spec, see: #232, where the file you mention was added.

How do I test that offline? I'm afraid I'm not that good at website programming...

By the way, why is jQuery not tracked as a dependency by GitHub's Dependabot?
https://github.com/bids-standard/bids-specification/network/dependencies
It looks into these files:

npm-requirements.txt
requirements.txt
tools/requirements.txt

I'm wondering whether there's a way to have it look elsewhere too.

Probably because it's vendored, rather than "required". I'm not sure how to set it up to be required.

Couldn't find anything in About the dependency graph or the following pages either.

Otherwise, for jQuery to be tracked, can't we add jquery in npm-requirements?

Looks like we'd need to use a package.json or something to track javascript dependencies: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems
I would say if we want to do that with this, we put that in the same directory as the jquery file.

Yes, I've seen this table refers to package.json instead of npm-requirements which is missing. I'm concerned a package.json file might somehow shadow the npm-requirements file, but then I don't know much about the JavaScript ecosystem.

npm-requirements.txt is just our hack to have a simple format in the main repository, as opposed to hidden in the CI. It's just used for running a linter, and no tools respect it. GitHub is treating it like a Python requirements.txt.

Ah, now I get why it doesn't understand it:

npm-requirements.txt has no dependencies or is too large to display

OK to merge now, since the old version is associated to a security issue?


#410: Attempting to make RAML and code for support-logging agree

This is my first strike at the problem. I removed a lot of error messages that don't seem possible since there doesn't appear to be error handling for those execution paths, would we rather add error handling for those?

recheck

@brandonforster FYI, build is failing due code changes breaking unit tests. You can execute unit tests locally by running "make test".  Also, as discussed Friday afternoon, need to not bury the errors in mongo.go in order to return those 500s. See remove() and find() methods.

@brandonforster This looks pretty good although there are a couple delete endpoints in the RAML only returning 200s and a 500 response should be included. These are the endpoints:
/logLevels/{logLevels}/originServices/{originServices}/labels/{labels}/{start}/{end}:
/originServices/{originServices}/{start}/{end}:

Also do a git pull --rebase upstream master and then push to origin to clear the "out of date" message above.

recheck


brew-test-bot: use tap.default_remote for pull requests

Use tap.default_remote for pull requests.
CC @sjackman

On Linux the remote of the tap homebrew/core is https://github.com/Linuxbrew/homebrew-core not https://github.com/Homebrew/homebrew-core.

This same fix is used downstream in Linuxbrew/test-bot, which we're trying to merge into Homebrew/test-bot.

Thanks @maxim-belkin!


What is the 'raw' event?

If I use chokidar to index a small unix file system in a docker container, the ready event isn't fired. Instead, I get multiple instances of the raw event. What does this event mean?
FWIW, I have ignorePermissionErrors set to true.

The raw event is a pass-through of the events emitted by the underlying watch mechanisms chokidar uses. If you were to use node's fs.watch() directly, that's what it would be emitting.
It is not related to the ready event. Never receiving a ready event is a bug, and there are a couple existing issues discussing circumstances that cause that to happen.

I see, thanks.
Incidentally, I can't seem to find any documentation on a "raw" event emitted by fs.watch(), do you know of any?

The first argument passed with the raw event from chokidar is the name of the event as it was passed from fs.watch() (or fsevents or fs.watchFile() depending on the watch mode chokidar is in).
raw is intended more for debugging purposes than for relying upon in regular software usage
Usage example from the readme:
  watcher.on('raw', (event, path, details) => {
    log('Raw event info:', event, path, details);
  });

details does not have a fixed object structure since it depends on what gets passed along from the various watch modes.

Awesome. Thanks.


ALBERT from TF Hub doesn't work with GradientTape

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Debian GNU/Linux 9.12
TensorFlow installed from (source or binary): Automatic installation for GCP deep learning vm
TensorFlow version (use command below): 2.1.0
Tensorflow Hub version: 0.8.0
Python version: 3.7.6
CUDA/cuDNN version: 10.1
GPU model and memory: Nvidia V100

Describe the current behavior
I get an error when trying to run ALBERT from TF-Hub inside a tf.GradientTape() context. The error occurs at the "forward pass" before calling tape.gradient() . The error does not occur when the model call is placed outside of the tf.GradientTape() context.
Describe the expected behavior
No such error should occur and the model should run and gradients should be calculated properly.
Standalone code to reproduce the issue
import tensorflow as tf
import tensorflow_hub as hub
from tensorflow import keras
import numpy as np

def get_model():
    global max_seq_length
    global batch_size
    input_word_ids = keras.layers.Input(batch_shape=(batch_size, max_seq_length, ),
                                           dtype=tf.int32,
                                           name="input_word_ids")
    input_mask = keras.layers.Input(batch_shape=(batch_size, max_seq_length, ),
                                       dtype=tf.int32,
                                       name="input_mask")
    segment_ids = keras.layers.Input(batch_shape=(batch_size, max_seq_length, ),
                                        dtype=tf.int32,
                                        name="segment_ids")
    albert_layer = hub.KerasLayer("https://tfhub.dev/tensorflow/albert_en_base/1",
                                  trainable=True,
                                  name='albert_layer')
    pooled_output, sequence_output = albert_layer([input_word_ids, input_mask, segment_ids])
    output = keras.layers.Dense(2)(sequence_output)

    model = keras.Model(inputs=(input_word_ids, input_mask, segment_ids),
                        outputs=output)
    print(model.summary())
    return model

batch_size = 4
max_seq_length = 16
model = get_model()

input_ids = 5 * np.ones((4, 16), dtype=np.int32)
input_mask = np.ones((4, 16), dtype=np.int32)
segment_ids = np.zeros((4, 16), dtype=np.int32)

with tf.GradientTape(persistent=True) as tape:
    logits = model({
                  'input_word_ids' : input_ids,
                  'input_mask' : input_mask,
                  'segment_ids' : segment_ids
    })
    print(logits)

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
Traceback (most recent call last):
  File "albert_gradient_tape_test.py", line 42, in <module>
    'segment_ids' : segment_ids
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py", line 822, in __call__
    outputs = self.call(cast_inputs, *args, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/network.py", line 717, in call
    convert_kwargs_to_constants=base_layer_utils.call_context().saving)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/network.py", line 891, in _run_internal_graph
    output_tensors = layer(computed_tensors, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py", line 822, in __call__
    outputs = self.call(cast_inputs, *args, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_hub/keras_layer.py", line 218, in call
    lambda: f(training=False))
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/framework/smart_cond.py", line 56, in smart_cond
    return false_fn()
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_hub/keras_layer.py", line 218, in <lambda>
    lambda: f(training=False))
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/saved_model/load.py", line 438, in _call_attribute
    return instance.__call__(*args, **kwargs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 568, in __call__
    result = self._call(*args, **kwds)
File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 606, in _call
    results = self._stateful_fn(*args, **kwds)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2362, in __call__
    graph_function, args, kwargs = self._maybe_define_function(args, kwargs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2703, in _maybe_define_function
    graph_function = self._create_graph_function(args, kwargs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2593, in _create_graph_function
    capture_by_value=self._capture_by_value),
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/framework/func_graph.py", line 978, in func_graph_from_py_func
    func_outputs = python_func(*func_args, **func_kwargs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 439, in wrapped_fn
    return weak_wrapped_fn().__wrapped__(*args, **kwds)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/saved_model/function_deserialization.py", line 241, in restored_function_body
    return _call_concrete_function(function, inputs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/saved_model/function_deserialization.py", line 72, in _call_concrete_function
    result = function._call_flat(tensor_inputs, function._captured_inputs)  # pylint: disable=protected-access
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/saved_model/load.py", line 99, in _call_flat
    cancellation_manager)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 1697, in _call_flat
    forward_function, args_with_tangents = forward_backward.forward()
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 1423, in forward
    self._inference_args, self._input_tangents)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 1185, in forward
    self._forward_and_backward_functions(inference_args, input_tangents))
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 1379, in _forward_and_backward_functions
    outputs, inference_args, input_tangents)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 882, in _build_functions_for_outputs
    output)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow_core/python/ops/default_gradient.py", line 45, in shape_and_dtype
    "of a variable without handle data:\n%s" % str(t))
ValueError: Internal error: Tried to take gradients (or similar) of a variable without handle data:
Tensor("StatefulPartitionedCall:949", shape=(), dtype=resource)

@Enumaris
Please post TF_Hub related issues in the Hub Repo. Thanks!


Parameter mapping fix in the uniform mesh converter.

Description
This adds a fix to the uniform mesh converter where data was being removed from the source reactor if it was not set on the converted reactor. This allows us to preserve the existing data on the blocks and reactor core if it is unchanged from any work that is performed on the converted reactor core.
Additionally, this moves the axialMesh parameter on the core outside of a "neutronics" parameter category, as we want to avoid changing this during the transfer of data from the uniform mesh reactor core back to the non-uniform mesh reactor core.
This is a significant bug that would lead the reactor core state on non-uniform mesh to be inconsistent with the core assembly meshes.

Checklist

[x] This PR has only one purpose or idea.
Note to @john-science: This mainly has one idea of fixing the bug, but other smaller cleanups were found, in addition to some cross section library reporting, and changes to variable names.
[x] Tests have been added/updated to verify that the new/changed code works.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[x] The release notes are up-to-date with any bug fixes or new features.
[x] The documentation is still up-to-date in the doc folder.
[x] The dependencies are still up-to-date in setup.py.

Do you know if these two changes will break any of our Plugins?

Removed quiet kwarg from geometry and block converters as this was generally unused in the code base and was only implemented for developmental debugging.
Migration of the axialMesh core parameter from the neutronics category to be general to prevent inconsistencies in the axial core mesh and the assembly meshes.

Do you know if these two changes will break any of our Plugins?

Removed quiet kwarg from geometry and block converters as this was generally unused in the code base and was only implemented for developmental debugging.
Migration of the axialMesh core parameter from the neutronics category to be general to prevent inconsistencies in the axial core mesh and the assembly meshes.

I do not know for sure but we can verify.


Python API

I was thinking about making a python version of the trainer that can be used to programmatically edit stuff. Where should I look at to get started?

Uhhhh, what about the trainer needs to be edited?

Nothing this would be a separate thing.

I am new to this myself really. I took a lot from  Bully's jGecko. Also having code from tcp gecko.net helped.
You would need to start with tcp connection code to your wii then you can start to talk to the server bully made that's part of the codehandler
The server responds to lots of commands you send it, bully would have to tell you more
Server commands
https://github.com/BullyWiiPlaza/tcpgecko/blob/master/src/tcp_gecko.cpp#L34


Error message has misleading info

I'm getting the following error when building my docs.
[error]: Unhandled exception in YARDJS::Handlers::ModuleHandler:
[error]:   in `lib/core.js`:0:

var AWS = {util: require('./util')};

The error reports that the issue is at line 0 in lib/core.js. After many hours trying to find what's wrong I'm sure that this reference is not the cause of the problem. Is there a way of getting more information on the error and finding exactly what's causing it?
Many thanks
Mike

If you use yard --debug, it will show the full exception stack trace. You may want to look at the lsegal/yard-js project for more info, or the aws/aws-sdk-js project to report any doc generation issues.


[v1.15] bgpv1: Fix DiffStore to work with multiple server instances

Author backport of https://github.com/cilium/cilium/pull/34177
[ upstream commit 4a9d01c8c362e7f01a50b320c203e25043817776 ]
[ backporter's notes: kept only BGPv1 changes, adapted service
reconciler path, tests in lb_service_test.go and diffstore_test.go ]
As the same DiffStore instance is used to diff services when reconciling for multiple server instances (virtual routers), we need to differentiate the diff per instance (and to be future-proof per reconciler as well) for diff to work properly.
This introduces a new callerID argument to the Diff method of the DiffStore to provide caller-specific diff as well as InitDiff(callerID) and CleanupDiff(callerID) methods to initiate and cleanup caller-specific diffs. To wire this properly in the service reconcilers, new reconciler methods Init(instance) and Cleanup(instance) have been added to the reconciler API.
BGPv1 + BGPv2: Fix incorrect service reconciliation in setups with multiple BGP instances (virtual routers)

/test-backport-1.15


FrameDumper not working with certain caches

FrameDumper works as intended with the 165 cache, but when using a newer cache (e.g., 180) it fails:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 42 out of bounds for length 15 	at net.runelite.cache.definitions.loaders.FrameLoader.load(FrameLoader.java:63) 	at net.runelite.cache.FrameDumper.main(FrameDumper.java:95)
Seems to also happen with other, older caches too. For instance, 172:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9 	at net.runelite.cache.definitions.loaders.FrameLoader.load(FrameLoader.java:63) 	at net.runelite.cache.FrameDumper.main(FrameDumper.java:95)
But it works properly with a 177 cache I tried. I believe it may have something to do with ids being skipped (see this issue for another cache library). Other dumpers may well be affected by this problem.

I can't repro this on the latest cache. Judging by your error I would guess that your frames and framemaps in the caches that are failing are out of sync.

@abextm Did you load the latest cache explicitly? As the cache lib loads 165 by default. I shall try the latest release again once I am back from holiday.

yes I explicitly loaded a 2019-06-13-rev180 and 2019-06-06-rev180 caches

@abextm I just tried again and I still get the same ArrayIndexOutOfBoundsException. Perhaps I am missing something... here is my process: pulled latest repo, navigated to FrameDumper, replaced
try (Store store = new Store(base))
with
try (Store store = new Store(new File("./180cache/")))
where the 180cache is the directory for the 2019-06-13-rev180 cache. I then ran the class.

For me, it crashes on archive 2093 file 0 on the latest cache.

Yes, archive 2093 for me too. For that frame, the frame map archive id is 1803, but during decoding it is read in as 1796. The frame's data can't be corrupted, as it obviously works in the live game, so I presume the issue is linked to how the indices are read in.


Something has changed about true_color

Hi, apologies for what undoubtedly will be a partial issue report, will update it as I figure out what's up, but in updating recently to a more recent release, something has changed about the way to enable true color support.
The example still does things the way I do (by setting a true_color attribute), but that's the only reference to that attribute in the repo.
The reason I notice is because I am proactively making sure I don't set useless attributes when setting config variables, and that safeguard started now failing and telling me that attribute has disappeared. If that's what's happened (the name of the attribute has changed say), it's IMHO a bad antipattern to have to set attributes on someone else's object like this rather than the object taking them as arguments to __init__, for exactly the reason in this ticket -- namely, the attribute disappears, and no one notices.
So, tl;dr, I am like 60% sure that perhaps what's changed is that now the expected API is to set the color_depth attribute to ColorDepth.24_Bit, in which case this issue boils down to:

the config example is out of date
it uses an "unsafe" way to configure the REPL, so ideally the REPL would grow a safer one

Hi @Julian,
Thanks for reporting this issue! I fixed the example configuration file.
You are absolutely correct that setting attributes like this is not that clean. The reason I have chosen this design is that it allows people to change "any" internal detail of the REPL in the configuration file. It would indeed be cleaner to create some kind of "Configuration" class, and have the configuration file instantiate and return that.
At this point, I'm considering toml configuration files and using tomlkit to change these files whenever the user changes something in the settings menu. This works well for most settings, but I'd still need a Python config file for the people that have custom key bindings.

At this point, I'm considering toml configuration files and using tomlkit to change these files whenever the user changes something in the settings menu.

That'd be great!
And thanks! Think that confirms I was on the right track, closing this I suppose since it sounds like you've got a plan for part B.
Appreciated!


OpenFailedError: when using dexie-obeservable

I have an electron app with implementation of my own sync protocol with MongoDB. When I try to open my app without an internet connection (no connection to the server socket). Dexie throws OpenFailedError, but If my app opens, and dexie connect's to my server socket, it works just fine.
How do I make Dexie open without connection to the server socket?
My code

I found the solution.

I found the solution.

Don't share or anything.

hey @Hubertformin would you mind sharing your solution? That is the best way to help Open Source Projects to thrive.
Thanks.


Single Source of Truth for Site & Test Page

Currently both use their own filters list:
test page:
  {% set filters = [
    {name: 'aden',       is_done: true},
    {name: 'amaro',      is_done: false},
    {name: 'brannan',    is_done: false},
    {name: 'crema',      is_done: false},
    {name: 'earlybird',  is_done: true},
    {name: 'hefe',       is_done: false},
    {name: 'hudson',     is_done: true},
    {name: 'inkwell',    is_done: true},
    {name: 'juno',       is_done: false},
    {name: 'lark',       is_done: true},
    {name: 'lofi',       is_done: true},
    {name: 'ludwig',     is_done: false},
    {name: 'mayfair',    is_done: true},
    {name: 'nashville',  is_done: true},
    {name: 'perpetua',   is_done: true},
    {name: 'reyes',      is_done: true},
    {name: 'rise',       is_done: false},
    {name: 'sierra',     is_done: false},
    {name: 'slumber',    is_done: false},
    {name: 'valencia',   is_done: false},
    {name: 'willow',     is_done: false},
    {name: 'xpro2',      is_done: true},
  ] %}

demo site:
  {% set filters = [
    {name: 'Aden',       usage: 'aden'},
    {name: 'Reyes',      usage: 'reyes'},
    {name: 'Perpetua',   usage: 'perpetua'},
    {name: 'Inkwell',    usage: 'inkwell'},
    {name: 'Earlybird',  usage: 'earlybird'},
    {name: 'Toaster',    usage: 'toaster'},
    {name: 'Walden',     usage: 'walden'},
    {name: 'Hudson',     usage: 'hudson'},
    {name: 'Gingham',    usage: 'gingham'},
    {name: 'Mayfair',    usage: 'mayfair'},
    {name: 'Lo-Fi',      usage: 'lofi'},
    {name: 'X-Pro2 II',  usage: 'xpro2'},
    {name: '1977',       usage: '_1977'},
    {name: 'Brooklyn',   usage: 'brooklyn'},
    {name: 'Nashville',  usage: 'nashville'},
    {name: 'Lark',       usage: 'lark'},
  ] %}

These could likely be combined:
  {% set filters = [
     {name: 'Aden',      is_done: true,      usage: 'aden'},
     {name: 'Amaro',     is_done: false,     usage:'tbd'},
  ] %}

And only the finished filters would show up with usage on the demo site. That being said, we need parity with all of the test files and existing filters that exist first See #96

:+1: Sounds good, I'll do this if you want

That would be awesome -- do you have access to iOS app?
There are a few "hidden" filters you have to enable in the newest version

Go for it! :smile:
Thanks!

any movement on this, @m1?

@una Yeah will commit this weekend

@una #145


Version 0.0.3

Initial fully working system

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@eb2b2d9). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 0c30f1c differs from pull request most recent head e7ff9b2. Consider uploading reports for the commit e7ff9b2 to get more accurate results

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage        ?   98.52%
=======================================
  Files           ?       25
  Lines           ?      407
  Branches        ?        0
=======================================
  Hits            ?      401
  Misses          ?        6
  Partials        ?        0

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 eb2b2d9...e7ff9b2. Read the comment docs.


koord-scheduler: Add koordinator-root-quota CRD (#1519)

Ⅰ. Describe what this PR does

Add the koordinator-root-quota CRD in koordinator.
Ⅱ. Does this pull request fix one issue?

fixes #1519
Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/retest


update names of vicuna models, fixes #295

Fixes issue #295.
I tested the updated files. They both download and run with the current version of serge/llama used by serge.

@Migelo thanks!


Distinct variables not treated as such

Consider the following declarations:
Row goes from 1 to 8.
Column goes from 1 to 8.

Queen goes from 1 to 8.

Every queen can be assigned_row exactly 1 row.
Every queen can be assigned_column exactly 1 column.

The following rule:
Queen Q1 is sharing_row with queen Q2 when
    queen Q1 is assigned_row row R1 and also
    queen Q2 is assigned_row row R2.

Compiles (with the online tool) in a way that seems to violate my intuition:
sharing_row(Q2,Q2) :-
    queen(Q1),
    assigned_row(Q1,R1),
    queen(Q2),
    assigned_row(Q2,R1),
    row(R1).

The issue here is that Q2 is used in both arguments of the predicate sharing_row/2. Intuitively, I would think it should compile as sharing_row(Q1,Q2).
Changing the CNL rule to use the another:
Queen Q1 is sharing_row with another queen Q2 when
    queen Q1 is assigned_row row R1 and also
    queen Q2 is assigned_row row R2.

Compiles to:
sharing_row(Q2,Q2) :-
    queen(Q1),
    assigned_row(Q1,R1),
    queen(Q2),
    assigned_row(Q2,R1),
    row(R1).

This is better, but it still doesn't capture the semantics of another in that the rule is missing the inequality between Q1 and Q2.

Thank you for the feedback! It is now fixed and should work properly.


Improve PackedScene unit test by covering more methods

Adding additional unit test for PackedScene for these methods:

set_path()
replace_state()
recreate_state()

Link back to #43440

Thanks!


Adding a non-existent tag produces confusing end-user errors

E.g.
[service:catalog] 2019-02-27 23:37:14+0000 [-] Exception: could not get manifest/digest for image (docker.io/library/elasticsearch:latest) from registry (https://index.docker.io) - error: Error encountered in skopeo operation. cmd=/bin/sh -c skopeo inspect --raw --tls-verify=false  docker://docker.io/library/elasticsearch:latest, rc=1, stdout=None, stderr=b'time="2019-02-27T23:37:14Z" level=fatal msg="Error reading manifest latest in docker.io/library/elasticsearch: manifest unknown: manifest unknown" \n'

The client sees a 400 (BAD_REQUEST) response to the image add. However it's not discernible from the error that the tag specified does not actually exist.

hi @juledwar!
We spoke a bit about this on another channel, but I wanted to follow up here: in the original post, that image (docker.io/library/elasticsearch:latest) doesn't exist, and the behavior of the system from the API/user perspective is currently:
[root@tele anchore-engine]# anchore-cli image add docker.io/library/elasticsearch:latest
Error: cannot fetch image digest/manifest from registry
HTTP Code: 400
Detail: {u'raw_exception_message': u'could not get manifest/digest for image (docker.io/library/elasticsearch:latest) from registry (https://index.docker.io) - error: Error encountered in skopeo operation. cmd=/bin/sh -c skopeo  inspect --raw --tls-verify=true --creds "${SKOPUSER}":"${SKOPPASS}" docker://docker.io/library/elasticsearch:latest, rc=1, stdout=None, stderr=b\'time="2019-03-28T21:40:52Z" level=fatal msg="Error reading manifest latest in docker.io/library/elasticsearch: manifest unknown: manifest unknown" \\n\''}

[root@tele anchore-engine]# anchore-cli --json image add docker.io/library/elasticsearch:latest
{
    "detail": {
        "raw_exception_message": "could not get manifest/digest for image (docker.io/library/elasticsearch:latest) from registry (https://index.docker.io) - error: Error encountered in skopeo operation. cmd=/bin/sh -c skopeo  inspect --raw --tls-verify=true --creds \"${SKOPUSER}\":\"${SKOPPASS}\" docker://docker.io/library/elasticsearch:latest, rc=1, stdout=None, stderr=b'time=\"2019-03-28T21:40:58Z\" level=fatal msg=\"Error reading manifest latest in docker.io/library/elasticsearch: manifest unknown: manifest unknown\" \\n'"
    },
    "httpcode": 400,
    "message": "cannot fetch image digest/manifest from registry"
}

While there are several conditions that will generate a 400 with the general error 'cannot fetch image digest/manifest from registry', the 'detail' section has more specific information in it about the nature of the core issue (registry access auth issue,  manifest unknown, timedout, etc) from the backend operation.
Can please you provide some more insight into the ask / use case here?

Hi there - yes, sorry, the elasticsearch example is bad!
The use case is for clients using the API, not the CLI. The 400 returned doesn't tell me whether the request was bad, or the upstream service had a blip. In the latter case it should probably return SERVICE_UNAVAILABLE (503) because the request is not inherently bad.
Hopefully this makes more sense!

hi @juledwar,
That does help to clarify, thanks!  The reason that I'd hesitate to use the 500 codes is that generally I would think that the 500 would indicate a service unavailable failure in the anchore service itself, which in these cases (where the registries are not accessible) the issue is really about the resource being asked for (an image fetch) rather than the anchore service (which is operating normally).
There are cases like this where I completely agree that it is difficult to find the right error to correctly explain the situation, limited by the HTTP codes and their meanings, but think we should be careful not to introduce an error code that could be misunderstood by other clients (503 for example one could understand that to mean that the service is unavailable - it isn't and many other image tags/registries/etc could be working just fine - the condition here is potentially strictly related to the specific client request details, which is why we chose the 400 series for this particular failure, with the details about why in the message detail).
Still difficult as there isn't a clear correct choice here, but at a high level we've reserved the 500 series of http codes to be strictly related to internal service failures, and 400s to be about failures related to request specific details and if possible I'd like to keep that model.
Perhaps an alternate approach would be to make the detail more programatically usable so that different 'cannot fetch the manifest' cases can be handled in different ways depending on the exact nature of the failure.

Hi
I would argue that if the registry is inaccessible then the service is unavailable as Anchore cannot work without it.
The description for 503 is:
The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.

I can understand why you might not want to use this as it's not necessarily an "overload or maintenance", but equally 400 is wrong as there is nothing intrinsically bad with the request - the server simply cannot complete the request at this time due to a fault, which implies 5xx to me. Maybe 504? (gateway timeout)
https://httpstatuses.com/
Cheers.

I understand the position, but the part of the 50X that makes those cods not fit the case is that in anchore's case, there isn't necessarily just 'a' registry (commonly there are many registry credentials in place and images being pulled in from multiple registry sources).  For the specific case being referenced (one of the registries, which is chosen based on input from the request, is flapping, or that particular tag isn't available) the system could be handling other registries or even images from the same with success.  The current http code model in the engine uses 500s to indicate more anchore service oriented issues (generally unrelated to the specifics of the request) which is fundamentally why I'd hesitate in this case to switch.
I'm curious if you had (in parallel) any thoughts on my proposal, as I think a good solution for these types of ambiguities (where an HTTP code isn't quite right or expressive enough) can be found in extending the information in the error envelope itself, in order to allow for more detailed/differentiated client handling based on the specific error condition.

Fair comments Dan. At the end of the day as long as we can distinguish via the API what the problem is, then it's all good. Obviously trying to be as RFC compliant as possible is beneficial.
Thank you for looking into this!

From: Dan Nurmi<EMAIL_ADDRESS>Sent: Friday, 29 March 2019 11:27
To: anchore/anchore-engine
Cc: Julian Edwards (juledwar); Mention
Subject: Re: [anchore/anchore-engine] Adding a non-existent tag produces confusing end-user errors (#150)
I understand the position, but the part of the 50X that makes those cods not fit the case is that in anchore's case, there isn't necessarily just 'a' registry (commonly there are many registry credentials in place and images being pulled in from multiple registry sources). For the specific case being referenced (one of the registries, which is chosen based on input from the request, is flapping, or that particular tag isn't available) the system could be handling other registries or even images from the same with success. The current http code model in the engine uses 500s to indicate more anchore service oriented issues (generally unrelated to the specifics of the request) which is fundamentally why I'd hesitate in this case to switch.
I'm curious if you had (in parallel) any thoughts on my proposal, as I think a good solution for these types of ambiguities (where an HTTP code isn't quite right or expressive enough) can be found in extending the information in the error envelope itself, in order to allow for more detailed/differentiated client handling based on the specific error condition.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/anchore/anchore-engine/issues/150#issuecomment-477830189, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AQnGUT6o0kO7c-vYQlJFRYy_nILaUY-Yks5vbWwBgaJpZM4bVxkv.

Hi @juledwar - appreciate you working with us on this (and other) topics!  I'll make some proposals on more structured error details here for review after reviewing the codepaths and making sure we can cleanly differentiate some important registry access failure cases.

HI @juledwar - I'm following up with a prototype proposal here - I've implemented a structure in anchore that allows anchore error codes to be made accessible through to the API results, where an example follows which I believe satisfies the use case discussed for review - after some testing we'll commit this feature to master as well.  Looking forward to feedback!
anchore@f03a1fb480e6:~$ curl -u admin:foobar http://localhost:8228/v1/system/error_codes
[
  {
    "description": "The registry has reported permission denied for the requested registry resource",
    "name": "REGISTRY_PERMISSION_DENIED"
  },
  {
    "description": "The requested image (tag, digest) cannot be found in the requested registry",
    "name": "REGISTRY_IMAGE_NOT_FOUND"
  },
  {
    "description": "The registry is not accessible on the network from the anchore engine service",
    "name": "REGISTRY_NOT_ACCESSIBLE"
  },
  {
    "description": "Anchore cannot access the specified registry as supporting the v2 registry API",
    "name": "REGISTRY_NOT_SUPPORTED"
  },
  {
    "description": "The skopeo command has failed due to an error that is not explicitly handled, see the command output/error for more information",
    "name": "SKOPEO_UNKNOWN_ERROR"
  },
  {
    "description": "An unknown error has occurred, please consult the anchore service logs for more information",
    "name": "UNKNOWN"
  }
]
anchore@f03a1fb480e6:~$ anchore-cli --json image add <IP_ADDRESS>/node:latest
{
    "detail": {
        "error_codes": [
            "REGISTRY_NOT_ACCESSIBLE"
        ],
        "raw_exception_message": "Error encountered in skopeo operation. cmd=/bin/sh -c skopeo  inspect --raw --tls-verify=false  docker://<IP_ADDRESS>/node:latest, rc=1, stdout=None, stderr=b'time=\"2019-04-11T17:58:39Z\" level=fatal msg=\"pinging docker registry returned: Get http://<IP_ADDRESS>/v2/: dial tcp <IP_ADDRESS>:80: connect: no route to host\" \\n', error_code=REGISTRY_NOT_ACCESSIBLE"
    },
    "httpcode": 400,
    "message": "cannot fetch image digest/manifest from registry"
}
anchore@f03a1fb480e6:~$ anchore-cli --json image add <IP_ADDRESS>/node:latest
{
    "detail": {
        "error_codes": [
            "REGISTRY_NOT_ACCESSIBLE"
        ],
        "raw_exception_message": "Error encountered in skopeo operation. cmd=/bin/sh -c skopeo  inspect --raw --tls-verify=false  docker://<IP_ADDRESS>/node:latest, rc=1, stdout=None, stderr=b'time=\"2019-04-11T17:58:52Z\" level=fatal msg=\"pinging docker registry returned: Get http://<IP_ADDRESS>/v2/: dial tcp <IP_ADDRESS>:80: connect: connection refused\" \\n', error_code=REGISTRY_NOT_ACCESSIBLE"
    },
    "httpcode": 400,
    "message": "cannot fetch image digest/manifest from registry"
}
anchore@f03a1fb480e6:~$ anchore-cli --json image add docker.io/alpine:tag_that_doesnt_exist
{
    "detail": {
        "error_codes": [
            "REGISTRY_IMAGE_NOT_FOUND"
        ],
        "raw_exception_message": "Error encountered in skopeo operation. cmd=/bin/sh -c skopeo  inspect --raw --tls-verify=false  docker://docker.io/library/alpine:tag_that_doesnt_exist, rc=1, stdout=None, stderr=b'time=\"2019-04-11T17:59:12Z\" level=fatal msg=\"Error reading manifest tag_that_doesnt_exist in docker.io/library/alpine: manifest unknown: manifest unknown\" \\n', error_code=REGISTRY_IMAGE_NOT_FOUND"
    },
    "httpcode": 400,
    "message": "cannot fetch image digest/manifest from registry"
}
anchore@f03a1fb480e6:~$ anchore-cli --json image add docker.io/some/private/repo:latest
{
    "detail": {
        "error_codes": [
            "REGISTRY_PERMISSION_DENIED"
        ],
        "raw_exception_message": "Error encountered in skopeo operation. cmd=/bin/sh -c skopeo  inspect --raw --tls-verify=false  docker://docker.io/some/private/repo:latest, rc=1, stdout=None, stderr=b'time=\"2019-04-11T17:59:26Z\" level=fatal msg=\"Error reading manifest latest in docker.io/some/private/repo: errors:\\ndenied: requested access to the resource is denied\\nunauthorized: authentication required\\n\" \\n', error_code=REGISTRY_PERMISSION_DENIED"
    },
    "httpcode": 400,
    "message": "cannot fetch image digest/manifest from registry"
}

This is great, would be excellent extra feedback on error conditions. Thanks for looking into it!

I would like to point out that HTTP 422 is designated as the response code for "syntactically valid, yet still bad" requests:
https://httpstatuses.com/422

Thanks @juledwar , @0xDEC0DE - I've merged the proposed method (error_codes) into master - I'll close out this ticket, but for future discussions on the usage of HTTP codes in the anchore API, lets open a new topic as this would be a more central, broader discussion for the mapping of semantics to http codes for the anchore API in general (beyond the specific use case in this ticket, which the error_codes solution should remedy!)

The solution that I have found is :+1:
$ sudo usermod -aG docker $USER
and it works for me

Any lead on this I am also getting this error
[service:catalog] 2021-08-23 15:53:29+0000 [-]
[service:catalog] 2021-08-23 15:53:29+0000 [-] During handling of the above exception, another exception occurred:
[service:catalog] 2021-08-23 15:53:29+0000 [-]
[service:catalog] 2021-08-23 15:53:29+0000 [-] Traceback (most recent call last):
[service:catalog] 2021-08-23 15:53:29+0000 [-]   File "/usr/local/lib/python3.8/site-packages/anchore_engine/services/catalog/catalog_impl.py", line 659, in image
[service:catalog] 2021-08-23 15:53:29+0000 [-]     raise err
[service:catalog] 2021-08-23 15:53:29+0000 [-]   File "/usr/local/lib/python3.8/site-packages/anchore_engine/services/catalog/catalog_impl.py", line 576, in image
[service:catalog] 2021-08-23 15:53:29+0000 [-]     raise err
[service:catalog] 2021-08-23 15:53:29+0000 [-]   File "/usr/local/lib/python3.8/site-packages/anchore_engine/services/catalog/catalog_impl.py", line 555, in image
[service:catalog] 2021-08-23 15:53:29+0000 [-]     image_info = anchore_engine.common.images.get_image_info(
[service:catalog] 2021-08-23 15:53:29+0000 [-]   File "/usr/local/lib/python3.8/site-packages/anchore_engine/common/images.py", line 66, in get_image_info
[service:catalog] 2021-08-23 15:53:29+0000 [-]     raise anchore_engine.common.helpers.make_anchore_exception(
[service:catalog] 2021-08-23 15:53:29+0000 [-] Exception: Error encountered in skopeo operation. cmd=/bin/sh -c skopeo   inspect --raw --tls-verify=true --creds "${SKOPUSER}":"${SKOPPASS}" docker://000186693631.dkr.ecr.eu-central-1.amazonaws.com/anchore-scan:manifest, rc=1, stdout=None, stderr=b'time="2021-08-23T15:53:29Z" level=fatal msg="Error parsing image name \\"docker://000186693631.dkr.ecr.eu-central-1.amazonaws.com/anchore-scan:manifest\\": Error reading manifest manifest in<PHONE_NUMBER>31.dkr.ecr.eu-central-1.amazonaws.com/anchore-scan: manifest unknown: Requested image not found"\n', error_code=REGISTRY_IMAGE_NOT_FOUND


TypeError: NuScenesTDataset: init() takes from 2 to 14 positional arguments but 15 were given

i use a800. i follow the FAQ and execute:
cd third_party/bevfusion
python setup.py develop
after that, i execute "sh scripts/dist_train.sh 8 runner=8gpus_t +exp=rawbox_mv2.0t_0.4.3"
it raise: cann't find mmdet3d.  how to fix it?
after that, i execute   cd third_party/bevfusion; python setup.py install.
the mmdet3d is installed, but when i execute train, it raise this bug:
Traceback (most recent call last):
File "tools/train.py", line 82, in main
train_dataset = build_dataset(
File "/anaconda3_a800/lib/python3.8/site-packages/mmdet3d-0.0.0-py3.8-linux-x86_64.egg/mmdet3d/datasets/builder.py", line 42, in build_dataset
dataset = build_from_cfg(cfg, DATASETS, default_args)
File "/anaconda3_a800/lib/python3.8/site-packages/mmcv/utils/registry.py", line 55, in build_from_cfg
raise type(e)(f'{obj_cls.name}: {e}')
TypeError: NuScenesTDataset: init() takes from 2 to 14 positional arguments but 15 were given
how to fix it?
translate to chinese:
我用a800，一开始按照FAQ页面安装a800的环境，特别是在bevfusion文件夹是按照develop方式安装的，但是在执行训练的时候sh scripts/dist_train.sh 8 runner=8gpus_t +exp=rawbox_mv2.0t_0.4.3 报错说没有mmdet3d，这是为啥？
我想不到办法，只能把bevfusion按照python setup.py install 方式安装，这下mmdet3d问题解决了，但是报出来参数错误：TypeError: NuScenesTDataset: init() takes from 2 to 14 positional arguments but 15 were given
这下没招了，谁知道我是哪步出错了？

I don’t understand. You can find the class definition here, which clearly takes more than 15 positional arguments. Did you change the code?

I don’t understand. You can find the class definition here, which clearly takes more than 15 positional arguments. Did you change the code?

i doesn't change the code. i think the keypoint of the problem is environment. the DOC say "where mmdet3d from third_party/bevfusion is not included since we install it with develop mode.", but the train stage raise error if i don't install mmdet3d in bevfusion by execute "python setup.py install", actually the train stage need mmdet3d. how to solve this problem?  can you execute “scripts/dist_train.sh 8 runner=8gpus_t +exp=rawbox_mv2.0t_0.4.3” without install mmdet3d？
translate it to chinese：
我觉得问题的关键点还是在环境上。按照对a800的环境安装的做法，就是安装bevfusion那段是不包括mmdet3d的，但是训练的时候我不安装mmdet3d代码就会报错，那不安装mmdet3d肯定不行啊。我只能在bevfusion文件夹里执行python setup.py install，但是这样就跟DOC说明不一致了。我觉得问题在这里，你看能不能帮忙分析下咋回事。  你不安装mmdet3d就能训练？

No, bevfusion actually expose the mmdet3d package for you. I know it is strange but this is their design.
Installing mmdet3d from third-party/bevfusion should be fine, no matter develop mode or not.

Let me explain more.
NuScenesTDataset is located in our code rather than mmdet3d. Since it successfully located the class definition, I think mmdet or mmcv should be fine. However, it seems to read a wrong class definition, which I cannot understand. One reason I can think of is name duplication, but I do not think there is a class named NuScenesTDataset other than this project.

Any update on this? Have you solved this issue?

Any update on this? Have you solved this issue?

I went through the code and clearly saw that the code for mmdet3d in the site-packages I installed had been modified, losing the last parameter 'force_all_boxes', but I did not make any changes to the code. I haven't figured out why either. I think one possible reason is the different installation command. In the MagicDrive image model, the installation command for bevfusion is "pip vvv install ." In the MagicDrive video model, the installation command for bevfusion is "pip install -e ." Can you check if changing the installation command line works

-e stands for editing mode, which allows you to edit the source code (i.e., third-party/bevfusion/mmdet3d) after installation. On the contrary, any edition in the source code will not take effect if you install the package without -e (code under site-packages will be a standalone copy for the installation).


1975 populate on remark

Marks are now autofilled to their original values when you remark an assignment.

Great work, @Eitredes