[BUG] BlobContainerClient FindBlobsByTagsAsync docs claim you can use @container but you can not

Library name and version
Azure.Storage.Blobs 12.11.0
Describe the bug
the docs for FindBlobsByTagsAsync from https://docs.microsoft.com/en-us/dotnet/api/azure.storage.blobs.blobcontainerclient.findblobsbytagsasync?view=azure-dotnet say

The following operators are supported: =, >, >=, <, <=, AND. and @container. Example expression: "tagKey"='tagValue'.

but if you use @container with BlobContainerClient you get the following error
[2022-03-17T06:29:09.978Z] Executed 'CreditValueChanged-ProcessTransferredFiles' (Failed, Id=9bfbd1df-cef9-41a3-9ae5-c7786bdc1c01, Duration=5251ms)
[2022-03-17T06:29:09.981Z] System.Private.CoreLib: Exception while executing function: CreditValueChanged-ProcessTransferredFiles. Azure.Storage.Blobs: Error parsing query: Cannot have container in both uri and query
RequestId:f455caa3-601e-004f-70c8-39dccf000000
Time:2022-03-17T06:29:09.8029199Z
[2022-03-17T06:29:09.984Z] Status: 400 (Error parsing query: Cannot have container in both uri and query)
[2022-03-17T06:29:09.986Z] ErrorCode: InvalidQueryParameterValue
[2022-03-17T06:29:09.988Z]
[2022-03-17T06:29:09.989Z] Additional Information:
[2022-03-17T06:29:09.991Z] QueryParameterName: where
[2022-03-17T06:29:09.992Z] QueryParameterValue: @container = 'getpaid-credit-value-changed' AND "CustomerId" = '10075'
[2022-03-17T06:29:09.994Z] Reason: This query parameter value is invalid.
[2022-03-17T06:29:09.996Z]
[2022-03-17T06:29:09.997Z] Content:
[2022-03-17T06:29:09.998Z] <?xml version="1.0" encoding="utf-8"?>
<Error>InvalidQueryParameterValue<Message>Error parsing query: Cannot have container in both uri and query
RequestId:f455caa3-601e-004f-70c8-39dccf000000
Time:2022-03-17T06:29:09.8029199Z</Message><QueryParameterName>where</QueryParameterName><QueryParameterValue>@container = 'getpaid-credit-value-changed' AND "CustomerId" = '10075'</QueryParameterValue><Reason>This query parameter value is invalid.</Reason></Error>
[2022-03-17T06:29:10.000Z]
[2022-03-17T06:29:10.001Z] Headers:
[2022-03-17T06:29:10.002Z] Server: Windows-Azure-Blob/1.0,Microsoft-HTTPAPI/2.0
[2022-03-17T06:29:10.003Z] x-ms-error-code: InvalidQueryParameterValue
[2022-03-17T06:29:10.004Z] x-ms-request-id: f455caa3-601e-004f-70c8-39dccf000000
[2022-03-17T06:29:10.005Z] x-ms-version: 2021-04-10
[2022-03-17T06:29:10.006Z] x-ms-client-request-id: fe6ab140-adf1-482e-a45b-db9d8b95edc0
[2022-03-17T06:29:10.007Z] Date: Thu, 17 Mar 2022 06:29:09 GMT
[2022-03-17T06:29:10.008Z] Content-Length: 504
[2022-03-17T06:29:10.011Z] Content-Type: application/xml
[2022-03-17T06:29:10.013Z] .

this came when i was trying the fix suggested in #27571
Expected behavior
i'm not really sure...does BlobContainerClient  FindBlobsByTagsAsync really search across containers like BlobClientService does or is already scoped to a container.
If it's scoped to a container, then the docs are wrong and @container can't be specified
if it's not...then probably the underlying implementation of BlobContainerClient FindBlobsByTagsAsync  is broken adn shouldn't specify a container in the query.
Actual behavior
get a 400 from the server
Reproduction Steps
call BlobContainerClient  FindBlobsByTagsAsync with a @container = 'containerName' condition
Environment
.net 6 going against a azure storage container hosted in us west 2

@drdamour I do not see any issues while using @container with FindBlobsByTagsAsync.

I am using the same version Azure.Storage.Blobs 12.11.0 as yours.
You error message says Error parsing query: Cannot have container in both uri and query.  Can you please make sure you are not passing container in the account uri while creating the blob service client?

@SaurabhSharma-MSFT im not using BlobServiceClient…i’m using BlobContainerClient

@drdamour sorry I misread it and you are correct. I think @container is not supported for a Container Client and documentation needs to be updated.  I am redirecting this to services team to look into it.

been over a year, any updates?

The documentation was incorrect.  BlobContainerClient.FindBlobsByTag() only applies to the container in question, and does not support @ container.

cool...and just before it's 2nd birthday


Video module - id does not work

Have there been any changes to the video module? Data id seems not to deliver the video.
By the way is there any possibility how to link data id to a video stored on the website server itself and not youtube or vimeo?

There hasn't been any changes.
Can you provide a jsfiddle?

You can try defsult Semantic example http://semantic-ui.com/modules/video.html

Damnit they took down the kitty video! I will have to find a new one

Added new bear video in next


Anfranci/add jobs operations

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

containerapp

Closing this draft PR, new PR for adding CLI changes for jobs:
https://github.com/Azure/azure-cli-extensions/pull/5956


ability to intercept Base64 dataURL images before upload (server overload)

We've seen some dataURL images pasted into posts and that can badly overload our database when it's saved as a string into a text record instead of uploaded separately.
Not sure if this will require code changes, but i'd like to intercept this if possible and upload via as normal images are!

This could be doable in a similar fashion to: https://github.com/bevacqua/woofmark/issues/38

At minimum a way to insert a filter to find these so we can do /something/ like show an alert, or prevent upload, or replace them with something.


How to deploy app on IIS Server?

I have back-end API written in ASP.NET Web API 2.0. I'm trying get this boilerplate work with it. What is the best way to deploy this app to IIS express or IIS Server? After building the react app I get a dump inside build directory. Do I directly serve that directory on IIS Server?

I've never used IIS, so I can't really help you here I'm afraid!
I'll leave this open for a while, maybe somebody can chime in, but generally I recommend to ask questions in the Gitter channel since you'll get your answere much faster: https://gitter.im/mxstbr/react-boilerplate

I have limited experience with IIS, however since the build folder simple contains html and js files you should have no problem with any server capable of serving HTML and JS.
One minor issue I ran into when setting up is that the .htaccess file included in the build folder is needed for routing to work fully - in my case I could view the home page and navigate via links, but if I tried to type the URL to a specific page I would see an error. To solve this I enabled mod_rewrite - a Google search should reveal plenty of information about how to set this up on IIS.
Hope this helps.

@mxstbr alright, I'lldo that. Thanks @tobyl. I'll try to serve build directory on IIS express first thing tomorrow.
Please keep this issue open for now. Thanks again for the help!

no problem - let us know if it works.  :)

It worked! As correctly mentioned by @tobyl I had to override default URL settings. I couldn't figure out how to do it using IIS URL rewriting module. Instead I wrote the rules in web.config of ASP.NET project.
Another way is to create an empty MVC application and configure default routing in routeConfig.cs. You can find snippets on StackOverflow for the same.
Hence closing the issue.

do you mind sharing the web.config or put up an empty boilerplate app on github?  thanks

+1 to @aogut 's comment.. Your boilerplate would really help.

@aogut @siddhanttambe Here's the part of web.config-
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>


Fix “ceylon doc mangles dollar sign in quotes in code block”

See commit messages. Fixes #6559.

Resubmit of #7161.

I don’t want this to stay unmerged for months again, so let’s merge :)

Thanks @lucaswerkmeister.


Unable to download file

Hi,
Downloading the .zip file from the below gives virus/malware error in both Chrome and Firefox. Is this expected?
https://github.com/microsoft/etl2pcapng/releases/tag/1.50

Also triggers alert from Windows Defender for trojan. Win32/Dridex!ml

I believe it's a false positive.

@maolson-msft Would suggest to re-release one that doesn't trigger a false positive. None of the older versions I tried has this issue. Perhaps include a scan with Windows Defender into your build pipeline?


new functions for models:

New functions:

Message.delete()

About this Pull Request
This PR adds new functions to the existing data models (like Message, Channel, Member, etc).
Checklist

[x] I've run the pre_push.py script to format and lint the change(s) made.
[x] I've checked to make sure this pull request runs on Python 3.6.X.
[ ] This fixes/solves something from the project's Issues.

Issue (if referenceable):

[x] This adds something new.

[ ] This is not a code change.
[x] (If required) Relevant documentation has been updated/added.
[ ] There is/are (a) breaking change(s).

We want to rename the reference of client being passed into our models here as _client because this is an internal attribute that does not need to be accessed. We generally apply the underscore character on attributes when we want to distinguish it as a special use case that doesn't necessarily apply to crucial data of the object itself.
There are also some areas where I'm confused about what you're doing.

I agree with the name of _client. At first I was thinking about naming it that way, but I followed context.py where it was named without underscore.
So why don't you have it as _client in context?


Add tests

Codecov Report

Merging #12 (5014f0b) into main (697904f) will increase coverage by 12.91%.
The diff coverage is 63.63%.

@@             Coverage Diff             @@
##             main      #12       +/-   ##
===========================================
+ Coverage   74.29%   87.21%   +12.91%
===========================================
  Files           7        7
  Lines         214      219        +5
  Branches       33       25        -8
===========================================
+ Hits          159      191       +32
+ Misses         51       20       -31
- Partials        4        8        +4

Files
Coverage Δ

src/whool/__main__.py
0.00% <0.00%> (ø)

src/whool/cli.py
80.00% <77.77%> (+80.00%)
:arrow_up:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


cargo test --no-default-features fails: no longer possible to disable alloc feature?

