chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3319

Questions ?
Please refer to the Backport tool documentation


New version: EchelleInstruments v0.1.2

Registering package: EchelleInstruments
Repository: https://github.com/RvSpectML/EchelleInstruments.jl
Created by: @eford
Version: v0.1.2
Commit: 3a30a9e4622b7ee7d085e2d83650de5dfe4b36a8
Reviewed by: @eford
Reference: https://github.com/RvSpectML/EchelleInstruments.jl/commit/3a30a9e4622b7ee7d085e2d83650de5dfe4b36a8#commitcomment-43635366
Release notes:

Keep track of how spectra are normalized
allow different telluric thresholds
update to paths to match EchelleCCFs

[noblock]
Ok, I submitted a PR for v0.1.1.  Once that goes through, is there a way to tell to bots to try the AutoMerge test  again?

[noblock]
Like to PR for 0.1.1   https://github.com/JuliaRegistries/General/pull/23933

[noblock] trigger registration again

[noblock]
How do I "trigger registration again"?  Do I type the at JuliaRegistrator register a second time on the original PR?

[noblock] Comment again here to trigger registration: https://github.com/RvSpectML/EchelleInstruments.jl/commit/3a30a9e4622b7ee7d085e2d83650de5dfe4b36a8.  This PR will be updated automatically

[noblock]
I tried that, but it didn't seem to do anything.  So then I tried at JuliaRegistrator register, but that gave me an error message
Error while trying to register: "Tag with name v0.1.2 already exists and points to a different commit"
That's weird because you can see at the top of https://github.com/RvSpectML/EchelleInstruments.jl/commit/3a30a9e4622b7ee7d085e2d83650de5dfe4b36a8 that this is the commit that's been tagged v0.1.2.

[no block] I don't know the details of JuliaRegistrator, but I'd simply delete the git tag

[noblock]
Ok, I tried deleting the tag, and adding  at JuliaRegistrator register in the comments for the same commit


Reduce language level to C# 3.0

This commit reduces the language level to C# 3.0. It replaces the last
null-conditional operators and turns method groups into normal lambda
expressions.
This commit also sets the projects' "C# Language Level" properties to
"C# 3.0". This ReSharper property helps ReSharper users avoid language
features introduced with C# 4.0 and later. This is required to retain
compatibility with .NET 3.5.

@ThomasBarnekow,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

We determined that we don't need to be as restrictive as using C# 3.0. Limiting ourselves to C# 4.0 is sufficient and will still provide for support of Visual Studio 2010 users.


copr: vectorize weekday

Signed-off-by: AerysNan<EMAIL_ADDRESS>PCP #5751
What have you changed?
Vectorize weekday.
What is the type of the changes?
Improvement (a change which is an improvement to an existing feature)
How is the PR tested?
Unit test
Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No.
Does this PR affect tidb-ansible?
No.

@sre-bot /run-integration-copr-test copr-test=pr/47

@sre-bot /run-integration-copr-test copr-test=pr/47

PTAL @iosmanthus

@sre-bot /run-integration-copr-test copr-test=pr/47

@sre-bot /run-integration-copr-test copr-test=pr/47

/merge


Github_issues_Jira_created.

When /jira comment is done using Github under issues in repository - there should be issue created in Jira application, The issue should contain all the details.

/jira

/jira

/jira

/jira

/jira

/jira

/jira

/jira

/jira

/jira

/jira

/akshai

/akshai

/jira

/akshai

/please create issue

/akshai

/jira

/jira

/jira

/akshai

/jira

/akshaitoday

/jira

/jira

/jira

/akshai

/jira

/akshai

/akshai

/jira

/akshai

/jira

/jira

/akshai

/jira

/akshai

/jira

/jira

/akshai


Anchors to headers

I want to link to the dataset section in the OpenML guide from the python API. So far, I can only link openml.org/guide, it would be great if I could link openml.org/guide#data

There is suggestion in #57 to redesign the guide, and have a series of blog posts discussing various aspects of OpenML. You would then also have direct links to aspects such as datasets, and room for much more detail.


PipelinedExecutor shutdown errors (cloudpickle teardown)

I'm finding that PipelinedExecutor is failing to shutdown correctly (hangs when the interpreter exits) with the following MWE. Difficult to diagnose but the tracebacks after KeyboardInterrupt seem to imply that an error was encountered on the main process during PipelinedExecutor.close(), specifically in the call to SimpleMPWorkerQueue.put to send SHUTDOWN:
One one machine (running current master):
KeyboardInterrupt:
Exception ignored in: <function PipelinedExecutor.__del__ at 0x7f17011bf5b0>
Traceback (most recent call last):
  File "/home/bryan/Workspace/lt_fork/src/libertem/executor/pipelined.py", line 914, in __del__
  File "/home/bryan/Workspace/lt_fork/src/libertem/executor/pipelined.py", line 892, in close
  File "/home/bryan/Workspace/lt_fork/src/libertem/common/executor.py", line 490, in put
  File "/home/bryan/miniconda3/envs/lt_fork/lib/python3.10/site-packages/cloudpickle/cloudpickle_fast.py", line 73, in dumps
  File "/home/bryan/miniconda3/envs/lt_fork/lib/python3.10/site-packages/cloudpickle/cloudpickle_fast.py", line 633, in dump
AttributeError: 'NoneType' object has no attribute '__newobj__'

on another (ignore the line numbers in this one):
KeyboardInterrupt
Exception ignored in: <function PipelinedExecutor.__del__ at 0x7f74b1bcba60>
Traceback (most recent call last):
  File "/home/mat/Workspace/libertem_dev/libertem_fork/src/libertem/executor/pipelined.py", line 934, in __del__
  File "/home/mat/Workspace/libertem_dev/libertem_fork/src/libertem/executor/pipelined.py", line 910, in close
  File "/home/mat/Workspace/libertem_dev/libertem_fork/src/libertem/common/executor.py", line 490, in put
TypeError: 'NoneType' object is not callable

On both machines the call inside put::490 is to the cloudpickle module. My guess is that during teardown the module is already gone by the time we get to the stage of closing down our workers, and as a result we cannot use cloudpickle to send the final SHUTDOWN message. An option would be a .put_safe method on SimpleMPWorkerQueue which only supports native python types without cloudpickle, and a corresponding second except: block in get which tries to use the object from the queue if either cloudpickle is torn down or it can't decode the object taken from the queue (in which case we assume it's a native python object).
The MWE:
import tempfile
import pathlib
import numpy as np

import libertem.api as lt

if __name__ == '__main__':
    nav_shape = (32, 32)
    sig_shape = (4, 4)
    data = np.ones(nav_shape + sig_shape, dtype=np.float32)

    ctx = lt.Context.make_with('pipelined')

    with tempfile.TemporaryDirectory() as tpath:
        path = pathlib.Path(tpath) / 'test.raw'
        data.tofile(path)

        ds = ctx.load('raw',
                      path=path,
                      nav_shape=nav_shape,
                      sig_shape=sig_shape,
                      dtype=data.dtype)
        ds.set_num_cores(8)

        sum_a = ctx.create_sum_analysis(ds)
        sum_r = ctx.run(sum_a, progress=True)

Another piece of info, registering the executor.__del__ method to be run with the atexit module does correctly allow the script to exit and/or drop to a prompt (and later be exit()-ed), at least on this MWE. This is the case both with/without a special put to use during close().

So, the root of the issue is not calling Context.close at the end of the script. Right now, we have a "last resort" self.close in PipelinedExecutor.__del__ but, on interpreter shutdown, we don't have guarantees on basically anything that's going on around us. We can't rely on things not being cleaned up before us. So a possible fix of the script would be:
import tempfile
import pathlib
import numpy as np

import libertem.api as lt

if __name__ == '__main__':
    nav_shape = (32, 32)
    sig_shape = (4, 4)
    data = np.ones(nav_shape + sig_shape, dtype=np.float32)

    with lt.Context.make_with('pipelined') as ctx:
        with tempfile.TemporaryDirectory() as tpath:
            path = pathlib.Path(tpath) / 'test.raw'
            data.tofile(path)

            ds = ctx.load('raw',
                          path=path,
                          nav_shape=nav_shape,
                          sig_shape=sig_shape,
                          dtype=data.dtype)
            ds.set_num_cores(8)

            sum_a = ctx.create_sum_analysis(ds)
            sum_r = ctx.run(sum_a, progress=True)

But, as it is not directly clear for users that this is the "blessed" style which is needed for standalone Python scripts, it could still be useful to have something that cleans up at process exit.
Registering something via atexit could work - one just has to be careful that it doesn't needlessly keep objects alive that would otherwise already be happily garbage-collected.
Maybe something like this:
import weakref
import tempfile
import pathlib
import numpy as np
import atexit

import libertem.api as lt

if __name__ == '__main__':
    nav_shape = (32, 32)
    sig_shape = (4, 4)
    data = np.ones(nav_shape + sig_shape, dtype=np.float32)

    ctx = lt.Context.make_with('pipelined')

    weak_ctx = weakref.ref(ctx)
    atexit.register(lambda: weak_ctx().close() if weak_ctx() is not None else None)

    with tempfile.TemporaryDirectory() as tpath:
        path = pathlib.Path(tpath) / 'test.raw'
        data.tofile(path)

        ds = ctx.load('raw',
                      path=path,
                      nav_shape=nav_shape,
                      sig_shape=sig_shape,
                      dtype=data.dtype)
        ds.set_num_cores(8)

        sum_a = ctx.create_sum_analysis(ds)
        sum_r = ctx.run(sum_a, progress=True)

That could automatically be registered in Context.__init__.

Right now, we have a "last resort" self.close in PipelinedExecutor.__del__ but, on interpreter shutdown, we don't have guarantees on basically anything that's going on around us

See also: https://docs.python.org/3/reference/datamodel.html#object.del


Phase 0 Networking Specifications

Supplants #692. Notable changes:

Specs are split into messaging, identity, and RPC documents. I've left out broadcast for now so that we can discuss that separately.
The RPC protocol uses something more akin to JSON-RPC on the wire in order to identify individual methods to call rather than using a separate libp2p protocol name for each. This fits better with libp2p's stream selection logic.

We have a call tomorrow to go over the wire protocol, after which I'll update this PR with the group's decision. Ping me on Gitter if you'd like an invite to the call.

Can someone familiar with libp2p draw a diagram of all payload bytes included in a typical packet, all the way from.. transport (tcp), including envelopes, wrappers, multiplexers etc?

