Docker is abusing HTTP 'NotModified' status

Signed-off-by: John Howard<EMAIL_ADDRESS>Docker stop on a running container does not return an error.
@thaJeztah – you’ll like this one! It has been driving me nuts debugging why following this comment: https://github.com/docker/docker/issues/29768#issuecomment-280166005
Short summary: Docker is abusing the HTTP RFCs and as a result errors are not being propagated back to the client. This applies to stopping a stopped container, and starting a started container.  Due to this abuse, the client just prints the container name (or ID), even though the daemon did error on that resource, but no error is returned from the daemon in the HTTP response. The reason for this is the use of HTTP response code 304 (Not Modified).
With this fix, you now get the correct behaviour starting from a running container:
PS E:\> docker ps
CONTAINER ID        IMAGE                         COMMAND               CREATED             STATUS              PORTS               NAMES
28a3d9ec23cf        microsoft/windowsservercore   "ping -t localhost"   19 hours ago        Up 5 seconds                            foo

PS E:\> docker stop foo
foo
PS E:\> docker stop foo
Error response from daemon: Container foo is already stopped
PS E:\>

Where-as without this fix, you get
PS E:\> docker stop foo
foo
PS E:\> docker stop foo
foo
PS E:\>

Similar the new behaviour if you try to start a running container
PS E:\> docker ps -a
CONTAINER ID        IMAGE                         COMMAND               CREATED             STATUS                                   PORTS               NAMES
28a3d9ec23cf        microsoft/windowsservercore   "ping -t localhost"   19 hours ago        Exited<PHONE_NUMBER>) About a minute ago                       foo
PS E:\> docker start foo
foo
PS E:\> docker start foo
Error response from daemon: Container already started
Error: failed to start containers: foo

Without the fix, the second start above would just display “foo” with no error.
And finally, to demonstrate that the fix works with multiple containers (where “foox” and “foobar” don’t exist):
PS E:\> docker ps -a
CONTAINER ID        IMAGE                         COMMAND               CREATED             STATUS                              PORTS               NAMES
28a3d9ec23cf        microsoft/windowsservercore   "ping -t localhost"   20 hours ago        Exited<PHONE_NUMBER>) 7 seconds ago                       foo
PS E:\> docker start foox foo foobar
Error response from daemon: No such container: foox
foo
Error response from daemon: No such container: foobar
Error: failed to start containers: foox, foobar
PS E:\> docker start foox foo foobar
Error response from daemon: No such container: foox
Error response from daemon: Container already started
Error response from daemon: No such container: foobar
Error: failed to start containers: foox, foo, foobar
PS E:\>

Longer version:
From https://tools.ietf.org/html/rfc7232 section 4.1, the first and last paragraphs are the relevant ones. Remember STOP is a POST (not a GET or HEAD). And also that the 3xx series of
response codes are “Redirection” and generally used for caching purposes
4.1.  304 Not Modified

   The 304 (Not Modified) status code indicates that a conditional GET
   or HEAD request has been received and would have resulted in a 200
   (OK) response if it were not for the fact that the condition
   evaluated to false.  In other words, there is no need for the server
   to transfer a representation of the target resource because the
   request indicates that the client, which made the request

Fielding & Reschke           Standards Track                   [Page 18]
________________________________________

RFC 7232              HTTP/1.1 Conditional Requests            June 2014

   conditional, already has a valid representation; the server is
   therefore redirecting the client to make use of that stored
   representation as if it were the payload of a 200 (OK) response.

   The server generating a 304 response MUST generate any of the
   following header fields that would have been sent in a 200 (OK)
   response to the same request: Cache-Control, Content-Location, Date,
   ETag, Expires, and Vary.

   Since the goal of a 304 response is to minimize information transfer
   when the recipient already has one or more cached representations, a
   sender SHOULD NOT generate representation metadata other than the
   above listed fields unless said metadata exists for the purpose of
   guiding cache updates (e.g., Last-Modified might be useful if the
   response does not have an ETag field).

   Requirements on a cache that receives a 304 response are defined in
   Section 4.3.4 of [RFC7234].  If the conditional request originated
   with an outbound client, such as a user agent with its own cache
   sending a conditional GET to a shared proxy, then the proxy SHOULD
   forward the 304 response to that client.

   A 304 response cannot contain a message-body; it is always terminated
   by the first empty line after the header fields

So, from the above, the last paragraph indicates that there is no message-body. This is why docker stop on a running container doesn’t show the error as the encoding of the response in the HTTP writer removes the response. Strictly, attempting to STOP a running container is a client error and should be in the 4xx series when looking at this list: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
1xx Informational
2xx Success
3xx Redirection
4xx Client Error
5xx Server Error

I would argue that either 405 Method not allowed or 409/Conflict are closest. 405 though is defined as “The response MUST include an Allow header containing a list of valid methods for the requested resource.” which isn’t really true.
The Wikipedia definition of 409 is a little vague:
409 Conflict
Indicates that the request could not be processed because of conflict in the request, such as an edit conflict between multiple simultaneous updates.

However, RFC2616 makes it clear this is more appropriate: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
10.4.10 409 Conflict
The request could not be completed due to a conflict with the current state of the resource. This code is only allowed in situations where it is expected that the user might be able to resolve the conflict and resubmit the request. The response body SHOULD include enough
information for the user to recognize the source of the conflict. Ideally, the response entity would include enough information for the user or user agent to fix the problem; however, that might not be possible and is not required.
Conflicts are most likely to occur in response to a PUT request. For example, if versioning were being used and the entity being PUT included changes to a resource which conflict with those made by an earlier (third-party) request, the server might use the 409 response to indicate that it can't complete the request. In this case, the response entity would likely contain a list of the differences between the two versions in a format defined by the response Content-Type

I thought 412 might also be reasonable, but it’s really not a precondition failure on the request-headers.
Hence, I’ve gone with 409: The request could not be completed due to a conflict with the current state of the resource

Phew, this PR is like a 422 :trollface:

After much debate.... closing.
I'll open a new one with the decisions: Stopping a stopped container or starting a started container should not be errors in the daemon. But continue to return a 304 to the caller to not break back compatibility.

After discussing in the maintainers meeting we came to the following consensus (fill me in if I wrote it up incorrectly);

we regard start, and stop as idempotent actions. In other words, both specify a desired state, so if a container is already stopped, or already started, calling the endpoint again, basically is a no-op
304 may not be the best option here (200 / 204 may make more sense), but changing would be a breaking change, with little benefit
the daemon currently reports these cases as an error (writes an error the the logs); we need to change this; if we don't consider it to be an error, it should be ignored.

In general; applying HTTP status codes to an API is often a bad match; we should attempt to keep them consistent, but also realize it's not always possible (some API's actually don't use HTTP status codes at all, and only return 200, with possible errors / messages in the body)

Ugh, and GitHub decided to not show @jhowardmsft's response in my browser, haha


Location contributors

Issue Addressed

Add a Maps page that pinpoints users to the location they identified in the JSON file.
Proposed Changes and Benefits

A map showing where collaborators are.
Screenshots

Page

Card with info

Notes to Reviewers

Checklist

[x] I have thoroughly read and understand The Contribution Guidelines.
[x] The title of this PR follows the keyword: brief description of change format, using one of the following keywords:

Feature - adds new or amends existing user-facing behavior.
Chore - changes that have no user-facing value, refactors, dependency bumps, etc.
Fix - bug fixes.
Docs - fixing typos and adding new content.

[x] I have listed my proposed changes and their benefits.
[x] I have linked the corresponding issue in the Issues section.

Hi @lucasfirmo62,
Excellent, and I'm looking forward to checking it out and reviewing! I'm going to need to make a commit onto the deployment branch of a package install for leaflet to solve a deployment error and then should be able to view once installed.

I've removed your API key, although it can still be searched in the commit history. At least this is an API key that is free and doesn't need to provide any payment. You can view your map contribution here on the live link, Lucas! Great work! This successfully closes issue #24, and we will continue to build upon this feature.


ID 4

Baker ID : 990
Node Adress : c9583bdc93084fe0

rejected:ID4
reason:We cannot fully verify this submission. It looks like you are trying to submit ID4, however, it seems like we cannot find the transaction between your account and Concordium Test Account.

rejected:ID4
reason:We cannot fully verify this submission. It looks like you are trying to submit ID4, however, it seems like we cannot find the transaction between your account and Concordium Test Account.


Added version 2024-06-01-preview for Azure API Center resource manager API

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[x] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[ ] Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiCenter/services/{serviceName}/importFromApim": {

can it be more descriptive ? importFromApiManagement?

Refers to: specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-06-01-preview/apicenter.json:672 in e9b5fd5. [](commit_id = e9b5fd5cf5e20fff511df704b6324bc6ede19159, deletion_comment = False)