I've tried with multiple versions and it seems like test doesn't pass with out 'alloc' feature ? spot checked
4ce4dd36 and 185d6136 and it seems like never passed.
CI config suggests this case wasn't covered?
Does anybody use non-alloc since alloc is no longer nightly?
$ rustc --version
rustc 1.63.0
$ rustc --version
rustc 1.48.0
$ cargo test --no-default-features
some snippets:
error[E0277]: the trait bound Arc<dyn Debug>: IntrusivePointer<_> is not satisfied
--> src/intrusive_pointer.rs:224:48
|
224 |             let r = IntrusivePointer::into_raw(p);
|                     -------------------------- ^ expected an implementor of trait IntrusivePointer<_>
|                     |
|                     required by a bound introduced by this call
|
help: consider borrowing here
|
224 |             let r = IntrusivePointer::into_raw(&p);
|                                                +
error[E0277]: the trait bound Arc<dyn Debug>: IntrusivePointer<dyn Debug> is not satisfied
--> src/intrusive_pointer.rs:227:34
|
227 |             let p2: Arc = IntrusivePointer::from_raw(r);
|                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait IntrusivePointer<dyn Debug> is not implemented for Arc<dyn Debug>
|
= help: the following other types implement trait IntrusivePointer<T>:
&'a T
UnsafeRef
error[E0277]: the trait bound Rc<dyn Debug>: IntrusivePointer<_> is not satisfied
--> src/intrusive_pointer.rs:208:48
|
208 |             let r = IntrusivePointer::into_raw(p);
|                     -------------------------- ^ expected an implementor of trait IntrusivePointer<_>
|                     |
|                     required by a bound introduced by this call
|
help: consider borrowing here
|
208 |             let r = IntrusivePointer::into_raw(&p);
|                                                +
error[E0277]: the trait bound Rc<dyn Debug>: IntrusivePointer<dyn Debug> is not satisfied
--> src/intrusive_pointer.rs:211:33
|
211 |             let p2: Rc = IntrusivePointer::from_raw(r);
|                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait IntrusivePointer<dyn Debug> is not implemented for Rc<dyn Debug>
|
= help: the following other types implement trait IntrusivePointer<T>:
&'a T
UnsafeRef
error[E0277]: the trait bound Box<dyn Debug>: IntrusivePointer<_> is not satisfied
--> src/intrusive_pointer.rs:192:48
|
192 |             let r = IntrusivePointer::into_raw(p);
|                     -------------------------- ^ expected an implementor of trait IntrusivePointer<_>
|                     |
|                     required by a bound introduced by this call
|
help: consider borrowing here
|
192 |             let r = IntrusivePointer::into_raw(&p);
|                                                +
error[E0277]: the trait bound Box<dyn Debug>: IntrusivePointer<dyn Debug> is not satisfied
--> src/intrusive_pointer.rs:195:34
|
195 |             let p2: Box = IntrusivePointer::from_raw(r);
|                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait IntrusivePointer<dyn Debug> is not implemented for Box<dyn Debug>
|
= help: the following other types implement trait IntrusivePointer<T>:
&'a T
UnsafeRef

The tests were never designed to work without the alloc feature. We could add a check in CI that the crate builds (cargo check --no-default-features) though.


docs: improve contribution guide

Summary
Improves the contribution guide
Description
Improves the contribution guide by explaining how the extension can be built locally.
Related Issue
This PR closes #147

Internally there's a command called pack:dev that does bundling, compilation and installation, why can't we document this command instead?

We can, I just assumed people would just run the app with the debug, as I do.

Ok. Sorry if I'm being so dumb, but unfortunately I struggle to understand the flow.
So I open this repository with VSCode, then I click F5, open another project that uses the extension, and when I modify this source the other project will use the new compiled code?
Second thought: the contribution guide assumes that a person uses VSCode, but I use other editors, there's no F5 😅

No problem, I'll try to explain this better.
First, the contribution guide assumes that you're using VS Code to develop the extension because it's the easiest way to debug it. We can definitely improve the guide to include instructions for user who don't use VS Code as their main editor, though.
When you open this repo with VS Code and press F5, VS Code will spawn a separate VS Code instance meant only for debugging. This separate instance does two things:

It disables all extensions
It loads the Biome extension being debugged (the watcher builds it in out/)

You can then use this separate instance to load any other project to test the behavior of the Biome extension on a real project.
Hope this clears it.

That's way better, thank you!

Will be overhauled as part of v3.


Adapter crash 2.0.5

Hi,
Der Adapter crashed nach einigen Fernbedienungsaktionen hinter einander. Vorallem long presses auf der Tradfri FB.
|   |   |
-- | -- | -- | --
host.ioBrokerPIB3 | 2020-10-01 20:38:14.391 | info | Restart adapter system.adapter.deconz.0 because enabled
host.ioBrokerPIB3 | 2020-10-01 20:38:14.390 | info | instance system.adapter.deconz.0 terminated with code 0 (NO_ERROR)
host.ioBrokerPIB3 | 2020-10-01 20:38:14.387 | error | Caught by controller[1]: at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:614:13)
host.ioBrokerPIB3 | 2020-10-01 20:38:14.386 | error | Caught by controller[1]: at processTicksAndRejections (internal/process/task_queues.js:97:5)
host.ioBrokerPIB3 | 2020-10-01 20:38:14.386 | error | Caught by controller[1]: at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54)
host.ioBrokerPIB3 | 2020-10-01 20:38:14.385 | error | Caught by controller[1]: TypeError: Cannot read property 'id' of undefined
host.ioBrokerPIB3 | 2020-10-01 20:38:14.384 | error | Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected
deconz.0 | 2020-10-01 20:38:12.710 | info | (25158) Terminated (NO_ERROR): Without reason
deconz.0 | 2020-10-01 20:38:12.707 | info | (25158) terminating
deconz.0 | 2020-10-01 20:38:12.483 | info | (25158) cleaned everything up...
deconz.0 | 2020-10-01 20:38:12.479 | error | (25158) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at processTicksAndRejections (internal/process/task_qu
deconz.0 | 2020-10-01 20:38:12.463 | error | (25158) unhandled promise rejection: Cannot read property 'id' of undefined
deconz.0 | 2020-10-01 20:38:12.462 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
deconz.0 | 2020-10-01 20:37:57.045 | info | (25158) deConz Version: 2.5.83; API version: 1.16.0
deconz.0 | 2020-10-01 20:37:56.860 | info | (25158) Please wait while adapter is starting
deconz.0 | 2020-10-01 20:37:56.818 | info | (25158) starting. Version 2.0.5 in /opt/iobroker/node_modules/iobroker.deconz, node: v12.16.3, js-controller: 3.1.6
host.ioBrokerPIB3 | 2020-10-01 20:37:53.973 | info | instance system.adapter.deconz.0 started with pid 25158
host.ioBrokerPIB3 | 2020-10-01 20:37:23.948 | info | Restart adapter system.adapter.deconz.0 because enabled
host.ioBrokerPIB3 | 2020-10-01 20:37:23.947 | info | instance system.adapter.deconz.0 terminated with code 0 (NO_ERROR)
host.ioBrokerPIB3 | 2020-10-01 20:37:23.947 | error | Caught by controller[3]: at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:614:13)
host.ioBrokerPIB3 | 2020-10-01 20:37:23.947 | error | Caught by controller[3]: at processTicksAndRejections (internal/process/task_queues.js:97:5)
host.ioBrokerPIB3 | 2020-10-01 20:37:23.946 | error | Caught by controller[3]: at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54)
host.ioBrokerPIB3 | 2020-10-01 20:37:23.946 | error | Caught by controller[3]: TypeError: Cannot read property 'id' of undefined
host.ioBrokerPIB3 | 2020-10-01 20:37:23.946 | error | Caught by controller[2]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected
host.ioBrokerPIB3 | 2020-10-01 20:37:23.945 | error | Caught by controller[1]: at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:614:13)
host.ioBrokerPIB3 | 2020-10-01 20:37:23.945 | error | Caught by controller[1]: at processTicksAndRejections (internal/process/task_queues.js:97:5)
host.ioBrokerPIB3 | 2020-10-01 20:37:23.944 | error | Caught by controller[1]: at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54)
host.ioBrokerPIB3 | 2020-10-01 20:37:23.944 | error | Caught by controller[1]: TypeError: Cannot read property 'id' of undefined
host.ioBrokerPIB3 | 2020-10-01 20:37:23.943 | error | Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected
deconz.0 | 2020-10-01 20:37:22.652 | info | (24588) Terminated (NO_ERROR): Without reason
deconz.0 | 2020-10-01 20:37:22.648 | info | (24588) terminating
deconz.0 | 2020-10-01 20:37:22.625 | error | (24588) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at processTicksAndRejections (internal/process/task_qu
deconz.0 | 2020-10-01 20:37:22.624 | error | (24588) unhandled promise rejection: Cannot read property 'id' of undefined
deconz.0 | 2020-10-01 20:37:22.622 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
deconz.0 | 2020-10-01 20:37:22.472 | info | (24588) cleaned everything up...
deconz.0 | 2020-10-01 20:37:22.468 | error | (24588) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at processTicksAndRejections (internal/process/task_qu
deconz.0 | 2020-10-01 20:37:22.456 | error | (24588) unhandled promise rejection: Cannot read property 'id' of undefined
deconz.0 | 2020-10-01 20:37:22.454 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

Scheint ein restart loop zu sein....

deconz.0
2020-10-01 21:03:35.354
info
(11106) Terminated (NO_ERROR): Without reason

deconz.0
2020-10-01 21:03:35.354
debug
(11106) Plugin sentry destroyed

deconz.0
2020-10-01 21:03:35.352
info
(11106) terminating

deconz.0
2020-10-01 21:03:35.349
debug
(11106) Websocket connection closed

deconz.0
2020-10-01 21:03:35.341
error
(11106) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at processTicksAndRejections (internal/process/task_qu

deconz.0
2020-10-01 21:03:35.341
error
(11106) unhandled promise rejection: Cannot read property 'id' of undefined

deconz.0
2020-10-01 21:03:35.340
error
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

deconz.0
2020-10-01 21:03:35.311
error
(11106) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at processTicksAndRejections (internal/process/task_qu

deconz.0
2020-10-01 21:03:35.310
error
(11106) unhandled promise rejection: Cannot read property 'id' of undefined

deconz.0
2020-10-01 21:03:35.309
error
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

deconz.0
2020-10-01 21:03:35.266
info
(11106) cleaned everything up...

deconz.0
2020-10-01 21:03:35.262
error
(11106) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at processTicksAndRejections (internal/process/task_qu

deconz.0
2020-10-01 21:03:35.256
error
(11106) unhandled promise rejection: Cannot read property 'id' of undefined

deconz.0
2020-10-01 21:03:35.256
error
Unhandled promise rejection.  Version 2.0.5 in /opt/iobroker/node_modules/iobroker.deconz, node: v12.16.3, js-controller: 3.1.6

deconz.0
2020-10-01 21:02:07.851
debug
(11106) Plugin sentry Initialize Plugin (enabled=true)

deconz.0
2020-10-01 21:02:03.600
info
(10558) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason

deconz.0
2020-10-01 21:02:03.599
info
(10558) terminating

deconz.0
2020-10-01 21:02:03.596
info
(10558) cleaned everything up...

deconz.0
2020-10-01 21:02:03.594
info
(10558) Got terminate signal TERMINATE_YOURSELF

Etwas später hat sich der restart loop beruhigt. strange...

Und dann kommt er sporadisch wieder....

host.iobrokerQNAP
2020-10-01 22:25:06.963
info
instance system.adapter.deconz.0 terminated with code 0 (NO_ERROR)

host.iobrokerQNAP
2020-10-01 22:25:06.963
error
Caught by controller[3]: at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:614:13)

host.iobrokerQNAP
2020-10-01 22:25:06.963
error
Caught by controller[3]: at processTicksAndRejections (internal/process/task_queues.js:97:5)

host.iobrokerQNAP
2020-10-01 22:25:06.963
error
Caught by controller[3]: at runMicrotasks ()

host.iobrokerQNAP
2020-10-01 22:25:06.962
error
Caught by controller[3]: at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54)

host.iobrokerQNAP
2020-10-01 22:25:06.962
error
Caught by controller[3]: TypeError: Cannot read property 'id' of undefined

host.iobrokerQNAP
2020-10-01 22:25:06.962
error
Caught by controller[2]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected

host.iobrokerQNAP
2020-10-01 22:25:06.961
error
Caught by controller[1]: at WebSocket.ws.onmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:614:13)

host.iobrokerQNAP
2020-10-01 22:25:06.961
error
Caught by controller[1]: at processTicksAndRejections (internal/process/task_queues.js:97:5)

host.iobrokerQNAP
2020-10-01 22:25:06.961
error
Caught by controller[1]: at runMicrotasks ()

host.iobrokerQNAP
2020-10-01 22:25:06.960
error
Caught by controller[1]: at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54)

host.iobrokerQNAP
2020-10-01 22:25:06.960
error
Caught by controller[1]: TypeError: Cannot read property 'id' of undefined

host.iobrokerQNAP
2020-10-01 22:25:06.959
error
Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected

deconz.0
2020-10-01 22:25:02.112
error
(19283) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at runMicrotasks () at processTicksAndR

deconz.0
2020-10-01 22:25:02.111
error
(19283) unhandled promise rejection: Cannot read property 'id' of undefined

deconz.0
2020-10-01 22:25:02.111
error
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

deconz.0
2020-10-01 22:25:01.846
info
(19283) Terminated (NO_ERROR): Without reason

deconz.0
2020-10-01 22:25:01.845
info
(19283) terminating

deconz.0
2020-10-01 22:25:01.584
info
(19283) cleaned everything up...

deconz.0
2020-10-01 22:25:01.581
error
(19283) TypeError: Cannot read property 'id' of undefined at handleWSmessage (/opt/iobroker/node_modules/iobroker.deconz/main.js:2325:54) at runMicrotasks () at processTicksAndR

deconz.0
2020-10-01 22:25:01.572
error
(19283) unhandled promise rejection: Cannot read property 'id' of undefined

deconz.0
2020-10-01 22:25:01.566
error
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

Hallo, bei mir dasselbe Problem, aber nicht erst seit 2.0.5 . auch schon vorher.  Dieser Kanal wurde nicht richtig angelegt bzw eben gar nicht. Wenn du jetzt eine Szene einer Gruppe triggert, dann stürzt der Adapter über seinen catch ab, weil er anscheinend unerwartete Werte bekommt.  Siehe dazu anderes issue https://github.com/iobroker-community-adapters/ioBroker.deconz/issues/174

Nuja ich weiß nicht.
Kann mich aber nicht errinern das früher für weiß ein extra light war dafür. Jetzt zumindest nicht. Laufen tut das Gerät mit Bewegungsmelder aber zuverlässig. Schalte aber kein weiß darüber, nur farben

Nuja ich weiß nicht.
Kann mich aber nicht errinern das früher für weiß ein extra light war dafür. Jetzt zumindest nicht. Laufen tut das Gerät mit Bewegungsmelder aber zuverlässig. Schalte aber kein weiß darüber, nur farben

Edit:
Oh doch verdammt. Im Keller habe ich ein FLS-PP lp mit einem RGBWW Band laufen.

Schmeiß ich vielleicht mal Testweise raus. ist eh nicht so wichtig.
 Das verursacht den Absturz. Ich würde sagen bevor du einen Controller raus nimmst, Geduld. Mit dem fix klappt es dann wieder.

 Hatte und hab damit keine Probleme.

 Hatte und hab damit keine Probleme.

  Jetzt muss ich warten bis Jey-Cee Zeit hat ;)