For the sake of expediency, we're going to be implementing a few changes in Hobbits to provide an easy and modular mechanism that allows clients to start talking to one another. For the time being, connections will be established via basic TCP with a fixed port (9000 is what we had discussed and agreed upon in the call). We'll be changing the Hobbits spec to assume the default serialization method SSZ and we're going to convert it from being a text to a binary protocol in version 0.2.

I've also brought back the message envelope as discussed during the call. This should match what goes into Hobbits version 0.2. See messaging.md for details.

I've also brought back the message envelope as discussed during the call. This should match what goes into Hobbits version 0.2. See messaging.md for details.

When libp2p's multistream implementation is upgraded to 2.0 (https://github.com/libp2p/specs/pull/95), each request (a.k.a. new stream in libp2p's lingo) will be identified with a short numeric identifier. Woudn't this value be enough to determine the compression and encoding being used and expected response length? To achieve this in practice, we would just need to define additional protocol identifiers such as /eth/serenity/beacon/rpc/hello/snappy:ssz
cc @raulk to confirm that this is the best way to do it.

I've also brought back the message envelope as discussed during the call. This should match what goes into Hobbits version 0.2. See messaging.md for details.

When libp2p's multistream implementation is upgraded to 2.0 (libp2p/specs#95), each request (a.k.a. new stream in libp2p's lingo) will be identified with a short numeric identifier. Woudn't this value be enough to determine the compression and encoding being used and expected response length? To achieve this in practice, we would just need to define additional protocol identifiers such as /eth/serenity/beacon/rpc/hello/snappy:ssz
cc @raulk to confirm that this is the best way to do it.

Correct, we don't need this enveloping at all with libp2p. However some clients don't have libp2p implementations yet and specifically requested a way to communicate without it in order to test their networking stack. Thus, we need a way of representing compression and serialization that's agnostic of libp2p.

I think this might be a good time to split up this spec:

one that focuses on application level protocol: how to get and gossip blocks etc. Basically the SSZ-encoded RPC requests and other payloads.
one that focuses on mapping eth2 to a transport layer. the working theory is that this transport layer is libp2p, but it could also be a simpler clear-test testnet protocol some have asked for, or even devp2p or whatever.

then, from the application level protocol we have a list of properties our transport layer must have: version and feature negotiation, broadcast, peer-to-peer etc. for each of these, we look at how they map to the underlying transport.
In summary, we'd have several documents (or sections of appendicec etc):

0-eth2-application.txt - blocks, attestations, etc
0-eth2-libp2p-mapping.txt - peer id format, gossipsub vs floodsub, minimal supported encryption methods, etc - basically a description of how eth uses libp2p specifically, starting from something like https://github.com/ethresearch/p2p/issues/4
0-eth2-temporary-mapping.txt - temporary pre-libp2p network for those that feel this is useful.

Some of the coordination issues we see stem from it being pretty early for protocol discussions, specially cross-client ones. Splitting it up will allow us to make progress on the application-level messages without being too distracted by other ongoings.

@mslipper,
@mslipper general current critiques:

regarding the lack of defined response codes, it seems that without defined generic response codes each rpc requires a pair of messages to be defined even if it is just to say 'yes that thing was successfully done'

regarding the lack of protocol extensibility in the form of protocol headers (are we so certain that people working our network protocol will never find our data structures wanting?)

regarding lack of separation of lightweight headers from message payload ; it is not enough to just know which byte offsets to read -- sometimes its useful to know metadata about a message without asking the sender to push the whole thing -- its also useful to make decisions (especially with regards to routing) without unwrapping the payload itself -- this should be in the form of lightweight headers.

@mslipper re: binary protocol 0.2

I would prefer request compression to be one value, and response compressions to be a list (list of compression to be accepted) -- this allows for future experimentation and upgradeability to other compression protocols without breaking shit. (this is of course applicable to just rpc messages)

If we are going to use a single binary byte to represent compression -- please at least specify the most popular 5-10ish codecs' bytecodes.

once again -- headers???

;)
awaits feedback in bunker

@dreamcodez

regarding the lack of defined response codes, it seems that without defined generic response codes each rpc requires a pair of messages to be defined even if it is just to say 'yes that thing was successfully done'

Note sure what you mean by this... the 'responses' as defined here contain the result of the procedure call or an error. Are you referring to defined error codes?

regarding the lack of protocol extensibility in the form of protocol headers (are we so certain that people working our network protocol will never find our data structures wanting?)

What do you mean by headers in this case? If you want an additional 'command' (in Hobbits parlance, anyway) you'd just need to define a new method_id. Note that the serialization of that command is handled by the message envelope right now, and by upfront negotiation in the future.

regarding lack of separation of lightweight headers from message payload ; it is not enough to just know which byte offsets to read -- sometimes its useful to know metadata about a message without asking the sender to push the whole thing -- its also useful to make decisions (especially with regards to routing) without unwrapping the payload itself -- this should be in the form of lightweight headers.
Can you give an example of the type of metadata you are referring to?

I would prefer request compression to be one value, and response compressions to be a list (list of compression to be accepted) -- this allows for future experimentation and upgradeability to other compression protocols without breaking shit. (this is of course applicable to just rpc messages)

This would mean the introduction of a handshake process, which defeats the purpose of having a simple intermediary wire format to tide us over until libp2p is ready. You can already change the compression/encoding protocols by changing the nibble values in the message envelope.

If we are going to use a single binary byte to represent compression -- please at least specify the most popular 5-10ish codecs' bytecodes.

I'd honestly prefer not to do this, since defining them would create an implicit requirement within this spec to support multiple compression algorithms. I'd much rather we decide on one as a group to reduce implementation overhead. This is why 0x0 (i.e., no compression) is the only defined compression nibble at this time.

I think this might be a good time to split up this spec:
* one that focuses on application level protocol: how to get and gossip blocks etc. Basically the SSZ-encoded RPC requests and other payloads.

* one that focuses on mapping eth2 to a transport layer. the working theory is that this transport layer is libp2p, but it could also be a simpler clear-test testnet protocol some have asked for, or even devp2p or whatever.

then, from the application level protocol we have a list of properties our transport layer must have: version and feature negotiation, broadcast, peer-to-peer etc. for each of these, we look at how they map to the underlying transport.
In summary, we'd have several documents (or sections of appendicec etc):
* 0-eth2-application.txt - blocks, attestations, etc

