ED25519_sign and ED448_sign missing check for private_key leading to segfault

Consider the following example:
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <openssl/crypto.h>
#include <openssl/evp.h>
#include <openssl/x509.h>

int main(void) {
    OPENSSL_init();
    int ret = 0;
    int res;
    unsigned char *public = OPENSSL_hexstr2buf("7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa", NULL);
    unsigned char *msg = OPENSSL_hexstr2buf("54657374", NULL);

    size_t sig_len;
    unsigned char *sigg = NULL;

    EVP_PKEY *pkey = EVP_PKEY_new_raw_public_key(NID_ED25519, NULL, public, 32);
    assert(pkey != NULL);
    EVP_MD_CTX *ctx = EVP_MD_CTX_new();
    res = EVP_DigestSignInit(ctx, NULL, NULL, NULL, pkey);
    assert(res == 1);

    if (EVP_DigestSign(ctx, NULL, &sig_len, msg, 4) != 1)
       printf("EVP_DigestSign get the size of signature buffer fail\n");
    sigg = OPENSSL_zalloc(sig_len);
    if (EVP_DigestSign(ctx, sigg, &sig_len, msg, 4) != 1)
       printf("EVP_DigestSign fail\n");

    printf("ok\n");
    exit(ret);
}

If someone accidently use a public key to sign, it will cause segfault. On openssl3.0.2 , it produces following stack trace:
#0  SHA512_Update (c=0x5555555a8090, _data=<optimized out>, len=32) at ../crypto/sha/sha512.c:322
#1  0x00007ffff7e0b091 in ossl_ed25519_sign.constprop.0 (out_sig=0x55555556b1a0 "", message=0x5555555592d0 "Test", message_len=4,
    public_key=0x555555598bd1 "}M\016\177aS\246\233bB\265\"\253\276\346\205\375\244B\017\210\064\261\bý\256\066\236\365", <incomplete sequence \372>,
    private_key=0x0, libctx=<optimized out>, propq=0x0, propq=0x0) at ../crypto/ec/curve25519.c:5460
#2  0x00007ffff7def1df in ed25519_digest_sign (vpeddsactx=<optimized out>, sigret=<optimized out>, siglen=0x7fffffffe518, sigsize=<optimized out>,
    tbs=<optimized out>, tbslen=<optimized out>) at ../providers/implementations/signature/eddsa_sig.c:171
#3  0x00005555555553e2 in main () at aa.c:29

The problem also exists for Ed448_sign; and in openssl 1.1.1r.

The root of the issue is that EVP_DigestUpdate() allows NULL to get passed to it....
ossl_eds22519_sign() gets passed pointers for priv and pub... (which could be NULL)

@openssl/otc - should  EVP_DigestUpdate() behave differently and return early. What would it return 0  or 1 (Possibly breaking code that currently works).

I assume X448 will also break when it does SHAKE256

@slontis Yes Ed448 sign also has the same issue, I fixed them together in PR 19525.
I agree we can also additionally check for NULL in EVP_DigestUpdate for safety. On the other side
the check before pass into EVP_DigestUpdate is also needed because at that time we can emit an
friendly error message.


docs: Fixed theme generator's mono font

Courier New was using a double quote instead of a single, so that's been changed.
I also made the output string for fonts use template literals instead of either a single or double quotes so that we can avoid the above issue entirely.

Good catch! I mean to check the theme generator earlier and it slipped my mind. Thanks!


Decide to what degree to automatically change ndim in operations

Recent changes make die arguments to Die() able to change their ndim. Should this be allowed?

I'm leaning towards not automatically changing ndim. So far I've not needed to change it, and it may hide bugs.

Dice outside a tuple cannot change ndims. The remaining question is what to do about ndim of dice inside tuples. Only allow scalar?
Related: #16

Decided to disallow vector dice inside tuple outcomes.


Issue 2: Updated SDK and guide, so matching all things

Addresses #47

Moving to #55 which encompasses a review, some additional fixes, and includes these changes (squashed in c960ede9ed481108d204dd291115ff2c75c12ef9).


Drupal 8 7

GitHub Issues
Resolves https://github.com/Islandora-CLAW/CLAW/issues/1110 and https://github.com/Islandora-CLAW/CLAW/issues/1095 and https://github.com/Islandora-CLAW/CLAW/issues/1144
Supersedes https://github.com/Islandora-Devops/claw-playbook/pull/108/files
Installs 8.7, clears the cache, and pulls in the latest Islandora module, which has a nice refactor to normalize how we're generating urls.

Whoops, needs to be against dev not master.


[3.x] [iOS] Swift runtime support for iOS Plugins

Adds a use_swift_runtime key to iOS Plugin configuration in [config] section.
This should allow to use Swift-based plugins without using custom export template or manually changing exported project. This also allows to use Swift runtime only when it's required.
Related issue https://github.com/godotengine/godot/pull/46683

This went under the radar, but might be worth rebasing and re-evaluating (for 3.6 now, but maybe also 3.5.x if relevant).
CC @bruvzg for review

@naithar Are you still around to update this?

Thanks!

As this is only planned for v3.6, is there a workaround to inject the dummy.swift and bridging-header.h using EditorExportPlugin or something similar? (I still don't know how to use EditorExportPlugin properly)


Incorrect path to PHP-CS-FIxer when installing symplify/sniffer-fixer-to-ecs-converter

Conversion of php cs fixer configuration is failing with error
File or directory '<my_project_root>/vendor/symplify/sniffer-fixer-to-ecsconverter/src/RobotLoader/../../../../vendor/friendsofphp/php-cs-fixer/src' not found.

on https://github.com/symplify/symplify/blob/ef7d1b27e629c397f895ce98a64fc08dc9d908e5/packages/sniffer-fixer-to-ecs-converter/src/RobotLoader/FixerClassProvider.php#L26
When the package symplify/sniffer-fixer-to-ecs-converter is installed with composer,
Four .. from vendor/symplify/sniffer-fixer-to-ecs-converter/src/RobotLoader takes you to vendor.
So there is no need for vendor again. But the current code is correct for this mono repo, due to the presence of the additional packages directory.
Since, the vendor directory name is configurable in composer.json, it might be better to avoid hard coding the directory name.

Since, the vendor directory name is configurable in composer.json, it might be better to avoid hard coding the directory name.

Definitely :+1:
Could you fix this bug?

Shall we do an is_dir() on DIR . '/../../../../vendor/friendsofphp/php-cs-fixer/src'? If the directory exist, then add it to the loader, if not add DIR . '/../../../../friendsofphp/php-cs-fixer/src' instead.

We use somethign similar in loading vendor/autoload.php in bin/. Sound good, go for it :+1:


field sorting

Original GitHub issue https://github.com/dotnet/docs/issues/5218 by @mefasoft
It will be better if field section can be sorted by enum value.

Content: TypeCode Enum (System)

I'm wondering if we even should display that column at all. Thoughts @rpetrusha @BillWagner?

MSDN didn't display underlying enumeration values, and our previous approach to documenting enumeration members was to manually document enumeration values only if there was a compelling reason to do so (like you'd want to pass the value as an argument to some other method). In most cases, the enumeration member name is intended to be an abstraction that allows you to ignore the underlying value.
So to put it another way, I'd prefer sorting by field name as well, and suppress the column that lists the enumeration member's underlying value.
//cc @mairaw @BillWagner

I spent some time thinking about when I needed or wanted the enum values in a code base.  It came down to a couple scenarios:

When the Enum is a bit field, and I need to determine values in the debugger.
When an enum is cast to or from a numeric value and the semantic info about the enum was lost (databases, REST packets, and so on)

Neither of those are mainline scenarios, so I agree with @mairaw and @rpetrusha

Chiming in here - in the spirit of having comprehensive documentation, that's something that was previously asked by the Windows team and by customers. Given that there are still useful scenarios that the value might be relevant for, I suggest for the time being we wont-fix this and keep the current alpha ordering, as well as the values.

@mairaw @BillWagner can you please confirm whether the plan stated above is OK?

I think you had enough feedback from the team @dend on what would be our ultimate preference.
Given the choice of keeping the current sorting or changing it to the field value, I'd keep as-is and mark this as wont-fix.

We seem to be getting a lot of PRs to change this behavior on API docs. We should re-examine this.

We seem to be getting a lot of PRs to change this behavior on API docs. We should re-examine this.

Indeed: https://github.com/dotnet/dotnet-api-docs/pull/8892, https://github.com/dotnet/dotnet-api-docs/pull/6786, https://github.com/dotnet/dotnet-api-docs/pull/6749, https://github.com/dotnet/dotnet-api-docs/pull/4725, https://github.com/dotnet/dotnet-api-docs/pull/4558, https://github.com/dotnet/dotnet-api-docs/pull/4352, https://github.com/dotnet/dotnet-api-docs/pull/3852.

This is fixed now - enum fields are sorted by value.


Failed on IOError

Hello,
I'm running into an error when calling pyportify-copyall (and I assume with pyportify as well, as that hangs after requesting the transfer, also). It seems to fail in some part of the spotify processing side of things. Any thoughts?
Gathering tracks for playlist somelist (12)

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/gevent-1.1b5-py2.7-linux-x86_64.egg/gevent/greenlet.py", line 523, in run
    result = self._run(*self.args, **self.kwargs)
  File "/home/someuser/.local/lib/python2.7/site-packages/pyportify/views.py", line 207, in search_gm_track
    track = g.find_best_track(search_query)
  File "/home/someuser/.local/lib/python2.7/site-packages/pyportify/google.py", line 64, in find_best_track
    data = self.search_all_access(search_query)
  File "/home/someuser/.local/lib/python2.7/site-packages/pyportify/google.py", line 60, in search_all_access
    data = self._http_get(url)
  File "/home/someuser/.local/lib/python2.7/site-packages/pyportify/google.py", line 90, in _http_get
    res = self._sj_client.get(SJ_URL + url, headers)
  File "/home/someuser/.local/lib/python2.7/site-packages/geventhttpclient/client.py", line 184, in get
    return self.request(METHOD_GET, request_uri, headers=headers)
  File "/home/someuser/.local/lib/python2.7/site-packages/geventhttpclient/client.py", line 157, in request
    sock = self._connection_pool.get_socket()
  File "/home/someuser/.local/lib/python2.7/site-packages/geventhttpclient/connectionpool.py", line 133, in get_socket
    return self._create_socket()
  File "/home/someuser/.local/lib/python2.7/site-packages/geventhttpclient/connectionpool.py", line 116, in _create_socket
    raise first_error