@realwax kannst du mich mal bitte auf discord (https://discord.com/invite/HwUCwsH) oder im Forums Chat anschreiben?

Ich habe das gleiche Problem und auch 2 FLS-PP lp.
Kann ich irgendwie helfen?

Ich habe das gleiche Problem und auch 2 FLS-PP lp.
Kann ich irgendwie helfen?

 Dann crasht der scene recall nicht mehr und du contributest deine Adapter in eine DB automatisch, was jaycee hilft es zu fixen. Ansonsten einfa h bei der 1.x bleiben. Je nachdem....

Erledigt, danke 👍

Ich habe das gleiche Problem und auch 2 FLS-PP lp.
Kann ich irgendwie helfen?

 Dann crasht der scene recall nicht mehr und du contributest deine Adapter in eine DB automatisch, was jaycee hilft es zu fixen. Ansonsten einfa h bei der 1.x bleiben. Je nachdem....

Ok. Ich bin hier nicht der Profi. Woher kriege ich die URL für git Version 2.0.6? Würde auch gerne mithelfen dieses Problem zu lösen resp. den Crash nicht mehr zu haben....
Danke und Gruess

Ich habe das gleiche Problem und auch 2 FLS-PP lp.
Kann ich irgendwie helfen?

 Dann crasht der scene recall nicht mehr und du contributest deine Adapter in eine DB automatisch, was jaycee hilft es zu fixen. Ansonsten einfa h bei der 1.x bleiben. Je nachdem....

Ok. Ich bin hier nicht der Profi. Woher kriege ich die URL für git Version 2.0.6? Würde auch gerne mithelfen dieses Problem zu lösen resp. den Crash nicht mehr zu haben....
Danke und Gruess

@easybeat

@realwax
Danke Wolfgang. Das hat geklappt und jetzt crasht das Ding wirklich nicht mehr.
Danke soweit mal.
Gruss

Development of verion 2 stopped, this is no longer relevant.
For more information (German) look into: https://forum.iobroker.net/topic/39627/deconz-aadapter-beta-ist-zustand-und-zukunft


Areas are represented as circular LineStrings instead of Polygons

Currently e.g. plazas are represented with circular Linestrings that shows the perimeter instead of being Polygons that cover the area.

This is probably an issue in our mapping where we only match linestrings with imposm instead of polygons.
Could you attach a screenshot/coordinates so we can test that later?

Hi,
You can compare your source with our old source and see that there are two areas missing. It seems we have previously fixed this in our own source with this commit.

Thanks @hannesj. This gives us more context.
Nice to know about http://dev.digitransit.fi/. I really like the style!!

What parts are missing for you from osm2vectortiles for a project like http://dev.digitransit.fi/ ?
We are planning for the second iteration this year and are happy for any input that would help
people building maps like these.
I guess in your case you require very detailed transportation infromation that is missing from osm2vectortiles.org.

As we provide most of the transit-specific information from another vector tile source, it is not a problem for us (except #115).
What we feel should be improved is mainly details such as this one, as well as trying to provide better localrank results for POIs. We feel that this source excels in some aspects, such as having railroads visible on higher zoom levels, which is something Mapbox currently doesn't do.

Temporary fix can be found in https://github.com/osm2vectortiles/osm2vectortiles/commit/3e58298c49f0258bb13fb27b1614cd15e3d6f11b

Temporary fix can be found in 3e58298

Wow nice. From what I understand adding road_polygons table and extending the mapping of roads resolves the issue?
How can you add a commit on top without creating a pull request? Never saw that on GitHub before.
Can you create a pull request for that?
We can than merge it and will modify the queries (since we are currently refactoring the tm2source project to make updating dirty tiles easier).

Pull request can be found in #134
Uh that was strange, the commits are on my fork and it seems GitHub syncs commits between different forks?

@lukasmartinelli It seems this is broken again. I regenerated our vector tiles using the current master and can see the bug hitting us again.
When querying the database I get the following response
osm=# select osm_id, type, ST_GeometryType(geometry) as geometryType from road_z14 where osm_id = -33085001 ;
  osm_id   |    type    | geometrytype
-----------+------------+---------------
 -33085001 | pedestrian | ST_LineString
 -33085001 | pedestrian | ST_Polygon
(2 rows)

Hmmm. Perhaps due to https://github.com/osm2vectortiles/osm2vectortiles/pull/305?
Because when we tested this we saw that imposm3 takes care of avoiding duplicate ids when you use a geometry table containing both linestrings and polygons.
One we can do would be to remove the duplicates in a SQL (but kind of a hack - imposm3 shouldn insert both).

Because when we tested this we saw that imposm3 takes care
of avoiding duplicate ids when you use a geometry table containing both linestrings and polygons.

before #305  -  2 id  were in the table..

id  :  artificial "Id"   -  this was always unique - because of the QGIS

generated by:   nextval('osm_admin_linestring_id_seq'::regclass)
http://www.postgresql.org/docs/9.5/static/functions-sequence.html

osm_id :  the osm natural key

so my guess -  this type of problem has existed before #305
I tested with the mapzen extract ( with the latest osmium tool )
rm -f helsinki_finland.osm.pbf
wget https://s3.amazonaws.com/metro-extracts.mapzen.com/helsinki_finland.osm.pbf
osmium getid helsinki_finland.osm.pbf w33085001 -r -o helsinkitest.osm.pbf
osmium cat helsinkitest.osm.pbf -f opl

with the current Imposm3 version and with  following current osm2vectortiles mapping modifications:
cp ../mapping.yml ../o2vm.yml
sed -i "s/pbf_timestamp/string/g"   ../o2vm.yml
sed -i "s/name: id/name: osm_id/g"  ../o2vm.yml

And I got:
+ psql -d imposm3dev -c 'select id, osm_id, type, ST_GeometryType(geometry) as geometryType from osm_road_geometry'
 id |  osm_id   |    type    | geometrytype
----+-----------+------------+---------------
  1 | -33085001 | pedestrian | ST_LineString
  2 | -33085001 | pedestrian | ST_Polygon
(2 rows)

please  somebody verify my test ...

so my guess - this type of problem has existed before #305

Good follow up. This means we need to go a different route than via imposm.
@ImreSamu What do you think about removing duplicates via a SQL query? I think that might be a viable solution.
@manuelroth I think this happened in our many SQL optimizations because joining road linestrings and polygons to remove the duplicates was just too slow in query time.

What do you think about removing duplicates via a SQL query?

In theory this is an easy task,
IF  we have

area=yes  information
and areaKeys metadata [ whitelist, blacklist ]

based on this :  https://github.com/osmlab/id-area-keys

but in practice ...


Employee view

The first user of Prejournal is Ponder Source, and the first feature to try is employee view.
The admin should create one account per employee and give out the passwords.
User story:
An employee uses the password they received to retrieve a csv file with transactions:

hours worked
salary payment
expenses submitted
expenses reimbursed

We need top open up registration, but then a username doesn't automatically give you access to that component.
And we need a built-in option to disagree. So maybe each user just get to add their own statements, and to grant other users viewing access to them.
So then each movement has to belong to a userId.
Maybe we can agree on the component names though.
Maybe the statements table can link movements to users who reported them

There are many ways to define access rules, it's hard to pick the right DSL level.

So let's stick close to our user needs; there are users, components, movements, statements, and componentGrants.
There are two ways for a movement to be visible for a user: directly via a statement or indirectly via a component grant that matches another user's statement. In pseudo-SQL:
// Direct:
SELECT m.* FROM movements m JOIN statements s ON m.id = s.movementId WHERE s.userId = [currentUser].id;

// Indirect:
grants = SELECT fromUser, componentId FROM componentGrants WHERE toUser = [currentUser].id;
FOREACH grants as [fromUser u, componentId c] DO
  SELECT m.* FROM movements m JOIN statements s ON m.id = s.movementId WHERE s.userId = u.id AND
    (m.fromComponent = c || m.toComponent = c);

A user can create a statement about reality. Each statement describes one movement, and each movement has a "from" and a "to" component.
Their statement can point to an already existing movementId, or a movement can be created.
If the from and/or to components of the movement don't exist yet, they will also be created.
Any user can create a component grant to any other user, meaning some of their statements become visible (read-only) to the other user. The filter is that statements will only become visible if they are about a movement that goes either from or to the component mentioned. Component grants are valid from the moment they are created until the moment they are delete from the database (we have no way to represent expired grants in the database), and they apply to all the sending user's statements, past present and future, as long as the component filter matches.

Typically, a user who receives a componentGrant will be prompted to make their own timestamped statements about these same movements if they agree. If they don't make matching statements, then the movements will essentially be disputed.

The essence here is that users own statements, they don't own components. Agreement about a part of reality is when two users have the same set of statements about it.

Commands:
unauthenticated

register(username, password): success/failure to create a user

authenticated

create-component(name): success/failure, component id (fails if there is a name clash)
create-movement(fromComponent, toComponent, timestamp, amount): success/failure, movement id
create-statement(movementId, optional sourceDocumentFormat, optional sourceDocumentFilename): success/failure, statement id: link your user id to a movement id and optionally a source document
grant-component(toUser, componentId): success/failure, componentGrantId
hello(): varchar example command that returns the string "Hello "
pta-me(): varchar returns all movements that you yourself made statements about, in pta format.
list-new(): varchar lists all statements you can view thanks to component grants but for which you yourself didn't make a statement (yet).

Tests for pta-me are working now, using the new database model from yesterday.
Next steps:

add a simple web view for register + login + download pta file
test it on Heroku
fill with real data and get Ponder Source employees to create real accounts


feature/tools

Status
DEVELOPMENT
Description

Added tools folder to store useful scripts.
Added script to check naming compliance with ROS C++ Style:

cppcheck is used as the base tool for compliance. I'm waiting for a PR to cppcheck repo to be accepted, in the meantime the script clones from my cppcheck fork.
The script looks for cpp, h and hpp files in the script argument folder

Steps to Test or Reproduce
cd Autoware/tools
./check_naming /path/to/src/folder

A list of naming errors will be generated.
Script execution braking is indication of something else wrong in the code, i.e. state_context.hpp is missing a variable in this declaration.

Looks good, but let's wait until https://github.com/danmar/cppcheck/pull/1511 is merged. Then we can just add a configuration file here and add cppcheck as a dependency instead of fetching and building it from its GitHub repo.

My bad, I read the code as if cppcheck was being fetch and compiled locally, it's only fetching the namingng.py addon.

Please make a PR for ament to add this as a feature there, rather than something we have to maintain ourselves.


Add Haskell language

I've added few Haskell examples. What I found out is that highlight.min.js doesn't have support for Haskell. If you want to have correct syntax highlighting you will have to add Haskell to the highlight library. https://highlightjs.org/download/

Hi.
Thank you very much for the contribution.
I will add correcting the highlight to the to-do list. Or do you have some time to correct it? If you can, welcome
:smile:


is there any way to have Row Double click event?

Guidelines
I am using Material Table and upon Row click, I open the clicked row in another page for editing and this works fine though users want to copy\paste text from the row instead of opening it for editing. The moment they try to select any text, the rowClick event gets fired (as expected) and they get routed to the editing page.
Is there any way to route only when they double click the row? Can't see anything in the APIs for MTable.

That is not supported out of the box.
You could remove the onClick, override the row component and implement your own on double click behavior for the rows.

Thanks @Domino987 for now I went with 'Actions' and have a pen icon for user to click if they want to edit though would be nice to have both even handlers in the base npm package.. just a thought

I added a PR to enable a double click. What do you think?

Thanks @Domino987


Dpad dot not centered

How can  I fix this ?

Same problem here. Controller has dpad but outputs 'analog stick' data. When mapping to Dpad it is stuck in left/down.

Any advice?
thank you!

Same problem here. Controller has dpad but outputs 'analog stick' data. When mapping to Dpad it is stuck in left/down.

Any advice? thank you!

Try to invert DPad Down and Left, basically you should have a 50-0% range instead of 0-50%.


I want to know how to use the hostPath of volumes in Prometheus

I want to know how to use the hostPath of volumes in Prometheus

@brancz Can you send me a Prometheus template?

You should not use hostPath type volumes with prometheus or the prometheus operator.

So what does the volume support?

Prometheus needs some POSIX compliant volume. Do not use nfs, this is known to have problems with Prometheus.

I used a k8s cluster built by rancher, then built nfs-client-provisioner with charts, then built prometheus-operator, and successfully used nfs-client-provisioner to provide storage for prometheus. Now I use binary to build Cluster, using nfs-client-provisioner can not be provided to prometheus storage, manually create storageclass pvc can also be successful, using statefulset to establish can also be successful, I do not know why?

I don't know why. Now, after rebuilding a cluster, you can use the chart to build nfs-client-provisioner, then build prometheus-operator, and successfully use nfs-client-provisioner to provide storage for prometheus.

This is my previous mistake, and I saw other people have encountered it.：
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/ce377816-cfc2-11e9-b56c-00163e02d405/volumes/kubernetes.ionfs/pvc-c9eb5a05-cf7e-11e9-b56c-00163e02d405 --scope -- mount -t nfs ng-prometheus-k8s-db-prometheus-k8s-0-pvc-c9eb5a05-cf7e-11e9-b56c-00163e02d405 /var/lib/kubelet/pods/ce377816-cfc2-11e9-b56c-00163e02d405/volumes/kubernetes.ionfs/pvc-c9eb5a05-cf7e-11e9-b56c-00163e02d405
Output: Running scope as unit run-12446.scope.

How can I solve it? It can be successful before.

See here: https://github.com/coreos/kube-prometheus/blob/master/README.md#error-retrieving-kubelet-metrics

I think I should have opened it, this is my kubelt.conf
My start command:
KUBELET_ARGS="--bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig
--config=/var/lib/kubelet/config.yaml
--cni-bin-dir=/opt/cni/bin
--cni-conf-dir=/etc/cni/net.d
--network-plugin=cni"

I found the latest version of the manifests git down
The next yaml deployment can not be applied to my new cluster, my k8s cluster is 1.13.5, I will be successful after I passed yaml on April 23rd, the latest version of yaml is embodied in job="kube -state-metrics" can't get the memory information and network information of the pod under other namespaces. Kubelet also has some indicators that can't be obtained.
@brancz

The issue is about your TLS certificates not being correct. The error in Prometheus tells you precicely why.

Shouldn't it, I used the kube-prometheus yaml in April to run successfully, the latest kube-prometheus and my k8s cluster feels no match


pico-clock breaks after some minutes

After running for some minutes, the program crashes and leaves the user with a line of dots (in the shape of one row of the picture to show). Most of the time, this state persists and will not recover. So you have to plug the device out and in again.
Nevertheless, I encountered two times where the clock miraculously returned to the program flow :shrug: .

Might be solved by #19

@the-it can you check if, with the new code, you still have issues, mine is now running for month without problem. thx for your feedback.


take a long time to  continue debugging after halt at a breakpoint

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 6.1.7601
Extensions:

Extension
Author
Version

python
donjayamanne
0.6.0

xml
DotJoshJohnson
1.7.0

code-runner
formulahendry
0.6.15

changeEncode
lanmj2004
0.0.8

cpptools
ms-vscode
0.10.5

sublime-keybindings
ms-vscode
2.0.1

Steps to Reproduce:
1.set debug point at python code,start debugging
2.halt at breakpoint, check the variables a little while, then continue run, the vscode takes a very long time to work normal

This issue was moved to DonJayamanne/pythonVSCode#854


Feature Request: add "parallel lines" tool

Description
Similar to how a line can be made straight with the keyboard shortcut "s", angled with "q" and round with "o", it would be great to have the option to make multiple selected lines parallel to one another. Thanks!
Screenshots
No response

I second this. It would be very helpful.

Duplicate of #1931, which is being tracked in #2987.


What about relation in tables

What if i need to put ON identity_insert in more than one table?, I need to turn on and off but SaveChanges() cannot let to do it progressively. This is a big stopper to work with updates.

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

ID: e621a525-7104-74bf-5a17-9f5761f75fab
Version Independent ID: 3d0e675b-3b2a-ebd9-273b-312c5c6ac092
Content: Setting Explicit Values for Generated Properties - EF Core
Content Source: entity-framework/core/saving/explicit-values-generated-properties.md
Product: entity-framework
GitHub Login: @rowanmiller
Microsoft Alias: divega

@cristiangiagante I'm having difficult following what exactly you are asking for. Can you provide some more details?

Closing due to lack of response.


zmq.PUSH can't push message to zmq.PULL

my server structure is VENTILATOR-> PRE WORKER -> WORKER -> SINK，which was modified by standard zmq pipline, I added a PRE WORKER into it. all of WORKER sare python process
in VENTILATOR, I create several push sockets include VENTILATOR -> PRE WORKER push socket, PRE WORKER -> WORKER push socket,
when the server initialize, I send the PUSH socket address to PRE WORKER which was created in VENTILATOR, and create new PUSH sockets and use new sockets to connect the sended address
but the problem was appeared, the VENTILATOR -> PRE WORKER sockets can send message normal, but sockets of PRE WORKER can't send message to WORKER

@minrk hope u can help me, I have been search many days, but I can't find a solution to solve it.


No pods shown in openshift-storage ns via latest image

Install noobaa via ocs
wget https://raw.githubusercontent.com/openshift/ocs-operator/master/deploy/deploy-with-olm.yaml
Apply this OLM
oc apply -f deploy-with-olm.yaml

Observed: No pods shown in openshift-storage ns
Workaround:
When change image to quay.io/ocs-dev/ocs-registry:4.8.0 , it start working
<EMAIL_ADDRESS>~]# oc get pod
NAME                                              READY  STATUS   RESTARTS  AGE
noobaa-core-0                                     1/1    Running  0         4m16s
noobaa-db-pg-0                                    1/1    Running  0         4m17s
noobaa-default-backing-store-noobaa-pod-19419d10  1/1    Running  0         2m15s
noobaa-endpoint-dd858556b-bgvnf                   1/1    Running  0         2m19s
noobaa-operator-5b4875779c-4b2bn                  1/1    Running  0         9m23s
ocs-metrics-exporter-6b5dcbc8c-lzkmp              1/1    Running  0         9m23s
ocs-operator-54d6758bb8-mqcvl                     1/1    Running  0         9m23s
rook-ceph-operator-785779d4f9-f5mgb               1/1    Running  0         9m23s
<EMAIL_ADDRESS>~]#
Logs:
ocs-logs.tar.gz