* 0-eth2-libp2p-mapping.txt - peer id format, gossipsub vs floodsub, minimal supported encryption methods, etc - basically a description of how eth uses libp2p specifically, starting from something like [ethresearch/p2p#4](https://github.com/ethresearch/p2p/issues/4)

* 0-eth2-temporary-mapping.txt - temporary pre-libp2p network for those that feel this is useful.

Some of the coordination issues we see stem from it being pretty early for protocol discussions, specially cross-client ones. Splitting it up will allow us to make progress on the application-level messages without being too distracted by other ongoings.

@arnetheduck I really like this idea... what do you think of doing this separately from this PR? I'm sure that there will be additional feedback generated from those documents.

Yes. I think we need flexibility and having aspects like serialisation method separated from message format and semantics will be of more immediate utility than say wire performance.

@arnetheduck I really like this idea... what do you think of doing this separately from this PR? I'm sure that there will be additional feedback generated from those documents.

I think we're pretty close already in terms of how the spec is sectioned (nice work!) - just need to make the distinction slightly more explicit. It's mostly an administrative matter to facilitate discussion, make a dedicated space for separate non-libp2p discussion, and establish terminology once and for all (what's "wire" and "application" and so on). Can be done at any time, whenever feels convenient.
Eventually, I also hope it will lead to a more clearly documented interface between eth2 and the underlying overlay (haha).

@dreamcodez

regarding the lack of defined response codes, it seems that without defined generic response codes each rpc requires a pair of messages to be defined even if it is just to say 'yes that thing was successfully done'

Note sure what you mean by this... the 'responses' as defined here contain the result of the procedure call or an error. Are you referring to defined error codes?

Omitting a generic rpc response codes will require us produce an explicitly coded 'response' message to be paired with each said request.. If message A gets sent via rpc, then its nice to not have to create a message AResponse to indicate the response permutations of 'success' and 'error' at the very least.

regarding the lack of protocol extensibility in the form of protocol headers (are we so certain that people working our network protocol will never find our data structures wanting?)

What do you mean by headers in this case? If you want an additional 'command' (in Hobbits parlance, anyway) you'd just need to define a new method_id. Note that the serialization of that command is handled by the message envelope right now, and by upfront negotiation in the future.
Not referring to commands -- referring to pieces of metadata which our core protocol could not have possibly foreseen use cases for in the future -- for example -- proxies and/or routing topologies will need to tag extra metadata to efficiently push decisions and context to the next hop. rather than having to modify our protocol, they can just adopt new header extensions.

regarding lack of separation of lightweight headers from message payload ; it is not enough to just know which byte offsets to read -- sometimes its useful to know metadata about a message without asking the sender to push the whole thing -- its also useful to make decisions (especially with regards to routing) without unwrapping the payload itself -- this should be in the form of lightweight headers.

Can you give an example of the type of metadata you are referring to?

See above -- I know there are more use cases but I cannot express them at the moment. The main idea is i should be able to grab lightweight metadata when looking up objects to see if i need the full object (maybe it hasn't changed since last time I asked).

I would prefer request compression to be one value, and response compressions to be a list (list of compression to be accepted) -- this allows for future experimentation and upgradeability to other compression protocols without breaking shit. (this is of course applicable to just rpc messages)

This would mean the introduction of a handshake process, which defeats the purpose of having a simple intermediary wire format to tide us over until libp2p is ready. You can already change the compression/encoding protocols by changing the nibble values in the message envelope.
I disagree -- this does not force anyone to handshake in a way which would create any additional overhead -- a rpc requestor peer can simply say 'hey i'm sending this in spdy, and i can receive responses in X,Y,Z' -- if the response compression preference list gives a few choices -- this creates a high probability of interoperability -- especially if the scheme chosen in the initial request is spdy or something non-experimental.

If we are going to use a single binary byte to represent compression -- please at least specify the most popular 5-10ish codecs' bytecodes.

I'd honestly prefer not to do this, since defining them would create an implicit requirement within this spec to support multiple compression algorithms. I'd much rather we decide on one as a group to reduce implementation overhead. This is why 0x0 (i.e., no compression) is the only defined compression nibble at this time.
Let's say that our request looks like:
EWP 0.1 snappy snappy,gzip -- this means that I will be able to work with any endpoint which supports snappy, but i can also support gzip coming back...
I don't really see any drawbacks with supporting this...

I think this might be a good time to split up this spec

I support this. Maybe we can even abstract away the serialization format from the application level protocol in order to isolate another heavily discussed component.

Yes but the protocol could allow many😀
On 23 Mar 2019 20:04, jannikluhn<EMAIL_ADDRESS>wrote:
@jannikluhn commented on this pull request.

In specs/networking/messaging.mdhttps://github.com/ethereum/eth2.0-specs/pull/763#discussion_r268405597:

++--------------------------+
+|                          |
+|           body           |
+|                          |
++--------------------------+
+```

+Clients MUST ignore messages with mal-formed bodies. The compression/encoding nibbles MUST be one of the following values:
+
+## Compression Nibble Values
+
+- 0x0: no compression
+
+## Encoding Nibble Values
+
+- 0x1: SSZ
I believe it would be best if we could agree on a single encoding format to maximize compatibility.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/ethereum/eth2.0-specs/pull/763#discussion_r268405597, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Af9nzlrSrHrMARYqwpGfb0H9Sf0dUHc5ks5vZnrAgaJpZM4br2Rf.

@zah

When libp2p's multistream implementation is upgraded to 2.0 (libp2p/specs#95), each request (a.k.a. new stream in libp2p's lingo) will be identified with a short numeric identifier. Woudn't this value be enough to determine the compression and encoding being used and expected response length? To achieve this in practice, we would just need to define additional protocol identifiers such as /eth/serenity/beacon/rpc/hello/snappy:ssz
cc @raulk to confirm that this is the best way to do it.

You don't need to wait for multistream 2.0. When you open a new stream, multistream 1.0 is in charge of associating that stream with a protocol. To be clear:

When opening a stream, you tell libp2p which protocol P you want it to be associated with via the API.
libp2p opens a stream with the underlying multiplexer (yamux, mplex, spdystream, quic, etc.). At this point, the stream is just a number.
multistream 1.0 kicks in and selects protocol P.
libp2p returns the stream, contextualised for that protocol P.

Generally, I see we've gained a lot of different uintXX sizes, while eth2 has opted to go with uint64 exclusively (almost?) - network/chain/method id etc. The motivation seems to be to save a few bytes here and there, but they look like one-offs in requests and the like, nothing that will fundamentally make an actual difference.
Considering sizes of payloads and taking into consideration the departure from rest of the eth2 spec, how do we feel about sticking with uint64 unless there's strong (aka motivated by compelling numbers) reason not to?

Generally, I see we've gained a lot of different uintXX sizes, while eth2 has opted to go with uint64 exclusively (almost?) - network/chain/method id etc. The motivation seems to be to save a few bytes here and there, but they look like one-offs in requests and the like, nothing that will fundamentally make an actual difference.
Considering sizes of payloads and taking into consideration the departure from rest of the eth2 spec, how do we feel about sticking with uint64 unless there's strong (aka motivated by compelling numbers) reason not to?


touch not working even when velocity:0 after few swipes

the error is
core.js:1673 ERROR TypeError: Cannot read property 'context' of null
    at<EMAIL_ADDRESS>(ngu-carousel.js:1273)
    at<EMAIL_ADDRESS>(ngu-carousel.js:1050)
    at<EMAIL_ADDRESS>(ngu-carousel.js:993)
    at Array.<anonymous> (ngu-carousel.js:625)
    at Manager.emit (hammer.js:2519)
    at emit (hammer.js:1527)
    at PanRecognizer.emit (hammer.js:1543)
    at PanRecognizer.emit (hammer.js:1817)
    at PanRecognizer.tryEmit (hammer.js:1555)
    at PanRecognizer.recognize (hammer.js:1602)

not occurring when animation is not set to 'lazy', currently commented, its woks good without it and lazy doesn't works anyway in the new versions.


whitelist some packages for downloads count

https://www.nuget.org/packages/XrmLibrary.EntityHelpers.2015/
https://www.nuget.org/packages/XrmLibrary.EntityHelpers.2016/
https://www.nuget.org/packages/XrmLibrary.ExtensionMethods/
https://www.nuget.org/packages/XrmLibrary.ExtensionMethods.2016/
https://github.com/NuGet/NuGetGallery/issues/3836

XrmLibrary.ExtensionMethods download count seems fine. The rest of the packages need to be whitelisted in stats job I believe.

hi @shishirix34,
i'm owner of these packages. XrmLibrary.ExtensionMethods counts sees right but actually not, because there are 2 different packages (XrmLibrary.ExtensionMethods and XrmLibrary.ExtensionMethods.2016) and count stats shows for v1 and v2016.1.0 and I think they are not right

Closed as duplicate of https://github.com/NuGet/NuGetGallery/issues/3836


Fix slpjs v

Pull Request Test Coverage Report for Build 1563

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

Totals

Change from base Build 1555:
0.0%

Covered Lines:
2973

Relevant Lines:
3749

💛  - Coveralls

Pull Request Test Coverage Report for Build 1565

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

Totals

Change from base Build 1555:
0.0%

Covered Lines:
2973

Relevant Lines:
3749

💛  - Coveralls

:tada: This PR is included in version 1.14.6 :tada:
Your semantic-release bot :package::rocket:


Add support for termguicolors (Vim 8.x)

Please write a description about your changes. Iceberg already supports termguicolors option so I use Vim in full colors environment with the option.
My environment:

macOS 10.14 (18A391)
MacVim 8.1.577 (153)
Vim 8.0 (patch 1-1500) with iTerm2 3.1.7

And, please squash several changes into a single commit. I prefer that unnecessary changes don't remain on the commit history.

Closed the issue because it has not had recent activity.
Feel free to reopen this if you still have the problem.


Fixed decompression of normals

Fixed decompression of normals to reverse how the normals are compressed.
Fix for issue #8771.

I also found the same problem for vertex colours so have also fixed that.
I suspect the same problem exists for compressed tangents and compressed weights as there is a * 2.0 - 1.0 which i needed to remove from normals and colours to get them to decompress correctly.
But as I do not have any code that uses these I can't make the change and test it.

@reduz-approved on IRC ✔


Add package 'unpaper'.

A tool for post-processing tool for scanned sheets of paper. Helps clean them up (rotate, crop dark borders, etc.) for on-screen reading.

Could you rebase from NixOS/master?

Sorry, I'm still not completely "git fluent". I think I have correctly rebased it on master now and did a force-push. Please let me know if I messed up further.


parse module

I tried to get this to run but could not find anything about from parser import Parser (glyphslib.py:26).

Humm. you mean you don't have parser.py?

Maybe he's on python3 and the relative imports don't work unless explicitly defined with a dot?

I have, but I get an error. Maybe because there is a build in module with the same name? Or I installed it wrong. Silly of me not to see this.

Ah, makes more sense.

I have, but I get an error. Maybe because there is a build in module with the same name? Or I installed it wrong. Silly of me not to see this.

How are you running it?

I’m on python 2.7. I renamed the parser.py file and now it works.

Right.  I'll change the relative imports.

Assigning to James to fix when he has time.
Also: https://github.com/googlei18n/glyphs2ufo/issues/4

This should be fixed by 5fa3543710724f1a28d40517b69276a50db98886


Fix: Implemented one-time include

Problematic code:
<?

function myFunc() {
        return "myFunc";
}

return function($req, $res) {
  $res->json([ 'n' => \mt_rand() / \mt_getrandmax() ]);
};

Failed due to:
Fatal error: Cannot redeclare myFunc() (previously declared in /usr/code-start/index.php:4) in /usr/code-start/index.php on line 3

This PR makes sure we only import the code once, and share it between executions. Code above now works.

Note: include_once cannot be used, it would not return the function in second execution.


False Positive on [library]

False positive on library resteasty.jar - reported as resteasy-spring-boot-starter-3.5.0.Final.jar<EMAIL_ADDRESS>cpe:2.3:a:redhat:resteasy:3.5.0:::::::*)
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-spring-boot-starter</artifactId>
                <version>3.5.0.Final</version>
            </dependency>

It seems that there is a bug for CPE matching for packages with hyphens in the name, see #2972 or #2940.

It seems people don't read How dependency-check works.


Homebrew installs Sierra bottles on Mavericks

Our Mavericks build server recently started giving linking errors. We traced it down to the fact that homebrew is installing Sierra bottles on a mavericks machine when using --force-bottle. These builds obviously don't work well. Is this expected? Here is a simplified version of our build script:
BREWDIR="/tmp/homebrew"
mkdir -p $BREWDIR
curl -fsSL https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C $BREWDIR
HOMEBREW_CACHE="/tmp" $BREWDIR/bin/brew install zeromq --force-bottle

And there the output (on mavericks!)
Initialized empty Git repository in /private/tmp/homebrew/.git/
remote: Counting objects: 1050, done.
remote: Compressing objects: 100% (959/959), done.
Updating Homebrew...44% (462/1050), 156.00 KiB | 300.00 KiB/s
remote: Total 1050 (delta 99), reused 390 (delta 52), pack-reused 0
Receiving objects: 100% (1050/1050), 1.01 MiB | 469.00 KiB/s, done.
Resolving deltas: 100% (99/99), done.
From https://github.com/Homebrew/brew
 * [new branch]      master     -> origin/master
HEAD is now at 98dadd9 Merge pull request #1777 from alyssais/tests_tab_version
==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://git.io/brew-analytics

==> Tapping homebrew/core
Cloning into '/private/tmp/homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Counting objects: 3830, done.
remote: Compressing objects: 100% (3709/3709), done.
remote: Total 3830 (delta 25), reused 349 (delta 8), pack-reused 0
Receiving objects: 100% (3830/3830), 3.07 MiB | 1.19 MiB/s, done.
Resolving deltas: 100% (25/25), done.
Checking connectivity... done.
Tapped 3705 formulae (3,858 files, 9.6M)
==> Downloading https://homebrew.bintray.com/bottles/zeromq-4.2.0.sierra.bottle.
Already downloaded: /tmp/zeromq-4.2.0.sierra.bottle.tar.gz
==> Pouring zeromq-4.2.0.sierra.bottle.tar.gz
🍺  /private/tmp/homebrew/Cellar/zeromq/4.2.0: 22B

Config
Jeroens-Mac:Desktop jeroen$ /tmp/homebrew/bin/brew config
HOMEBREW_VERSION: >1.1.0 (no git repository)
ORIGIN: https://github.com/Homebrew/brew
HEAD: 98dadd907e31bb5f9a16bfb6aa2138b1852c4db5
Last commit: 4 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 1a5176800d1799bb447d3816f2ffc3e53bd421b8
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /private/tmp/homebrew
HOMEBREW_REPOSITORY: /private/tmp/homebrew
HOMEBREW_CELLAR: /private/tmp/homebrew/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: dual-core 64-bit ivybridge
Homebrew Ruby: 2.0.0-p481
Clang: 6.0 build 600
Git: 1.9.5 => /Library/Developer/CommandLineTools/usr/bin/git
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: N/A
macOS: 10.9.5-x86_64
Xcode: N/A
CLT: <IP_ADDRESS>.1.1424975374
X11: 2.7.11 => /opt/X11

Our Mavericks build server recently started giving linking errors. We traced it down to the fact that homebrew is installing Sierra bottles on a mavericks machine when using --force-bottle. These builds obviously don't work well. Is this expected?

This is expected behaviour. --force-bottle was an undocumented option so the behaviour has changed. May I ask why you were using it on a version of macOS we no longer bottle for?

I think --force-bottle has been documented via brew --help for quite some time?
The --force-bottle is default in our scripts because we only need the static libraries, so relocation is not an issue. The previous homebrew behavior for --force-bottle was to prefer bottles if available, and otherwise build from source. Therefore we always included this option.
The change in behavior if unfortunate, I think brew should never serve incompatible binaries, even if the user asks for a bottle that might not be available anymore.

brew install --force-bottle was not documented.

The --force-bottle is default in our scripts because we only need the static libraries, so relocation is not an issue.

I don't think that's a safe assumption to make. If a library hardcodes a path and then later uses it it will fail under your system.

The previous homebrew behavior for --force-bottle was to prefer bottles if available, and otherwise build from source. Therefore it was harmless to always included this option.

Sure. It still behaves as you've described it but not in a way that's desirable to you so you'll need to omit the option, sorry.

The change in behavior if unfortunate, I think brew should never serve incompatible binaries, even if the user asks for a bottle on a platform where this might not be available anymore.

--force-$ANYTHING is generally a good sign that you're doing something that may 💥, I'm afraid.


Remove .DS_Store files and add them to .gitignore

Hi!
I saw your talk at jsconf last week and this project is awesome. Being a guitar player myself I had to use this module :)
I have a few stuff I'd like to try and contribute to the project, for now a quick PR to remove useless files.

Hey @romainberger  thanks for cleaning up the .DS_Store files!
The project is still in development so there might be some stuff which can be better or cleaned up, feel free to send more PR's.


Updated mysqlfetch activity

I've made a few updates to the MySQL Fetch activity:

Go packages should be lowercase (https://golang.org/doc/effective_go.html#package-names)
The name of the activity should match the name of the folder
The return type should be an any field to make sure downstream activities can use it as a JSON object (otherwise the engine will treat it as a string)
The logger name should match the name of the activity
Update error handling and getting input values to match Go best practices
Don't use underscores in Go names; I've changed conn_str
Updated the activity.json to reflect required fields
Updated the readme to be in sync with the other activities in Flogo

Yes I didnt format the code using golint. Thanks for your insight :)


fix: Remove the Provided annotation for consideration for the depende…

This fixes the annotation problem of having a dependency with a Provided annotation and any other dependency related annotation such as qualifier.

I've changed to 2.0 branch


14pro 16.0.2 Tips Crashes

I only could get to the step of misaka running fine but then installing trollstore by selecting Tips then resprings but Tips Crashes didn't fully get trollstore ... any help?

I have the same issue in iPhone 14 pro, maybe we need to wait for the fix

hey guys, try this workaround: https://github.com/opa334/TrollStore/issues/594#issuecomment-1830109445
I've used the stocks-app instead of home or tips, because this two apps where broken.


feat: display ChatGPT model options

Feature: Display ChatGPT Models

Changed label from "Model" to "Select Model" to improve clarity for users when choosing a model.
Incorporated the datalist element to display model options.
Added instructions for available model options and a link to the full list of models

Issue with Default Value

When a default AI model is set, the  dropdown only displays the current model.
The full list of options isn't shown unless the user clears the input, potentially causing confusion.
 behaves in a way that if the input matches one of the options exactly, the dropdown might not show the full list because it assumes the selection is already complete.

Solution:

Removed the default OpenAI model.

The  dropdown displays all options when the input is clicked, making it easier for the user to browse and select a model.
By removing the default AI model from the input improves the user experience by making it clearer that the user needs to select a model from the drop down list.

it closes #5

d8fbe22b10e7c279a6f55a5f4ef7d1120930f1bb

Thank you @samantha-t28 for addressing the comments.

 Quality Gate passed
Issues  3 New issues  0 Accepted issues
Measures  0 Security Hotspots  0.0% Coverage on New Code  0.0% Duplication on New Code
See analysis details on SonarCloud

I see it passed on the Quality Gates configured in the CI, however 3 small issues where introduced, would you mind addressing them? You should be able to click on the link provided to visualize the issues and instructions on how to fix it.


WIP: Erfrimod/hns v2 api

@erfrimod - I changed the title to WIP. Can you ping us when you are done with your testing/debugging messages and such and you think its the final version? Thanks

@erfrimod - I thought you were going to make a hns package in this repo?

LGTM. Merging and we can make iterative changes from here.


Fill out the rest of the instructions

Are you doing the optimization where each selection vector only has entry for selecting temp variables?

Are you doing the optimization where each selection vector only has entry for selecting temp variables?

I double checked that we are using every selection vector entry. I removed some unused variants (Pc, One), but we still needed the columns for pct + 1.


Avoid ActiveRecordExtensions affects AR's belongs_to method.

Background
ActiveRecord#belongs_to accepts these args. ref
        def belongs_to(name, scope = nil, **options)
          reflection = Builder::BelongsTo.build(self, name, scope, options)
          Reflection.add_reflection self, name, reflection
        end

But , ActiveRecordExtensions drops scope arguments.
https://github.com/active-hash/active_hash/blob/b11cb2e6151c6ac67d15d659fb2f2a931061bffa/lib/associations/associations.rb#L6-L21
Changes
In this PR, by calling super with no arguments, all arguments including scope are passed to super.

Wow.
It turns out that running certain test cases together causes an error.
➜ bundle exec rspec spec/active_hash/base_spec.rb:1287 ./spec/associations/active_record_extensions_spec.rb
Run options: include {:locations=>{"./spec/active_hash/base_spec.rb"=>[1287]}}
........F.................

Failures:

  1) ActiveHash::Base active record extensions ActiveHash::Associations::ActiveRecordExtensions#belongs_to doesn't interfere with AR's procs in belongs_to methods
     Failure/Error: return super unless respond_to? method_name

     NoMethodError:
       undefined method `current_scope' for Country:Class
     # ./lib/active_hash/base.rb:259:in `method_missing'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:100:in `scope'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:218:in `find_target'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/singular_association.rb:39:in `find_target'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:174:in `load_target'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:67:in `reload'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/singular_association.rb:9:in `reader'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/builder/association.rb:103:in `country'
     # ./spec/associations/active_record_extensions_spec.rb:149:in `block (4 levels) in <top (required)>'

Finished in 0.25398 seconds (files took 0.72271 seconds to load)
26 examples, 1 failure

Failed examples:

rspec ./spec/associations/active_record_extensions_spec.rb:139 # ActiveHash::Base active record extensions ActiveHash::Associations::ActiveRecordExtensions#belongs_to doesn't interfere with AR's procs in belongs_to methods

I made this change to check defined constants.
It turns out that the defined constants are different for Pattern 1 and Pattern 2. However, I have not yet been able to determine the reason for this difference.
diff --git a/spec/associations/active_record_extensions_spec.rb b/spec/associations/active_record_extensions_spec.rb
index 40ea455..75e0a66 100644
--- a/spec/associations/active_record_extensions_spec.rb
+++ b/spec/associations/active_record_extensions_spec.rb
@@ -144,6 +144,7 @@ unless SKIP_ACTIVE_RECORD
             expect(school.country.attributes).to eq({ 'id' => 1, 'name' => 'Japan' })
             school.save!
             school.reload
+            puts ObjectSpace.each_object(Class).select { |c| c.to_s.match?('Country') && !c.to_s.match?('TZInfo')  }
             expect(school.reload.country.attributes).to eq({ 'id' => 1 })
           end
         end

pattern1
➜ bundle exec rspec ./spec/associations/active_record_extensions_spec.rb:138
Run options: include {:locations=>{"./spec/associations/active_record_extensions_spec.rb"=>[138]}}
#<Class:Country::ActiveRecord_AssociationRelation>
Country::ActiveRecord_AssociationRelation
#<Class:Country::ActiveRecord_Associations_CollectionProxy>
Country::ActiveRecord_Associations_CollectionProxy
#<Class:Country::ActiveRecord_Relation>
Country::ActiveRecord_Relation
#<Class:Country(id: integer, name: string)>
Country
.

Finished in 0.21281 seconds (files took 0.47848 seconds to load)
1 example, 0 failures

pattern2
➜ bundle exec rspec spec/active_hash/base_spec.rb:1287 ./spec/associations/active_record_extensions_spec.rb:138
Run options: include {:locations=>{"./spec/active_hash/base_spec.rb"=>[1287], "./spec/associations/active_record_extensions_spec.rb"=>[138]}}
.#<Class:#<Class:Country>>
#<Class:Country>
Country
#<Class:Country(id: integer, name: string)>
Country
#<Class:Country::ActiveRecord_AssociationRelation>
Country::ActiveRecord_AssociationRelation
#<Class:Country::ActiveRecord_Associations_CollectionProxy>
Country::ActiveRecord_Associations_CollectionProxy
#<Class:Country::ActiveRecord_Relation>
Country::ActiveRecord_Relation
F

Failures:

  1) ActiveHash::Base active record extensions ActiveHash::Associations::ActiveRecordExtensions#belongs_to doesn't interfere with AR's procs in belongs_to methods
     Failure/Error: return super unless respond_to? method_name

     NoMethodError:
       undefined method `current_scope' for Country:Class
     # ./lib/active_hash/base.rb:259:in `method_missing'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:100:in `scope'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:218:in `find_target'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/singular_association.rb:39:in `find_target'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:174:in `load_target'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/association.rb:67:in `reload'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/singular_association.rb:9:in `reader'
     # ./vendor/bundle/ruby/3.1.0/gems/activerecord-<IP_ADDRESS>/lib/active_record/associations/builder/association.rb:103:in `country'
     # ./spec/associations/active_record_extensions_spec.rb:148:in `block (4 levels) in <top (required)>'

Finished in 0.389 seconds (files took 1.09 seconds to load)
2 examples, 1 failure

Failed examples:

rspec ./spec/associations/active_record_extensions_spec.rb:138 # ActiveHash::Base active record extensions ActiveHash::Associations::ActiveRecordExtensions#belongs_to doesn't interfere with AR's procs in belongs_to methods

I'm trying to think about the use case here.
I've only used a where scope in those instances. In your code, what do you put into the scope (that we were dropping and you added back?)

Thanks @machisuke
I understand your use case. I worked on one project that was similar to that. (your example helped with my memory)
The where clauses on the scope makes a ton of sense. Wise to put that into the test case.

Can you rebase the 256 PR code out of here?
Or do you need that to make these tests pass?

@kbrock
Actually, this PR needs #256.
Without #256, executing both spec/active_hash/base_spec.rb:1287  and.  ./spec/associations/active_record_extensions_spec.rb:138 in a single process causes an error.
The detail is here

@machisuke thanks
If you could rebase this on master (to remove #256) that would be great.

@kbrock
Sure.

I did a merge and introduced a conflict for this. sorry.
Resolved the merge, please let me know if I made a mistake or did something that you did not want.


tooltips for measurements and metrics in map overlay

each non-obvious measurement and metric situation should have an 'info' tooltip that explains the metric to a layman, with a 'learn more' button that takes them to a section in the 'research' page that explains further.

@annika608 added support for this in #42 — screenshot here — but I'm leaving this issue open to track finalizing the text for each metric, which I believe is a @dcalacci and @mohsenmailbox task.

@annika608 added support for this in #42 — screenshot here — but I'm leaving this issue open to track finalizing the text for each metric, which I believe is a @dcalacci and @mohsenmailbox task.


Implement numpy.power

First array elements raised to powers from second array, element-wise.
https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.power.html

Done this task and close.

how do I make np.power(ndarr2, ndarr2)?


build(cargo): bump up dependencies

👋 I think this may be necessary for the most recent version of SWC. I tried running this with AVA and got this:
Missing export __transform_plugin_process_impl crates/swc/src/plugin.rs'

I disassembled the most recent published WASM binary and the closest export I see is __plugin_process_impl which is very close. So I'm guessing SWC updated their plugin API from __plugin_process_impl to __transform_plugin_process_impl in some newer version 😄
Let me know if you publish these changes and I will test them! 🎉

I think this may be necessary for the most recent version of SWC

Yes, that's correct. Sorry for the inconveniences, currently SWC plugins are under experimental flag that I bring numbers of breaking changes across versions which requires frequent updates to the plugin / host both.
I'm hoping to stablize this sooner to reduce this kind of breakage.
Fyi this PR may break, it looks like I need to fix few things to make things work correctly again. Will update PR once it's resolved.

Awesome, thanks so much @kwonoj. Let me know when/if there's anything I can test for you! 😄


ISPN-13121 Cache persistent state is not deleted after restart

https://issues.redhat.com/browse/ISPN-13121

LGTM.

Merged, thanks


Dockerfile should do checksum verification on CLI files

Dockerfile should do a checksum verification on the CLI files downloaded.

@friism, In https://github.com/dotnet/dotnet-docker-preview/pull/9 you made the suggestion

It'd be nice if you published and checked checksums for the .tar.gz

Upon thinking about this further, I feel like I am missing the purpose of this.  The file is being downloaded via https, what is the value in using a checksum in this scenario?

@michaelsimons I agree that it's probably not that important, but it is a convention on the UNIX side (check out some of the Linux Dockerfiles).
The check makes sure that the download is not corrupted. But notably, the government can still MITM you because they can serve both the download artifact and an md5 hash that matches.

This is being tracked with https://github.com/dotnet/dotnet-docker/issues/43.  Closing


CLOUD-42393 fixed long object comparison

@keyki

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1781/


Feature/azure provider

Change content and motivation

Adds Azure as a provider for KubeNow (terraform)
Includes image/upload create script (bash)
Changes in kn-cli to support azure provider and azure cli.

GitHub cross-links

Fixes:

Docs:

@andersla cloud you add documentation for this?

@andersla you probably have to synch with master now that I have merged the other 2 PRs

@andersla as soon as you synch with the master I can merge


Day 15

Codecov Report

Merging #20 (5cb86d5) into main (1b837c5) will increase coverage by 0.16%.
The diff coverage is 88.70%.

@@            Coverage Diff             @@
##             main      #20      +/-   ##
==========================================
+ Coverage   84.44%   84.61%   +0.16%
==========================================
  Files          15       16       +1
  Lines        1504     1566      +62
==========================================
+ Hits         1270     1325      +55
- Misses        234      241       +7

Impacted Files
Coverage Δ

src/main.rs
0.00% <0.00%> (ø)

src/day_15/solution.rs
90.16% <90.16%> (ø)

Continue to review full report at Codecov.

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


acidosis disorder should not be a child of hematologic disease

Mondo term (ID Label)
https://www.ebi.ac.uk/ols/ontologies/mondo/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMONDO_0006022
Bug/Typo/Error description
It should be a child of metabolic disease
https://www.ebi.ac.uk/ols/ontologies/mondo/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FMONDO_0005066&viewMode=All&siblings=false
Note that 'lactic acidosis' is not a disease (it is a feature and is an HPO term). The children underneath lactic acidosis also need attention and should be moved elsewhere.

@pnrobinson here are 2 explanations for that inference:

if I remove subClassOf 'disease has location' some blood
the inference goes away. The source for that assertion was EFO:0000784 has_disease_location, which doesn't seem quite right, and the text def says it affects the blood and other bodily tissues, so that doesn't seem totally right.

I added metabolic disease as a parent.

Acidosis is not spefically located in blood, it is the tissues/the body that are acidotic, and we just measure it in the blood. Therefore, diseaseHasLocation some blood is wrong! I would vote for just removing this triple.

acidosis disorder should not be a child of hematologic disease

I agree, what is confusing is that we had already removed this and we keep a shadow axiom:
id: MONDO:0006022
name: acidosis disorder
...
relationship: excluded_subClassOf MONDO:0005570 {source="EFO:1000014"} ! hematologic disease
relationship: disease_has_location UBERON:0000178 {source="EFO:0000784"} ! blood

@nicolevasilevsky can you add a ticket for a check that prevents resuscitation of excluded axioms via reasoning

I added metabolic disease as a parent.

No need, it is already a parent via it's logical definition. are you not seeing his?

I would vote for just removing this triple.

Agreed, we could also review all location axioms coming from EFO, cc @paolaroncaglia

No need, it is already a parent via it's logical definition. are you not seeing his?

Oh, yes, I do see it. I removed the superclass assertion.

@nicolevasilevsky can you add a ticket for a check that prevents resuscitation of excluded axioms via reasoning

yes, will do

@cmungall
@nicolevasilevsky
cc @zoependlington

Agreed, we could also review all location axioms coming from EFO, cc @paolaroncaglia

Sure. I opened https://github.com/EBISPOT/efo/issues/832 to address the specific link between EFO 'acidosis' and 'blood'. But we'd be happy to assist if you carry out a sistematic review of all location axioms coming from EFO and find any issue there. Thanks!


Feat/edit product

Description
Implements an endpoint PUT /api/v1/products that fetches product details.

Related Issue (Link to Github issue)
closes #123

How Has This Been Tested?
It has been tested using postman
Screenshots (if appropriate - Postman, etc):
Success Response

Product not found response

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[] Breaking change

Checklist:

[X] My code follows the code style of this project.
[X] I have updated the documentation accordingly.
[] I have added tests to cover my changes.
[X] All new and existing tests passed.

Please add more description to this PR

Please add more description to this PR

done i will close the other one since the entire changes are present here too


Invalid reference format while starting services

Rancher Version: 1.2.0-pre4-rc6
Docker Version:
Client:
Version:      1.12.3
API version:  1.24
Go version:   go1.6.3
Git commit:   6b644ec
Built:        Wed Oct 26 22:01:48 2016
OS/Arch:      linux/amd64
Server:
Version:      1.12.3
API version:  1.24
Go version:   go1.6.3
Git commit:   6b644ec
Built:        Wed Oct 26 22:01:48 2016
OS/Arch:      linux/amd64
OS and where are the hosts located? (cloud, bare metal, etc):
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
Running over a Mac Mini 2013
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single Node Rancher with External DB running in a Synology NAS as docker container
Environment Type: (Cattle/Kubernetes/Swarm/Mesos) Cattle
Steps to Reproduce:

Inside a stack, add a Service
Set any name
Set image from private registry: hub.domain.ltd:5000/name
Click on Create

Results:
New service is added, with image changed to hub.domain.ltd:5000/name:latest. It tries to start, but ends in error: Expected state running but got error: Invalid reference format

Expected:
New service is added, and starts successfully
Extra Information:
Even if you try to upgrade an existing (and working) service, using the same image, it ends in the error. However, rollback works as expected.
I've checked docker ps during the startup, and the container is never started.
Logs from server shows this:
2016-11-16 17:04:29,114 ERROR [486b0191-0d3b-41a7-b642-c67e7e620d05:56192] [instance:3357->instanceHostMap:448] [instance.start->(InstanceStart)->instancehostmap.activate] [] [cutorService-41] [c.p.e.p.i.DefaultProcessInstanceImpl] Agent error for [compute.instance.activate.reply;agent=51]: invalid reference format
I've tested it with rc7 and doesn't work either (and I got more errors doing other stuff)

We probably broke the ability to have port in url.

i believe the fix was in rc7. I tested it locally and it works fine. @aimartin  Can you try with rc7? or could you show me the error msg in rc7?

I've tested it with 1.2.0-pre3-rc2 (the version I had before the pre4-rc6) and I can confirm my setup and image works. I will try again with RC7 and let you know :).
Regards

@aimartin Would you be willing to wait until rc8? rc7 out of the box doesn't work, incorrect UI tag, an  incorrect branch for library catalog, and no infra services automatiocally started for the default environment.

I was about to say that I wasn't able to even start the service, the UI is not working fine (not create button, if I click in primary service it restarts...).
I will wait and test with RC8, and in the meantime, I will go back to the version I had before :). Do you have a tentative date for RC8?
Regards

@aimartin Would you be able to test with rc9? it's now available

@aimartin If this is still an issue after 1.2 ships, please reopen.

Sorry for the late answer. Tested in 1.2.0, seems to be working fine.
Thanks!


Update CMake configuration to reflect latest changes

Seems that #226 was closed accidentally.

@GMNGeoffrey May I request a review from you, if you're not on vacation?

Seems that #226 was closed accidentally.

 Our automation is fighting with MLIR's. It was tagged to close their #226, not ours :-/ Ugh sorry this is so janky.
I can take a look, but I'm not super familiar with cmake. Maybe @benvanik would be a better reviewer?

 Our automation is fighting with MLIR's. It was tagged to close their #226, not ours :-/ Ugh sorry this is so janky.

Fortunately, I think this won't be a problem in future as MLIR has landed in LLVM.

I can take a look, but I'm not super familiar with cmake. Maybe @benvanik would be a better reviewer?

Being back in office after New Year's Eve, I hope to get the tests working with CMake within the first week of January. Therefore, it would make work a little bit easier if some of my PRs can make it into the master before. But even if not, I can handle it as long as the changes gets merged someday ;)

FYI, the CMake build now runs on presubmit. I think if you rebase all these commits onto master it will run (for those that touch parts that are enabled)

FYI, the CMake build now runs on presubmit. I think if you rebase all these commits onto master it will run (for those that touch parts that are enabled)

Yeah, thanks for the info. I was already pleased to noticed :D


make implementing other authentication methods easier

Per discussion in IRC today (https://chat.indieweb.org/dev/2017-07-18#t1500403860546000) and offline talks with people, it might be interesting to allow people to easily modify selfauth to use different authentication methods. Right now, a password-based one can already be easily implemented by replacing the password verification function, but e.g. for social logins changes to the form presented to the user are also necessary (and maybe handling of special callbacks?).
An idea in the IRC discussion was to build selfauth as a class, so forks/variations can easily override parts of the functionality.
We want to keep selfauth as one file, so we need a way for variations to include it without actually running the existing code. Given that PHP require seems to work basically as an include, we could check for the presence of a special variable, that code including it could set to disable automatically running functionality. If the file is loaded directly, the variable doesn't exist and it works as it does now.

this should probably be titled "other authentication methods"

Another option is to split the source code for this repo into multiple files and have a sort of "build step" that generates the single-file version that people use. This would be similar to how larger projects exists as dozens of source file and they publish a .zip file as a release.

Another option is to split the source code for this repo into multiple files and have a sort of "build step" that generates the single-file version that people use.

Yes, @sknebel and I discussed possibly setting up a build tool (I don’t know a lot for PHP … Phing possibly?). Another option is to go with multifile and distribute a PHAR file, but server support is probably not there for that. See @cweiske’s great Working with .phar files.

No, it will take a while: http://cweiske.de/tagebuch/phar-webserver2.htm

We want to keep selfauth as one file

What is the exact reason to needing it to all be one file?  I know that was the original idea, but its already using the configs as a separate file.  As long as the files are kept simple, where is the issue?
Unless there is a very good reason to not just have an extra file, i would strongly suggest this be done as just multiple files and avoid any build mess.  It would also clean up any duplicate code between setup and index as well.


exclude empty canvases

Need to improve abstraction and also complete feature parity between implementations. But this will do for now.

Coverage increased (+0.03%) to 96.573% when pulling f79044d3cad91ecc2e849531029bd1ff1d6fe5df on exclude-empty-canvas into 12db9886eecc1a3ffd0823d3718040449e2b4658 on master.


Bump version to 0.4.0

Release for https://github.com/home-assistant-libs/aiowebostv/pull/178

Thanks!


webtorrent CLI errors when a torrent does not end with a newline

when running
▷webtorrent seed http://bitlove.org/jupiterbroadcasting/bsdnowhd/bsd-0001.m4v.torrent

you get
ERROR: ENOENT, scandir 'http://bitlove.org/jupiterbroadcasting/bsdnowhd/bsd-0001.m4v.torrent'

Manually adding a newline to the end of the torrent file fixes this.

Try updating the latest webtorrent (I just pushed a fix), and use this command:
webtorrent download http://bitlove.org/jupiterbroadcasting/bsdnowhd/bsd-0001.m4v.torrent

webtorrent seed is meant for creating a new torrent, so it takes a path to a file or folder of content, not a .torrent file. We should improve the docs, or maybe detect when a .torrent file or magnet link is used and just do the right thing, since this issue has come up before.

OK, works fine

Alright, I just made the webtorrent seed command smarter. It'll change webtorrent seed to webtorrent download if you pass in a .torrent file or magnet uri. Hopefully this isn't a bad idea :-)


Sonos/Spotify - Some songs play twice.

What version of Music Assistant has the issue?
2024.1.0
The problem
Some tracks in the queue get played twice even though they are listed once and repeat is off. - https://github.com/music-assistant/hass-music-assistant/issues/1554
Using Sonos speakers and mostly spotify (although I do also have youtube music enabled)
How to reproduce
Start playing music from spotify, At the moment it's the "Discover Weekly" playlist but I don't believe it makes much difference what you play.
Relevant log output
No response
Additional information
No response
What version of Home Assistant Core are your running
2024.1.5
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

I have the same. Randomly in the playlist it repeats a track until I press next.
Spotify, chromecast group play. Default queue options (No shuffle, no repeat)

Can you check the played items in the queue. Do you see both tracks there?

No, what seems to happen is instead of moving onto the next track (which then causes the previously played one to disappear from the top of the queue) it just plays the existing one again.
I did notice just now when the track switched the new track started playing briefly before the queue updated in the UI

Can you clarify what you meant in the last sentence?

I happened to be watching the UI at the end of the last song/track playing and noticed that it takes a few seconds after the next song/track has started playing before the UI shows it.  It's probably not relivant

Yeah ok so I assume you mean when the track progress marker jumps back to the start. Do you see the track name change as well?

Yes when it's working properly the name changes, when a track repeats then it doesn't it just jumps back to the start without the track changing.  It seems the queue is correctly tracking what's playing but for some reason occasionally it doesn't advance to the next track.

I had debug on for the queuecontroller and streamserver.
`2024-01-24 14:11:37.259 DEBUG (MainThread) [music_assistant.streams] Start serving audio stream for QueueItem spotify://track/1JXr4CDmzUqvDJ0PG3Pepp to Office Sonos
2024-01-24 14:11:38.633 DEBUG (MainThread) [music_assistant.streams] Got HEAD request to /RINCON_949F3E00CD7801400/single/2af179c58345461f93cd801abe447f5d.flac from <IP_ADDRESS>
headers: <CIMultiDictProxy('Connection': 'close', 'Host': '<IP_ADDRESS>:8096', 'User-Agent': 'Linux UPnP/1.0 Sonos/76.2-47270 (ZPS12)', 'X-Sonos-SWGen': '2', 'X-Sonos-Firmware': '76.2-47270', 'X-Sonos-Muse-Api': '1.37.1', 'X-Sonos-Id-Hash': 'hashremoved')>
[flac @ 0x55ba5a733700] unable to rewrite FLAC header.
2024-01-24 14:14:45.423 DEBUG (MainThread) [music_assistant.streams] Got GET request to /RINCON_949F3E00CD7801400/single/2af179c58345461f93cd801abe447f5d.flac from <IP_ADDRESS>
headers: <CIMultiDictProxy('Connection': 'close', 'Host': '<IP_ADDRESS>:8096', 'Accept': '/', 'User-Agent': 'Linux UPnP/1.0 Sonos/76.2-47270 (ZPS12)', 'X-Sonos-SWGen': '2', 'X-Sonos-Firmware': '76.2-47270', 'X-Sonos-Muse-Api': '1.37.1', 'X-Sonos-Id-Hash': 'hashremoved')>
2024-01-24 14:14:45.565 DEBUG (MainThread) [music_assistant.streams] Start serving audio stream for QueueItem spotify://track/1JXr4CDmzUqvDJ0PG3Pepp to Office Sonos
2024-01-24 14:14:46.509 DEBUG (MainThread) [music_assistant.streams] Got HEAD request to /RINCON_949F3E00CD7801400/single/2af179c58345461f93cd801abe447f5d.flac from <IP_ADDRESS>
headers: <CIMultiDictProxy('Connection': 'close', 'Host': '<IP_ADDRESS>:8096', 'User-Agent': 'Linux UPnP/1.0 Sonos/76.2-47270 (ZPS12)', 'X-Sonos-SWGen': '2', 'X-Sonos-Firmware': '76.2-47270', 'X-Sonos-Muse-Api': '1.37.1', 'X-Sonos-Id-Hash': 'hashremoved')>`

Rocking the most recent beta, this issue seems to have been resolved, for me at least.
Latest HA, latest MA beta, chromecast players, using my Plex library as well as Youtube Music.

Can you confirm which version? - I'm on 2024.1.0 with addon 2.0.0b85 and was still seeing the problem.

Yes that is the version I am on - bleeding edge version, on most recent HA as well. Did you restart HA after updating?

Yes I was already on 2024.1.0 anyway, but did get an update of the add-on from 2.0.0.b84 to 2.0.0.b85

As suggested if you are on HAOS then try a full host reboot or restart the container if not. See if that makes any difference….

I'd already restarted the add-on container earlier, but I'll reboot the entire HassOS VM

It's still doing it.

Thanks. We will get back to you.

If I remember next time I'll try playing from YouTube music instead of Spotify as it will be interesting to see if the problem occurs then.

More people have reported YTM when they have reported similar issues so it will be interesting if it doesn't occur for you when using that.

It looks like it also happens on youtube music.

Requesting next track from the sonos controller (app) was also causing the current song to repeat

This should be fixed in beta 86 please advise if not

I think this is fixed, I thought I had a repeat of the last track in the queue but as I just had spotify playing as "background music" it's also completely possible I just had 2 similar sounding tracks next to each other (Such as you sometimes get an alternate version of the same song)


Proposal: Aerth; A Unified Climate Action

Description:
Aerth is aiming to create a unified ecosystem leveraging kaia blockchain technology to address climate change. It combines the AerthClimate, AerthToken, and AerthDao functionalities into a cohesive framework.
Key Objectives:
AerthClimate:
Launch a blockchain-based climate data reporting system for real-time, transparent climate monitoring.
Allow verified members to create, update, and analyze climate reports using decentralized governance.
Develop a public dashboard for sharing aggregated climate data with policymakers and researchers.
AerthToken:
Introduce the AerthToken (ATK) as the core currency of the ecosystem.
AerthTokens will incentivize climate data reporters and DAO participants while ensuring liquidity for project activities.
Implement token minting policies with a cap to prevent inflation and ensure sustainability.
AerthDao:
Establish the Aerth DAO to govern project decisions democratically, such as approving new features or allocating funds for environmental initiatives.
Require members to lock a minimum amount of AerthTokens to participate in governance and voting.
Introduce voting rewards to encourage active participation and engagement in decision-making.
Bounty track

Others

@zxstim  @ayo-klaytn


feat:http,stdio函数方法import优化

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.03% :warning:

Comparison is base (53008a9) 98.49% compared to head (e7bf569) 98.46%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #259      +/-   ##
==========================================
- Coverage   98.49%   98.46%   -0.03%
==========================================
  Files          37       37
  Lines        5126     5098      -28
==========================================
- Hits         5049     5020      -29
- Misses         77       78       +1

Files Changed
Coverage Δ

megfile/__init__.py
100.00% <100.00%> (ø)

... and 15 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Native mode warnings in logs

Only appears to happen in native mode, also I'm pretty sure these warnings were not there in earlier releases - will investigate and add more notes as needed.  Doesn't appear to impact any functionality for my services.
2021-05-20 10:52:13,978 WARN  [org.apa.cxf.wsd.JAXBExtensionHelper] (main) Could not register wsdl extension class org.apache.cxf.bindings.xformat.XMLBindingMessageFormat with parent javax.wsdl.BindingInput as element name could not be determined
2021-05-20 10:52:13,978 WARN  [org.apa.cxf.wsd.JAXBExtensionHelper] (main) Could not register wsdl extension class org.apache.cxf.bindings.xformat.XMLBindingMessageFormat with parent javax.wsdl.BindingOutput as element name could not be determined
2021-05-20 10:52:13,978 WARN  [org.apa.cxf.wsd.JAXBExtensionHelper] (main) Could not register wsdl extension class org.apache.cxf.bindings.xformat.XMLFormatBinding with parent javax.wsdl.Binding as element name could not be determined
2021-05-20 10:52:13,979 WARN  [org.apa.cxf.wsd.JAXBExtensionHelper] (main) Could not register wsdl extension class org.apache.cxf.ws.addressing.wsdl.UsingAddressing with parent javax.wsdl.Binding as element name could not be determined
2021-05-20 10:52:13,979 WARN  [org.apa.cxf.wsd.JAXBExtensionHelper] (main) Could not register wsdl extension class org.apache.cxf.transports.http.configuration.HTTPClientPolicy with parent javax.wsdl.Port as element name could not be determined
2021-05-20 10:52:13,982 WARN  [org.apa.cxf.wsd.JAXBExtensionHelper] (main) Could not register wsdl extension class org.apache.cxf.transports.http.configuration.HTTPServerPolicy with parent javax.wsdl.Port as element name could not be determined
2021-05-20 10:52:13,982 WARN  [org.apa.cxf.wsd.JAXBExtensionHelper] (main) Could not register wsdl extension class org.apache.cxf.wsdl.http.AddressType with parent javax.wsdl.Port as element name could not be determined

I think we have to register  some reflection classes:
PackageUtils.getPackageName(cls) + ".ObjectFactory", true, loader);
with methods too
and maybe package too
cls.getPackage().getAnnotation(XmlSchema.class);
it is registered but withut methods. I thinks this is the issue.

@shumonsharif  can you test the fix please.


tgfrg

[Enter feedback here]

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

ID: f64ca92c-b7d5-3142-71fb-306d32a37281
Version Independent ID: dfef40cf-2f50-4c03-bc97-bafa6c305108
Content: Deploy an Azure Pipelines agent on Linux - Azure Pipelines
Content Source: docs/pipelines/agents/v2-linux.md
Product: devops
Technology: devops-cicd-agents
GitHub Login: @steved0x
Microsoft Alias: sdanie

@NabilaMahmudah - Can you clarify your issue? Please let us know which article you’re referencing, or provide more context around the general task.


Add Eviction settings and Kube-reserved settings to machinepools

Towards https://github.com/giantswarm/roadmap/issues/1837

Initial Work on a script to determine node reservations
Add eviction soft and hard settings to MachinePools

Numbers are up for discussion ( as well as implementation of course )
Do you think those numbers are too aggressive / reserving too much ? Especially on small nodes

note we are not setting the enforcing flag so kubelet will be able to grow outside of the reservation which are purely from an allocatable point of view

is there a reason for not setting --system-reserved (xref: documentation)?
If it's configured we protect sshd, kubelet and e.g. systemd-timesyncd (or whatever the time-daemon might be) to be OOMKilled by the kernel if some customer pods are going crazy.
As if the resources of the pod-cgroup exceeds nodeMemory - systemReserved it starts to OOMKill processes in the pod cgroup.

softEvictionThresholds:
- `memory.available<500Mi,nodefs.available<15%,nodefs.inodesFree<5%,imagefs.available<15%`
+ `memory.available<500Mi,nodefs.available<15%,nodefs.inodesFree<5%,imagefs.available<15%,pid.available<30%`

hardEvictionThresholds:
- `memory.available<200Mi,nodefs.available<10%,nodefs.inodesFree<3%,imagefs.available<10%`
+ `memory.available<200Mi,nodefs.available<10%,nodefs.inodesFree<3%,imagefs.available<10%,pid.available<20%`

softEvictionGracePeriod
- `memory.available=2m,nodefs.available=2m,nodefs.inodesFree=2m,imagefs.available=2m`
+ `memory.available=30s,nodefs.available=2m,nodefs.inodesFree=1m,imagefs.available=2m,pid.available=1m`

i would also recommend to set the --eviction-minimum-reclaim flag (xref: documentation)
evictionMinimumReclaim
+ `imagefs.available=5%,memory.available=100Mi,nodefs.available=5%`

is there a reason for not setting --system-reserved (xref: documentation)?

Unless we also enforce it then setting the reserved will just be used to calculate the allocatable amount on each node, this is true for the kubelet-reserved as well
I would be very wary of setting the enforcement for either of them without extensive profiling because it will prevent those processes to grow over the amount of resources allocated , possibly causing more problems ( xref: Guidelines on enforcement )
we could set the system-reserved to just cut some more out of the allocatable of the node but it would not be different from reserving it for kubelet in terms of actual effect on the node.
I did feel i was already reserving too much :)