IOError: [Errno 21] Is a directory
<Greenlet at 0x7fa55e776e10: search_gm_track((11, u'spotify:user:1234567890:playlist:0XikmRiePW)> failed with IOError

... repeat 12 times ...

Encountering the same on Ubuntu 14.04:
saiboogu@gravitas:~$ pyportify-copyall
Enter Google email address<EMAIL_ADDRESS>Enter Google password:
/usr/lib/python2.7/dist-packages/urllib3/connectionpool.py:732: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html (This warning will only appear once by default.)
  InsecureRequestWarning)
Enter Spotify username: saiboogu
Enter Spotify password:
Gathering tracks for playlist Starred Tracks (198)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pyportify/views.py", line 207, in search_gm_track
    track = g.find_best_track(search_query)
  File "/usr/local/lib/python2.7/dist-packages/pyportify/google.py", line 64, in find_best_track
    data = self.search_all_access(search_query)
  File "/usr/local/lib/python2.7/dist-packages/pyportify/google.py", line 60, in search_all_access
    data = self._http_get(url)
  File "/usr/local/lib/python2.7/dist-packages/pyportify/google.py", line 90, in _http_get
    res = self._sj_client.get(SJ_URL + url, headers)
  File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/client.py", line 184, in get
    return self.request(METHOD_GET, request_uri, headers=headers)
  File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/client.py", line 157, in request
    sock = self._connection_pool.get_socket()
  File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/connectionpool.py", line 133, in get_socket
    return self._create_socket()
  File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/connectionpool.py", line 116, in _create_socket
    raise first_error
IOError: [Errno 21] Is a directory
<Greenlet at 0x7f28da466050: search_gm_track((4, 'spotify:user:None:playlist:starred', 'Cake - )> failed with IOError

Repeating for each item on each playlist.

Looks like what I'm getting as "AttributeError":
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/usr/local/lib/python2.7/site-packages/pyportify/views.py", line 207, in search_gm_track
    track = g.find_best_track(search_query)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 64, in find_best_track
    data = self.search_all_access(search_query)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 60, in search_all_access
    data = self._http_get(url)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 90, in _http_get
    res = self._sj_client.get(SJ_URL + url, headers)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/client.py", line 184, in get
    return self.request(METHOD_GET, request_uri, headers=headers)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/client.py", line 172, in request
    block_size=self.block_size, method=method.upper(), headers_type=self.headers_type)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 286, in __init__
    super(HTTPSocketPoolResponse, self).__init__(sock, **kw)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 158, in __init__
    self._read_headers()
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 179, in _read_headers
    self.feed(data)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 118, in _on_header_field
    self._flush_header()
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 133, in _flush_header
    self._headers_index.add(self._current_header_field,
AttributeError: 'dict' object has no attribute 'add'
<Greenlet at 0x109553870: search_gm_track((38, u'spotify:user:None:playlist:starred', "Mackl)> failed with AttributeError

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/usr/local/lib/python2.7/site-packages/pyportify/views.py", line 207, in search_gm_track
    track = g.find_best_track(search_query)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 64, in find_best_track
    data = self.search_all_access(search_query)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 60, in search_all_access
    data = self._http_get(url)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 90, in _http_get
    res = self._sj_client.get(SJ_URL + url, headers)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/client.py", line 184, in get
    return self.request(METHOD_GET, request_uri, headers=headers)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/client.py", line 172, in request
    block_size=self.block_size, method=method.upper(), headers_type=self.headers_type)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 286, in __init__
    super(HTTPSocketPoolResponse, self).__init__(sock, **kw)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 158, in __init__
    self._read_headers()
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 179, in _read_headers
    self.feed(data)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 118, in _on_header_field
    self._flush_header()
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 133, in _flush_header
    self._headers_index.add(self._current_header_field,
AttributeError: 'dict' object has no attribute 'add'
<Greenlet at 0x1095537d0: search_gm_track((37, u'spotify:user:None:playlist:starred', 'DJ Fr)> failed with AttributeError

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/gevent/greenlet.py", line 327, in run
    result = self._run(*self.args, **self.kwargs)
  File "/usr/local/lib/python2.7/site-packages/pyportify/views.py", line 207, in search_gm_track
    track = g.find_best_track(search_query)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 64, in find_best_track
    data = self.search_all_access(search_query)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 60, in search_all_access
    data = self._http_get(url)
  File "/usr/local/lib/python2.7/site-packages/pyportify/google.py", line 90, in _http_get
    res = self._sj_client.get(SJ_URL + url, headers)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/client.py", line 184, in get
    return self.request(METHOD_GET, request_uri, headers=headers)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/client.py", line 172, in request
    block_size=self.block_size, method=method.upper(), headers_type=self.headers_type)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 286, in __init__
    super(HTTPSocketPoolResponse, self).__init__(sock, **kw)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 158, in __init__
    self._read_headers()
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 179, in _read_headers
    self.feed(data)
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 118, in _on_header_field
    self._flush_header()
  File "/usr/local/lib/python2.7/site-packages/geventhttpclient/response.py", line 133, in _flush_header
    self._headers_index.add(self._current_header_field,
AttributeError: 'dict' object has no attribute 'add'
<Greenlet at 0x109553410: search_gm_track((31, u'spotify:user:None:playlist:starred', 'Rudim)> failed with AttributeError

Hello all, I've been encountering a similar issue and have had no luck when applying the suggested fixes here. This is what I'm getting, help would be much appreciated.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 327, in run
result = self._run(*self.args, **self.kwargs)
File "/usr/local/lib/python2.7/dist-packages/pyportify/views.py", line 207, in search_gm_track
track = g.find_best_track(search_query)
File "/usr/local/lib/python2.7/dist-packages/pyportify/google.py", line 64, in find_best_track
data = self.search_all_access(search_query)
File "/usr/local/lib/python2.7/dist-packages/pyportify/google.py", line 60, in search_all_access
data = self._http_get(url)
File "/usr/local/lib/python2.7/dist-packages/pyportify/google.py", line 90, in _http_get
res = self._sj_client.get(SJ_URL + url, headers)
File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/client.py", line 184, in get
return self.request(METHOD_GET, request_uri, headers=headers)
File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/client.py", line 157, in request
sock = self._connection_pool.get_socket()
File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/connectionpool.py", line 133, in get_socket
return self._create_socket()
File "/usr/local/lib/python2.7/dist-packages/geventhttpclient/connectionpool.py", line 116, in _create_socket
raise first_error
timeout: timed out
<Greenlet at 0xb45d2bbcL: search_gm_track((335, u'spotify:user:j3ri3l:playlist:5M9J6kl6R7axc)> failed with timeout

See https://github.com/rckclmbr/pyportify/pull/39

I'm not sure why this was closed; #39 did not address the bug.

4d7dfbd451d4710778fc5afd9f51f0ba0dc7305f resolved the bug you were having

The reason was because this code is used in geventhttpclient:
import ssl
ssl.get_default_verify_paths().capath

for the capath, which was giving "/System/Library/OpenSSL/certs".  Gevent was expecting a filename for cacert, not a path... so I just manually used certifi, which should work just fine.

Confirmed! I'd tested on @wonnage's branch without success, but didn't see your additional commit on master. I'd then run into an API request rate limit of some kind (Spotify seems to simply start timing out after mucking about for too long), but giving it a few hours to relax, all playlists migrated beautifully.

confirmed it's working again. tested on osx.


FermionicTransformation is still found in code docstrings

In vqe_ucc_factory it appears in docstrings which end up as user API ref. docs/
https://github.com/Qiskit/qiskit-nature/blob/48ede57feb36c720f576f390e77bab0eb367c470/qiskit_nature/algorithms/ground_state_solvers/minimum_eigensolver_factories/vqe_ucc_factory.py#L171-L172
https://github.com/Qiskit/qiskit-nature/blob/48ede57feb36c720f576f390e77bab0eb367c470/qiskit_nature/algorithms/ground_state_solvers/minimum_eigensolver_factories/vqe_ucc_factory.py#L180-L181
In qeom.py its less problematic since its just a comment in the code, but ideally should be addressed too
https://github.com/Qiskit/qiskit-nature/blob/48ede57feb36c720f576f390e77bab0eb367c470/qiskit_nature/algorithms/excited_states_solvers/qeom.py#L208-L209

@woodsp-ibm I talked to Alex (@Durd3nT) who is willing to help on this. #307 seems a little bit more involved so maybe you can look at that one instead?


[ROCm] fix build

This fixes the issues described in https://github.com/google/jax/pull/5115#issuecomment-747737291 https://github.com/google/jax/pull/5115#issuecomment-747737669 and https://github.com/google/jax/issues/2012#issuecomment-763411418.
however I am not sure it would go through your CI? @hawkinsp
cc @deven-amd

There's one way to find out!
(Feel free to send PRs fixing things: I'll figure out how to make them go in. The main problem is I can't test the result, so it might take an iteration or two to get things right.)

There's one way to find out!
(Feel free to send PRs fixing things: I'll figure out how to make them go in. The main problem is I can't test the result, so it might take an iteration or two to get things right.)


258 tag for sets is not being correctly serialized

When serializing set and nonempty_set, current implementation of serializers does not correctly include 258 tag that will be required starting Polmin hardfork.
I believe @solidsnakedev have working solution for this issue. This issue is for tracking purposes.

The reason we don't serialized this way as the default behavior  is to make txs smaller, as it's not currently required.

current implementation of serializers does not correctly include 258 tag

It is correctly serialized for any transactions that were created using that format. It will be required later as you have mentioned, but when that happens there might be other changes to the binary spec and we want CML to properly support exactly that hardfork which would require removing NonEmptySet 100% from the default crate and only using it in the cml-multi-era/src/babbage module. We have an approach of not mixing eras and the cml-chain crate only supports the current era, whereas previous eras go in cml-multi-era.

As far as I can tell, they will be using same conway format, but following comment states tags for set will be enforced starting next hardfork.
https://github.com/IntersectMBO/cardano-ledger/blob/242547effb1eb3e1e710f1565cbb82ff676df3b5/eras/conway/impl/cddl-files/extra.cddl#L3
I'm not knowledgeable enough on how binary format is dealt with on ledger and everything to insist on one thing over another, but having binary tag feels like a sensible update from what I can tell from the comment

This is the workaround we need, but as you said we need to support mainnet as well ,is there a possibility to make this tag serializtion optional, so we can switch on and off between tesnet and mainnet?
impl<T> From<Vec<T>> for NonemptySet<T> {
    fn from(elems: Vec<T>) -> Self {
        Self {
            elems,
            len_encoding: LenEncoding::default(),
            tag_encoding: Some(Sz::Inline)
        }
    }
}

impl<T: Serialize> Serialize for NonemptySet<T> {
    fn serialize<'se, W: Write>(
        &self,
        serializer: &'se mut Serializer<W>,
        force_canonical: bool,
    ) -> cbor_event::Result<&'se mut Serializer<W>> {
        if let Some(_tag_encoding) = &self.tag_encoding {
            serializer.write_tag(258)?;
        }
        else {
        serializer.write_array_sz(
            self.len_encoding
                .to_len_sz(self.elems.len() as u64, force_canonical),
        )?;
        }
        for elem in self.elems.iter() {
            elem.serialize(serializer, force_canonical)?;
        }
        self.len_encoding.end(serializer, force_canonical)
    }
}

This is the result from a TransactionWitnessSet with Vkeywitness
a100d90102825820f9aa3fccb7fe539e471188ccc9ee65514c5961c070b06ca185962484a4813bee5840d03dced2ffb4a736df57b834928be81505264cf9561dbc6fec20548883cd70801c37f99aeefba1a06a251077bc8e7f3cbf6afebdda86e0e41b3c38cd95e0bb03

Diagnostic notation
{
    0: 258_1([
        h'f9aa3fccb7fe539e471188ccc9ee65514c5961c070b06ca185962484a4813bee',
        h'd03dced2ffb4a736df57b834928be81505264cf9561dbc6fec20548883cd70801c37f99aeefba1a06a251077bc8e7f3cbf6afebdda86e0e41b3c38cd95e0bb03',
    ]),
}

@solidsnakedev  That does not respect the encoding of the tag. Just the first change (but slightly modified) of tag_encoding: None -> tag_encoding: Some(Sz::Two) (note the Two instead of Inline as 258 is too big to inline or fit in 1 byte) by itself should, however, work fine and respect it. Doing it this way would require zero changes for mainnet vs testnet, although it would cost a couple lovelace more for transactions compared to before, but it's probably nothing that significant. Each set tag would be an extra 3 bytes.
You don't want to ever use the non-*_sz cbor encoding methods (besides write_special() since Special tags like Break, True, False, null only have one possible encoding) as if for example someone uses 3 or 4 bytes instead of 2 to encode (which is 100% valid CBOR for 258 set tag) it won't respect it and cause the hashes/etc to not match.
We used to have problems with hashes not matching all the time in CSL so when we made CML we made preserving these CBOR details a priority.

thanks for the feedback @rooooooooob
@hadelive could you please raise a PR


support next-previous change in editor view #7717

This is for #7717
keybingdings.json
{ "key": "cmd+down",    "command": "workbench.action.compareEditor.nextChange", "when": "textCompareEditorVisible"},
{ "key": "cmd+up",      "command": "workbench.action.compareEditor.previousChange", "when": "textCompareEditorVisible"},
{ "key": "cmd+down",    "command": "workbench.action.editor.nextChange", "when": "editorTextFocus && !textCompareEditorVisible"},
{ "key": "cmd+up",      "command": "workbench.action.editor.previousChange", "when": "editorTextFocus && !textCompareEditorVisible"}

Welcome suggestions!

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

This would be pretty useful. Can we add default keybindings for this?

Thanks @ironyman , I'd also like a default keybinding, but let's leave this kind of decision to team members..

I ended up implementing this without using the widget. Sorry for not taking the PR, and thanks for your support and work!


How can I test a custom video? I have only any video.

Your study is brilliant!
I would like to try a custom video. Do we need a mask for any video? If yes, what do you suggest for this?
Will you release any demo like this scenario? (I have only any video)
Thank you.

Currently, our method (FGT) needs masks for each frame in the video to indicate the regions we want to remove. If you only have videos, you can utilize the interactive video segmentation tools to generate the masks for the videos. Due to the rapid progress of this field, you can generate satisfying masks for each video with an excellent tool and some manual modifications.
Here are some excellent interactive video segmentation tools.

https://github.com/hkchengrex/MiVOS
https://github.com/Limingxing00/RDE-VOS-CVPR2022

By the way, I also noticed some of the "semi-supervised" video inpainting methods, which claims they can generate the masks and  inpainting the masked regions in a unified framework. However, I think such method is not flexible compared with the "segmentation + inpainting" workflow. Therefore, I still recommend to generate the masks with an explicit segmentation tool but not the "semi-supervised" video inpainting methods.

Thank you for your recommendations. I will try these.


Commands not firing after competition ends

Part of a "rewards" problem. Affecting other rewards being given too.

Assumed to be fixed


Fix closures

Code like https://github.com/cornell-brg/pymtl/compare/jng55-closures?expand=1#diff-ae2a0fffb8117a39395422133340c31fL29 now works!

@jsn1993 please take a look and see what you think.

tell me more about the pytest upgrade. does that mean that anyone that is using pymtl on travis will no need to change their travis.yml file? (i.e., ~100 4750 students?)

I don't think everyone who is using pymtl on travis will have to change .travis.yml, but I'm not positive. It seems that the tests for pymtl itself are using some deprecated feature, which was removed in a new version of pytest. But the students in 4750 shouldn't be running the pymtl tests themselves, so they should be OK.

so what do we need to do next to merge this in?

so what do we need to do next to merge this in?

I'm just asking for spacing fixes. After anyone push a commit to fix all spacings, I will approve.

right ... i posted a comment about that. for this specific pull request since it is just an update to pymt v2 maybe it is fine as it is?

@cbatten @jsn1993 fixed the spacing

LGTM


Error when running jammit 0.6.5 (ruby 1.9.3 + rails 3.2.8 + windows 7 64-bit)

Hi,
I try to use Jammit to build the DocumentViewer from DocumentCloud.
The first error I got when running "jammit" is:
D:/dev/apps/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- win32/open3 (LoadError)
After some research I've installed the gem win32-open3-19, which solved the first error but gives me this second error:
D:/dev/apps/Ruby193/lib/ruby/1.9.1/open3.rb:202:in `spawn': Invalid argument - java -jar D:/dev/apps/Ruby193/lib/ruby/gems/1.9.1/gems/yui-compressor-0.9.6/lib/yui/../yuicompressor-2.4.4.jar --type css --charset utf-8 (Errno::EINVAL)
Any idea about this issue and how to solve it?
Thanks!
Nicolas

Closing this since so many of the components are out of date. If there are still issues with your current stack, feel free to open a new issue!


Use webhooks for reporting battery

I don't know the best way to handle errors when registering the sensors (stage 2).
Possible ways:

Keep track of whether it was successful and try again next time (reset when the webhook id is changed).
Prompt the user to do it manually with a script
Automatically do it when that error is received in the background service.

If an update was unsuccessful, an error is returned.
{
  ...
  "battery_charging": {
    "success": false,
    "error": {
      "code": "not_registered",
      "message": "Entity is not registered",
    }
  },
  ...
}

@philipabbey do you have a preference either way?

We decided that if either of the secondary setup requests to make devices fails, then to back back out as an overall failure, resetting the webhook property. If the failure was temporary, don't unset the battery level update setting. If more serious failure, unset the batter update setting so that we are not stuck in an error loop.


notebook to load data using intake-esm

script to load cmip6 data from glade (on cheyenne) and save strings of paths to a csv file. created by @feliciachiang and me.

LGTM


It's not possible to compile in the php:8.1-cli-alpine3.17

It's not possible to compile yasd in the latest alpine PHP container php:8.1-cli-alpine3.17
Error message:
#0 27.83  g++ -I. -I/yasd -I/yasd/include -I/yasd/main -I/yasd -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/include -I/yasd/thirdparty/tinyxml2 -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -DZEND_COMPILE_DL_EXT=1 -c /yasd/src/remote_debugger.cc -MMD -MF src/remote_debugger.dep -MT src/remote_debugger.lo  -fPIC -DPIC -o src/.libs/remote_debugger.o
#0 32.41 In file included from /usr/local/include/php/main/php.h:255,
#0 32.41                  from ././php_yasd.h:20,
#0 32.41                  from ././php_yasd_cxx.h:3,
#0 32.41                  from /yasd/src/remote_debugger.cc:21:
#0 32.41 /usr/include/boost/assert/source_location.hpp: In member function 'std::string boost::source_location::to_string() const':
#0 32.41 /usr/local/include/php/main/snprintf.h:99:18: error: 'ap_php_snprintf' is not a member of 'std'; did you mean 'ap_php_snprintf'?
#0 32.41    99 | #define snprintf ap_php_snprintf
#0 32.41       |                  ^~~~~~~~~~~~~~~
#0 32.41 /usr/local/include/php/main/snprintf.h:74:12: note: 'ap_php_snprintf' declared here
#0 32.41    74 | PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4);
#0 32.41       |            ^~~~~~~~~~~~~~~
#0 32.41 /usr/local/include/php/main/snprintf.h:99:18: error: 'ap_php_snprintf' is not a member of 'std'; did you mean 'ap_php_snprintf'?
#0 32.41    99 | #define snprintf ap_php_snprintf
#0 32.41       |                  ^~~~~~~~~~~~~~~
#0 32.41 /usr/local/include/php/main/snprintf.h:74:12: note: 'ap_php_snprintf' declared here
#0 32.41    74 | PHPAPI int ap_php_snprintf(char *, size_t, const char *, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4);
#0 32.41       |            ^~~~~~~~~~~~~~~
#0 32.96 make: *** [Makefile:253: src/remote_debugger.lo] Error 1

Any updates? thx. @marko-ilic


chore(cli): Add brew to goreleaser

Description of change
Goreleaser provides a homebrew plugin so brew versiona are automatically updated with each release: https://goreleaser.com/customization/homebrew/.
This PR aims to take advantage of that.
Fixes https://meroxa.atlassian.net/browse/PLATFORM-239
Type of change

[x]  New feature
[ ]  Bug fix
[ ]  Refactor
[ ]  Documentation

How was this tested?

[ ]  Unit Tests
[ ]  Deployed to staging

Ended up updating the test to match the version being released, thank you @owenthereal for the suggestion. Test that it works:
❯ goreleaser --snapshot --rm-dist
   • releasing...
   • loading config file       file=.goreleaser.yml
   • loading environment variables
   • getting and validating git state
      • releasing v0.2.2, commit 56d35e2e8315103e174651de43bee44cf192d07f
      • pipe skipped              error=disabled during snapshot mode
   • parsing tag
   • running before hooks
   • setting defaults
      • snapshotting
      • github/gitlab/gitea releases
      • project name
      • building binaries
      • creating source archive
      • archives
      • linux packages
      • snapcraft packages
      • calculating checksums
      • signing artifacts
      • docker images
      • artifactory
      • blobs
      • homebrew tap formula
      • scoop manifests
      • milestones
   • snapshotting
   • checking ./dist
      • --rm-dist is set, cleaning it up
   • writing effective config file
      • writing                   config=dist/config.yaml
   • generating changelog
      • pipe skipped              error=not available for snapshots
   • building binaries
      • building                  binary=/Users/rb/code/meroxa/cli/dist/meroxa_windows_386/meroxa.exe
      • building                  binary=/Users/rb/code/meroxa/cli/dist/meroxa_linux_amd64/meroxa
      • building                  binary=/Users/rb/code/meroxa/cli/dist/meroxa_linux_386/meroxa
      • building                  binary=/Users/rb/code/meroxa/cli/dist/meroxa_windows_amd64/meroxa.exe
      • building                  binary=/Users/rb/code/meroxa/cli/dist/meroxa_darwin_amd64/meroxa
      • building                  binary=/Users/rb/code/meroxa/cli/dist/meroxa_darwin_arm64/meroxa
      • building                  binary=/Users/rb/code/meroxa/cli/dist/meroxa_linux_arm64/meroxa
   • archives
      • creating                  archive=dist/meroxa_v0.2.2-next_Windows_i386.tar.gz
      • creating                  archive=dist/meroxa_v0.2.2-next_Linux_arm64.tar.gz
      • creating                  archive=dist/meroxa_v0.2.2-next_Linux_i386.tar.gz
      • creating                  archive=dist/meroxa_v0.2.2-next_Linux_x86_64.tar.gz
      • creating                  archive=dist/meroxa_v0.2.2-next_Darwin_arm64.tar.gz
      • creating                  archive=dist/meroxa_v0.2.2-next_Darwin_x86_64.tar.gz
      • creating                  archive=dist/meroxa_v0.2.2-next_Windows_x86_64.tar.gz
   • creating source archive
      • pipe skipped              error=source pipe is disabled
   • linux packages
   • snapcraft packages
   • calculating checksums
      • checksumming              file=meroxa_v0.2.2-next_Windows_x86_64.tar.gz
      • checksumming              file=meroxa_v0.2.2-next_Linux_arm64.tar.gz
      • checksumming              file=meroxa_v0.2.2-next_Linux_i386.tar.gz
      • checksumming              file=meroxa_v0.2.2-next_Linux_x86_64.tar.gz
      • checksumming              file=meroxa_v0.2.2-next_Windows_i386.tar.gz
      • checksumming              file=meroxa_v0.2.2-next_Darwin_arm64.tar.gz
      • checksumming              file=meroxa_v0.2.2-next_Darwin_x86_64.tar.gz
   • signing artifacts
   • docker images
      • pipe skipped              error=docker section is not configured
   • publishing
      • blobs
         • pipe skipped              error=blobs section is not configured
      • http upload
         • pipe skipped              error=uploads section is not configured
      • custom publisher
         • pipe skipped              error=publishers section is not configured
      • artifactory
         • pipe skipped              error=artifactory section is not configured
      • docker images
         • pipe skipped              error=publishing is disabled
      • docker manifests
         • pipe skipped              error=publishing is disabled
      • snapcraft packages
         • pipe skipped              error=publishing is disabled
      • github/gitlab/gitea releases
         • pipe skipped              error=publishing is disabled
      • homebrew tap formula
         • writing                   formula=dist/meroxa.rb
         • pipe skipped              error=publishing is disabled
      • scoop manifests
         • pipe skipped              error=publishing is disabled
      • milestones
         • pipe skipped              error=publishing is disabled
   • release succeeded after 2.97s

cli on  raul/add-goreleaser-brew [!?] via 🐹 v1.16
❯ cat dist/meroxa.rb
# typed: false
# frozen_string_literal: true

# This file was generated by GoReleaser. DO NOT EDIT.
class Meroxa < Formula
  desc "The Meroxa CLI"
  homepage "https://meroxa.io"
  version "v0.2.2-next"
  license "Apache 2.0"
  bottle :unneeded

  if OS.mac? && Hardware::CPU.intel?
    url "https://github.com/meroxa/cli/releases/download/v0.2.2/meroxa_v0.2.2-next_Darwin_x86_64.tar.gz"
    sha256 "1a6af2a60040630ab2f071309b6b2d406c0149e59d8456ce9e955f713244e7e2"
  end
  if OS.mac? && Hardware::CPU.arm?
    url "https://github.com/meroxa/cli/releases/download/v0.2.2/meroxa_v0.2.2-next_Darwin_arm64.tar.gz"
    sha256 "2790b3bf71ffa6350f0abb2e008d41669fa25a8c8772a12c931e20b51a26fc36"
  end
  if OS.linux? && Hardware::CPU.intel?
    url "https://github.com/meroxa/cli/releases/download/v0.2.2/meroxa_v0.2.2-next_Linux_x86_64.tar.gz"
    sha256 "94513fa51e89e44e2ed633824fe7d00c1b2fd72c422def8e0044aca3574e2705"
  end
  if OS.linux? && Hardware::CPU.arm? && Hardware::CPU.is_64_bit?
    url "https://github.com/meroxa/cli/releases/download/v0.2.2/meroxa_v0.2.2-next_Linux_arm64.tar.gz"
    sha256 "5a4bdf6bb75c779eebea2b59ee13e691b19f4a70177dc1ddeae42f5b073e6fa6"
  end

  head "https://github.com/meroxa/cli.git"

  def install
    bin.install "meroxa"
  end

  test do
    shell_output("#{bin}/meroxa version").match(/v0.2.2/)
  end
end


Analyzer Feedback from IntelliJ

Analyzer Feedback from IntelliJ
Version information

IDEA AI-183.54<IP_ADDRESS>52501
2.3.0-edge.a1668566e563aef64025d0af88a099cbbe847b7e
AI-183.54<IP_ADDRESS>52501, JRE 1.8.0_152-release-1343-b01x64 JetBrains s.r.o, OS Windows 7(amd64) v6.1 Service Pack 1, screens 1920x1080

Exception
Dart analysis server, SDK version 2.3.0-edge.a1668566e563aef64025d0af88a099cbbe847b7e, server version 1.26.0, error: Analysis failed: D:\workspace\flutter_app\flutter_app\lib\shopping\ShoppingListItem.dart context: exception_20190704_142128_713
Stack Overflow
#0      _HashMap._resize (dart:collection-patch/collection_patch.dart:223:5)
#1      _HashMap.putIfAbsent (dart:collection-patch/collection_patch.dart:214:56)
#2      Scope.define (package:analyzer/src/dart/resolver/scope.dart:989:21)
#3      LibraryScope._defineLocalNames (package:analyzer/src/dart/resolver/scope.dart:584:7)
#4      LibraryScope._defineTopLevelNames (package:analyzer/src/dart/resolver/scope.dart:612:5)
#5      new ScopedVisitor (package:analyzer/src/generated/resolver.dart:397:6)
#6      new ExprTypeComputer (package:analyzer/src/summary/link.dart:56:70)
#7      TypeInferenceNode.evaluate (package:analyzer/src/summary/link.dart:5305:26)
#8      TypeInferenceDependencyWalker.evaluate (package:analyzer/src/summary/link.dart:5149:7)
#9      DependencyWalker.walk.strongConnect (package:analyzer/src/summary/link.dart:2205:13)
#10     DependencyWalker.walk (package:analyzer/src/summary/link.dart:2224:18)
#11     VariableElementForLink.inferredType (package:analyzer/src/summary/link.dart:5584:47)
#12     PropertyAccessorElementForLink_Variable.returnType (package:analyzer/src/summary/link.dart:5645:

This is likely an instance of #36064, #36068, or #36088.

Closing this as stale. Sorry we didn't get a chance to look at this issue. It was reported against a version of Dart that is at least 6 months old; please re-open if you encounter this on the latest version of Dart (or Flutter).


⚠ Bofrost.com has degraded performance

In fd8de33, Bofrost.com (https://www.bofrost.com) experienced degraded performance:

HTTP code: 200
Response time: 1570 ms

Resolved: Bofrost.com performance has improved in ee8e88d.


Fix VitePress styles

Due to #338, VitePress will override many styles for onyx components, e.g. like on our home page (headline and button styles are not correct)

Possible fix: https://vitepress.dev/guide/markdown#raw


added OS profiles linux/win

Now it takes automatically the OS then the profile sets the extension for maven.
Linux is extension-less (instead of .sh) at pom.xml

German, thanks for changes to the pom.xml, I merged them, tested them on both win-10 and mac, and they worked great.
That use case was "maven calls to maven".  I made corresponding changes for "java calls maven".  see details in branch cmdInMvnForMswin
I also did a little cleanup in the tjp2 sb/tomcat logging configuration that kept https://github.com/eostermueller/tjp2 from starting.
--Erik


More concise Examples TOC

Problem: In our tables of contents we consistently list subsections. If the subsections cover different topics (for example https://docs.opendp.org/en/stable/examples/pums-data-analysis.html) then it’s useful to show the subheaders – but in the Attacks sections, the subheaders are most useful inside the page, and it would be more clear to only show the page titles in the TOC.
Instead of

Attacks

Differencing

Loading the data
A simple attack
Using OpenDP

Membership

Membership Attacks
Example
Simulations
Differential Privacy

Reconstruction

Reconstruction Attack
Mitigations
Simulations
Differential Privacy

Just show

Attacks

Differencing
Membership
Reconstruction

Possible fix 1:

Use a lower level header in the Attack pages… maybe an h3 instead of an h2 wouldn’t be rendered the same way?

Possible fix 2:

Maybe there’s a flag that can control on a page-by-page basis whether to show subsections?

Possible fix 3:

Consistency is good -- Consider breaking https://docs.opendp.org/en/stable/examples/pums-data-analysis.html into separate pages, so it a user is looking for an example of just one aspect they can go straight to it, and not worry about evaluating cells at the top of the notebook.

Splitting things at a high level between getting-started, api, and theory has helped with this. I think it's been resolved.


[empty] value for Temporary Targets set in Nightscout => negative values for basal and ISF in oref0

Describe the bug
I set a 360 minutes temp target using the Nightscout browser from iPhone Safari. My plan was to set a high temp target (150 or so, don't remember). I probably did not enter a target in either one or in both of the target fields, and I (vaguely) remember backing out once.
Temp Target was displayed as "Target = 0" by oref0. That resulted in negative ISF and negative basal rates to be returned, and zero temp basal and no SMBs for the duration, with exception of positive basal and small SMBs for a short time after carb entries.
The temporary target still showed in the upper area of the Nightscout browser graph 18 hours after temp target was set to end. Clearing Mongo Device Status dB did not clear the display, however, deleting the TT entry from the NS treatments dB did remove it from the NS display.
To Reproduce
Note - I was not able to reproduce the error just now while setting no values for both upper and lower TT; rig is not quite "buying" pump history and meal:
Couldn't refresh_pumphistory_and_meal
oref0-pump-loop failed.
Steps to (maybe?) reproduce the behavior:

Set Temp Target in Nightscout browser using "manual" option.
set time (360 min)
omit setting targets
See error

Expected behavior
Ideally - NS browser would not allow [null] values to be entered in the (manual) TempTarget screen.
oref0 behavior was safe for preventing Hypo - it did not take the target = 0 literally. (Thank you!).
This behavior could be a problem if a long undefined TT was set, and user were to not notice, interact and rethink causes of resulting high BGs for a long time, e.g. overnight, especially for people prone to DKA (I am not)
Screenshots
If applicable, add screenshots to help explain your problem.
Here's a screenshot from today showing the [Null value] Temp Target still showing 18 hours later in NS.
Smartphone (please complete the following information):
iOS is 12.3.2 - iPhone 8 Plus
Setup Information (please complete the following information):

Pump type: Medtronic 522, v. 2.4A firmware
CGM type: Dexcom G6 via Lookout and Dexcom App
Rig type: Edison/Explorer Board rig
oref0 version 0.7.0-dev

Additional context
from pump loop log Sensitivity ratio set to -1.5 based on temp target of 0; Adjusting basal from 1.1 to -1.7; ISF from 66 to -44; CR: 14.025
Loop log entry showing the situation:
Starting oref0-pump-loop at Sat Jun 22 17:05:03 PDT 2019 with 20 second wait_for_silence:
Waiting up to 4 minutes for new BG: .glucose.json newer than pump_loop_completed
Listening for 20s: .No interfering pump comms detected from other rigs (this is a good thing!)
Continuing oref0-pump-loop at Sat Jun 22 17:05:38 PDT 2019
Preflight OK. Profile less than 60m old; Profile valid. Pump history updated through 2019-06-22T17:02:26-07:00 with 0 new records; meal.json refreshed: {"carbs":50,"nsCarbs":50,"bwCarbs":0,"journalCarbs":0,"mealCOB":36,"currentDeviation":11.52,"maxDeviation":9.45,"minDeviation":1.38,"slopeFromMaxDeviation":0,"slopeFromMinDeviation":2.385,"allDeviations":[12,9,5,1,6],"lastCarbTime":1561244222430,"bwFound":false}
Listening for 10s: .No interfering pump comms detected from other rigs (this is a good thing!)
Continuing oref0-pump-loop at Sat Jun 22 17:06:29 PDT 2019
Checking that pump clock: "2019-06-22T17:06:12-07:00" is within 90s of current time: 2019-06-22T17:06:31-0700
Temp refreshed: monitor/temp_basal.json: {"duration":27,"temp":"absolute","rate":0}
{"carbs":50,"nsCarbs":50,"bwCarbs":0,"journalCarbs":0,"mealCOB":36,"currentDeviation":11.52,"maxDeviation":9.45,"minDeviation":1.38,"slopeFromMaxDeviation":0,"slopeFromMinDeviation":2.385,"allDeviations":[12,9,5,1,6],"lastCarbTime":1561244222430,"bwFound":false}
Autotune exists! Hoorah! You can use microbolus-related features.
{"iob":-1.035,"activity":-0.0084,"basaliob":-1.425,"bolusiob":0.39,"netbasalinsulin":-5.2,"bolusinsulin":3,"time":"2019-06-23T00:06:14.000Z","iobWithZeroTemp":{"iob":-1.035,"activity":-0.0084,"basaliob":-1.425,"bolusiob":0.39,"netbasalinsulin":-5.2,"bolusinsulin":3,"time":"2019-06-23T00:06:14.000Z"},"lastBolusTime":1561243599000,"lastTemp":{"rate":0,"timestamp":"2019-06-22T17:02:26-07:00","started_at":"2019-06-23T00:02:26.000Z","date":1561248146000,"duration":4.8}}
{"delta":10,"glucose":267,"noise":1,"short_avgdelta":10.83,"long_avgdelta":7.24,"date":1561248259739,"last_cal":0}
Sensitivity ratio set to -0.69 based on temp target of 0; Adjusting basal from 1.05 to -0.75; ISF from 147.2 to -213.4; CR: 20
currenttemp: { duration: 27, temp: 'absolute', rate: 0 } lastTempAge: 4 m tempModulus: 1 m
SMB enabled for COB of 36
profile.sens: 147.243 sens: -213.4 CSF: -10.67
Limiting carb impact from 19 to -26.7 mg/dL/5m ( 30 g/h )
Last carbs 70 minutes ago; remainingCATime: 3.6 hours; 28% carbs absorbed
Carb Impact: -26.7 mg/dL per 5m; CI Duration: 2.4 hours; remaining CI (~2h peak): -17.8 mg/dL per 5m
predCIs (mg/dL/5m): 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
remainingCIs:       0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 4
UAM Impact: 19 mg/dL per 5m; UAM Duration: 2 hours
minPredBG: -33 minIOBPredBG: 39 minZTGuardBG: -421 minCOBPredBG: 39 minUAMPredBG: 116 avgPredBG: -33 COB: 36 / 50
minGuardBG -39 projected below 20 - disabling SMB
BG projected to remain above 0 for 240 minutes
naive_eventualBG: 46 bgUndershoot: -26 zeroTempDuration: 240 zeroTempEffect: -908 carbsReq: -106
2019-06-23T00:06:42.802Z
Checking deliverAt: 2019-06-23T00:06:42.802Z is within 1m of current time: Sat Jun 22 17:06:42 PDT 2019
and that smb-suggested.json is less than 1m old
enact/smb-suggested.json: {"temp":"absolute","bg":267,"tick":"+10","eventualBG":160,"insulinReq":0,"reservoir":"127.5\n","deliverAt":"2019-06-23T00:06:42.802Z","sensitivityRatio":-0.69,"COB":36,"IOB":-1.035}
"COB: 36, Dev: 114, BGI: -9, ISF: -213, CR: 20, Target: 0, minPredBG -33, minGuardBG -39, IOBpredBG 39; minGuardBG -39<20 27m left and 0 ~ req 0U/hr: no temp required"
IOB: [267,234,202,173,145,120,97,77,59,43,39,39,39]
ZT:  [267,258,249,239,229,218,208,196,185,173,161,149,136,123,110,97,83,69,55,41,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39]
No smb_enact needed. Checking pump status (suspended/bolusing): {"status":"normal","bolusing":false,"suspended":false}
Temp refreshed: monitor/temp_basal.json: {"duration":27,"temp":"absolute","rate":0}
No bolus needed. Settings less than 30 minutes old. Your instance of oref0 [0.7.0-dev, dev] is up-to-date.
Completed oref0-pump-loop at Sat Jun 22 17:06:48 PDT 2019

#1272 has a fix for this: If someone can give the diff and my test results a quick look and 👍 if it looks good, I'll go ahead and merge that to dev.


I get an error when running the program

GetSystemTimePreciseAsFileTime is in Windows 8.1 and Windows Server 2012 R2 and introduce the higher version. If your program is running on Windows 7 or earlier, this function will not be available.

how I can resolve please


Typo in Computation Pipeline/Normalization?

In the example of the Normalization step in the Computation Pipeline docs, there are following two tables:

before normalization https://github.com/Green-Software-Foundation/ief/blob/3f011517bb70540591337ef4fc1e375cd283952a/docs/Computation Pipeline.md?plain=1#L158-L162
after normalization https://github.com/Green-Software-Foundation/ief/blob/3f011517bb70540591337ef4fc1e375cd283952a/docs/Computation Pipeline.md?plain=1#L172-L178

I am wondering two things:

Should the timestamp in line 161 be 15:00 instead of 05:00 and the timestamp in line 162 be 25:00 instead of 10:00? Otherwise I am not understanding how it is getting translated.
Why is there no entry for 20:00 in the second table? Are empty datapoints omitted?

Thank you for your work and for thoroughly documenting it!

Hi @Urhengulas - yes you are right those are all typos - thanks for catching them. Feel free to raise a PR to fix? Otherwise we will fix it this afternoon.
Also pinging @jawache for visibility.

Thank you for the swift answer! Will send a PR now


Cumulating selections/subsriptions to build a truly custom plot

Hi,
Can the types of subscriptions be cumulated?
For example, to show samples containing (i) order Clostridiales (1st click' selection) and also show (i.e. cumulate) samples containing (ii) genus Prevotella (2nd click-based selection).
Or does every selection is reset back to zero at every click?
A useful feature would be to have a reset button tp control the "flushing" of the subscriptions, either a full reset, or a reset per added selection (this is something useful in iTOL, where one can rename and edit each data layer).
This is somewhat related to this issue posted to EMPeror: https://github.com/biocore/emperor/issues/741
(still happy to help if not too finicky)
Cheers,
Franck

This is a cool idea, I think this could be achieved using a filtering panel. This UI component would allow you to select features or samples based on a metadata or count-based criteria. For each criteria you could hide, color, or collapse as needed. Similar to how you select differentials in Qurro.

Yes some sort of:
(i) select a metadata/brush samples --> create subscription
(ii) select another metadata/another brush samples --> add to created subscription
and
(iii) assign a color scheme per subscribed item (can get messy tho...) --> I believe this is what you refer to as a "filtering panel"
With the possibility to reset each of (i), (ii) or both.
I'd like to help for selections to cumulate, maybe easier on the EMPeror side..


Service List Cleanup

The issue raised concern over the use of the > character in the display of internally linked services in the Target column of the services list. I did not remove the cluster ip from internal links as we don't really have a way to indicate internal container IPs without making it look worse imo. I am open to other ideas though.
I changed the > character for a link icon to make it clearer that the clusterip:port/protocol > targetport format is representative of a link. We should change this from the external link icon to a internal link icon (arrow pointing into box) or just a plane link icon (chain links). I would need @lvuch to create one of these icons if this PR is approved, but I think they would make it expressly clear that these are internal links without actually saying Container/Internal or whatever the preferred nomenclature is.
Moved the /protocol to the end of the internal link as this matches the formatting of the Endpoints component used for the external links.
Moved the Type column to the second to last column before age. This matches more closely the Workloads list table formatting. I looked and we do not always put the Type(ish) (Type/Kind/etc) in this location but workloads and services feel very similar in how we present them so I think this makes sense.
rancher/dashboard#2466

For most people and most uses the protocol is virtually always going to be TCP, so you could only show the protocol when it is an exception that isn't TCP to cut down on the clutter.
The arrow could certainly be more clear as better icon, Unicode has lots of examples that could be added to the icon font ⤏  ↦  ⤅  ⇒  ⇨  ⤇.  But the icon is representing "[address] points to [service]" though so I don't think using the chain or external-link icon is appropriate (especially for the cases where you can't actually click it).  The link part is the blue piece you can click on, => [name]/[proto] is where it's targeting.
Related: There's cases we could be linking but aren't, like the middle one in your example (https://github.com/rancher/dashboard/issues/308).  ClusterIPs can go through the k8s proxy and can/should be linked if the port is HTTP-like (as we do in other cases, or just always).  The proxy URL is in the proxyUrl) property of the service model.

@lvuch and myself came up with an icon we both liked to show the connection that's not an arrow seen in the attached image. I did not remove the UDP/TCP as the endpoints component still displays this and I think its a little weird when the TCP is missing on the others. Id say if we want to make this change that we should also make it to the Endpoints component. What do you think @vincent99 ?
Still waiting on some feedback about the second point though.

Updated the logic of when to display links. Additionally, if the service's port has a name I will use that instead of displaying the cluster ip.


PCManFM (GTK3) resizes on launch even with animations disabled

Hyprland Version
ab5497a0
Bug or Regression?
Bug
Description
When starting PCManFM (GTK3), there is a visible resize even though animations are disabled when the following conditions are meet:

Tiled window
Refresh rate has to be around 144Hz (as it's difficult to see it with 120hz since it happens extremely fast).
Area in which the window opens has to be greater than 960x400 (to easily spot it)
Animations offhyprctl --batch "\
    keyword animations:enabled 0;\
    keyword decoration:drop_shadow 0;\
    keyword decoration:blur:enabled 0;\
    keyword general:gaps_in 0;\
    keyword general:gaps_out 0;\
    keyword general:border_size 1;\
    keyword decoration:rounding 0"

Video (once again, you need 144Hz to see it):
https://github.com/hyprwm/Hyprland/assets/45666572/3ada75aa-5c4b-4b29-8289-e2bc0eaceaca
If you pause the video at the right moment you can see how it starts as a small window:

How to reproduce

Hyprland: see above
Sway: not possible

Crash reports, logs, images, videos

Distro: Arch Linux
Package version: pcmanfm-gtk3 1.3.2-1.1

window opens, pcmanfm reports default size of
hyprland goes like "hey resize to this res please"
pcmanfm hasn't redrawn yet, so hyprland draws it at the original size
small pcmanfm moment
pcmanfm finally redraws itself at the proper size
normal pcmanfm moment

Aw snap
Figured it wasn't supposed to happen since I didn't notice it in Sway
With the new pcmanfm-qt fork this also happens until you add qt6-wayland pkg and QT_QPA_PLATFORM="wayland;xcb" env (https://github.com/lxqt/pcmanfm-qt/issues/1823#issuecomment-1784935733)
If that's the expected behavior then let's close this ticket 👍🏻

it's expected but not ideal.


Switch must be exhaustive | Version 12.0.1 (12A7300)

I have updated Xcode for iOS version 14 and when build my project it threw me this error
Switch must be exhaustive
Do you want to add missing cases?
When I pressed the FIX button that added the below-mentioned code. It has the same error in 4-5 places. Please check and update.
case .mac:
    <#code#>
@unknown default:
    <#code#>

Same issue here!

Just update your pod to latest commit. See #196


Close exclude files and check errors

No issue filed as I found this during casual exegesis.
--exclude-file= does not check errors of bufio.Scanner and does not close files. This is not at all critical since typically there's a magnitude of one exclude file open. Anyway worth fixing.
I was a little surprised that cmd/restic.Warnf exits w/ code 100. It is what I'd expect if an exclude file cannot be read, but the verb "warn" suggests otherwise, imho. :)
My fix turned out a little more complex than anticipated. Because of additional level of indent, I've extracted a function. Which is a good thing on its own, because the func runBackup is way to long. I have mixed feelings about the introduced coding style, though.

Codecov Report

Merging #1144 into master will decrease coverage by 3.5%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1144      +/-   ##
==========================================
- Coverage   52.92%   49.42%   -3.51%
==========================================
  Files         121      121
  Lines       11408    11423      +15
==========================================
- Hits         6038     5646     -392
- Misses       4660     5095     +435
+ Partials      710      682      -28

Impacted Files
Coverage Δ

cmd/restic/cmd_backup.go
24.78% <0%> (-1.11%)
:arrow_down:

internal/backend/b2/b2.go
0% <0%> (-79.32%)
:arrow_down:

internal/backend/swift/swift.go
0% <0%> (-73.9%)
:arrow_down:

internal/backend/swift/config.go
34.37% <0%> (-56.25%)
:arrow_down:

cmd/restic/lock.go
52.5% <0%> (-5%)
:arrow_down:

internal/archiver/archiver.go
64.9% <0%> (+0.16%)
:arrow_up:

internal/backend/s3/s3.go
61.03% <0%> (+1.37%)
:arrow_up:

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 efc5d06...37aad2e. Read the comment docs.


[Proposal] Variable rate tick()

Is your feature request related to a problem? Please describe.
This helps with performance. The hacked subclass below makes a simple scene with 200 agents (whose nodes basically set animations and change nav targets, and whose meshes are disabled for the purposes of testing) go from around 10 FPS running ticks every single frame on each agent, to:

~150FPS running every 2 frames
~230FPS running every 5
~290FPS running every 10 and above (increasing the number doesn't seem to yield significant results)

This is not a very scientific test, I know, and the bump from 1 to 2 frames is IMO suspicious, but it's something to think about.
Describe the solution you'd like
It would be interesting, in my view, to not have to process a behaviour tree every frame. If we treat this tree as a check of whether the agent needs to update what it's doing, it might be an unnecessary use of CPU to run this every frame. We could have an optional mode on the behaviour tree that only updates every x frames. It's important to set a random seed for the frame on each iteration (some agents run on every fifth frame, some on every first, see the code below) so that we're not hogging the CPU every few frames updating everything and leading to microstutters.
This should be optional as to not break code that e.g. moves the agent on ticks (which will break when ticks don't happen like clockwork).
Describe alternatives you've considered
I have a semi-hacked subclass of BehaviourTree on my project:
class_name BeehaveTreeFast
extends BeehaveTree

var n := 0
@export var run_every := 15

func _ready():
	n = randi_range(0, run_every - 1)
	super()

func _physics_process(delta):
	if n < run_every:
		n += 1
		return

	if n >= run_every:
		n = 0
	super(delta)

This works for me, I'm just suggesting we add it to the lib.
I did just notice that I didn't override _process(), which is weird since I did definitely notice that tick() doesn't run every frame (I had improperly designed some nodes to move agents when ticked instead of setting a motion that the agents should follow until the next tick, and I notice they only move every few frames). This isn't 100% relevant to this issue but it doesn't make sense to me to run on every _process() and every _physics_process(), we're updating the agent's state twice on some frames if not all. I did only skim the code so I might be wrong about this.
Feel free to close this if you disagree, just wanted to see your thoughts on the matter! If you find this to be a good addition to the addon I can whip up a PR.

I agree with you. I have a similar project. Skeleton3D agents. IK. Navmesh. Audio. The scene will peak at about 10fps with 30 agents. Disable behavior_tree and the FPS is a solid 300.
An alternative idea I've done is that I will comment out the line of code that ticks the behavior tree. I then create a timer that on completion will 'tick' the main behavior tree. I can manage about 20-30 animated Skeleton3D navagents at around 250 fps. I could probably add more delay to agents that are farther away. I also randomize the delay by like 5% so they're not all ticking simultaneously but there's probably better ways to implement that.
Regarding performance for these massive behavior trees with hundreds of agents.
I also add this code to the beehave_node.gd:
func _ready():
	set_physics_process(false)
	set_process(false)

Re "not ticking simultaneously", I prefer my approach (randomize the frame at which the ticks will occur), it seems like it splits CPU load more evenly.
And yeah, it would be cool to decrease tick rate depending on distance/sectors, though that is something perhaps best left to the user to control.
(This addon would be a cool candidate for GDExtension with C++ or Rust, but obviously that's a lot more work.)


BorderColor wrong behaviour

Describe the bug
BorderColor sets background/fill color not  the stroke to the border.
To Reproduce
Steps to reproduce the behavior:
Blank maui app
Empty datagrid
Expected behavior
BorderColor property should set stroke color?
Screenshots
If applicable, add screenshots to help explain your problem.

Property not set/default

 BorderColor="Red"

MAUI (please complete the following information):

Android api 33

Smartphone (please complete the following information):

Device: Galaxy Tab A8
Last official firmware

Yes, this is how the borders were constructed originally.
To change this would require a fairly radical reworking of all the styling. Which we probably should do anyways, just to allow everything to look really pretty.
Last time I tried to fix this, I ran into problems. But now I understand this project way better, and will give it a try.


Option to disable "skip downstream models on failure"

Describe the feature
When a model run fails, all dependent, downstream model runs are skipped. This is a great default, but there can be some cases where you still want to run the downstream model.
For example, one case where I would actually want this default behaviour overridden is for jobs that rely on an infrequently updated dimension. Something like a country dimension or currency dimension which changes very rarely. Say you have a daily summary/rollup model that uses order transaction data and a country dimension. If country dimension starts failing i’d still want my model to keep running off the new order transaction data, and not have to wait until the responsible team fixes it.
Describe alternatives you've considered
Individually running models and keeping track of which ones ran successfully and which ones failed. This would be quite time consuming.
Who will this benefit?
Can't comment on how many people this will benefit, but the added flexibility is always a plus.

Thanks @ian-whitestone - the example use case you described is a really good one!
I think we can make this a model config. I'm picturing something a config key called on_error with values like continue, skip_children, and abort.
The values map onto the following behavior:

skip_children - the default, and the current behavior. Skips children of this model
continue - try running children models, letting them fail or succeed as they will
abort - this is my addition, and it would stop the entire run (ie. skip all remaining nodes)

You buy this? I don't know that we want/need to include the abort parameter, but I thought it was worth discussing :)

👍 this makes sense to me. Only alternative I can think of is having this specified at the downstream model level. i.e. same values but different meanings:

skip -  the default, and the current behaviour. do not run this model if any of the upstream dependencies fail
continue try running this model even if the upstream dependencies fail

What is the difference between:

skip_children - the default, and the current behavior. Skips children of this model

- abort - this is my addition, and it would stop the entire run (ie. skip all remaining nodes)
Does abort do a ROLLBACK of the full tree (so, parents too?)

@bashyroger I'm not picturing abort doing any sort of rollback. I was instead thinking that it would compel dbt to skip all models that have not yet run, regardless of their relationship to the failed model. It's sort of a solution in search of a problem, and we probably shouldn't implement it until we have a better handle on some good uses cases :)

@drewbanin I've been following this since the use case that @ian-whitestone would be useful to me as well. Curious if there has been any more work in this area. Thanks!

I would love this feature :-)

This would be very helpful

+1 would be very helpful

Reopening this issue given the renewed interest!
Some of this is now possible with metadata, namely the result status that can select skipped models to rerun (docs). Think about this as, you can pick all nodes where both are true: "skipped" because of an upstream failure, and tagged to rerun_despite_upstream_failure.
dbt run --select result:skipped,rerun_despite_upstream_failure --state previous/run_results.json

I'd say, I'm open to this possibility, of conditionally disabling "skip downstream models on failure." It's a core construct of dbt-core's execution model, but I don't know that it's an absolutely essential component of the opinionated workflow, or of DAGs more generally.
Where to configure?
I think it feels appropriate to support this config on either the parent node ("I'm worth stopping the DAG for"), or the child node ("I don't care about upstream failures"). By picking one OR the other, it's much simpler to reason about, and much simpler to implement.
I'm hesitant to support defining this configuration for the full matrix of parent-child relationships, as I think that can get unwieldy very quickly. I think it might be possible to deploy ephemeral "middle models" that would be "passthroughs" for the upstream model's data, while allowing you to customize this behavior. Similar to the discussion about dbt build and test failures in https://github.com/dbt-labs/dbt-core/issues/4591. Unlike test failures, though, which access actual data, the ephemeral model would need some way to know that the upstream model errored. Query logs...?
How to configure?
There are two ways we could support this:

a per-model config, which controls behavior about this node's children when it fails
an overall "run-level" config (--skip-on-failures=...)

If we decide to support both, I'd see this being similar to how the --full-refresh flag / full_refresh model config work today (docs), where the model-level config (if set) takes precedence over the run-level flag.
How to implement?
For parents, that would look like adding a check here for result.node.config.get('on_error'), before "marking dependent errors":
https://github.com/dbt-labs/dbt-core/blob/72c17c446440afe7d4b6501ed364effe8e14c9f2/core/dbt/task/runnable.py#L337-L342
For children, that would look like checking whether the "dependent node" has on_upstream_error: continue before marking it to skip:
https://github.com/dbt-labs/dbt-core/blob/72c17c446440afe7d4b6501ed364effe8e14c9f2/core/dbt/task/runnable.py#L399-L400
Next steps
I think there are still some open questions here—namely, whether parents or children are the right place to put this config. It'd be helpful to get more context on specific use cases, to motivate the choice!
Personally, I lean toward parents. This feels analogous to the "warning" behavior of tests, which say: I found some failures, which is good information to know, but it's not worth stopping the DAG for.

Our context:
In our source layer we rename and recast all fields where necessary. One of the Salesforce tables (dimension) we ingest via Fivetran has 400+ columns. Less than 10 of these columns are used downstream in business-critical models. Recently one of the ~390 unused columns was dropped from the source schema, leading to a DAG failure and delayed business data while we fixed the error.
As a temporary solution we are no longer enforcing naming conventions or typecasting columns from Salesforce tables. Long-term we would like to trigger a warning instead of a failure when issues are detected in dimension tables.

@nick-heron-zip Thanks for sharing the use case!
My instinct would be to include only the columns in your staging model that you are actually using downstream, those which are actually relevant to your "analytical universe." I realize it doesn't say that in the docs or discourse explicitly, but that's always been, for me, a significant consideration when writing a staging model.
I also know that I've occasionally used staging model definitions as a form of documentation / quick look-up to see what's available in the source—but that's why you can document and describe columns in sources, and dbt docs generate produces catalog info (including full column list) for sources, too.

Our context:
Our source is JSON and with Snowpipe these is loading into a table as the columntype VARIANT. In some cases loading data into a VARIANT is recommended by Snowflake as new schema changes won't break the load of data into Snowflake.
When staging these data, the JSON elements is flattern out into a table with a number of column and datatype.
If a column have been decided as int but now is sent as char the stage-model will break.
Another scenarie is when creating a merge statement in Snowflake it is require that the rows are unique otherwise this error is raise Duplicate row detected during DML action.
In both cases dataset X is returning an error and the dbt Cloud job will stop. Dataset Z, Y and Q is working perfectly but because X return error all models are blocked, even if there is reports only depending on Z and Y dataset.
Hence we are wondering how to avoid a all or nothing scenario as it is today.
One option is to split the jobs into smaller jobs, but that will create dependency cross jobs and something that is not support in dbt Cloud today.

our use case:
Some sources are google sheets of rarely changing data, edited by humans. Notoriously breaky due to typos. This data is not worth skipping the downstream models for.  I would stage this source to a table, which would occasionally fail without affecting downstream loads. On failure the downstream loads would use the data I materialised in the previous run. That works well enough and I will catch the problem using freshness alerts on the table of materialised data.
I can achieve this by running the staging of these tables in a separate step before the main run. Having this feature would make it a little neater and less work.
I can also see myself using this setting as a quick fix to get the load running again after failure, just until I can find the root cause and fix it properly. Excluding the model in the dbt run command means messing with the devops/build stuff, risking the entire load. Setting a config on one model is low impact and I can do it in my normal work flow of editing models.

We're getting pretty desperate for this. There are all kinds of models we have where we pull in data from a variety of data providers, and one of those providers having out of date data (due to e.g. a schema breakage) doesn't invalidate the rest of the providers' data in the downstream models.
I'm about to have to break up our DAG purely to avoid this breakage, which nullifies a significant part of dbt's value, in DAG management.

@boje @jens-koster @davidsr2r I've marked this issue as help_wanted, meaning that we're not planning to prioritize it ourselves in the next few months, but we'd be happy to have a motivated community member work on contributing it.
Do you have thoughts on the questions I raised in my comment above, around how you'd want to configure this? Would you look for an all-or-nothing runtime config (--no-skip-on-failures), or a config you can specify in project code for specific upstream/parent models?

@jtcohen6
We'd be needing a per-model config, so that the rerun of skipped models is intentional and explicit, and avoids downstream runs that shouldn't happen.
Re: Parents vs. Children, I'd say that it probably depends on your use case preferences; if it's on parents then you need to configure it in fewer places and it is information that is specific to that model, which makes a lot of sense, however if it's on children then the query that needs to be aware of the possibility of failure is in the same file that contains the config option, making the dependency and failure-case more explicit for the developer. I always prefer maintainability and so, while I could be persuaded otherwise, I'd therefore want us to use the latter option. Why not support both, or just one or the other?

@jtcohen6
We have a similar situation where we are waiting for the responsible team to fix an issue causing a stage model fail. This model contains very rarely changing data and therefore we can live without having it updated for some time.
In the meantime the rest of our dag is skipped and none of our most important models are not updated until the issue is fixed.
In our situation it would make sense to have the configuration on the parent model, since a larger number of models references the failing model.
We would appreciate a feature described earlier in this thread on_error key and values like skip_children and continue
Is there a good way to upvote the implementation of this?
Btw. our workaround for now is to just temporarily exclude the failing model from our dbt build,
the downside is that it becomes a little manual and we need to remember to remove it again when the issue is fixed.

My only worry about putting the config in the child would be this use case

We have a chain A->B->C
B is configured to skip if upstream fails
C is configured not to skip if upstream fails
A fails

So C would only have data from B from the last time that A passed.  I think this could possibly lead analysts (or more likely business side) to have bad trust in thinking that the data in C is up to date (even though it will be stale for the B portion), because of some loaded_date column being up to date.

our use case:
our bi tool use serveral wide-table to show metrics, the wide-table composed of multiple tables, when one upsteam table result in wide-table willl failed, so the impact is significant , i want ignore some upsteam table failures, then wide-table can run success, then I have enough time to fix the abnormal upstream model

Would still be very interested in the skip_children , abort, continue proposal and being able to specify that at the top of specific models - especially as we use dbt as part of dagster, so we don't always trigger dbt flows using command line prompts like --no-skip-on-failures.
Would be a game changer for our flow. At the moment we have to do a lot of convoluted workarounds.

I've left a comment on the linked PR:

https://github.com/dbt-labs/dbt-core/pull/9020#pullrequestreview-2071593744

After rereading the use cases described in the comments above (thank you everyone!), I'm interested in moving forward with this as a model-level config set on "parent" models, which are generally flakey failures caused by changes in unreliable upstream data sources. I don't believe we should support this on "child" models (at all), or as a global flag broadly applied (yet).

I run analytics pipelines for reports, not data engineering pipelines.
If a tests fails (esp. anomaly detection tests) I want the whole pipeline to run. I'll get an alert about the anomaly or other failure and deal with it.
Two bad things about current behavior:

I miss downstream errors that are unrelated to the first test failure. Yes there can be two unrelated failures and I want to see them both after a single build or run/test. I don't want to fix one thing, rebuild, find new error, fix, rebuild, etc multiple times.
What I cannot have is a stack of empty reports with nothing in them for days while I work out the bug in one small part of the outputs. A test failure in my domain is something the business team would prefer to talk about rather than skip review of many blank pages of reports, or skip the business review altogether.


9: Refactor roll class - [merged]

In GitLab by @Asacolips on Apr 4, 2021, 12:59
Merges 9-roll-mods -> alpha

Added support for custom roll formulas on PC moves
Added support for overriding the roll formula for all rolls via the
character sheet.
Added support for forward and ongoing modifiers on rolls.

Closes #9

In GitLab by @Asacolips on Apr 4, 2021, 13:00
mentioned in commit 14e638b6c01b4f9bdb24dbd7e7d7515bc3487dcf


[New Feature]: Create purge_aws_resources variable in terraform

Checked for duplicates
Yes - I've already checked
Alternatives considered
Yes - and alternatives don't suffice
Related problems
In the PST venue (and probably also OPS in the future) we don't want to delete any data from S3 buckets when we destroy the cluster.
Describe the feature request
As written above

5 buckets are currently being automatically deleted: code, dataset, triage, lts, and osl.
For sure we want to delete code (cc) and preserve dataset (rs). I don't know about triage, lts, and osl on whether we would also want to preserve those when preserving dataset

We don't use lts and osl buckets so we don't need to preserve those.  We should preserve triage bucket for failed jobs.

Implemented and created pull request


modify op_type for set_local in 3.x API

Type of Change
modify op_type for set_local in 3.x API in ut and example
Description
according to changes in PR https://github.com/intel/neural-compressor/pull/1745
Expected Behavior & Potential Risk
How has this PR been tested?
ut, extension pass
Dependency Change?

could you confirm torch.add in set_local can make it fallback? save the qmodel json file check maybe more clean.

/azp run Model-Test-3x


U — write report detailing FED learning pathway followups.

We need a report detailing followup work to be done on the FED learning pathway, along with detailed breakdown, milestones/deliverables, schedule, and required resources.
Acceptance criteria

[ ] Report written

Dupe of https://github.com/mdn/sprints/issues/3145

Report available at https://docs.google.com/document/d/1v_10rfJOQhBUFzhAjsaPUQHmr5oRVU5tS7TbNpr46So/edit#heading=h.qwycjiweuztn


getCircleInnerDiameter() on holed components

Description
Add a getCircleInnerDiameter() method to all Holed components. This is in response to #755 .
Also filled out the relevant component parameter definitions.

Checklist

[x] The code is understandable and maintainable to people beyond the author.
[x] Tests have been added/updated to verify that the new or changed code works.
[x] There is no commented out code in this PR.
[x] The commit message follows good practices.
[x] All docstrings are still up-to-date with these changes.

Looks good to me! :shipit: 🚀

@keckler  black needs to be run.
(I would do it myself, but it's in your repo. Sorry.)

I'm not sure what's up with that. On my machine, black says everything is fine:

And looking at the changes, I don't see anything amiss from a formatting perspective.
Maybe re-trigger the tests?

@keckler your feature branch is 1 commit behind armi::main. I wonder if that could be an issue?

Hm, my click version is behind. Let's try that.

Okay, it was click.
I just pushed up a new reformatted version.
Sorry about all the hassle!

This should be good to merge now.


reCAP materials

patched sflight with tutorial on how to run with @cap-js/sqlite and @cap-js/postgres
cap notebook for interactive cds repl session

Can we close that?


[Security] Potential Secret Leak

It has been noticed that while using Gaurav0/backport@d69fd1d2469762a7b4007f671857e4f94deed0af your bot_token 1353d990cdb8b8ceb1b73d301dce83cc0da3db29 is present in plaintext. Please ensure that secrets are encrypted or not passed as plain text in github workflows.

@seanpmorgan https://github.com/tensorflow/addons/pull/2133


error[E0603]: module export is private

Compiling futures v0.3.13
Compiling toml v0.5.8
Compiling bincode v1.3.2
Compiling ipc-channel v0.14.1
Compiling mumlib v0.3.0
error[E0603]: module export is private
--> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/mumlib-0.3.0/src/error.rs:1:12
|
1 | use serde::export::Formatter;
|            ^^^^^^
error[E0603]: module export is private
--> /home/pi/.cargo/registry/src/github.com-1ecc6299db9ec823/mumlib-0.3.0/src/state.rs:1:12
|
1 | use serde::export::Formatter;
|            ^^^^^^
error: aborting due to 2 previous errors
For more information about this error, try rustc --explain E0603.
error: could not compile mumlib.
warning: build failed, waiting for other jobs to finish...
^C  Building [=====================================================> ] 173/175

Yeah we haven't published a new version in a while. I believe this has been fixed on main, could you try cloning and building manually?

I've published 0.3.1 now, see if that one works better.

Please let me know if it still fails and I'll re-open!

Tanks for working on this project.
it  now works, but fails later during build.  (it probably is somehow my fault :)
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/network/tcp.rs:326:16
|
326 |         while !matches!(
|                ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/network/udp.rs:117:16
|
117 |         while !matches!(
|                ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/network/udp.rs:206:16
|
206 |         while !matches!(
|                ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:91:21
|
91 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:141:21
|
141 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:155:21
|
155 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:213:21
|
213 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:248:21
|
248 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:315:21
|
315 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Disconnected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:360:21
|
360 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:394:21
|
394 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error[E0658]: use of unstable library feature 'matches_macro'
--> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/mumd-0.3.1/src/state.rs:403:21
|
403 |                 if !matches!(*self.phase_receiver().borrow(), StatePhase::Connected) {
|                     ^^^^^^^
|
= note: for more information, see https://github.com/rust-lang/rust/issues/65721
error: aborting due to 12 previous errors
For more information about this error, try rustc --explain E0658.
error: failed to compile mumd v0.3.1, intermediate artifacts can be found at /tmp/cargo-installQKd3YO
Caused by:
could not compile mumd.
To learn more, run the command again with --verbose.


glib: Fix Deref impls for FixedSizeVariantArray

These should deref to the contained type, not the underlying slice type.
Also get rid of all the PartialEq impls: having these is not too
useful, and there would be a lot more needed to cover all the special
cases similar to the ones the current ones cover.

CI passed, let's get this in? :)


Start position change？

The starting position of the circular progress is from the top. Just like the 12 o'clock position.
Can I change the starting position? For example, starting at 6 o'clock

Hi @MourinhoLove, it is quite simple actually - just use progressView.transform = CGAffineTransform(rotationAngle: .pi).


Latest version of jest 23.6.0 does not work with node v10.13.0 and pnpm version 2.18.2

🐛 Bug Report
The latest version of jest 23.6.0 does not work with node v10.13.0 and npm 6.20 or pnpm 2.18.2. The combination does work with yarn 1.12.3.
It throws the following error
Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

This happens both in Ubuntu 18.04 and Windows 10.
Related to issues #6662 and  #6913. I first tried all suggestions in these issue before switching to yarn in despair.
To Reproduce
Steps to reproduce the behaviour:

Install node version v10.13.0
Install npm version 6.20 or pnpm 2.18.2
Install yarn version 1.12.3
Install example repo
npm i
jest
rm -rf node_modules && rm package-lock.json

Repeat steps 5-7 for pnpm and yarn.
Expected behaviour
Jest should work with npm, pnpm and yarn.
Link to repl or repo (highly encouraged)
Minimal repo on GitHub to demonstrate the issue.
Run npx envinfo --preset jest
Paste the results here:
System:
    OS: Linux 4.4 Ubuntu 18.04.1 LTS (Bionic Beaver)
    CPU: (4) x64 Intel(R) Core(TM) i7-6650U CPU @ 2.20GHz
  Binaries:
    Node: 10.13.0 - ~/.nvm/versions/node/v10.13.0/bin/node
    Yarn: 1.12.3 - ~/.nvm/versions/node/v10.13.0/bin/yarn
    npm: 6.4.1 - ~/.nvm/versions/node/v10.13.0/bin/npm
  npmPackages:
    jest: ^23.6.0 => 23.6.0

It works with both npm and yarn for me. Not pnpm, but that's known: #5369. Help welcome! That said, we're gonna drop babel 6 entirely for the next major of Jest, so it might resolve itself for you after that? #7016

@SimenB thx for the quick respons.
I see now that I was still half a sleep when I created the issue this morning :-) If I downgrade node to node v8.13.0 all package managers (npm, pnpm and yarn) work. I only tested with LTS releases. There is no v9 LTS release for node, that is why I tested with v8.
I switched from Windows to Linux to make sure the problems I was having were not related to Windows. In the issues I mention and the issue you mention there is no information regarding the version of node and npm. I think it is helpful that others can find it to help them and avoid frustration and wasting hours trying to fix an issue that is known.
I suggest adding a README.md to the minimum example to explain this problem with jest in combination with version v10 (and v9?) of node. Just a suggestion to avoid frustrated users :-)
When is the next major release expected?

PR welcome adding a readme! 🙂
Next major release is expected before Christmas, hopefully. Only blocker is actually getting Babel 7 to work properly (we've found a bug in istanbul using Babel 7)

@SimenB I submitted a pull request with the README.md.


Builder cache needs to be cleared

Take the case where hypper first installs a CRD chart and then installs a chart that creates resources based on those CRDs. In some cases, when hypper goes to install the custom resources it can't because it doesn't know of the type (i.e. it does not know about the CRD).
Than error like the following can occur:
ERROR: ❌  unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Logging" in version "logging.banzaicloud.io/v1beta1"

@mattfarina I am having a bit of a hard time to track that down, can you give me a more detailed workflow example how this happens? Thx.

From the daily, we extracted that this happens when one installs a chart with CRD, and then install a dependent chart of those CRDs. The kubeclient cache hasn't been updated to know about the CRDs, therefore the dependent install will have an error.
The kubeclient gets instantiated as part of the action.Install, in the action.Configuration: https://github.com/rancher-sandbox/hypper/blob/1ac0a7588bf2bd5122218befba13d01e664b7de9/pkg/action/install.go#L354-L361.
We need to flush the kubeclient cache or create a new one, so it does a Get of all resources, and particularly of the newly installed CRDs. Maybe doing a Helm kubeclient.Update() is enough.

I cannot reproduce here.
With https://github.com/rancher-sandbox/hypper/pull/191 (so I can do hypper install --wait), and with the kubewarden-controller and kubewarden-crds charts, annotated with Hypper annotations from https://github.com/viccuad/helm-charts/tree/add-hypper-annot.
Example:

Install cert-manager shared-dep manually, as it needs a values for
installCRDs=true, which we can't specify in Hypper annotations yet:

$ k3d cluster delete; k3d cluster create
$ hypper repo add jetstack https://charts.jetstack.io
$ hypper repo update
$ hypper install cert-manager jetstack/cert-manager --namespace cert-manager  --version v1.6.0 --set installCRDs=true

Then, install kubewarden-controller, which installs kubewarden-crds:

$ hypper install --wait ./kubewarden-controller

Note that the previous example succeeds because the CRDs get used in a post-install hook, which instantiates a new kube client:
kubeclient:     n1                         ->                                      -> n2
chart:             kubewarden-crds ->  kubewarden-controller -> post-install of kubewarden-controller that uses CRDs

I still can't reproduce. Crafted a chart that installs crds, and a chart that depends on it and instantiates a CR, It succeds. See https://github.com/viccuad/hypper/commit/d07db0ea6651118d5a683b4747dd2d16c04c5c0e.


cgosqlite: add DB.SetWALHook

halp. I apparently suck at cgo more than I thought. Can't get it happy.

okay, I think this works now? PTAL.

PTAL


UI - Edit cluster should not allow for downgrading K8s version.

Rancher server version - Build from master
Steps to reproduce the problem.
Create a cluster with K8s version - 1.14.4.  (No Cluster Templates).
Edit cluster.
Notice that we are allowed to  downgrade K8s version.

In this case , 1.13.8 should have been greyed out and listed as "unsupported).

Version: master-head (8/7/19)
I am no longer allowed to downgrade k8s version when editing a cluster. This is true without a CT and even with a CT.


Fix content-mode overlay doesn't appear properly.

https://user-images.githubusercontent.com/13066728/207834340-10a8d408-ce6c-4aa4-a870-517e7d08f4f6.mp4

Yes, exactly 💯


Proxy OPTIONS requests

This can be necessary for CORS.
Rather than returning our own Allow: header, the RFC states we should
not modify the server's response:
RFC 2068, § 14.7:
A proxy MUST NOT modify the Allow header field even if it does not
understand all the methods specified, since the user agent MAY have
other means of communicating with the origin server.

How to Huck Instagram account?

This can be necessary for CORS.
Rather than returning our own Allow: header, the RFC states we should
not modify the server's response:
RFC 2068, § 14.7:
A proxy MUST NOT modify the Allow header field even if it does not
understand all the methods specified, since the user agent MAY have
other means of communicating with the origin server.

This can be necessary for CORS.
Rather than returning our own Allow: header, the RFC states we should
not modify the server's response:
RFC 2068, § 14.7:
A proxy MUST NOT modify the Allow header field even if it does not
understand all the methods specified, since the user agent MAY have
other means of communicating with the origin server.


PrimaryWeaponModModule can be stacked

Multiple of Nirai Overdrive/Nirai Overcharge can be equipped simultaneously: https://discord.com/channels/711548456019296289/721311036891725856/881859908256030721
discovered by Novah

I must have fixed this a while ago