For @bssrikanth ocs-operator goes in crash Loop state
[root@hpoocpci-inf ~]# oc get pod
NAME                                   READY   STATUS             RESTARTS   AGE
noobaa-core-0                          1/1     Running            0          7m19s
noobaa-operator-5596cc869f-jj5hj       1/1     Running            0          15m
ocs-metrics-exporter-6b5dcbc8c-jwzxx   1/1     Running            0          15m
ocs-operator-59579b7bd5-tqbzj          0/1     CrashLoopBackOff   7          15m
rook-ceph-operator-785779d4f9-sg8bk    1/1     Running            0          15m
For logs please refer : Please refer https://github.com/noobaa/noobaa-core/issues/6721

oc get pod ocs-operator-59579b7bd5-84cfw -n openshift-storage
NAME                            READY   STATUS             RESTARTS   AGE
ocs-operator-59579b7bd5-84cfw   0/1     CrashLoopBackOff   29         131m
oc describe pod
Events:
Type     Reason          Age                     From               Message

Normal   Scheduled       132m                    default-scheduler  Successfully assigned openshift-storage/ocs-operator-59579b7bd5-84cfw to worker1.rkomandu-hpo.cp.fyre.ibm.com
Normal   AddedInterface  132m                    multus             Add eth0 [<IP_ADDRESS>/22]
Normal   Pulled          132m                    kubelet            Successfully pulled image "quay.io/ocs-dev/ocs-operator:latest" in 1.13448066s
Normal   Pulled          132m                    kubelet            Successfully pulled image "quay.io/ocs-dev/ocs-operator:latest" in 1.019054959s
Normal   Pulled          131m                    kubelet            Successfully pulled image "quay.io/ocs-dev/ocs-operator:latest" in 1.073621296s
Normal   Pulling         131m (x4 over 132m)     kubelet            Pulling image "quay.io/ocs-dev/ocs-operator:latest"
Normal   Created         131m (x4 over 132m)     kubelet            Created container ocs-operator
Normal   Started         131m (x4 over 132m)     kubelet            Started container ocs-operator
Normal   Pulled          131m                    kubelet            Successfully pulled image "quay.io/ocs-dev/ocs-operator:latest" in 1.051985278s
Warning  Unhealthy       130m (x4 over 132m)     kubelet            Readiness probe failed: Get "http://<IP_ADDRESS>:8081/readyz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Warning  BackOff         2m23s (x574 over 132m)  kubelet            Back-off restarting failed container
AY                       VERSION   REPLACES   PHASE
ocs-operator.v4.8.0   OpenShift Container Storage   4.8.0                Failed
deploy.yaml is taken from https://raw.githubusercontent.com/openshift/ocs-operator/master/deploy/deploy-with-olm.yaml