XML folding loses scope when there are <?xml...> elements inside a CDATA block

Looking at an Ant build file with a target that uses an echo task with a CDATA block, the folding loses track of the folding levels when it sees the <?xml> entities. Something like this
<?xml version="1.0" encoding="UTF-8"?>
<project name="lgcbuildutils">
<target name="init">
...
</target>
<target name="clean">
...
</target>
<target name="compile">
...
</target>
<target name="special">
        <echo file="${reportFile}"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="file:///usr/share/mylib/conversion.xsl"?>
<modules/>]]>
        </echo>
</target>
<target name="deploy">
...
</target>
</project>

When I fold all, it leaves the <?xml-stylesheet> unfolded, and everything after that line is folded under it. In the first screenshot you can see that everything between two such echo tasks was folder under the first <?xml-stylesheet>. In the second you can see the  and the first <?xml-stylesheet> unfolded.

Actually it looks like it's whenever there's a multi-line text value, and not because of the <?xml-stylesheet> element specifically. I'm seeing the same behavior with something like this
    <echo>
this is a
multiline text value
of an XML node
    </echo>

Hi @jgeorgeson , it looks like an issue with the language-xml folding settings. Can you please move this to atom/language-xml and then close this issue? Thanks!

will do


Use CURRENT_TIMESTAMP instead of date to allow caching queries in Softdeletable

Using CURRENT_TIMESTAMP instead of current datetime value allows queries to be cached.
$platform->getCurrentTimestampSQL() provides platform-specific SQL implementation.
This feature is available in doctrine/dbal v2.2, so this PR is backwards-compatible.
# Cachable
SELECT *
FROM foo f
WHERE f.deleted_at > CURRENT_TIMESTAMP

# Non-cachable
SELECT *
FROM foo f
WHERE f.deleted_at > ?
["2018-08-19 10:11:12"]

thanks ;)


Performance benefits / Usage with ui-scroll?

Hi, I'm wondering if anyone's used angular-tree-control with angular-ui's ui-scroll library (which destroys/creates DOM elements as they exit and enter the viewport)? https://github.com/angular-ui/ui-scroll
I have trees that can have thousands or tens of thousands of children, so I'm looking at ways of improving performance even further, and wondering how much something like ui-scroll can / will help.
Thanks

@andrewboni did you ever try this? Wondering if this project ended up working out well for your large trees. Thanks in advance!

I didn't end up going that route. I switched my project over to https://github.com/mar10/fancytree and it works fairly well for large trees

Thanks for the reply. I think I want to avoid the jQuery dependency in my project so that one isn't an option. I think this project will likely work for me, I'll give this a shot.


pixelOffset uses bottom left origin and is confusing to users