"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiCenter/services/{serviceName}/workspaces/{workspaceName}/apiSources/{apiSourceName}": {

no patch API needed?

Refers to: specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-06-01-preview/apicenter.json:1445 in e9b5fd5. [](commit_id = e9b5fd5cf5e20fff511df704b6324bc6ede19159, deletion_comment = False)

    "shouldImportSpec": {

ShouldImportSpec is already defined. check if you can refer that instead of adding here via tsp

Refers to: specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-06-01-preview/apicenter.json:4291 in e9b5fd5. [](commit_id = e9b5fd5cf5e20fff511df704b6324bc6ede19159, deletion_comment = False)

"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiCenter/services/{serviceName}/importFromApim": {

can it be more descriptive ? importFromApiManagement?
Refers to: specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-06-01-preview/apicenter.json:672 in e9b5fd5. [](commit_id = e9b5fd5, deletion_comment = False)

/azp run


IDN conversion sample - update cpp name

@wesinator : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@wesinator : Thanks for your contribution! The author(s) have been notified to review your proposed change.


vendor: Update mapstructure to 1.0.0

Description
This PR updates the vendored mapstructure dependency to version 1.0.0, which includes a fix for a race condition that can lead to segfaults: mitchellh/mapstructure@7869cdbd0bea0c846ad7b8b09bac31f34875aa11
Related Issue
#798
Motivation and Context
This change fixes a segfault that occurs from simply leaving Uchiwa running.
How Has This Been Tested?
All unit tests pass. I'll build new RPMs and test them in our environment.
Types of changes

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

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Hi @agunnerson-ibm,
This change makes sense to me. Were you able to test the change in your environment(s)?

@amdprophet Yep, we've been running Uchiwa with this patch in all of our environments since around the middle of September and we didn't run into any more segfaults.

Awesome, thank you for this patch!


[SMALLFIX]Use the @Nullable annotation

Use the @Nullable annotation for all methods which may return null in /alluxio/core/server/master/src/main/java/alluxio/master/file/meta/LazyUfsBlockLocationCache.java

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3506/
Test PASSed.


About training time

Hello, how many Gpus did you use to train the KITTI data set, and how long did it take?

Hi, how did you setup your KITTI dataset? I could not find instructions on the repo.

Hello, how many Gpus did you use to train the KITTI data set, and how long did it take?

Graph-Vo costs about an hour of training time and 5G of GPU memory when trained on 4 A100 GPUs with 4 batch sizes per GPU.

Thanks for your patience! The code is available!

Thanks for your patience! The code is available!

Hello, how many Gpus did you use to train the KITTI data set, and how long did it take?

Graph-Vo costs about an hour of training time and 5G of GPU memory when trained on 4 A100 GPUs with 4 batch sizes per GPU.
Thank you very much for your reply!

Hello, how many Gpus did you use to train the KITTI data set, and how long did it take?

Graph-Vo costs about an hour of training time and 5G of GPU memory when trained on 4 A100 GPUs with 4 batch sizes per GPU.

what about waymo dataset?Looking forward to your reply!Best wishes!


Configurable namespace selector label

Thanks for writing this utility! I'm surprised that this issue has not come up more frequently in the community as for stateful workloads knowing more about placement could be vital.
Our version of EKS has a different namespace selector label which makes the webhook configuration fail to match the proper events.
This PR makes the NS selector label configurable but uses the old setting ("name") as the default.

I just noticed that this PR includes the merge commit of our fork's PR. Let me know if you prefer a cleaner PR with a single commit!

Looks good, thanks for the PR


Notifications: custom context menu stealing focus causes issues

From verifying #57997

On Linux for custom dropdown
Click a notification to activate it and show buttons
Tab to gear icon
Space to show it
Esc to hide it
The notification is no longer active and buttons aren't visible
I can get the focus outline on the notification but space doesn't do anything, I can't get the buttons to show up

This is a consequence of the custom menu taking focus away from the element that has focus. Maybe as a workaround the context menu service should focus back the DOM element it was showing around if the menu is closed without invoking an action.

resolved elsewhere


EffortException when BulkInserting a class with a nullable enum.

EffortBugReport.zip
1. Description
When trying to use EntityFramework.BulkInsert method on a class that contains a nullable enum the insert fails due to a InvalidCastException. It appears as though the object's enum is being treated as its value name rather than the underlying int value during the insert somewhere.
2. Exception
Effort.Exceptions.EffortException: An unhandled exception occurred while trying to assign value 'Reason1' to Property 'Reason' of type 'System.Nullabl...

Effort.Exceptions.EffortException
An unhandled exception occurred while trying to assign value 'Reason1' to Property 'Reason' of type 'System.Nullable`1[System.Int32]' during entity initialization for table 'Effort.Internal.DbManagement.Schema.TableName'
   at Effort.Internal.DbManagement.Schema.DbTableInfo.HandleConvertException(Exception exception, PropertyInfo property, Object value)
   at lambda_method(Closure , Object[] )
   at .( , DbCommand )
   at .Execute(List`1 actions)
   at Z.BulkOperations.BulkOperation.Execute()
   at Z.EntityFramework.Extensions.EntityBulkOperation`1.BulkInsert()
   at .[](BulkOperation`1 this, DbContext , List`1 , Boolean , List`1 , Type , String )
   at .`1.(SchemaEntityType )
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at .[](DbContext this, BulkOperation`1 , IEnumerable`1 , List`1 )
   at DbContextExtensions.BulkInsert[T](DbContext this, IEnumerable`1 entities, Action`1 bulkOperationFactory)
   at EffortBugRepro.Models.CommentRepo.CopyComments(Int32 sourceInstance, Int32 targetInstance) in C:\Users\Alastair\RiderProjects\EffortBugReport\EffortBugRepro\Models\CommentRepo.cs:line 25
   at EffortBugRepro.Tests.Tests.ReproductionCase() in C:\Users\Alastair\RiderProjects\EffortBugReport\EffortBugRepro.Tests\Tests.cs:line 49

System.InvalidCastException
Specified cast is not valid.
   at lambda_method(Closure , Object[] )

3. Fiddle or Project
I've attached a minimal solution that reproduces the error I see in my actual project. The versions of the packages all match what we're using. There's a single test that populates some example data (with all three possible enum states) which it then attempts to "clone" (which is the feature we're writing and want to use Effort to unit test).
4. Any further technical details
Add any relevant detail can help us.

Hello @alastairandrew ,
It looks like you didn't attach the project correctly. Your post doesn't look to contain it.
Best Regards,
Jon

Sponsorship
Help us improve this library
Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function

Hi @JonathanMagnan
Whoops, I've edited the original post and attached EffortBugReport.zip which is the solution. Sorry about that.
Cheers,
AA

Thank you @alastairandrew ,
We can successfully reproduce the issue with your project.
My developer will look at it. We already support enum so I believe it should not be a problem to support nullable enum.
Best Regards,
Jon

Hello @alastairandrew ,
The v<IP_ADDRESS> has been released today.
Our library should now support nullable enum. Let us know if everything works as expected.
Best Regards,
Jon

Thanks for


fix issue where purge cache doesn't delete the root directory

fixes issue : https://github.com/NuGet/Home/issues/3029
CC: @rrelyea @drewgil @emgarten @joelverhagen @alpaix

Ping....

LGTM :shipit:

Merged : https://github.com/NuGet/NuGet2/commit/f40ce730d0aa80346cab98e99f273683bcefbeea


Initial Pass of VC Implementation

PR to align the base repo with both APIs and initial web client so repository is not segregated preventing integration

@esune @itchison I've PR'ed Anais' VC changes.  Can you please approve?  Having the working APIs separated between forks and/or PRs is making changes difficult.  I'm wasting a bunch of time cherry picking and feeding changes through the base repo from different forks.  In a separate PR this morning I fixed CORS issues in both APIs and am able to pull/push data from each API and dump the raw data into the template, but won't work as a whole until we consolidate.


Using Baobab 2.5.1 is causing babel to fail #501 Fixed

After update babel package added default export.
https://stackoverflow.com/questions/33505992/babel-6-changes-how-it-exports-default
https://github.com/babel/babel/issues/2212

@Yomguithereal please, take a look

@anthony-redFox I think I prefer to drop the export default class Baobab in index.js and switch to module.exports = Baobab in the same file to save us the dependency. What do you think?

Sorry @anthony-redFox. I will close this PR, push a commit and release a version asap so people can continue to install the lib unbothered. Thank you very much for your work. Sorry for not being able to merge.

@Yomguithereal  it is ok. After your fix ES6 Modules doesn't work, but in version 2.5.1 it worked.
So we need to discuss how to support ES6 Modules for baobab.

Indeed. What do you propose? Should we use one of the package.json fields such as js:next module and such?


could you pls share

link to your code :)

https://github.com/Novadgaf/pychess   this one in readme


composer: use PSR-4 autoloading

PSR-0 is deprecated

+1
but i think you need to also move all files from src/Knp/Menu to src/ to make this work.

@dbu nope. this config works perfectly fine

@dbu This would actually really complicate history in git.
Also tests, that make use of composer autoloading, are passing.

a right. but the point of PSR-4 was to eliminate unnecessary deep folders... with git mv the history should not be lost afaik. am i wrong with that?

The PSR-0 autoloading is not deprecated in Composer itself, and our code is compatible with PSR-4. I'm not sure which one is the most efficient in composer (in prod, you should use the optimized autoloader anyway)
@dbu we would still have conflicts in all existing PRs though.

well, this works so i merged.
i am not sure about conflicts - git tends to be quite clever, if the move is not seen as a remove and add, it could even understand what was going on. but then i am not religious about paths, so lets leave it and move on :-)

@dbu Thanks!

thanks to you!
i am trying to bring down the list of open pull requests and issues and
move things forward with knp menu.

@dbu git is quite clever about resolving merges for renames when performing the conflict resolution on the machine where the rename was done. It is less clever when it relies only on the data pushed to the remote (or maybe github is less clever at it than git, I don't know)


Removes 3.13, CPython and PyPy classifiers

Exciting to see the new release! 🎉
I have this in pre-commit:
  - repo: https://github.com/tox-dev/pyproject-fmt
    rev: 2.0.2
    hooks:
      - id: pyproject-fmt
        additional_dependencies: [tox]

And py313 in tox.ini:
[tox]
requires =
    tox>=4.2
env_list =
    cog
    cli
    lint
    pins
    py{py3, 313, 312, 311, 310, 39, 38}

But pyproject-fmt 2.0.2 is removing the 3.13 Trove classifier:
   "Programming Language :: Python :: 3.10",
   "Programming Language :: Python :: 3.11",
   "Programming Language :: Python :: 3.12",
-  "Programming Language :: Python :: 3.13",
-  "Programming Language :: Python :: Implementation :: CPython",
-  "Programming Language :: Python :: Implementation :: PyPy",

https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version says it should read the tox config for the upper bound.
For example: https://github.com/hugovk/norwegianblue/pull/212
I'd also like to keep the "Implementation" classifiers to make it clear PyPy is supported.

Edit: PR https://github.com/tox-dev/pyproject-fmt-rust/pull/4 will preserve the Implementation classifiers.

Check with https://github.com/tox-dev/pyproject-fmt/releases/tag/2.0.3 for 3.13 we no longer parse tox.ini so you need to do https://pyproject-fmt.readthedocs.io/en/latest/#configuration-file or https://pyproject-fmt.readthedocs.io/en/latest/#pyproject-fmt---max-supported-python in your pre-commit flags.

Thanks, the config file will do.

For this bit of the docs:
https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version

Should we remove that YAML snippet? It doesn't really add anything, we just had an almost identical example YAML in the previous section about pre-commit.

Yes.


Cannot paste text in editor

@mjbvz I didn't get a chance to bisect, did anything change here recently?

open OneNote for mac
copy some text from OneNote
open a new untitled editor in vscode (plaintext)
paste
see "/image.png" appearing instead of the text. I speculate this is because OneNote writes both text and an image to the clipboard.

Version: 1.79.0-insider
Commit: d1aa00acef8b2cfa88621c448b8fd8cd034f60a9
Date: 2023-05-09T05:26:32.424Z
Electron: 22.4.8
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.4.0
Sandboxed: No

@mjbvz Here I am trying to paste in a plain text Untitled file:
https://github.com/microsoft/vscode/assets/5047891/3a0ea4f6-70d5-4184-b4f9-9520bae0ea65

This bug has been fixed in the latest release of VS Code Insiders!
@alexdima, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version 2dfb838f494f035099e999f0cd0eff5f1f488a30 of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!


Implement the new design for the home page

Acceptance criteria

[x] the home page is implemented as per mockups created by @tanvirchahal
[x] the page is reviewed and accepted by the team

Tasks

[x] analysis by @tanvirchahal and @anuveyatsu
[x] implementation

[x] navbar
[x] hero element
[x] 3 offers section (under the hero)
[x] deploy data section
[x] quality data section
[x] dataos section
[x] hire us section

[x] review
[x] deployment

New homepage is available in staging site: https://testing.datahub.io
FIXED
cc @tanvirchahal


SemVer-compatibility, GPM, and dependencies

With all the changes brought by 1.7 it feels pertinent to revisit dependencies, also related to changes to the GPM. The full SemVer-spec is necessary in many cases, but especially to lock a release to a working ecosystem.
Several plugins use method-signatures that are deprecated in 1.7, or are constructed with APIs that do not function anymore. I remember there used to be a problem with the tilde-operator in blueprints.yaml's dependencies, the same as with GPM's disapproval of the v-prefix. I lost track of where the former was reported, but for the latter there was a discussion of Discord, resulting in this summary:
1.7.1 was not picked up as higher than v1.7.1-beta's, nor was 1.7.2. But v1.7.3 was just now, so GPM is confusing the 'v' prefix as being higher. Testing on semvercompare.azurewebsites.net, 1.7.2 should be higher than v1.7.3.
A few things that would resolve this:

Use Composer's SemVer for version-resolution
Check versions against composer.json as well as blueprints.yaml
Warn users when they are trying to install an extension that was created more than a year ago, without set dependencies
Skip versions of the extension that do not resolve as compatible with:

Core
Error
Problems
Admin
Login
Form

Warn users if there is no such version available

It is not an uncommon scenario that an out-of-date or misaligned extension breaks the whole of Grav. Users have asked about this many times in the chat, and the general advise has been to avoid old extensions unless testing them first, and always updating the above six plugins together to avoid breaking anything.
There's also been several cases where upgrading them, even in some order, breaks Grav itself in the process. To avoid botching live sites, the GPM should be restrictive when updating. Tagging @w00fz by request.

On the same note, it would be really great if we could tag all older releases as being incompatible with later Grav version (or to the other plugins as well).

To add to Matias comment, following some of @w00fz's hints on Discord, users should be warned by the GPM about the level of the update performed. A major-version will, by definition, contain API-changes. This would not only be a warning about the risks to the stability of a production-environment, but the user should be told or asked to have the current plugin/theme-configuration wiped. Ideally there would be a simple comparison beforehand, where equal configurations means the API for the end-user is not different, and that prompt/question can be skipped.

I'd like to add the idea of optional and required dependencies. For example I've added additional features to my plugin, if another plugin is installed, but it is fully optional. I am not sure how to handle this properly, maybe there is already an option?

Shouldn't 1.7 be renamed to 2.0 considering the breaking changes?
Yes, using $ bin/gpm might sets a few configs to mitigate the breaking changes, but, strictly speaking, 1.7 does introduce breaking changes...

Shouldn't 1.7 be renamed to 2.0 considering the breaking changes?
Yes, using $ bin/gpm might sets a few configs to mitigate the breaking changes, but, strictly speaking, 1.7 does introduce breaking changes...

What is the state of dependencies in blueprints.yaml? The Docs link to Composer's version definitions, but does the version-resolution work with SemVer like every other package manager? Ie., non-specific versions like ~1.2, >=1.2 <2.0.0, or ^0.3.
There's a bit of dependency-hell going around because the GPM seems not to look for versions that fit within the given constrains.

I've moved SemVer library to Grav itself, but I've not taken a look into fixing this just yet.


Support for multiple clusters

Summary
Does this tool has support for multiple clusters?
With Lens, for example, we have a visual identification to let we know which cluster we're connected. I think this feature is very important, so we don't trigger commands at the wrong environment.

Hi @64J0!

Does this tool has support for multiple clusters?

Sure, from the manual:
"Kubed uses kubectl to interact with Kubernetes clusters, and you can use multiple kubectl contexts in Kubed to work with different Kubernetes clusters in parallel."

With Lens, for example, we have a visual identification to let we know which cluster we're connected. I think this feature is very important, so we don't trigger commands at the wrong environment.

Yes, I agree that that's important.
In most Kubed buffers, the context is part of the buffer name, so you should see it in the mode line.
If you find this indication insufficient, please elaborate.  We can add/improve such indications if needed.

Great, I'm planning to start testing this tool during this week.


feat: adds support for multiple schemas in postgres and mysql

resolves #18
Work done:

[x] Added sourceSchema and foreignSchema fields to relations
[x] Added schema name to the generated output if present
[x] Updated mysql and postgres relations test to use schema

Thanks for opening a PR! I've already addressed this myself in the latest release but thanks for wanting to fix this issue.


Football - Issue with box_scores

I'm seeing "IndexError: list index out of range" when calling box_scores
>>> league.box_scores()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/anaconda3/lib/python3.7/site-packages/espn_api/football/league.py", line 200, in box_scores
    pro_schedule = self._get_pro_schedule(week)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/espn_api/base_league.py", line 84, in _get_pro_schedule
    game_data = team['proGamesByScoringPeriod'][str(scoringPeriodId)][0]
IndexError: list index out of range

Looks like this is due to how espn is handling data for covid-related schedule changes. When a game gets rescheduled, the scoringPeriod list is empty for that week which is what is causing the indexError. For example, here's the section of the API response for New England whose week 5 game got rescheduled:
{'abbrev': 'NE', 'byeWeek': 0, 'id': 17, 'location': 'New England', 'name': 'Patriots', 'proGamesByScoringPeriod':
            {'1': [
                {'awayProTeamId': 15, 'date':<PHONE_NUMBER>000, 'homeProTeamId': 17, 'id': 401220131, 'scoringPeriodId': 1, 'startTimeTBD': False, 'statsOfficial': True, 'validForLocking': True
                } ],
            ...
            ...
            ...
            ...
            '5': [],

Adding a condition to check for an empty list on line 86 of base_league.py seems to fix the issue:
if team['id'] != 0 and (str(scoringPeriodId) in team['proGamesByScoringPeriod'].keys() and team['proGamesByScoringPeriod'][str(scoringPeriodId)]):
Tested this locally and will submit a PR in a bit. @cwendt94, please let me know if you think this will work without breaking anything else.

@bebey-james Thanks for investigating and creating a PR! I will get in merged in and create a release

The fix is now in v0.8.1!

@cwendt94 Happy to help. Thanks for the quick response!

How do we go about pushing the latest version of the code to our bot?

@sambailey54 https://github.com/dtcarls/fantasy_football_chat_bot repo will have to update to the latest package v0.8.1. It looks like there is already a issue for it dtcarls/fantasy_football_chat_bot#78


Code Signing

Hello!
I'm trying to implement inapputils on a test app. I did all the steps in from 1-13 in the tutorial. It works to run my app (just a test app with react-native init) on device from Xcode. As soon as i install the package with: react-native install react-native-in-app-utils i get this error when i try to run on device:
This is the error in Xcode:

Check dependencies
Code Signing Error: Signing for "InAppUtilsTests" requires a development team. Select a development team in the project editor.
Code Signing Error: Code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 11.2'

Thankful for advice!

I solved it!
I had to code sign in the "InAppUtilsTests" under the general tab.

@feluxz would u mind sharing some steps to do that? Thanks in advance

@ricbermo When you get the error message in xcode scroll down to InAppUtilsTest (2 issues).
Select InAppUtilsTests under TARGETS and select a team for it.

It's wonderful that @feluxz 's fix works but every time we update our provisioning profiles or a new clone of the repo happens, we have to do this. What changed? Why did this all of a sudden start happening?

Is there any idea of how to get this fixed permanently? It seems wherever this is used, the code signing has to be set. I've never seen this happen with other libraries.

I was able to fix this semi-permanently by unlinking the Tests library. ("Linked Frameworks and Libraries" in the General tab of the overall project. Make sure to not unlink the main library)

@airlaser Thank you, that resolved my issue!

to follow up @airlaser, go to Link Binary With Libraries under Build Phases making sure your project is selected under targets. Remove the linked library with that contains the name InAppUtilsTests.


Array manipulations for processing data from capture calls

Added ember-lodash . fixes #68
controllers/user-home.js checks the 'stacking' argument of data passed to the plot, and makes a transpose of [xdata,ydata..] if necessary. fixes #70
fixed some pending eslint warnings
made plot names unique. fixes #70
added capture4 method to the dummy class

import numpy as np
x=np.linspace(0,2*np.pi,30)
plt = plot(x, np.sin(x))
button('capture 1',"capture1('CH1',100,10)","update-plot",target=plt)

plt2 = plot(x, np.sin(x))
button('capture 2',"capture2(50,10)","update-plot",target=plt2,stacking='xyy')

plt3 = plot(x, np.sin(x))
button('capture 4',"capture4(50,10)","update-plot",target=plt3,stacking='xyyyy')

small change I'm unable to make : Can't call the replot method on an existing plot
// alert(JSON.stringify($(`#${actionDefinition.success.target}`).data(), null, 4));
// $(`#${actionDefinition.success.target}`).data('jqplot').replot({ data: [_.zip.apply(null, resultValue)] });
$.jqplot(actionDefinition.success.target, [_.zip.apply(null, resultValue)]).replot();

Uncomment the alert to see that data attached to the jquery selector is {}  even though the plot was created in that div by a component. The selector works fine with a regular small js snippet, and according to the docs, it is the correct way to update a plot. @niranjan94  any suggestions on why there seem to be no methods attached to the selector (I've cross checked with chrome's inspector) ?
Another way is to store a global variable referencing the plot, but I would prefer the selector.
fixed #68 ,fixed #71  , fixed #70

@niranjan94 could you take a look and merge this now? thanks


implement IPC cert and key generation

What does this PR do?
Motivation
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

/trigger-ci --variable RUN_ALL_BUILDS=true --variable RUN_KITCHEN_TESTS=true --variable RUN_E2E_TESTS=on --variable RUN_UNIT_TESTS=on --variable RUN_KMT_TESTS=on


Add utility function for dev only so that local env settings get picked up on app startup (for testing AI endpoints)

This was fixed in #465 and is now handled by default_settings


GateOpSerializer in cirq.google does not accept numpy numeric types as convertible to float

Description of the issue
GateOpSerializer in cirq.google does not accept numpy numeric types as convertible to float. It's easy for a numpy.int64 types (for example) to end up getting fed in here.
How to reproduce the issue
Trying to serialize a gate that would lead to a numpy.int64 being passed to this helper method should do it.
    def _check_type(self, value: arg_func_langs.ARG_LIKE, arg: SerializingArg) -> None:
        if arg.serialized_type == float:
            if not isinstance(value, (float, int)):
                raise ValueError(f'Expected type convertible to float but was {type(value)}')
        elif arg.serialized_type == List[bool]:
            if not isinstance(value, (list, tuple, np.ndarray)) or not all(
                isinstance(x, (bool, np.bool_)) for x in value
            ):
                raise ValueError(f'Expected type List[bool] but was {type(value)}')
        elif value is not None and not isinstance(value, arg.serialized_type):
            raise ValueError(
                'Argument {} had type {} but gate returned type {}'.format(
                    arg.serialized_name, arg.serialized_type, type(value)
                )
            )

Traceback (most recent call last):
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/joblib/externals/loky/process_executor.py", line 431, in _process_worker
    r = call_item()
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/joblib/externals/loky/process_executor.py", line 285, in __call__
    return self.fn(*self.args, **self.kwargs)
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/joblib/_parallel_backends.py", line 595, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/joblib/parallel.py", line 262, in __call__
    return [func(*args, **kwargs)
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/joblib/parallel.py", line 262, in <listcomp>
    return [func(*args, **kwargs)
  File "/usr/local/google/home/whuggins/Projects/qc/newtilities.py", line 99, in run
    data = build_experiment(params, dependencies)
  File "/usr/local/google/home/whuggins/Projects/qc/experiment.py", line 93, in build_experiment
    raw_samples = get_samples_from_experiment(blueprint.compiled_circuit,
  File "/usr/local/google/home/whuggins/Projects/qc/quantum_engine_utilities.py", line 51, in get_samples_from_experiment
    job = engine.run_batch(
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/engine/engine.py", line 365, in run_batch
    engine_program = self.create_batch_program(
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/engine/engine.py", line 525, in create_batch_program
    gate_set.serialize(program, msg=batch.programs.add())
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/serializable_gate_set.py", line 125, in serialize
    self._serialize_circuit(
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/serializable_gate_set.py", line 253, in _serialize_circuit
    self.serialize_op(
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/serializable_gate_set.py", line 165, in serialize_op
    proto_msg = serializer.to_proto(
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/op_serializer.py", line 137, in to_proto
    value = self._value_from_gate(op, arg)
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/op_serializer.py", line 184, in _value_from_gate
    self._check_type(value, arg)
  File "/usr/local/google/home/whuggins/Projects/qc/env/lib/python3.9/site-packages/cirq/google/op_serializer.py", line 191, in _check_type
    raise ValueError(f'Expected type convertible to float but was {type(value)}')
ValueError: Expected type convertible to float but was <class 'numpy.int64'>

Cirq version
0.11.0.dev

This should be trivial to fix by adding np.integer into the isinstance check: if not isinstance(value, (float, int, np.integer)): + we'll need a test. Great first issue for someone.

Hi, I'd like to tackle this issue.

It's all yours, thanks for signing up!

@dstrain115 it looks like a solution has been waiting for some time - can we merge it or close this?
Marking pre-1.0 in lieu of a decision here.

GateOpSerializer is deprecated.  Assigning myself to check if this is implemented in the new CircuitSerializer and just give an update on it.


Default observerMode on Android to false, add option, pass appUserID on iOS

First off, thanks so much for making this plugin!!! A lot of people are finding it really useful.
I made this PR to address a couple of issues:
As mentioned in https://github.com/Cap-go/capacitor-purchases/issues/10, on Android observerMode is currently getting set to true, which means that all purchases will be cancelled automatically unless the app finishes the transactions by itself.
I added a parameter to set observerMode whenever needed, and also updated the default to false for Android, to match the existing value for iOS.
I also noticed that on Android, the value for appUserID was being read and passed along, but it wasn't being read on iOS, so I added that too and updated the typescript definition.
Lastly I updated to use the latest syntax for configuring the SDK on iOS.
I haven't been able to test this out yet, so please be careful before merging.
Let me know if there's anything you'd like me to update style-wise, and also let me know if you have any questions!

I tested the Android side of this (switching from String to Boolean though) and it resolved the issues that I was having with payments. I am yet to test the other changes as yet though :) THanks @aboedo

@riderx let me know if there's anything I can do to help with getting this reviewed!

Hey @aboedo thanks a lot again for this work.
i didn't have a chance to try your fix. if you confirm that working we can merge like that.
i believe in your good faith


[vaapi-fits][ffmpeg-qsv][HEVC 8k encode] cannot reshape array of size 0 into shape (4320,7680)

Stetps:
1, ffmpeg -init_hw_device qsv=qsv:hw -hwaccel qsv -filter_hw_device qsv -v verbose -f rawvideo -pix_fmt yuv420p -s:v 7680x4320 -i /opt/media/src/assets/otc-media/yuv/Peru_8K_HDR_7680x4320_100frames_I420.yuv -vf 'format=nv12,hwupload=extra_hw_frames=120' -an -c:v hevc_qsv -profile:v main -g 30 -q 28 -preset 1 -slices 1 -bf 2 -low_power 0 -vframes 50 -y test_8k.h265
2,  ffmpeg -init_hw_device qsv=qsv:hw -hwaccel qsv -filter_hw_device qsv -v verbose -c:v hevc_qsv -i test_8k.h265 -vf 'hwdownload,format=nv12' -pix_fmt yuv420p -f rawvideo -vsync passthrough -vframes 50 -y  test_8k.yuv
3, check_psnr:  get_media().baseline.check_psnr
Error Log info:
[2019-11-19 06:56:26.810025] INFO: slash:   Total: 50 packets (5311738 bytes) demuxed
[2019-11-19 06:56:26.810155] INFO: slash: Output file #0 (/opt/media/test-results/vaapi-fits/encode/hevc/2c9a5ff8-0a95-11ea-961b-0242ac120002_0/_0.test.ffmpeg-qsv.encode.hevc/cqp/Peru_8K_HDR_7680x4320_100frames-cqp-main-30-28-1-1-2-0-7680x4320-I420.yuv):
[2019-11-19 06:56:26.810249] INFO: slash:   Output stream #0:0 (video): 34 frames encoded; 34 packets muxed<PHONE_NUMBER> bytes);
[2019-11-19 06:56:26.810320] INFO: slash:   Total: 34 packets<PHONE_NUMBER> bytes) muxed
[2019-11-19 06:56:26.847195] INFO: slash: [AVIOContext @ 0x55d30063dc00] Statistics: 0 seeks, 6455 writeouts
[2019-11-19 06:56:26.847378] INFO: slash: [AVIOContext @ 0x55d30063f080] Statistics: 5311738 bytes read, 0 seeks
[2019-11-19 06:56:26.885826] NOTICE: slash: DETAIL: time(ffmpeg:2) = 3.3977s
[2019-11-19 06:56:28.373194] NOTICE: slash: DETAIL: time(psnr:1) = 1.4866s
[2019-11-19 06:56:28.480388] TRACE: slash.core.error: Error added: ValueError: ('cannot reshape array of size 0 into shape (4320,7680)', 'frame 34/50')
/opt/media/src/vaapi-fits-full/full, line 41:
sys.exit(main())
/opt/media/src/vaapi-fits-full/full, line 38:
return main_entry_point()
/usr/local/lib/python2.7/dist-packages/slash/core/fixtures/parameters.py, line 34:
return func(*args, **kwargs)
/opt/media/src/vaapi-fits/test/ffmpeg-qsv/encode/hevc.py, line 48:
self.encode()
/opt/media/src/vaapi-fits/test/ffmpeg-qsv/encode/encoder.py, line 163:
self.check_metrics()
/opt/media/src/vaapi-fits/test/ffmpeg-qsv/encode/encoder.py, line 187:
self.frames, self.format),
/opt/media/src/vaapi-fits/lib/common.py, line 33:
ret = function(*args, **kwargs)
/opt/media/src/vaapi-fits/lib/metrics.py, line 149:
nframes, __compare_psnr)
/opt/media/src/vaapi-fits/lib/metrics.py, line 119:
y2, u2, v2 = file2.next_frame()
/opt/media/src/vaapi-fits/lib/metrics.py, line 64:
return self.reader(self.fd, self.width, self.height)
/opt/media/src/vaapi-fits/lib/framereader.py, line 46:
y = numpy.fromfile(fd, dtype=numpy.uint8, count=size).reshape((height, width))

why do you think this is a vaapi-fits bug?  You're test configuration set "frames=50", which instructs the test case to "expect" 50 frames in psnr calculation.

The error shows that it only found 34 frames.

why do you think this is a vaapi-fits bug? Your test configuration set "frames=50", which instructs the test case to "expect" 50 frames in psnr calculation.

More specifically, frames=50 in encode test case configuration instructs the test to encode 50 frames from source yuv file, then decode 50 frames of that result, then calculate psnr on 50 frames.  According to your output, ffmpeg only encoded 34 frames.  Why?  Either the source yuv file contains less then 50 frames (i.e. 34 frames) or there is a bug in ffmpeg encoder.  Please confirm

or maybe the decoder dropped a bunch of frames?

How many frames does yamidecode report for the file encoded by ffmpeg?

To use ffmpeg SW, ffmpeg-vaapi or yamidecode to do the decode, they can dump 50frames with sample md5check; but to use sample_decode/ffmpeg-vaapi/ffmpeg-qsv, only can dump 34 frames;
It seems like that there is issue in ffmpeg-qsv decode
root@media_libva_icl2:/home/focus/workspace_focus/vaapi-fits-full# md5sum test_8k-ffmpeg-hw.yuv test_8k_ffmpeg-sw.yuv yamidump.yuv
5e1e72a4b3b171359bd02c48fedc9b91  test_8k-ffmpeg-hw.yuv
5e1e72a4b3b171359bd02c48fedc9b91  test_8k_ffmpeg-sw.yuv
5e1e72a4b3b171359bd02c48fedc9b91  yamidump.yuv

ok, then it's not a test issue.  it's a ffmpeg bug.


Add basic security devices and a few example devices.

This adds a new 'Security Device' to the equipment class hierarchy, and a few example devices. We have more devices but I wanted to start simple.
This is leaving off relationships/constraints for now, we can talk about that next.

@epaulson Thanks for the PR! Leaving off constraints is fine for now and the proposed new classes are under Equipment, so they will be subjective to the parent class anyway, so no problem at all.
I have several questions (or suggestions):

Isn't NVR a subclass Camera then? I was thinking a video recorder is a type of camera.
I'd avoid using abbreviated terminologies (AED and NVR)as much as possible. Are they
Can you explain why the tag Safety is necessary, especially along with Security tag?
Is AED a subclass of Security Device? I think it's rather Saftey Equipment. I'd recommend introducing Safety Equipment in parallel to Security Device too.
Would you be fine with Security Equipment instead of Security Device? I would like the top-level concept to be more flexible to accommodate more than standalone devices.
Both NVC and AED could have more abstracted concepts like Defibrillator. Video Recorder. Could you add those too for completeness and future extensions?

Jason -
Thanks for the feedback, we're on-board with much of it. We'll push some changes next week with a bit more abstraction, and then we can have some discussions about what to do re: safety devices

@jbkoh I have pushed new changes to the branch, with a richer hierarchy.
One thing to note - I disabled the pre-commit hook. flake8 kept rejecting a change that black was making, and I couldn't make them both work together so I gave up. Hopefully someone smarter than me can figure out what I'm doing wrong.

@epaulson I checked out your branch to investigate the linting issue. Is the following error what you get?
bricksrc/equipment.py:613:78: E231 missing whitespace after ','

If not, can you paste what the error you are seeing is?
In this case, the fix is to go from
            "Video_Intercom": {
                "tags": [TAG.Equipment, TAG.Security, TAG.Intercom, TAG.Video,],
                SKOS.definition: Literal(
                    "An intercom device that has video capabilites as well as voice capabilities"
                ),
            },

to
            "Video_Intercom": {
                "tags": [TAG.Equipment, TAG.Security, TAG.Intercom, TAG.Video],   # <---- no trailng comma after "Video"
                SKOS.definition: Literal(
                    "An intercom device that has video capabilites as well as voice capabilities"
                ),

        },

Fixed. I was thrown by this message from flake8:
(brickvenv) (base) jci-mbp18:Brick cpaulser$ flake8 --config=.flake8 bricksrc/equipment.py  bricksrc/equipment.py:613:78: E231 missing whitespace after ','
So I added whitespace, which black then removed. Anyway, I suppose removing the comma removes the need for whitespace, and both black and flake8 were happy.

Definitely a non-obvious fix there! I only know the fix because I struggled with the same issue when we started using flake8+black

@epaulson I looked up the update and found a couple of interesting issues worth more discussions.

Access_Control, Video_Surveilance, and Safety are 'functions' but not equipment. Should we use call them XXX_Equipment? Otherwise, can they be interchangeably used?
Isn't NVR a subclass of Camera?
Cameras may be used for different purposes other than security too (e.g., general motion detection, general occupancy counting, teleconference, etc.). Should Camera be a "subclass" of Security still? If there needs to be something under the security subtree, we could introduce Security_Camera to subclass both Video_Surveilance and Camera.
Same for Motion_Sensor. Motion_Sensor is a generic concept not only for security. And the name indicates it is not Equipment but a Point.
Is there a special reason to have security.py outside equipment.py in the generation code?

I don't have a strong opinion if we want to stick an _Equipment suffix on the upper levels of the hierarchy, though it seems a bit verbose.
NVR (Network Video Recorder) is most certainly not a subclass of Camera. Think of it as the server that cameras can store their video in.
A camera is going to be one of the most common security devices in a built environment. If your query is "find all security devices in this building", you're going to expect to find a bunch of cameras. I don't think you'd ever want to search a building for all cameras and get a mix of the teleconference cameras and the security cameras - the use cases are very different for each camera. We could rename 'camera' in this hierarchy to be 'security_camera' if that'd be better.
There isn't a security.py file but there is a separate dictionary for security in equipment.py, just like HVAC and valves.

I don't have a strong opinion if we want to stick an _Equipment suffix on the upper levels of the hierarchy, though it seems a bit verbose.

Yeah, I feel those verbose too, but a long time ago there was a discussion of Temperature vs Temperature_Sensor too. I argued it was more important to make the meaning clear than looking good. We can ask for other people's opinions at tomorrow's meeting.

NVR (Network Video Recorder) is most certainly not a subclass of Camera. Think of it as the server that cameras can store their video in.

Got it. Shall we add a definition like this? "A network video recorder (NVR) is a specialized computer system that includes a software program that records video in a digital format to a disk drive, USB flash drive, SD memory card or other mass storage device" from wiki

A camera is going to be one of the most common security devices in a built environment. If your query is "find all security devices in this building", you're going to expect to find a bunch of cameras. I don't think you'd ever want to search a building for all cameras and get a mix of the teleconference cameras and the security cameras - the use cases are very different for each camera. We could rename 'camera' in this hierarchy to be 'security_camera' if that'd be better.

I think adding Security_Camera will be better for both usability and completeness. We can also finalize this discussion tomorrow.

There isn't a security.py file but there is a separate dictionary for security in equipment.py, just like HVAC and valves.

Sorry for the confusion. I wanted to ask if it's necessary to add Security as a top object in the generation code.

Sorry for the confusion. I wanted to ask if it's necessary to add Security as a top object in the generation code.

I think this is fine and a construct we use elsewhere in equipment.py

I don't have a strong opinion if we want to stick an _Equipment suffix on the upper levels of the hierarchy, though it seems a bit verbose.

I like including the _Equipment suffix to denote the class of equipment serving a function; e.g. Security_Equipment is the class of equipment that serves functions for security, Access_Control_Equipment is the class of equipment that handles access control, etc. We elide the suffix when we start talking about specific types of equipment (though this isn't a hard and fast rule with a clear boundary)

Just to summarize our previous resolutions:

Access_Control -> Access_Control_Equipment
Video_Surveillance -> Video_Surveillance_Equipment
Add Equipment tag to Access_Reader. (I am curious how it passed the test actually.)
Take out Camera out of Security_Equipment. More specifically

Introduce Camera as a top-class Equipment.
Introduce Surveillance_Camera under Video_Surveillance_Equipment. Surveillance_Camera subclasses both Video_Surveillance_Equipment and Camera.

Add a definition for NVR.
Safety -> Safety_Equipment
Take Safety_Equipment out of Security_Equipment
Intrusion -> Intrusion_Equipment
Remove Motion_Sensor from Intrusion. (I just realized Motion_Sensor is already defined as Point.)

A new observation:

Is Intercom used only for security?

@epaulson Let me know if I forgot anything.

I'll take a look at this next week.
A dumb question about the 'parents' entry in the python dictionaries: is there an implicit 'parents' entry on anything in the nested 'subclasses'? e.g. when I create a 'survelliance_camera' under 'video_surveillance_equipment' if I was only subclassing from one parent, I wouldn't have needed to say anything, right? Now that I need two parents do I need to list them both or is the parent from the dictionary automatically included?

@epaulson there is an implicit parents entry to the enclosing class (i.e. if you list a bunch of things under subclasses, you are automatically the parent). The parents key is for pointers to other parts of the class structure that aren't immediately implied by nesting.

@epaulson I left several comments again. I think I misspoke some of my thoughts last time. These should be the final request of change. Thanks!

BTW, I mentioned a while back that the tests failed and I didn't understand why - I think what's happening is that in my (conda) environment, when I created a fresh environment and installed requirements.txt, it picks up a copy the brickschema package and puts it into site-packages and 'make test' seems to use at least some of that?
My 'make test' run this afternoon failed with Docker (!) problems which was completely unexpected, but I think it's picking that up from something trying to use Allegrograph. I decided not to try to debug that, since I think my few-line changes are probably not the source of that failed test
(Also I haven't been checking in the regenerated .ttl files, since I figured that will just be a merge nightmare)

@jbkoh @gtfierro  any thoughts on the 'detection' name for the intrusion_equipment. I'm fine with changing it to 'Intrustion_Detection_Equipment' if that's better - I'm just a little unclear what that does for tagging, e.g. if I had a device in my building and I was only doing tags, not Brick, I'm not sure that if I was putting tags onto it in my BMS that I'd use the tags 'Intrusion', 'Equipment' and 'Detection' - I'd probably omit the 'Detection' tag - but if the point is to have the union of all possible tags, then I have absolutely no issue with including it in the tags and even putting it in the name.

Sorry, I should've followed this up earlier.
@epaulson Regarding the tag "Detection" tag issue. Allowing tagging does not mean that we will allow arbitrary tagging. Here being arbitrary means both something random and a set of tags familiar to certain users out than than being complete. For example, one may argue that she just wants to put only "zone" and "temperature" to a ZNT point, whereas only two is partial to any of the Classes in Brick. It could be either Zone_Air_Temperature_Sensor or Zone_Air_Temperature_Setpoint. So our approach is to be complete and exact as much as possible at the Brick schema side. For allowing "zone" and "temperature" tagging to an entity, an external tool can infer that the closest Class to the set of tags is Zone_Air_Temperature_Sensor (with some heuristics). The same thing applies to the Intrusion_Detection_Equipment.
All that being said, I think it's fine to have Intrusion_Management_Equipment (or Control) if you think its subclasses will have more diversity than just detection. Its my limited imagination of what its subclasses could be. I just think Intrusion_Equipment alone means its Equipment "for" Intrusion, which is weird.

@epaulson Regarding the development workflow, I will try to run everything from this PR once you push all the changes. I haven't experienced such a docker issue. If available, please put the exact message you saw.  I agree that debugging the development environment can be too much hassle to push small changes. Let the Travis instance do the job for now. I will debug it when this is ready.

I just went ahead and added detection to the name, i'm fine with it. Tyco is too - see here for more example devices: https://www.tycois.com/insights-and-opinions/security-devices/intrusion-detection-devices
I think this is ready.

@epaulson I just ran the test after merging it with the master branch, and confirmed it worked fine. If you want, you can try to check it yourself too, but I think this is good to be merged. The only thing is Safety_Equipment that you originally wanted to include. I support the idea, and please let me know if you'd like to still add it. I can do it for you too if you are busy. Please let me know your thought.

@jbkoh Let's do safety equipment in a new PR

@epaulson I am finally merging this one. Thanks for all the hard work!


Get frame timestamp

Hello,
I am using skvideo.io.vreader to read a file as a stream:
videogen = skvideo.io.vreader(video_url) # s3 path to the video
for frame in videogen:
        # do stuff
        # get timestamp of frame

I want to get the timestamp of the frame relative to the start of the video. I couldn't find anything in the API docs related to this. Is it possible?

I actually never tested loading URL paths. Does that part work?
If you multiply the frame number by the frame rate, you can get the number of seconds that elapsed since the beginning of the video. You could then convert the seconds to a timestamp. The frame rate (if it exists in the video metadata) can be read using the skvideo.io.ffprobe function.

That was my bad - I assumed that you could use URL paths. You can't, so I just download the file first and then load it in.
I will try this. Thanks!

It works, thanks!


Improve importing translations

Hello,
When importing translations (eg, po files edited by team members), I need to import them per subfolder (eg, first select all files in Internat\de\LC_MESSAGES , then for each next language repeat the procedure.  Could you allow selecting the top folder, and process all files below?
Secondly, if I import the same set of po files (or TMX file) which I imported before, the 'Stored translations' count doesn't increase (which is of course correct) but the 'Database size on disk' does increase.  Is this normal behaviour?
Thanks for your effort.

When importing translations

Do you mean into translation memory or something else? You don't actually say…

Could you allow selecting the top folder, and process all files below?

If you mean TM import, then you don't need to do anything per-language and modern versions of operating system's file pickers (it doesn't help that you don't mention yours) let you search for files and select from search results, so it seems unnecessary to have special handling for that case — unless I'm missing something.

Secondly,

Please follow the rule of one issue per one thing, and please limit the use of the bug tracker to reporting bugs, not idle questions. Generally speaking, databases can be weird like that.

Hello,
poedit is used on W10.  I mean indeed importing into TM.
Thanks for your suggestion, but when using the 'Search' for .po files while having selected the Internat folder, and selecting all results, W10 throws the error "You can choose multiple files only if they are all located in the same folder".

W10 throws the error "You can choose multiple files only if they are all located in the same folder".

Ah.

What you can do as a workaround is to use the "find" feature in your file explorer and then search for all .po files, then select the results and copy them to a new folder. Then you can use the TM import tool.
However, I am a long time user of PoEdit and I remember it once being able to recursively scan a folder for all containing .po files. The feature must have been removed.


Update Tavis build script to check for gofmt & vet go code; Include B…

…uild status, GoDoc and GoReport badges to README.md; Fixed go vet reported errors.

@chebrolus Again, could you remove *.go from the PR?
The unmergered AccessEntity contains a refactor of verifyapikey, and will rename the whole repo&packages, which will result in many conflicts.
Thanks

@haomingzhang - If I remove *.go files from this change travis build fails as these go files not confirming to gofmt and/or go vet
Why don't you go ahead and complete your work then I can rebase this branch.

@chebrolus
OK, I'll let you know as soon as it gets merged, thanks.


Community Call meeting ics file upload

As noted in this discussion on twitter with @kwirkykat  https://twitter.com/ryanyates1990/status/760944875856592896 having an ics file uploaded in the repo would be a good idea for ensuring that people don't accidentally miss out on the community calls (like I did this evening) as it can also be linked to in the blog announcements as well.

Have we managed to get any further with this one @kwirkykat  ?

@kilasuit Haven't finalized the date for the next community call yet, sorry. I'll try to post the file as soon as the date is final.

Thats good to hear - thought I may have missed it being announced with the amount of other things going on lately.

@kilasuit Uploaded an ICS file for the next community call 09/15/16 1-2PM PST


Adding more user controls

Hi all, sure you've seen my slack messages.
Trixi.jl has a great user interface and it's very flexible. However, anyone who is visiting the Trixi.jl  page and is actually using it for research is at least familiar with the basics of Spectral Elements and the Discontinuous Galerkin Method and will probably be extremely familiar with numerical methods (linear and nonlinear solvers). I think the one thing that Trixi.jl is missing is the flexibility and malleability to customize the solving algorithms for each term. For example, if one wants to treat a linear terms in a different manner than nonlinear. We also need more flexibility in how to individually treat the hyperbolic and parabolic terms.
As much as I like the DifferentialEquations.jl , it assumes far too much and it is not flexible for new problems and equations, at least from a surface user view.
Suggestions:

Julia has LinearSolve.jl  and NonlinearSolve.jl . Allowing the flexibility to use these packages will be extremely useful
For a linear term to be solved explicitly,semidiscretization() should give either the matrix operator and it's inverse, a matrix free operator and its matrix free inverse (this can either be LinearMaps.jl or LinearOperators.jl . For a term that needs to be solved implicitly (usually nonlinear but could be parabolic terms) it should return a semidiscretization()  should return a nonlinear function to be used in SciMLBase.NonlinearProblem or SciMLBase.NonlinearFunction

Dr. Doering suggested it be part of rhs! and a rhs_parabolic!. Additionally, matrix formulations are definitely costly and I think more people would be interested in iterative solvers like Krylov.jl

I may not understand everything correctly. What exactly would you like to achieve? Could you please provide an example that is as simple as possible, e.g., for a 1D linear advection equation?

Xref https://discourse.julialang.org/t/using-ordinarydiffeq-integrator-interface-for-split-step/122313

@ranocha  I made a simple 1D example of 2 coupled strongly nonlinear advection equations:
https://github.com/erny123/TRIXIExamples/blob/main/TRIXI-Coupled-Nonlinear.ipynb
You can see in the first solution using the regular method, that OrdinaryDiffEq.jl is not good enough for solving. The second solution creates a linear Trixi equation and a nonlinear Trixi equation. I then use the integrator interface to solve the linear part with SSPRK and the nonlinear part with an implicit method. The second solution is much faster and correct.
The point is, there needs to be more flexibility for users to solve the terms of the semidiscretized equations with their own algorithms.

You mentioned that everything was very slow on Discourse. My first impression is that this is caused by non-constant global variables like c0 used in pumpgaussinit  etc. called from BCLeftRight. See https://docs.julialang.org/en/v1/manual/performance-tips/#Avoid-untyped-global-variables

If you want to use use a SplitODEProblem and corresponding solver from OrdinaryDiffEq.jl, you can basically use your semi_lin and semi_nonlin for it. Since the code you have posted is not minimal but quite a lot, I will only give some pseudocode how to set it up:
function rhs_nonlin!(du_ode, u_ode, parameters, t)
    semi = parameters.semi_nonlin
    Trixi.rhs!(du_ode, u_ode, semi, t)
end

function rhs_lin!(du_ode, u_ode, parameters, t)
    semi = parameters.semi_lin
    Trixi.rhs!(du_ode, u_ode, semi, t)
end

parameters = (; semi_nonlin, semi_lin)
ode = SplitODEProblem(rhs_nonlin!, rhs_lin!, u0, tspan, parameters)

Thanks @ranocha . I'll give it a shot. Yes, the code is not minimal. I'm not sure there is a way to minimize it, however. Given the Trixi.jl interface, the issue is that there is no support for complex numbers. Given the equation is just a 2-variable complex advection equation with a nonlinear coupling source term, this was the easiest example I could think of.

Is the example representative of the kind of problems you need to solve or will they be more complicated (e.g., multiple space dimensions)?

The ultimate goal is to model 3D with a system of N coupled equations with nonlinear coupling source terms along with a nonlinear self-coupling term (intensity for the Kerr effect).
In optics, the complex representation is important because of the phase of the wave and how it effects the diffraction (diffusion) along with the nonlinear coupling terms.
Additionally, in general, Maxwell's equations in a medium are represented by a complex relative permittivity (e.g. Kramers-Kronig relation).
In a 1D setting, I would use the split step method and treat the linear part of the system with an explicit SSP method and the nonlinear part with an implicit method. I believe this is generally the standard way to solve coupled advection wave equations, but I could be wrong

Here's an example of the coupled nonlinear schrodinger equation:
https://w1.mtsu.edu/faculty/wding/files/ShuNLS.pdf
Although these have small couplilng factors.
and this work has done work on IMEX SSPRK methods:
https://arxiv.org/abs/1702.04621

Here's another reason I believe we need more controls:
Say a system has a flux equal to the convolution in time of a response function and a variable at that point in space.
For example, the flux at the current time $t_{n}$ would be something like:
$$ F(x,t) = \int_{-\infty}^{t_{n}} R(t-\tau) \: U(x, \tau) d\tau  $$
where $R$ is the response function and $U$ is the variable to be solved at position $x$.
To do this convolution, I would do a Z-transform (discrete Laplace transform) of the $R$ and $U$ independently then multiply the transforms together then inverse transform:
$$  F(x,t) = Z^{-1}\{\:  Z\{ R \}  \:  Z\{ U \} \:\}  $$
Then plug it into the hyperbolic equation:
$$  \partial_{t} U(x,t) + \partial_{x} F(x,t) = 0 $$
For this, I would need access the values at each point at previous times.


Table component overflow-y scroll

Table has no way to handle y overflow
There is no way to access data past the table height.

Is this issue related to a specific component?
Table, TableBody

What did you expect to happen? What happened instead? What would you like to see changed?
I expect to be able to access all of my rows in the table component.

The table shouldn't have a max-height set, so not quite sure I understand your issue. Could you put an example up on CodeSandbox to help us better debug the problem?

basic example
I might be highlighting a different problem, but notice that the scroll bar is being invoked on the wrapper div so once I start scrolling, I will lose sight of the headers. I can open a different enhancement issue?

Since this seems to be more of a styling issue / enhancement, could you open this over on the Carbon Components repo? Any styling fixes will flow down to the React components


Update Documentation

Add Instructions for Generating Tokens
Add Example Images
Wrap CONFIG setting value in quotes

View the new README in my fork
Note: Image paths currently point to the PR head branch. If everything looks good I can add an additional commit updating the paths, or that can manually be done in your instance of reviewbot.

@danielma Image paths have been updated.


Display name issues in the Create New Identity screen

I found a few issues with the Display name input field in the Create New Identity screen.

Pressing Enter creates a new line. It would be enough to have a single line input field. Maybe it can also accept the value and press the button to go to the next screen. [1]
The Display name field is displayed incorrectly on Firefox when it's empty. After the first character is entered it is displayed correctly. [2]
Maybe it would be better to focus on the Display name input field. If not, then a placeholder would be good.

[1]

[2]

Closed by #109


Datetime line brush displays wrong 1:00AM instead of midnight

Bug report
Codepen
I have modified the brush chart codepen. The only things I changed are: the interval of the datapoints (from 86400 to 600), the start date is set to 2020-03-31T22:00:00+02:00, and the tooltip format has ben changed to display hours instead of dates.
https://codepen.io/fracz/pen/jOPJLoO
Explanation
When you open the codepen, the midnight date is displayed correctly as a 1 Apr.

Then, if you move the brush selection slightly to the right the midnight label is being set to 1:00.

If you keep moving the selection and pass the next hour, the label is getting back to 0:00 (but not 1 Apr) in the codepen:

The tooltip always shows the correct data even when the x-label are messed up.

Not a big deal, hovever in my application the labels are not fixed when moving right, so all of the labels are shifted by one hour, and it is much bigger problem. Could not reproduce such behavior in the codepen, though.

Yeah, I can see the bug in your modified codepen.
I will take a look soon, thanks for reporting.

Any progress on this? I'm experiencing this one as well, except that in our code the bug happens everytime on a specific timeframe. Also on the initial load.

.

Have you been able to look at this? We also experience this using only 24H time it skips 00:00 when zoomed in. :)

Getting this as well. Its skipping 00:00

I thought it was just the 24H too but it happens for both. Seems to be when the range is selected between 1-2 hours before midnight then midnight seems to get dropped as show in the images below.

Got same problem with time line charts


Dropdown Item on the right side not readable

Please have a look at this fiddle: https://svelte.dev/repl/0a037a7a4190422e8efdecaa9aa6f005?version=3.42.6.
The Dropdown Menu "Options" has an item "Option 1 with long text leaking out of the view" which is currently not readable.

I'd expext Dropdownmenu (end) open it's items aligned to the right. Any ideas on how to achieve this?

Hi, yeah that's annoying.  This workaround seems to work:
https://svelte.dev/repl/6e7373d1ecab40ec9f71bbb18f88318b?version=3.42.6
But the mobile behavior is not same.  Will take a look what's off in the classes, etc.

I think I found the problem.  The current Bootstrap javascript appends a data-bs-popper="none" attribute to an open dropdown. Annoyingly, Bootstrap then uses this attribute in the css to align the menus.
https://github.com/twbs/bootstrap/blob/e8f4cba9a05fc06fc6f7f11883b9c82e2027bff0/scss/_dropdown.scss#L45
@each $breakpoint in map-keys($grid-breakpoints) {
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    .dropdown-menu#{$infix}-start {
      --bs-position: start;

      &[data-bs-popper] {
        right: auto;
        left: 0;
      }
    }

    .dropdown-menu#{$infix}-end {
      --bs-position: end;

      &[data-bs-popper] {
        right: 0;
        left: auto;
      }
    }
  }
}

Not sure what the best way is to fix this in Sveltestrap.  For now I'm doing this in my navbar component:
<style lang="scss">
  :global(.dropdown-menu-end) {
    right: 0;
    left: auto;
  }
</style>

Ah thanks @cdcarson , I think we can add that conditionally.  Yes super weird to use data attribute for styles...
I'll look this weekend if we can fix here

Will release soon, thanks for the heads up and suggested fixes

Release in: https://github.com/bestguy/sveltestrap/releases/tag/v5.8.0


Subscription not set!

I have the certfile.pem and keyfile.pem and I added .ccv2ctl.yml in /home/jenkins directory and it has the right subscript but I am still getting Subscription not set! for the command ccv2ctl get build --all.

check the readme ;)
make sure that you have uncommented the subscription: line in your .ccv2ctl.yml or add the command line flag --subscpription when invoking ccv2ctl


🗑 Deprecation promotion of toNotEmptySet extension function to hidden level

📝 Description
We would like to promote the deprecation of the toNotEmptySet extension function to a hidden level.
🔗 Dependencies
This issue is blocked by the following ones:

[x] #518

✅ Checklist

[ ] Promote the deprecation of this declaration, update the public API binaries and the unreleased changelog.
[ ] Close this issue as completed and update tracking ones if present.

We are not ready to implement this change.


Keep original "duotone" light background ?

A white background is very violent for the eyes.
I had to add this CSS to revert the original color of @simurai duotone light theme.
.theme-duotone-bright-sea-syntax atom-text-editor {
  background-color: hsl(40, 33%, 97%); /* https://github.com/simurai/duotone-light-syntax/blob/master/styles/colors.less */
}

Maybe this should be the default background color for this version?

I agree that pure white might be too bright for many scenarios, most scenarios probably :] But you see, I work with a setup where I can't control the incoming light during the day, and the wall right behind my monitor is also white, and catches a lot of that light, so I wanted as bright a theme was possible.
What I should have done, and originally wanted to do, was to make a dutone-light-sea theme without any of my personal preferences embedded in it, changing just the hues like duotone-dark-sea does from duotone-dark; and then make my personal variants like I have them now. The reason I decided not do it was because I felt that it would be very rude to squat up the package name duotone-light-sea because all the duotone-dark-* names are official packages, and didn't know what to name it otherwise.
Would it be acceptable if instead of the background-color directly from duotone-light it was set to the following?
.theme-duotone-bright-sea-syntax atom-text-editor {
  background-color: hsl(212, 0%, 97%);
}

The original theme uses that warm orangey hue (40) rather than the blue hue (212) of the sea flavor. But applying the blue in its place tints the overall look too much (especially with One UI interface themes), drawing away from the neutrality that I personally want to keep, which is why I have further desaturated it.
Or should I release a 'standard' duotone-light-sea with a less ambiguous name? What do you suggest?

I am working on another theme. Nevermind.


Fix audit disable

Connects to #329

@willnewton we overwrite with a kernel configuration mechanism any bsp configuration. Check resin-kernel.bbclass

Rebase on current master.


Merge 2.225.0 to fix Apple 503 Unavailble service

ticket: https://mightynetworks.atlassian.net/browse/PLAT-3281
Resolved conflicts

CONFLICT
RESOLUTION

@addbrick good idea, I've also added conflict resolution screenshots (4 compares) could you glance if all look good (I have too little context on those) cc @gmartinimighty


feat(browser): Add reload function which will send Referer value when refresh browser

feat(lib\browser.ts): Add reload function wich will send Referer
Ticket number for mentioned feature is:
Browser.refresh function does not keep Referer and other header
parameters. #4140
https://github.com/angular/protractor/issues/4140

I signed it!

I'd hesitate to add another method here. Can your issue in https://github.com/angular/protractor/issues/4140#issuecomment-285274253 just be solved by a helper that does this for your specific use case?
browser.executeScriptWithDescription(
              'return location.reload()', 'Protractor reload page');

We can create wrapper to add this method. We have multiple protractor projects and also we can create npm package to easily add into project. But I am just wondering if it is only browser refresh functionality and it is not working in a proper way, why do you hesitate to add this method. Because when you refresh your browser manually, press the key F5 or just click on refresh button it send Referer and other header values. And also Selenium driver also works in this way, in protractor we have the following code:
`refresh(opt_timeout?: number) {
if (this.ignoreSynchronization) {
return this.driver.navigate().refresh();
}
return this
    .executeScriptWithDescription(
        'return window.location.href', 'Protractor.refresh() - getUrl')
    .then((href: string) => {
      return this.get(href, opt_timeout);
    });

}`
this.get(href,opt_timeout) means that we just say browser to open the existing link, but there are many difference between refresh and open the current link.
I think this new method will solve this issue and in future release there will be no need to create wrapper.
Which is the main reason that you hesitate to add this method?
Thanks a lot!

Hi,
I have tried :
browser.executeScriptWithDescription(               'return location.reload()', 'Protractor reload page');
but it does not work for my use case.
The browser is receiving a cookie from my server after user signs in but it is lost when I ask Protractor to reload the page.
I have also tried :
browser.driver.navigate().refresh();
but I still have the same issue.
I am using :

Protractor v.5.1.1
Webdriver-manager  v12.0.4

I have tried many times and looks like protractor do not remove cookie.
Could you please run
location.reaload()
in your browser console and see does the cookie exists?
And also when you click on reload button or F5 does this cookie exists?
Also you can try the following
location.refresh(true)
According to link
Parameter for this function means:
Optional. Specifies the type of reloading:
false - Default. Reloads the current page from the cache.
true - Reloads the current page from the server.
May also you can try location.refresh(true).

Hi @mmikirtumov,
Thank you for your confirmation and advices.
You are right, Protractor does not remove the cookies.
I finally managed to make my test work but I had to add a sleep() instruction before the reload() instruction...
Hereafter my test case :
username.sendKeys('test');
password.sendKeys('ok');
connexion.click(); // submit the form to the server and once authenticated Angular redirects to homepage.

browser.sleep(1000);

browser.executeScriptWithDescription(
        'return location.reload()', 'Protractor reload page');

Actually, with the sleep() I have tried using :
browser.driver.navigate().refresh();
and even
browser.refresh();
instead of
browser.executeScriptWithDescription(
         'return location.reload()', 'Protractor reload page');

and in all the cases now Protractor refreshes the homepage correctly and the cookies are kept.
I do not know why the sleep() is needed knowing I have left the Control Flow enabled.

Hi @musclor ,
I would suggest you to use ExpectedConditions.urlIs logic.
The documentation you can find link
Maybe this approach will solve your problem.
Thanks

Thank you @mmikirtumov for your suggestion.
It works like a charm and it makes my test more understandable for the readers.


"validate" option should use charList from model

https://github.com/githubharald/SimpleHTR/blob/7f26b321f8b8b18e5f60cbc1b7d5e1ad202e7487/src/main.py#L177
From my point of view validate should use char_list from the model instead from the loaded dataset. This way if the user uses a different dataset for validation it will work. In current implmentation, the charList depends of dataset and will create errors if the new dataset has not exactly same charlist as the learning dataset.

makes sense 👍
Feel free to provide a PR with the change.
Otherwise I'll change this, but might take some time.

 It's not very clean.
Maybe consider also something to be able to add characters during (for example) transfert learning. I try to recognize german text from only 1 person but do not have much data so I learned on the IAM dataset and did transfert learning on some part of my German text. Unfortunatelly it will fait if I feed ä or ü because it's not in the original dataset. I didn't have a deep look for the moment on how to improve it as I still have to extend my GT data a bit.
Do not be surpised if I open many Issues, I just try to document the little things I see during my own learning process.

ok, as I said this one I'll implement in the future, but for the rest let's see. As the name SimpleHTR suggests I want to keep it as simple as possible ;-) ... even if this means lacking some features.
The repo should be considered as a foundation for further developments, on which everyone can build his or her custom stuff.

changed the code, now in validation and inference mode the charset of the trained model is used.

Hi, I wonder if this can train the text line model, it seems that it can only train the single word model

I don't understand your question. Is this related to this issue? If so please explain in more detail.

How to improve accuracy?

after two years, im led to you guys. Great work Harald! whats the latest on this program?


prepare falco chart for 1.15.0

Signed-off-by: Issif<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If this PR will release a new chart version please make sure to also uncomment the following line:

/kind chart-release

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area falco-chart

/area falco-exporter-chart

/area falcosidekick-chart

What this PR does / why we need it:
This PR update version of chart for falcosidekick used as dependency
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Checklist

[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] CHANGELOG.md updated

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

falco/OWNERS [Issif]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

falco/OWNERS [Issif,leogr]

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

LGTM label has been added.  Git tree hash: 1e1c0086efaf931c28c4d8087791e207bbed96e0


Future feature ideas (Placeholder)

A few ideas up for discussion as possible future features. This can act as a placeholder for ideas to be added.

Ability for users to comment on campaigns / events and/or tasks similar to GitHub issue comments. For example Mike is signed up for Task "Install fire alarm" and posts to the event "My drill has broken - Does anyone have one I can borrow for Task x?"

Gamification of volunteering. Users earn points / badges etc which can be shared on social media as they hit milestones such as completing x tasks

Campagin / event alerts - Ability for org admins to post an important alert against a campaign or event which shows on the event page and potentially notifies all volunteers. "This event is being moved by 1 week due to unforeseen circumstances"?

Adding AppInsights / Stackify style APM tool to monitor for exceptions and performance on the live deployment of the site.

5 - Location based notification/alerts to volunteers - This can help organization get help faster through local (within city) volunteers.


Implement tokio::{AsyncRead, AsyncSeek} for ObjectReader

ObjectReader has implemented futures::AsyncRead and futures::AsyncSeek. Implement the tokio support should be easy

Hi, I'd like to work on this issue. Please assign this to me.

Thanks in advance!


[react-tracking] Add typings for react-tracking and our schema.

This adds the react-racking types which are augmented with our schema.
I flip-flopped a lot. In the first commit you can find a version that uses a noop function that has multiple overloads and in the second commit I replaced it with a single interface that the user can use to augment the track function themselves (which means no otherwise unnecessary function calls).
What do you think?
Skip New Tests

Fails

:no_entry_sign:

No CHANGELOG added.

:no_entry_sign:

Missing Test Files:

src/lib/__tests__/metaphysics-tests.ts
src/lib/utils/__tests__/errors-tests.tsx
src/lib/utils/__tests__/track-tests.ts

If these files are supposed to not exist, please update your PR body to include "Skip New Tests".

  Generated by :no_entry_sign: dangerJS

Warnings

:warning:

Missing Test Files:

src/lib/__tests__/metaphysics-tests.ts
src/lib/utils/__tests__/errors-tests.tsx
src/lib/utils/__tests__/track-tests.ts

If these files are supposed to not exist, please update your PR body to include "Skip New Tests".

  Generated by :no_entry_sign: dangerJS

Warnings

:warning:

Missing Test Files:

src/lib/__tests__/metaphysics-tests.ts
src/lib/utils/__tests__/errors-tests.tsx
src/lib/utils/__tests__/track-tests.ts

If these files are supposed to not exist, please update your PR body to include "Skip New Tests".

  Generated by :no_entry_sign: dangerJS

Warnings

:warning:

Missing Test Files:

src/lib/__tests__/metaphysics-tests.ts
src/lib/utils/__tests__/errors-tests.tsx
src/lib/utils/__tests__/track-tests.ts

If these files are supposed to not exist, please update your PR body to include "Skip New Tests".

  Generated by :no_entry_sign: dangerJS

🙌


Update Composer dependencies (2022-03-13-00-07)

Visual regression test passed!
View the visual regression test report


Dev Compliance Requirements

Link: https://github.com/XgridInc/xc3/issues/76
[PS-1]
- Crating PR to fulfill compliance requirements.

Issues:

Added WAFv2 ACLs.
Cloudwatch Alarms.
CPU utilization Monitoring and SSH.

This code fulfill compliance requirements to make infrastructure more secure. The infrastucture xc3 module is modified and in main.tf there are three resources added.

[ ] Added tests that cover your change (if possible)
[ ] Added/modified documentation as required (such as the README.md, or the docs directory)
[x] Manually tested
[x] Every function, interface, class has a comment describing what it does and input/output parameters

]

LGTM


Update sun2000 to 0.8.0

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

Martin, thank you for your support.


How does the method handle moving camera cases?

Hello! Thanks for the cool work! How does the method handle when we freely move the camera through the scene? Because point tracking methods such as CoTracker are negatively affected by camera movement.

Hello, thanks for the question! We can handle a freely moving camera, although fast and extensive camera motion will certainly cause our method to do worse. Our ability to find correspondences through time largely relies on CoTracker and TrackAnything (although the RGB and depth rendering losses likely help a little as well). Furthermore, our rigidity priors can help aggregate noisy CoTracker information into cleaner motion.
Regarding CoTracker though, we did find it frequently fails to estimate good tracking (both with a moving camera and without). One way we mitigate the effect of its errors is by using "shorter" CoTracker predictions (which are usually higher quality) - that is, we supervise with CoTracker predictions that only span 12 frames (because we found tracking can get much worse after ~12 frames of tracking).

Hello again. Thanks for the detailed answer. Does splitting the video into 12 frame chunks help to handle extensive camera motion as well?

Only supervising with CoTracker predictions that span 12 frames helps provide more accurate tracking supervision. However, the length of the CoTracker supervision is independent of how we divide the video into "chunks". For instance, we could have Gaussians trajectories that span 128 frames, but apply our tracking loss on a various length-12 subsequences of the trajectories.
However, as you mention, it is also important to split the video up into "chunks". In fact, with highly dynamic content (such as the DyCheck dataset), we find it best to only learn Gaussian trajectories that span chunks of 8 frames on the foreground and 32 frames on the background.

Hello! Thanks for you quick response. Let me ask a question that is a bit out of scope. In the case of freely moving monocular camera, when I backproject the CoTracker predictions into 3D by using depth maps, I suspiciously get varying 3d coordinates for the same static point over time. However, I would expect the static point have the same 3d coordinates over time. Can you please comment on this? Thanks!

Hello again,
Thanks for the follow up! So this is to be expected because we do not have camera poses (we pretend the camera is stationary). As an intuitive analogy, think of it like being on a train. From your perspective, the landscape is moving. If you look at a tree in front of you, it will be close at that time but far away the next second (even though the tree is not actually moving).  Similar, we model the camera as if it is the train: the "stationary background" appears to move.
We could instead estimate and use camera poses, thereby reasoning in a reference frame where static content is in-fact static. However, estimating camera poses can be challenging and sometimes outright fail, so we opted for the camera's frame of reference. Nevertheless, I am currently working on code to estimate the camera poses when possible, since it is much easier to learn motion when we don't have to worry about the "static" background moving.