Can anyone have a look into this? this is kind of blocking for us move forward with our development items.

GitHub issues are not a good format for getting help. Please open a BZ against OpenShift Container Storage, using the ocs-operator component.

@jarrpa This applied when using deploy_with_olm which is mainly u/s ...


Support comments / descriptions

Pull Request Test Coverage Report for Build 363852604

52 of 52 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 88.852%

Totals

Change from base Build 360738220:
0.3%

Covered Lines:
1331

Relevant Lines:
1498

💛  - Coveralls


Nan in node candidate error

(fixed)

I've just tested the same scene on gpc_test and I've got a similar result:
Correspondence son gpc_test

Hi, I met the same problem when running the code in the example data, how did u solve this problem?


Example file torus_gcode.json has Unicode error w/ Miniconda

As noted in the discussion, when this is loaded on a Windows machine:
Traceback (most recent call last):
File "C:\Users\willa\miniconda3\envs\pyoccenv\lib\site-packages\ryven\gui\startup_dialog\StartupDialog.py", line 99, in load_example_project_button_clicked
self.open_project(base_dir=abs_path_from_package_dir('examples_projects'))
File "C:\Users\willa\miniconda3\envs\pyoccenv\lib\site-packages\ryven\gui\startup_dialog\StartupDialog.py", line 122, in open_project
project_str = f.read()
File "C:\Users\willa\miniconda3\envs\pyoccenv\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 161607: character maps to
Would this be different for Anaconda vs. Miniconda?

seems like a pythonocc issue :thinking:

Could it have something to do w/ it wanting to load Dev?

Indeed you have to edit the dir of the required package in the .json file
  "required packages": [
        {
            "name": "PythonOCC",
            "dir": "C:/Users/nutri/projects/ryven projects/Pythonocc-nodes-for-Ryven/PythonOCC"
        }


chore(LinearAlgebra,BigOperators): drop some decidability assumptions

Found by a linter from #10235.

Thanks!
bors r+


Make extended_async_copy tests type agnostic

The latest version of the cl_khr_extended_async_copies extension uses element size rather the element type as its base. The means it can be called with arbitrary and in particular non power of 2 sizes, such as 3 or 13.
Update the test_async_copy2D and test_async_copy3D tests to make them element size based rather than type based.
As well as this run all tests that can fit into the memory of the target rather than presumed large elements cannot fit.
Make some addtional good practice changes in terms of const usage, declaring variables where they are use, and usage of iterators.
The test coverage increases from 1224 cases to 1332 cases for the test_async_copy2D and test_async_copy3D cases.
Ticket: #1579
Signed-off-by: Chris Gearing<EMAIL_ADDRESS>

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Still reviewing.

Looks good.

Can we get one more review and merge this or take the label off since it has been in review for two months now?


Added quiz portal project

@gantavyamalviya @Adarsh-jaiss @TKirtan kindly review and merge the push request #398 under the Hacktoberfest tag


Update net-tools to 1.0.6

Please update my adapter ioBroker.net-tools to version 1.0.6.
This pull request was created by https://www.iobroker.dev c0726ff.

Please fix test-and-release workflow. This must pass for a release to be added to stable.
Seems that io-package.json contains commin.license AND common.licenseInformation. common.license must be removed;

common.license should not exist together with common.licenseInformation

Not possible actual if you want to use developer portal for release:
https://github.com/ioBroker/dev-portal/issues/75

Not possible actual if you want to use developer portal for release: ioBroker/dev-portal#75

Please ignore the false positive from adapter checker for now. You can update the stable release manually - should not be a problem for you :-). And you already created a PR - so no problem with dev-portal for now.
Please fix package.json so that workflow test-and release passes the tests.

Standard GH Tests OK

OK lt. Bluefox:
@Bluefox27
Frage:
Existiert für den Adapter ioBroker.net-tools, maintained by JeeCey eine kommerzielle Vereinbarung mit der GmbH die erlaubt diesen Adapter als paid adapter anzubieten?
https://t.me/c/2020938082/354
Ja. Ich habe 15% angefordert

RE-CHECK!

[E115] - false positive


Option to scroll in smaller increments

It would be nice to be able to scroll raw.plot in smaller increments than a whole page. Currently, this doesn't seem to be possible. The right and left arrow keys scroll right/left by a whole page. Is it possible to map e.g. Shift+right/Shift+left to scrolling right/left by e.g. only 1/10 of a page?

+2.5, I wanted that pretty often too. Maybe ctrl + arrow (it would actually be more intuitive if simple arrow keypresses had smaller increments than ctrl + arrow, but that would not be convenient)?

I'd rather not change the current behavior. Ctrl+Arrow is problematic on Macs because this shortcut is associated with switching desktops, so I'd prefer Shift+Arrow. The interesting thing would be if Matplotlib supports shortcuts consisting of more than one keystroke...

no objection as long as it works on all platforms and it's documented

In my UI experience, shift+arrow being "take larger steps" is common. One way we could make it more uniform would be to have some time_delta-like argument that is expressed in units of duration, the default thus being 1. You could use 0.1 for your use case (meaning, move 10% of the window duration each arrow press). shift+arrow could then be mapped to e.g. 5x whatever the standard increment is, more in line with how other software treats shift+arrow.

Yeah, I like this idea. Should I start with a PR?

I'd even go through a deprecation cycle to change the default to e.g. 25% or 50%. This is also more similar to what EEGLAB does (AFAIK EEGLAB takes 1/10 steps with each arrow press and a full step with some key combination).

For viz functions and interactions we're usually a bit more lenient on the deprecation cycle. +1 for change to 25% from me

Hmmm, Matplotlib doesn't seem to pick up the shift key as a modifier. Ctrl or command works, but when I press shift+right it only registers as right. Any ideas on how to proceed?