Paste the below code into Sandcastle.  I'm pretty sure that 99.9% of our users would expect the pixelOffset at the bottom to move the label down 9 pixels, but instead it moves the label up.  I assume because it is using WebGL coordinates of bottom left.  Is this something we should change?  It's a non-code breaking change in behavior, but it would probably make offsets easier to use.  Thoughts?
var viewer = new Cesium.Viewer('cesiumContainer');

var citizensBankPark = viewer.entities.add({
  position : Cesium.Cartesian3.fromDegrees(-75.166493, 39.9060534),
  point : {
    pixelSize : 5,
	color : Cesium.Color.RED,
	outlineColor : Cesium.Color.WHITE,
	outlineWidth : 2
  },
  label : {
	text : 'Citizens Bank Park',
    font : '14pt monospace',
    style: Cesium.LabelStyle.FILL_AND_OUTLINE,
    outlineWidth : 2,
    verticalOrigin : Cesium.VerticalOrigin.BOTTOM,
    pixelOffset : new Cesium.Cartesian2(0, -9)
  }
});
viewer.zoomTo(viewer.entities);

Never mind.  I guess it was myself that was confusing.  A negative value does make sense here once I thought it through.


Publish to npm

We should publish eslint-config-netlify to npm so we can have SemVer versioning for it. In this case we projects can depend on it safely even if we introduce breaking changes. Right now, installing directly from GH will always pull latest master which will eventually break things.

Closed because, at least for now, we can tag specific releases on package.json:
"eslint-config-netlify": "github:netlify/eslint-config-netlify#1.4.0",


FutureProvider the ref.onCancel() is called but ref.onDispose() is not

Describe the bug
If a I tap on a item from a ListView and pressed the back button the widget is disposed as expected and the provider ref.onRemoveListener is called then ref.onCancel is called also expected but not ref.onDispose is never called and long after the screen is disposed of the video player plays the video in the background and ref.onDispose is never called to dispose the player.
However when I let the the future provider complete and the data is present in the widget page then dispose functions as expected when the user presses the back button.
This issue comes up because when the user clicks on a video item from a ListView and taps back out immediate after the provider is still in a loading state and even though ref.onCancel was called, ref.onDispose is never called to dispose the video controllers and async functions complete and video starts playing on a unmounted and disposed of widget.
(Pardon all the print statements, just trying to figure out what is going on)
To Reproduce
riverpod
// ignore: unsupported_provider_value
FutureOr<ChewieController> videoPlayerItemController(
    VideoPlayerItemControllerRef ref,
    {required String videoId,
    required String timeStamp,
    String? videoIsLive}) async {
  // Youtube explode

  final ytxPlode = YoutubeExplode();
  final VideoPlayerController playerController;
  final ChewieController chewieController;

  ref.onAddListener(() {
    print("Listener Added....");
  });

  ref.onRemoveListener(() {
    print("Listener Removed....");
  });

  ref.onCancel(() {
    print("Canceling....");
  });

  ref.onResume(() {
    print("Resuming....");
  });

  final islive = _checkIfLive(videoIsLive);

  // get videoFromYtExplode:
  final uri = await _getYTMetadata(videoId, ytxPlode, islive);
  // Video Player Controller - Flutter
  playerController = VideoPlayerController.networkUrl(uri);
  await playerController.initialize();

  chewieController = ChewieController(
    autoInitialize: true,
    isLive: islive,
    videoPlayerController: playerController,
    startAt: Duration(seconds: int.parse(timeStamp)),
    autoPlay: true,
  );

  // Clean up
  ref.onDispose(() {
    print("STARTED DISPOSING VIDEO PLAYER!!!!");
    playerController.dispose();
    chewieController.dispose();
    ytxPlode.close();
    print("FINISHED DISPOSING VIDEO PLAYER!!!!");
  });

  return chewieController;
}