From very brief reading/searching it looks like shift is treated like a normal key not a modifier, so we can track the state internally, similar to this
https://stackoverflow.com/questions/18141069/matplotlib-how-to-pick-up-shift-click-on-figure

Unfortunately this doesn't work. Shift isn't registered at all. Also, even if it was registered, I probably couldn't combine it with another key (the SO example is combining shift with a mouse event).

 Cool, I think we can live with that, another reason to always switch to the qt5 backend. PR incoming.


Add affinity and tolerations

This is useful when running on clusters with more than one worker where one would like to pin plex to a specific node.

@zee-ahmed or @munnerz this would be nice to have. Any chance of a merge?

@zee-ahmed or @munnerz this would be nice to have. Any chance of a merge?

Yep! I can see the value in this. Will start the review process. Thanks!

Done. Made the changes inline through Github so please make sure to squash the commits while merging.

Looks good to me, @zee-ahmed ship it :)

Merged! thanks, @casidiablo and @onedr0p :smile:


TextInput textContentType="emailAddress"  doesn't supported on Iphone 7, 8, 8+.

Description
I've tested TextInput with  textContentType="emailAddress"  on multiple IOS physical devices
( Iphone 7 - iOS 14.0 ,  Iphone 8 - iOS 14.3, Iphone 8plus - iOS 14.3 ) and none of them support this property. On the other hand when i tried it on Iphone 11 pro - iOS 14.3 (same app, same build, same TextInput) i've got proper suggestion.
React Native version:
System:
    OS: macOS 11.2.2
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 20.83 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.15.5 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 6.14.11 - /usr/local/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.10.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 4.1 AI-201.87<IP_ADDRESS>42882
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 15.0.2 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: ^17.0.1 => 17.0.1
    react-native: ^0.63.4 => 0.63.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

create TextInput with textContentType="emailAddress"
test it on described devices

Expected Results
TextInput Suggestions works

System:
    OS: macOS 11.2.2
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 20.83 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.15.5 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 6.14.11 - /usr/local/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.10.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK: Not Found
  IDEs:
    Android Studio: 4.1 AI-201.87<IP_ADDRESS>42882
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 15.0.2 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: ^17.0.1 => 17.0.1
    react-native: ^0.63.4 => 0.63.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found


fix wal panic when page flush fails.

fixes: https://github.com/prometheus/prometheus/issues/3283
New records should be added to the page only when the last flush
succeeded. Otherwise the page would be full and panics when trying to
add a new record.
to replicate the bug:
dd if=/dev/zero of=tmp/data.img bs=1M count=20 // create a 20mb disk image
mkfs.ext4 /tmp/data.img
mkdir /tmp/prometheus/
sudo mount -t ext4 -o loop /tmp/data.img /tmp/prometheus/
GO111MODULE=on go run cmd/prometheus/main.go   --config.file=.local/simpleMany.yaml --storage.tsdb.path=/tmp/prometheus   --storage.tsdb.wal-segment-size=1MB

before the fix this will panic when the disk image is full because it is trying to add more records to the page when it is already full.
At the moment can't think of simple test to test for this, but will add it to https://github.com/prometheus/tsdb/issues/579 if we figure out how to inject file system faults.
Signed-off-by: Krasi Georgiev<EMAIL_ADDRESS>

merging as is.
@bwplotka if you still think there is a problem please let me know and I will open another PR.


Fix camera media rotation android issue

Description of Change
This should fix issue with incorrectly rotated media capture on some Android devices. As this article implies. The JPEG_ORIENTATION flag in CaptureRequest is effectively ignored in some devices and the Android docs also imply it will have varying effects across devices.
See Android docs
There are two points about the implementation I would like to elaborate on. Firstly the removal or the JPEG_ORIENTATION flag. I wasn't able to reliably determine (in code) across various devices (some with rotation issue some not) if the addition of the flag had rotated the capture data or modified the Exif info. I don't believe this flag is needed at all now. As we now calculate the correct rotation upon capture. If the JPEG_ORIENTATION flag has modified the capture data by rotation. Then we will be applying another rotation on top of that. If it hasn't then only our rotation will be applied. Either way I can't see an easy way to determine that. Setting any rotation value for this flag on certain devices will have no effect.
So with those assumptions, if the only purpose now of the JPEG_ORIENTATION flag is to modify the Exif orientation info. Then we can remove it and set the Exif information using the ExifInterface class when the SaveToFile implementation has been completed.
Secondly, the correct point to apply the capture rotation. I tried several methods of applying the rotation to the capture data (byte array) all with sub optimal performance. E.g. ByteArray -> Bitmap -> CreateBitmapRotateWithMatrix -> ByteArray. Also copying the pixel data to a ByteBuffer and looking at methods to rotate a Jpeg byte array. With the Forms side needing the data in ByteArray format I believe I have provided the best solution by passing the rotation in degrees with the MediaCaptureEventArgs. This allows the ImageView to handle the rotation in a performant way. Citing a post from StackOverflow. It is not the job of the camera view to change the orientation of the capture data (camera2 api) and I believe this to be true.
No samples or test changes required.
Bugs Fixed
https://github.com/xamarin/XamarinCommunityToolkit/issues/751
API Changes
None
Added:

double MediaCapturedEventArgs.Rotation { get; }
int CameraFragment.GetRotationCompensation();

Changed:

void CameraFragment.OnPhoto(object sender, Tuple<string, byte[]> tuple) => void CameraFragment.OnPhoto(object sender, Tuple<string, byte[], int> tuple)

PR Checklist

[ ] Has tests (if omitted, state reason in description)
[ ] Has samples (if omitted, state reason in description)
[x] Rebased on top of main at time of PR
[x] Changes adhere to coding standard

[ ] Updated documentation

Wowza! Thanks for this @UKDeveloper99 !
Let me try to understand what this does... The only thing this does is report back what the rotation is, right? So then you should rotate yourself?

@jfversluis no problem, don't thank me too much, I'll end up getting carried away and adding more features lol.
Yes so it uses a Google recommended (recent/current) func to get the correct rotation for sensor and device orientation then passes that along with the Byte data which the user can use to set a rotation on their image view. Shouldn't effect iOS. It seemed not feasible to rotate the image data in the camera fragment.

I think we can use some help in the CameraView area so no worries, just make sure to coordinate before taking on too much! :)
I'll have a more in-depth look at this as soon as I have the time.
Appreciate the effort!

@jfversluis well I'm relying on this fix in my current app so I thought I'd lend a hand. Glad I could be helpful. How long do you think that might be?
Sure, how would I go about coordinating, do you have a Slack of some sorts or something?

How would one go about using this to show the image correctly? I don't think we have anything for that in Forms today, right?
We have a Discord! The DotNetEvolution one, you should be able to join here https://aka.ms/dotnet-discord and find us in the XamarinCommunityToolkit channel :)

@jfversluis Could you elaborate what you mean by that sorry? I added the usage in to the camera sample page.
Thanks I'll join up now.

@jfversluis no problem, don't thank me too much, I'll end up getting carried away and adding more features lol.
Yes so it uses a Google recommended (recent/current) func to get the correct rotation for sensor and device orientation then passes that along with the Byte data which the user can use to set a rotation on their image view. Shouldn't effect iOS. It seemed not feasible to rotate the image data in the camera fragment.
I've tested it with all the devices I have here some with bad rotation some without and it corrects the rotation on all of them. For front and rear cam.

How do you rotate the byte array?

@jfversluis no problem, don't thank me too much, I'll end up getting carried away and adding more features lol.
Yes so it uses a Google recommended (recent/current) func to get the correct rotation for sensor and device orientation then passes that along with the Byte data which the user can use to set a rotation on their image view. Shouldn't effect iOS. It seemed not feasible to rotate the image data in the camera fragment.
I've tested it with all the devices I have here some with bad rotation some without and it corrects the rotation on all of them. For front and rear cam.

How do you rotate the byte array?

Load the byte array in to a UI component such as UIImageView or ImageView and supply the rotation to the UI component.

@jfversluis no problem, don't thank me too much, I'll end up getting carried away and adding more features lol.
Yes so it uses a Google recommended (recent/current) func to get the correct rotation for sensor and device orientation then passes that along with the Byte data which the user can use to set a rotation on their image view. Shouldn't effect iOS. It seemed not feasible to rotate the image data in the camera fragment.
I've tested it with all the devices I have here some with bad rotation some without and it corrects the rotation on all of them. For front and rear cam.

How do you rotate the byte array?

Load the byte array in to a UI component such as UIImageView or ImageView and supply the rotation to the UI component.

Yeah but that's only a UI rotation. I'm interested in rotating the image by 90 degrees in order to store it in my online database. Everything I found on the web (SO) is outdated or not working with Xamarin.Forms. Do you have any suggestions?
Thanks

Can't you just store it in your database as it is with the rotation and then when you come to display it then rotate it in the UI. I did have a look down that path but it also depends on image format (jpg etc). And a few other factors. It's really complex I think you should avoid doing that if you can. What's the purpose of rotating it before it goes in to the online database?

I need to perform OCR on server side for all the images coming from my cross-platform application, and the mismatch in rotation between pictures taken with Android or iOS phones is a problem for me.
Actually it is a bug that the same framework behaves differently on different platforms, isn't it?


Update for Hero4

Hi,
is there any chance of getting an update for the hero4?
cheers

Hi,
I would really love to, but unfortunately at the moment I don't have access to a Hero 4 camera :(
Best regards

Sorry for the late reply. Would you be willing to update the lib, should you gain access to a Hero4?

Sorry, Its been a busy week at work, Yes I definitely want to update the library but I need to have access to a Hero4 (for start, I at least need its sniffed files (using wireshark or similar tools) and available commands (locate, mode,...) based on Gopro application (android or iOS) and someone with a camera who is willing to test it)
Best regards

No problem! As I need the lib quite urgently (and currently don't have the time to do it myself...), I'd be willing to donate a Hero4 session towards an update of the lib. Is this something you're interested in?

Oh, it’s very generous of you, yes I’m very interested, the problem is I live in Iran and I’m not sure if it’s plausible for you to do it.
By the way if you are not bounded to .Net there is a library for Hero4 in python which is written by Denis Carriere.
But if you are interested in .Net library, and deduced that you suggestion is not feasible, you can send me sniffed pcap files of your camera and I can work on the update with it this weekend and see how it goes.
And could you please tell me how much time you have?
Best regards
Hessam

Well, yes ... that could be a small problem. I assume you don't get amazon deliveries in Iran. I'll check with my Iranian contacts whether we can work around this problem.
Unfortunately my whole project is .NET, so writing a wrapper for a python lib is not my preferred option. I'm out of the office most of this week, but next week I could create a few pcap files (however, you'll need to tell me specifically what you need). The time frame is around 3 to 4 weeks. So it's not super urgent, but also not end-of-year.
Best,
David

Yes, You are right, amazon does not have shipping services for Iran, but we have our own amazon like store Digikala which has some GoPro cameras available now.
I understand, I'm waiting for your contact whenever you have time and have access to the camera, then we can get through it together and generate required files.
Best regards
Hessam

Hi,
Any news on GoPro 4 integration?
Thanks

@armandvanderwalt  Hi,
I'm really interested in adding Hero4 to the library, but unfortunately I don't own the camera, hence I need help for testing and packet sniffing (albeit not necessary for initial support, we can use information from other libraries)
so please let me know if you are interested in collaborating Hero 4 integration.
Best regards

I will be getting my hands on a GOPRO 4 soon then I can assist in this

@armandvanderwalt Great, please let me know when you are ready, meanwhile I try to gather some information and do the initial implementation in a separate branch.

@r1pper get all the HERO4 URLs here: http://github.com/konradit/goprowifihack
https://github.com/KonradIT/goprowifihack/blob/master/HERO4/WifiCommands.md

@KonradIT thanks, hopefully I'll start the development this weekend.

Ask me all you need this weekend before I go offline (I have to study :disappointed:  )


Task Test in gulpfile fails due to space in directory

I get an error when the Task Runner is running Test from the Gulpfile.
[22:00:19] Starting 'test'...
'C:\Users\myname\documents\visual' is not recognized as an internal or external command,
operable program or batch file.
[22:00:19] 'test' errored after 35 ms
[22:00:19] Error in plugin 'gulp-mocha-phantomjs'
Message:
    test failed. phantomjs exit code: 1
Process terminated with code 1.

I don't know what to change in the gulpfile in order to handle spaces in the path.

Looks like a bug in gulp-mocha-phantomjs. I would raise an issue on their GitHub page and maybe use a path without a space in the mean time.


Using collection tag filter to exclude a certain tag doesn't work on index page

I just modified my routes.yaml to look something like this:
routes:
  /portfolio/art/:
    controller: channel
    filter: tag:portfolio+tag:art
  /portfolio/figure-drawing/:
    controller: channel
    filter: tag:portfolio+tag:figure-drawing
  /portfolio/pixel-art/:
    controller: channel
    filter: tag:portfolio+tag:pixel-art

collections:
  /portfolio/:
    permalink: /portfolio/{slug}/
    filter: primary_tag:portfolio
    template: tag
    data: tag.portfolio

  /:
    permalink: /{slug}/
    template: index
    filter: tag:-portfolio

taxonomies:
  tag: /tag/{slug}/
  author: /author/{slug}/

But somehow the portfolio tagged posts still show up on the home page. Though interestingly the issue does not occur when using the Casper theme.

Take a look to: https://github.com/TryGhost/Source/issues/33


Use improved Glob to match files by pattern

@gabor-udvari

The whole findFiles method is an exact copy from the FlattenDir task. There is already a discussion about adding glob support for all the tasks. When that happens the findFiles method can be replaced.

Yes, please add this glob https://github.com/webmozart/glob implementation. It looks lightweight and stable
Please update all tasks where you think it might be needed

@gabor-udvari any update on this?

I don't like that https://github.com/webmozart/glob is a singleton. So my suggestion would be to implement a class around it and provide it by a trait to the tasks that simply creates a class instance and allows access to the glob by $this->glob()->match(), ->iterator()...

How would the enduser be able to switch between native and webmozart/glob?
Should we add a new function for it:
$this->taskMinify( 'web/assets/*.css' )
     ->glob('native')
     ->run()

Or move the source argument definition to a new src function similar to npm:
$this->taskMinify()
     ->src( 'web/assets/*.css', 'native')
     ->run()

@gabor-udvari the "end user" would not deal with it or change it. Except he implements a new task but then he makes a choice and sticks to it. You use another glob lib for a good reason. Otherwise you can stick to phps default method. I don't see much sense in changing the glob implementation any way once you've decided to use one. The main reason to use another glob implementation is that webmozart's one is more powerful.
If you read my previous posting again keep an eye on what glob() returns. It's an object. Different glob libs will have different interfaces. The arg of the glob() method, which would be provided by a trait. Returns an object of a specific glob implementation which is defined by it's 1st arg.

I agree with @burzum , what the purpose of using native implementation if @webmozart created a better one ) I think we don't need switching between those two implementations, and provide some sort of general interface. I'd like to keep everything simple here.

Isn't this a duplicate of #216?

Yes it is. Which one should we close? I think the other one, this here already discusses the implementation.

Hi all :) The class is static for the reasons you mentioned. Globbing is a very low-level functionality and I don't think it makes sense to allow users to switch glob implementations, as in practice nobody does that. If I can help in any way, just let me know.

@webmozart I agree with you but I know @DavertMik likes it flexible :) But I personally don't like to do lots of static calls either. So creating a trait that wraps the static interface in methods that could be overriden by the users of Robo could be a good solution if you really have to do so for some reason.

My approach to this issue generally is to wait until someone really has that issue and think about a solution then. It's much easier to find a solution for an actual problem than for an imaginary one. :)

Agree.
I also smell a little bit of YAGNI in this one.
Plus, as a bonus, if people need glob support, they use the API of webmozart's glob and can use this knowledge for other projects, which would not be the case if Robo wrapped stuff around...

User-wise, the differences I can see between native glob and webmozart/glob are:

Native syntax supports character classes and negative character classes, using the syntax [] and [^]. Webmozart glob does not support square brackets at all.
Native supports ? to match a single character, whereas Webmozart glob does not.
Webmozart glob supports /**/ to matches zero or more directory names, but native does not.

The last bullet is especially useful for the Robo project, given the nature of task runners, but this does show some backwards incompatibility.
Maybe offer two glob functions, glob(), which uses native and antGlob(), which uses Webmozart's ant-like glob?

I just added support for ? to webmozart/glob which will be included in the next release (3.2). I'll see how complicated character classes would be.

Character classes [abc] and inverted character classes [^abc] are now supported too.

A new version 3.3 is now available that supports everything you asked for. :)

@webmozart awesome! Thank you!
@DavertMik how would you like to add this to Robo? Let's expose the static method calls through public methods added via a trait to the classes that need it?

Made the first commit on my own branch, not PR ready yet. @burzum, please check if it fits your idea with the wrapper class.

@gabor-udvari thank you for your contribution. I've reviewed the commit and left three comments. The last word about if this is going to be merged has @DavertMik.

I think that we are going to stick to webmozrt's implementation. Send a PR for it.

Nice to have; not required for 1.0.


Add ability to use proxy server

It's know that telegram have been block in some area and the way to access Telegram Bot API is use a http(s) or sock5 proxy server.
I think it is necessary to add a option to config to use a proxy to access Telegram Bot API.

Great, thanks for pointing this out! Telegram is actually blocked in my country too, but since I'm using mostly VSTS Hosted Agents this doesn't affect me. Anyway worth adding, will work on it.

@WenceyWang  The feature is finally here! Since now on proxy support is on board. Make sure to update the extension and check it out!
Readme updates are coming shortly.
If you see any issues please report.


Implement preinst config file item

Analogous to postinst, a sequence of shell commands to be executed
inside the image's root directory. Additonally rename
execute_postinst to execute_chrooted, to more precicely convey its
purpose.

Looks good, thanks for this and the other pull requests!


[run.sh] Add retry if no IP addr is returned

Hello,
I noticed when I restart my NAS, Tesla integration fails because of the proxy that fails with the Fix public key - each time, I need to start over and reconfigure everything.
The DEBUG log don't help to confirm the issue but I think the cause is if HAOS (a VM in my case) gets ready before the DNS services that runs in docker instances, the curl fails for that reason.
Creating this PR to add a retry if no IP address is associated to $DOMAIN - let me know what you think. If you want to merge it as-is, great otherwise... I can manually mod the run.sh script in the instance but to reconfigure everything and try it might take a while. Otherwise perhaps a log if no IP is associated could help others trying to configure their proxy for the first time.

Hmmm I modded the run.sh manually but on reboot, my changes were gone so Tesla integration is complaining again "Authentication Expired".
Perhaps the container is recreated when HAOS starts? I don't have more time for now to check on this :/

Thanks, this looks good.  Please bump the version to 2.2.4 in config.yaml.

Thanks, this looks good. Please bump the version to 2.2.4 in config.yaml.

Done!
Thanx for accepting this PR!

Hmmm I did a force pushed that might be why it's failing.... checking.

Yeah, unfortunately the auto builder doesn’t work with force pushes. I think you’ll have to make a new commit.

This seems to have worked ... well so far the builder is happier :)
git pull --rebase git@github.com:baylanger/tesla-http-proxy-addon main


Error handling on Promise

I changed how the error is handled on  a Promise on setCache. The try catch that was in the code before is not able to handle errors on a Promise properly because of the async nature of the Promise.

Good catch. My only two comments are: a) use await b) remove package-lock.json (It seems I committed that accidentally since I am using yarn right now).

Sure you can put an await and async! up to you.


Add versions to requirements.txt

I noticed that almost all the libaries in requirements.txt have no versions on them. This results in pip installing every available version of those libraries which causes the installation to take a long time.

Thanks for mentioning this, great idea. I will add versions to the requirements to speed things up


ModelBackedDrawable doesn't create placeholder if Model set before BDL completes

MBD doesn't create a drawable with null model if the model was already set before the MBD being drawn, so if CreateDrawable contains a placeholder box if model was null, it won't be created, the actual drawable will be immediately created, which will be a problem if the actual drawable has a delay before being loaded

Closing as it seems that it's an incorrect usage of MBD

Do you have a testcase showing this?

There is a fix to this that makes this issue seemingly an incorrect usage of MBD, which is adding a placeholder drawable and change its visibility on OnLoadStarted and OnLoadFinished (and is actually used in this exact way on TestSceneModelBackedDrawable). Closing.

Nevermind, I misunderstood this issue... (sorry for the close & reopen spam)

I'm quite concerned about this, should we force a null drawable after load completion for the case of drawables that take a while to load?

Do you have a test scene for this? Please include in this issue body.

@peppy Test provided with updated description above.


date_trunc always returns Timestamp(Nanosecond, None) which might truncate ranges