and my widget for the video player

class VideoPlayerItem extends HookConsumerWidget {
  const VideoPlayerItem(
      {required this.title,
      required this.id,
      this.isLive,
      this.timeStamp,
      Key? key})
      : super(key: key);
  final String title;
  final String id;
  final String? timeStamp;
  final String? isLive;

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final videoController = ref.watch(videoPlayerItemControllerProvider(
        videoId: id,
        timeStamp: timeStamp ?? 0.toString(),
        videoIsLive: isLive));
    final tappedItem = useState<int>(0);

    // Paging Controller using useMemoized to hold the complex object
    // in memory (same as initState for a stateful widget)
    final moreFromThisServicePagingController =
        useMemoized<PagingController<int, ArchiveVideoItem>>(
            () => PagingController(firstPageKey: 0));

    useEffect(() {
      moreFromThisServicePagingController
          .addPageRequestListener((pageKey) => ref.read(
                fetchMoreFromThisServiceControllerProvider(
                    pageKey: pageKey,
                    pagingController: moreFromThisServicePagingController,
                    videoId: id),
              ));
      return () {
       print("USEEFFEECT STARTED DISPOSING WIDGET");
        moreFromThisServicePagingController.dispose();
        print("USEEFFEECT FINISHED DISPOSING WIDGET ");
      };
    }, const []);

    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),

      body: videoController.when(
        data: (vController) => Column(
          children: [
            AspectRatio(
                aspectRatio: 16 / 9, child: Chewie(controller: vController)),
            Visibility(
              visible: isLive == "false" ? false : true,
              child: const Padding(
                padding: EdgeInsets.all(10),
                child: Row(children: [
                  Text("more from the service"),
                ]),
              ),
            ),
            Visibility(
              visible: isLive == "false" ? false : true,
              child: Expanded(
                child: PagedListView<int, ArchiveVideoItem>(
                  pagingController: moreFromThisServicePagingController,
                  builderDelegate: PagedChildBuilderDelegate(
                    itemBuilder: (context, item, index) {
                      return Container(
                        decoration: index == tappedItem.value
                            ? BoxDecoration(
                                borderRadius: BorderRadius.circular(5),
                                border: Border.all(
                                    color: Colors.redAccent, width: 1))
                            : null,
                        child: MoreItemListTile(
                            video: item,
                            onPressed: () {
                              tappedItem.value = index;
                              vController.seekTo(Duration(
                                  seconds: int.parse(item.youTubeTimeStamp)));
                            }),
                      );
                    },
                    newPageProgressIndicatorBuilder: (context) =>
                        const VideoListTileShimmer(),
                    firstPageProgressIndicatorBuilder: (context) {
                      return Column(
                        children: List.generate(
                            10, (index) => const VideoListTileShimmer()),
                      );
                    },
                  ),
                ),
              ),
            )
          ],
        ),
        error: (error, stackTrace) => Center(
          child: Text("error occured $error"),
        ),
        loading: () => const Column(
          children: [
            SizedBox(height: 90),
            Center(child: CircularProgressIndicator())
          ],
        ),
      ),
    );
  }
}

Terminal output for when it's working correctly.
flutter: Listener Added....
                                          <<<<<-------- at this point the video is playing and correctly working.
flutter: EXITING VIDEO PLAYER PAGE
flutter: Listener Removed....
flutter: Canceling....
flutter: USEEFFEECT STARTED DISPOSING WIDGET
flutter: USEEFFEECT FINISHED DISPOSING WIDGET
flutter: STARTED DISPOSING VIDEO PLAYER!!!!
flutter: FINISHED DISPOSING VIDEO PLAYER!!!!

but when I quickly access the video player page and then press the back button this is the terminal output.
flutter: Listener Added....
flutter: EXITING VIDEO PLAYER PAGE
flutter: Listener Removed....
flutter: Canceling....
flutter: USEEFFEECT STARTED DISPOSING WIDGET
flutter: USEEFFEECT FINISHED DISPOSING WIDGET

but no ref.onDispose is never called.
Expected behavior
Expect that ref.onDispose is called

Sure thing.
https://github.com/MxD-js/riverpod_repro_issue_3323_example.git

Hi Guys, I'm following up on this, I've been bashing my head to figure this out.. Any insight into what could be causing this?

I'm working on other stuff at the moment. I have yet to investigate this.
If it's urgent for you, feel free to ask for help on Discord. Otherwise you may have to wait

Thanks @rrousselGit I'll reach out on discord.

Does it help to move onDispose before the async/await part?

Oh sorry I didn't see your answer. Yes, the placement of onDispose is the issue, as you found out yourself.
The documentation has already been updated, so I'll close this


Add issue templates

Get Hacktoberfest ready!

https://github.com/kedro-org/kedro/tree/main/.github/ISSUE_TEMPLATE
https://github.com/Josee9988/project-template/tree/master/.github/ISSUE_TEMPLATE

@adamkells are you up for taking this as well for spoopy month

spoop


OSD-12042 add a script to replace master

Add a script to help replacing the master machine. Input the machine name of the master, and it will delete that master machine and create a new one with same configuration.

@supreeth7  Thank you very much for reviewing and providing suggestions!  I changed the script to follow the coding style and put the checks to preflight_check().  I didn't further modulized that because each check is a few lines of code and need to reuse some info from the previous check, putting them into dedicated functions will become another wrapper of the oc command and need passing info around. That's said, I am still a fan of modularity :D

Thanks @feichashao, looks great!
Happy to merge once confirmed this has been tested in stage.

Thanks @feichashao, looks great! Happy to merge once confirmed this has been tested in stage.

I have tested this on stage for 4.8,4.9 and 4.10 clusters. Good to go from my side.

/lgtm

/label tide/merge-method-squash


Support/integration with platforms like SageMaker, Databricks, etc.

Report
Starting with SageMaker and Databricks, document how to work with DVC on those platforms. Need to consider how to structure this inside our docs. Some examples are listed below for reference.
SageMaker

https://docs.wandb.ai/guides/integrations/sagemaker
https://docs.neptune.ai/tools/sagemaker/
https://www.comet.com/docs/v2/integrations/third-party-tools/sagemaker/
https://wandb.ai/wandb/sm-pytorch-mnist-new/reports/Using-AWS-Sagemaker-and-Weights-Biases-Together-on-Digit-Recognition-with-MNIST---Vmlldzo4MTk3Nzg
https://aws.amazon.com/blogs/machine-learning/track-your-ml-experiments-end-to-end-with-data-version-control-and-amazon-sagemaker-experiments/

Databricks

https://docs.wandb.ai/guides/integrations/databricks
https://wandb.ai/kenlee/databricks_demo/reports/Getting-Started-with-Weights-and-Biases-in-Databricks--VmlldzoyMzQyNzAx
https://aws.amazon.com/blogs/machine-learning/managing-your-machine-learning-lifecycle-with-mlflow-and-amazon-sagemaker/
https://heartbeat.comet.ml/integrating-comet-and-azure-databricks-4ec97703a2fe

For SageMaker, #4756 is a start. Additional areas to address:

[ ] Model deployment
[ ] Other data access patterns (related to https://docs.aws.amazon.com/sagemaker/latest/dg/model-access-training-data.html)
[ ] Caching s3 outputs (requires https://github.com/iterative/dvc/issues/8411)
[ ] Logging metrics in training jobs (related to https://github.com/iterative/dvclive/issues/638)

So now we have some basic entries for sagemaker and databricks, are there any other popular platforms that would benefit from us having at least some basic integration docs?

Although there is a lot more we can do here, let's call this complete and open up new issues for future work.


MSU Video Quality Metrics Benchmark Invitation

Hello! We kindly invite you to participate in our video quality metrics benchmark. You can submit MANIQA to the benchmark, following the submission steps, described here. The dataset distortions refer to compression artifacts on professional and user-generated content. The full dataset is used to measure methods overall performance, so we do not share it to avoid overfitting. Nevertheless, we provided the open part of it (around 1,000 videos) within our paper "Video compression dataset and benchmark of learning-based video-quality metrics", accepted to NeurIPS 2022.

Thank you for your answer! Our benchmark includes both VQA and IQA methods. The participants page shows the type of each method. Image quality metrics are calculated for each frame independently. Then obtained scores are averaged throughout the whole video. Even such a simple temporal pooling strategy sometimes leads to correlation higher than that of video quality metrics (method UNIQUE as a great example).

Thanks！I will have a look!

Hi
Did you try it as a video quality metric?
Please share the code.


Slack Channel no longer active

On https://github.com/MozillaReality/unity-webxr-export the readme says that if you are having trouble to join the WebVR Slack channel, this is no longer active. Where can users find additional help?

There's the WebXR Discord https://discord.gg/Jt5tfaM
and I see that you just joined there few minutes ago.