Is your feature request related to a problem or challenge?
Prior to https://github.com/apache/arrow-datafusion/pull/6632 and https://github.com/apache/arrow-datafusion/pull/6638 the date_trunc function was inconsistent between reported types and actual types for arrays/scalars
Now it is consistent in the sense that
date_trunc(Timestamp(Second, ..)) --> Timestamp(Nanosecond, None)
date_trunc(Timestamp(Millisecond, ..)) --> Timestamp(Nanosecond, None)
date_trunc(Timestamp(Microsecond ..)) --> Timestamp(Nanosecond, None)
date_trunc(Timestamp(Nanosecond ..)) --> Timestamp(Nanosecond, None)

However, by using Timestamp(Nanosecond, None) everywhere will truncate the range over which date_trunc will work -- specifically if there is some value that can be represented using Timestamp(Second) that doesn't fit into a Timestamp(Nanosecond)  such as a value before 1677-09-21 00:12:43.145224193 or after  2262-04-11 23:47:16.854775807 date_trunc will error.
Describe the solution you'd like
We could potentially change the function to keep the same TimeUnit of its input:
Namely
date_trunc(Timestamp(Second, ..)) --> Timestamp(Second, None)
date_trunc(Timestamp(Millisecond, ..)) --> Timestamp(Millisecond, None)
date_trunc(Timestamp(Microsecond ..)) --> Timestamp(Microsecond, None)
date_trunc(Timestamp(Nanosecond ..)) --> Timestamp(Nanosecond, None)

Describe alternatives you've considered
We could also just leave the current behavior
Additional context
See comments https://github.com/apache/arrow-datafusion/pull/6632#issuecomment-1587335750

date_trunc(Timestamp(Second, ..)) --> Timestamp(Second, None)

If granularity parameter is smaller than second, e.g. millisecond, or nanosecond, what is the expected behavior? Returns original input, or throws an error?

If granularity parameter is smaller than second, e.g. millisecond, or nanosecond, what is the expected behavior? Returns original input, or throws an error?

I would think returning the original would make the most sense and still be accurate. But it definitely wouldn't be very useful 🤔


Historical Base Map Widget

In a recent conversation with @jeffreyameyer, we discussed developing a new widget that would highlight historic maps used to map elements in the viewport and then allow users to add those historic maps as overlays on the main OHM map.
This is an initial overview issue to list out assumptions and approaches.
Assumptions

Users digitize map elements from WMS or TMS layers in iD or JOSM.
Those files/tiles are published on the web at unauthenticated URLs
User would supply the URL and a NAME for the map tied to an element
Those tags would be added to Vector Tiles
Our widget would poll all the tiles in the GL layer, get the unique combinations of URL+NAME
Our widget would allow users to select one or more of those NAME+URL combos and we would add that to Leaflet as a layer on top of the vector tiles. Note this would be in Leaflet and not in Mapbox GL, since we are embedding GL as a layer inside Leaflet and Leaflet handles raster layers more easily than GL.
Likely we need transparency sliders for these maps to allow users to compare vector and with raster data.

Note that for 3 we might want to match the capabilities for WMS and TMS links in iD:

Challenges

This assumes one element in OHM is tied to one map. I wonder how often a single feature might be a composite sourced from multiple maps?
We know for sure that many elements might be tied to one map, so there's some tedious repetition of data entry.
It's also likely that users will reference the same map with different names, and perhaps even have different endpoiints for multiple digital versions of the same physical historical map.

Design and Development
We could proceed with implementing this feature in the following way:

Get a set of sample TMS and WMS layers we can use
Make a prototype of a widget based on those examples as a static list
Refine design and behavior of that prototype
Update vector tiles to include the relevant key:value pairs
Refactor the widget to extract the list fo available layers from the maptiles in the viewport. At this point, we would want to assess performance and see whether we are constantly update on map move or only on some other user action.

@jeffreyameyer can you review and comment on this issue for accuracy to what you're imagining? And check our assumptions!

i will use multiple sources where necessary. this can come up for example when trying to nail down start_date and end_date. there are other situations.

i will use multiple sources where necessary. this can come up for example when trying to nail down start_date and end_date. there are other situations.

For multiple maps on a single element, let's just do map:1 and name:1

For multiple maps on a single element, let's just do map:1 and name:1

Not sure if I follow how that might work if we needed additional info...
e.g. map:1=url to map source
map:1:date=date of map
map:1:name=name, if one
map:1:warped=link to warped map (diff from 1???)

Not sure if I follow how that might work if we needed additional info...
e.g. map:1=url to map source
map:1:date=date of map
map:1:name=name, if one
map:1:warped=link to warped map (diff from 1???)

@jeffreyameyer it would be super helpful to get a couple of specific examples of actual georectified, tiled maps that we imagine as the source for this feature, so that would help us then see what fields we need at a minimum for the thing to work at all, and what are nice to have.

@jeffreyameyer it would be super helpful to get a couple of specific examples of actual georectified, tiled maps that we imagine as the source for this feature, so that would help us then see what fields we need at a minimum for the thing to work at all, and what are nice to have.

Sure! (apologies, as we're sort of prototyping in real time here...
Check out: https://www.openhistoricalmap.org/way/198291609 - set the time
slider to 1856 & most of those elements should match the tags below.
I'll try to clean up another area to match, probably London.
[image: image.png]
[image: image.png]
On Fri, Jan 22, 2021 at 5:55 PM Dan Rademacher<EMAIL_ADDRESS>wrote:

@jeffreyameyer https://github.com/jeffreyameyer it would be super
helpful to get a couple of specific examples of actual georectified, tiled
maps that we imagine as the source for this feature, so that would help us
then see what fields we need at a minimum for the thing to work at all, and
what are nice to have.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OpenHistoricalMap/issues/issues/172#issuecomment-765815070,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALM4ERKTRVENK54RZKS7TTS3IUCNANCNFSM4WBLVKPA
.

--
Jeff Meyer
206-676-2347
osm: Open Historical Map (OHM)
http://wiki.openstreetmap.org/wiki/Open_Historical_Map / my OSM user page
http://www.openstreetmap.org/user/jeffmeyer
t: @OpenHistMap

Sure! (apologies, as we're sort of prototyping in real time here...
Check out: https://www.openhistoricalmap.org/way/198291609 - set the time
slider to 1856 & most of those elements should match the tags below.
I'll try to clean up another area to match, probably London.
[image: image.png]
[image: image.png]
On Fri, Jan 22, 2021 at 5:55 PM Dan Rademacher<EMAIL_ADDRESS>wrote:

@jeffreyameyer https://github.com/jeffreyameyer it would be super
helpful to get a couple of specific examples of actual georectified, tiled
maps that we imagine as the source for this feature, so that would help us
then see what fields we need at a minimum for the thing to work at all, and
what are nice to have.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OpenHistoricalMap/issues/issues/172#issuecomment-765815070,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALM4ERKTRVENK54RZKS7TTS3IUCNANCNFSM4WBLVKPA
.

--
Jeff Meyer
206-676-2347
osm: Open Historical Map (OHM)
http://wiki.openstreetmap.org/wiki/Open_Historical_Map / my OSM user page
http://www.openstreetmap.org/user/jeffmeyer
t: @OpenHistMap

I'll take your thoughts, @danrademacher & put some more thoughts on 'em!
Challenges

This assumes one element in OHM is tied to one map. I wonder how often a single feature might be a composite sourced from multiple maps?

I think this will happen a lot, as this is where the old triple-sourcing will come in handy. I think we should be encouraging people to limit this to the oldest sources possible and to just 3. Now, 3 sources for every building in a city could yield... a lot of maps. Would that be a bad thing?

We know for sure that many elements might be tied to one map, so there's some tedious repetition of data entry.

That's indeed what I'm encountering. I'm wondering what the answer for this might be without creating some sort of onerous infrastructure? The good news is that JOSM offers some auto-fill help on this front. (which can replicate errors quickly!)

It's also likely that users will reference the same map with different names, and perhaps even have different endpoiints for multiple digital versions of the same physical historical map.

Yes, but I think that's ok... AND... this very issue (universal indexing of old maps somehow)... might be solved somewhere else. Or, we could have a recommended priority of sourcing based on likelihood of a source being around (e.g. universities, LoC, etc.)

I'll take your thoughts, @danrademacher & put some more thoughts on 'em!
Challenges

This assumes one element in OHM is tied to one map. I wonder how often a single feature might be a composite sourced from multiple maps?

I think this will happen a lot, as this is where the old triple-sourcing will come in handy. I think we should be encouraging people to limit this to the oldest sources possible and to just 3. Now, 3 sources for every building in a city could yield... a lot of maps. Would that be a bad thing?

We know for sure that many elements might be tied to one map, so there's some tedious repetition of data entry.

That's indeed what I'm encountering. I'm wondering what the answer for this might be without creating some sort of onerous infrastructure? The good news is that JOSM offers some auto-fill help on this front. (which can replicate errors quickly!)

It's also likely that users will reference the same map with different names, and perhaps even have different endpoiints for multiple digital versions of the same physical historical map.

Yes, but I think that's ok... AND... this very issue (universal indexing of old maps somehow)... might be solved somewhere else. Or, we could have a recommended priority of sourcing based on likelihood of a source being around (e.g. universities, LoC, etc.)

Following up on 2) from above - how to avoid tagging every item on a way with source info:
a) As it may be helpful to source just a few items from a map, it seems there might be no way around requiring support for individual map tagging on individual ways.
b) That said, I thought about using relations to identify all of the items from a map. Problem with that is that relations have many restrictions on them that will generate a lot of errors for users (I ignore these, but it's a little at your own peril). @rwelty1889  - any thoughts here?

Following up on 2) from above - how to avoid tagging every item on a way with source info:
a) As it may be helpful to source just a few items from a map, it seems there might be no way around requiring support for individual map tagging on individual ways.
b) That said, I thought about using relations to identify all of the items from a map. Problem with that is that relations have many restrictions on them that will generate a lot of errors for users (I ignore these, but it's a little at your own peril). @rwelty1889  - any thoughts here?


Got error in console for cors

Access to fetch at 'https://login.microsoftonline.com/common/oauth2/v2.0/token' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

@sakilbheda-rh can you confirm that you've followed the registration steps here? If so, can you please share your application manifest (masking your credentials)?

Closing due to inactivity. Let us know.


Fixed typo paragarph -> paragraph

@PaulAdamDavis didn't have permissions to push directly so resorted to a PR as a quick fix :grimacing: