{WIP} [csl] test resync after parent is down for a long period

Add some test steps to verify that a CSL Receiver is able to re-establish
CSL synchronization after its peer has been absent for a long period.

@abtink @Irving-cl, this seems to be a regression we have introduced recently, the same test passes in older revisions. More investigation is needed to see why the SSED doesn't send the last Child Update Response.

Could it be that false is returned here since the SubMac parameters didn't change: https://github.com/openthread/openthread/blob/main/src/core/mac/mac.cpp#L2278

@edmont I have a theory of what may be causing this:

When device detaches, from Mle::SetStateDetached() we do call Mac::UpdateCsl()

void Mac::UpdateCsl(void)
{
    uint16_t period;
    uint8_t  channel;

    VerifyOrExit(IsCslSupported());

    period  = Get<Mle::Mle>().IsRxOnWhenIdle() ? 0 : GetCslPeriod();
    channel = GetCslChannel() ? GetCslChannel() : mRadioChannel;

But now IsCslSupported() will return false and we exit without calling the SubMac to change CSL period (set it to zero to disable CSL)
Later on when device attach again as child, the SubMac call returns false since nothing is changed (same period, same parent, same channel),

@edmont submitted https://github.com/openthread/openthread/pull/7918.
This change seems to pass the new test you added in this PR on my machine (with one small change to add some extra time for child to attach).

Merged with #7918


Add suppressions for models.

This is to make the typespec PR https://github.com/Azure/azure-rest-api-specs/pull/26359 .net validation pass. The complete PR for generating with models is https://github.com/Azure/azure-sdk-for-net/pull/40166
Those suppression were discussed and approved in arch board review meeting.

API change check
API changes are not detected in this pull request.


Update pulumi-terraform.

This brings in support for default config and property values provided
by environment variables.

Latest failure is a timeout; retrying...

LGTM


Minor enhancement for OCP EUS-EUS upgrade

This PR includes enhancements requested in the issue #174
Signed-off-by: Varad Ahirwadkar<EMAIL_ADDRESS>

/cc @pravin-dsilva @yussufsh

@varad-ahirwadkar please check the review comments.

@varad-ahirwadkar please check the review comments.

Sorry for delay, I was working on review comments. I will continue.

/approve
/assign @pravin-dsilva
@varad-ahirwadkar please resolve the conversations which ever are fixed.

/approve

/lgtm


e2e tests

This PR adds an e2e test suite that can be run against the local-setup environment. At the moment it contains just some basic smoke tests that focus on checking stuff around the gateway resource and ensure the happy path scenario works properly (dns resolution and a 200 ok request to a service behind a gateway). The tests just check the system as a black box, without checking any of the "inner workings".
I created a small package with utils for the e2e tests in general. It was originally intended to make the tests run both in the HCG unstable cluster and with the local-setup, so I added some logic that configures the test environment and that makes sure the tests cleane up after themselves as much as possible. This is less relevant now that they will only run in local-setup, but still it's nice as avoids from having to recreate the environment constantly to clean it up when things fail and you need to debug.
How to test

To run the tests in local-setup with a single cluster that has both hub and spoke

export TEST_HUB_NAMESPACE=multi-cluster-gateways
export TEST_MANAGED_ZONE=<your-zone>
export TEST_HUB_KUBE_CONTEXT=kind-mgc-control-plane
export OCM_SINGLE=1

make local-setup

make test-e2e

To run the tests in local-setup with a hub cluster and a dedicated workload cluster

export TEST_HUB_NAMESPACE=multi-cluster-gateways
export TEST_MANAGED_ZONE=<your-zone>
export TEST_HUB_KUBE_CONTEXT=kind-mgc-control-plane
export TEST_SPOKE_KUBE_CONTEXT_PREFIX=kind-mgc-workload
export MGC_WORKLOAD_CLUSTERS_COUNT=1

make local-setup

make test-e2e

Not sure if it's related with the changes in this PR but when verifying the tests with separate hub and workload clusters the local-setup was failing consistently in here. I doubled the timeout and it worked. Other than that everything works as expected

/retitle e2e tests

@mikenairn @sergioifg94 ok to give this another review? Would like to get it closed out

changes look reasonable to me and have been tried by @sergioifg94. @roivaz lets create a follow up to start executing these during a PR


Form generator does not match SDK Rc0

Describe the bug
As suggested by design the OnAssignEntity and OnChooseEntity triggers changed their filter name from 'entity' to 'value'.  The generator has been updated to generate those, but needs to be updated in the composer server or form generation will be broken.

verified


Is there anyway to apply ConcreteTypeDynamicRegistrations to Rules.MicrosoftDependencyInjectionRules?

I create the rules follow the code:
var rules = Rules.Default.WithConcreteTypeDynamicRegistrations(reuse: Reuse.Transient).WithMicrosoftDependencyInjectionRules();
or
var rules = Rules.MicrosoftDependencyInjectionRules.WithConcreteTypeDynamicRegistrations(reuse: Reuse.Transient);
but it doesn't work.

@caoyanmin
I wrote this simple example, and it works for me in DryIoc v5.3.2:
using System;
using DryIoc;

public class Program
{
	public static void Main()
	{
		var c = new Container(Rules.MicrosoftDependencyInjectionRules.WithConcreteTypeDynamicRegistrations());
		var o = c.Resolve<OtherService>();

		Console.WriteLine(o.Dependency);
	}

	internal interface IDependency
	{
	}

	internal class Dependency : IDependency
	{
	}

	internal class OtherService
	{
		public readonly Dependency Dependency;
		public OtherService(Dependency dependency) => Dependency = dependency;
	}
}

@dadhi Thank you for your answer!
But when I build a IHost with the Container, I got a exception. The code is:
using DryIoc;
using DryIoc.Microsoft.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace DryIocDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var rules = Rules.MicrosoftDependencyInjectionRules.WithConcreteTypeDynamicRegistrations(reuse: Reuse.Transient);

            var container = new Container(rules);

            var host = Host.CreateDefaultBuilder()
                .UseServiceProviderFactory(new DryIocServiceProviderFactory(container))
                .ConfigureServices(services =>
                {
                    services.AddSingleton<IService, Service>();
                }).Build();

            // When I resolve IService, I got a exception.
            var resolveFromInterface = container.Resolve<IService>();
            resolveFromInterface.SayHello();

            var resolveFromImplement = container.Resolve<Service>();
            resolveFromImplement.SayHello();

            host.RunAsync();
        }
    }

    public interface IService
    {
        void SayHello();
    }

    public class Service : IService
    {
        public void SayHello()
        {
            Console.WriteLine("Hello DryIoc");
        }
    }
}

@caoyanmin
Looking at it again, I am not sure that the problem is about the usage of WithConcreteTypeDynamicRegistrations.
Based on the fact that the IService is not resolved, seems like your registration not went into the container.
Could you check that by changing the order to this?
var host = Host.CreateDefaultBuilder()
                .ConfigureServices(services =>
                {
                    services.AddSingleton<IService, Service>();
                })
                .UseServiceProviderFactory(new DryIocServiceProviderFactory(container))
                .Build();

@caoyanmin Looking at it again, I am not sure that the problem is about the usage of WithConcreteTypeDynamicRegistrations. Based on the fact that the IService is not resolved, seems like your registration not went into the container. Could you check that by changing the order of extension calls on the builder?
var host = Host.CreateDefaultBuilder()
    .ConfigureServices(services =>
    {
        services.AddSingleton<IService, Service>();
    })
    .UseServiceProviderFactory(new DryIocServiceProviderFactory(container))
    .Build();

It doesn't work.

@caoyanmin What .NET version are you targeting and what DryIoc version is in use?
Plus, could you provide the whole example app for me to check?

@dadhi Here is the full demo project. This table show the result when I use different rules:

Rules
Resolve Interface From Container
Resolve Implement From Container
Resolve Interface From ServiceProvider
Resolve Implement From ServiceProvider

Rules.MicrosoftDependencyInjectionRules
✔
❌
✔
❌

Rules.MicrosoftDependencyInjectionRules.WithConcreteTypeDynamicRegistrations(reuse: Reuse.Transient)
❌
✔
✔
✔

Rules.Default.WithConcreteTypeDynamicRegistrations(reuse: Reuse.Transient)
❌
✔
✔
✔

Rules.Default.WithConcreteTypeDynamicRegistrations(reuse: Reuse.Transient).WithMicrosoftDependencyInjectionRules()
❌
✔
✔
✔

@caoyanmin Hi, thanks for the well-prepared example.
Indeed, there is the bug going on here.
I have provided the workaround in the PR for now: https://github.com/caoyanmin/DryIocDemo/pull/1

@caoyanmin Hi, the fix is pushed to the Nuget with DryIoc.Microsoft.DependencyInjection v6.1.1.
The thing is, you still need to pass RegistrySharing.Share as the second argument to new  DryIocServiceProviderFactory(container, RegistrySharing.Share))`.

@dadhi Thank you for your help!
I update the package to the last version, it works correctly.


Fix travis breaking from backwards incompatiblity

Fixes to address travis breaking.
Some of these are backwards incompatible PHP7.2 changes to work around

Chipping away at these. WIll continue after the world cup game :-/

It looks like I have nailed the problems affecting PHP7.1, and the "only" remaining PHP7.2 one has to do with ini_set(). I have found a workaround at https://github.com/yiisoft/yii/commit/0be5fbb5b359065beb2770feb262a4a8f689a309
If that is an acceptable approach, let me know & I shall fix ours similarly.

@jim-parry Kind of a pain to have to do that, but makes sense why they're doing it. I guess it makes sense why you shouldn't change session ini settings in the middle of a session, too. :) I guess I don't have an issue with that.
Bigger question, though, where are we changing session settings after it's started? If it's during session tests, are we sure we're always stopping the session after each test? Or is it something else that's causing it?

All the remaining errors arise in SessionTest, and it looks like they all stem from ultimately invoking Session:configure() aftera session has started. It could be that just that one method will need beefing up. I can play with that this evening.
It looks like this is one of the backwards incompatible changes for PHP7.2, and we can head it off at the pass if we are careful.

This is looking great so far. Nice job! I'm going to go ahead and merge to make it easier to see what errors are actually happening in some of these other PRs people have been waiting on.

Sounds good. I hope to have the session problem fixed this evening :)


Soft Delete Should Not Be Available Against Emulator Nodes

Changed mind. Won't fix.

Emulators may support some subset of the full feature set. If they don't support something then that's too bad. Not worth the time to constantly enable/disable/keep track of what they do and don't support.


homework-1

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
41

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


Some DAA Fixes As They Come Up

 TOXAPEX_54

Hey, what is the status of this one?

A couple more cards had issues or things I need to check. Shouldn't actually interfere with #883 and if it does, I can rebase.


keep_alive method not fully implemented

keep_alive method within Tarkov is not fully implemented, I can see you began implementation but currently have it commented out on Line 206 of index.js

Implementing this to the next version 👍

Thank you! Upon adding it myself into index.js using
Tarkov.prototype.keep_alive = async function() {
  try {
    let url = `https://${PROD_ENDPOINT}/client/game/keepalive`;
    let res = await this.post_json(url, {});
    console.log('\x1b[32m%s\x1b[0m', res);
  } catch (error) {
    throw new Error(error.message);
  }
}

Upon each call post_json() returns a 201 saying "Client not authorized or not selected game profile". I run the function after logged in and profile (pmc) selection. I'm assuming this is simply due to you having to do some work in other places too and it not being as simple as adding a method like I did.
I'll wait patiently for you update!

@bpluhar Thanks for the additional information🎉. I'll need look closer what is causing the issue.


Take max of licensed,staffed beds

This was fixed in #82

Was it? I thought this was about taking max?


Nanopolish new version seems to use huge memory results in core dumped error

Hi @jts
I have recently updated to the latest Nanopolish version (12.5).
I am trying to cal methylation on data from here https://github.com/nanopore-wgs-consortium/NA12878 (I only use r9.4 data). I am getting core dumped error frequently and when I just did htop it seems that Nanopolish uses really high memory and the job killed due as it occupies all the memory.
I have 1.5 T memory and I ran 4 nanopolish job each with 60 threads.
I face this problem with the new update. Do you know how much memory nanopolish uses for each thread?
BTW, I indexed reads without sequencing summary output.
Thanks,
Vahid.

Hi,
I can’t think of any changes that would cause this behaviour. Can you do make clean then recompile?
What command is giving high memory usage, and what version were you running previously?
Jared

On Apr 16, 2020, at 3:48 AM, Vahid<EMAIL_ADDRESS>wrote:

Hi @jts
I have recently updated to the latest Nanopolish version (12.5).
I am trying to cal methylation on data from here (I only use r9.4 data). I a getting core dumped error frequently and when I just did htop it seems that Nanopolish uses really high memory and the job killed due as it occupies all the memory .
I have 1.5 T memory and I ran 4 nanopolish job each with 60 threads.
I face this problem with the new update. Do you know how much memory nanopolish uses for each thread?
BTW, I indexed reads without sequencing summary output.
Thanks,
Vahid.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi @jts ,
I installed this version by conda.
the previous version was nanopolish version 0.11.3

What command are you running?
On Thu, Apr 16, 2020 at 1:22 PM Vahid<EMAIL_ADDRESS>wrote:

Hi @jts https://github.com/jts ,
I installed this version by conda.
the previous version was nanopolish version 0.11.3
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jts/nanopolish/issues/763#issuecomment-614785936, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC7DH3VQ3RD7P7GKJKZEQ3RM45FDANCNFSM4MJKHFYQ
.

nanopolish call-methylation -t 60 -r merged.fastq -b merged.sorted.bam -g hg38.fa -q cpg > merged_methylationCall.tsv

Reading your original post again, you are using 240 threads total. That is about 6GB of memory usage per thread, which does not seem excessively high.

Thanks, @jts .
I also noticed the change in calculate Methylation Frequency script for threshold and also grouped CpGs.
I have some old files called by older version. Is it ok to do methylation frequency output with the new script? or the methylation call step also changed accordingly?

just the script

Great! Thanks a lot for the hep, @jts .

Hi @jts ,
Sorry to ask again, but I tried with only 30 threads and it seems that nanopolish occupies memory gradually and finally results in core dumped error.
Here is the code I used:
/projects/vakbari_prj/anaconda3/envs/nanopolish/bin/nanopolish call-methylation -r MWON_0004_P.fastq -b MWON_0004_P.sorted.bam -g /projects/vakbari_prj/scratch/Human_RG/bwa/hg38.fa -q cpg -t 30
Here is the screenshot of top command:

As you see nanopolish occupied ~85% of memory which is about 1.2 T (the whole memory is 1.5T). It occupies memory gradually and I am sure this job will be killed next 1 or 2 days.
Here is Nanop[olish information:
nanopolish version 0.12.5

This is fixed in 0.13.2. Sorry for the bug.

Thanks a lot, @jts

No problem, I should have found it when you first reported this issue.


Charts data

Prerequisites
affected version: 2.12.0
Chipmunk round charts values: value 1.12 became 1. Chipmunk should not round values and apply float as well to build chart

#1048


matrix: plain text messages should not have html formatting

The formatted_body field of a matrix message should only be present when the message contains formatting that can not be expressed by the plain text body field.  However, this field is now being populated for every single matrix message being created.
example message
example source:
{
  "content": {
    "body": "[slack/dhill] testing bob",
    "format": "org.matrix.custom.html",
    "formatted_body": "[slack/dhill]
testing bob
\n",
    "msgtype": "m.text"
  },
  "event_id": "$154707001512568ilRFq:decred.org",
  "origin_server_ts":<PHONE_NUMBER>547,
  "sender": "@bridge:decred.org",
  "type": "m.room.message",
  "unsigned": {
    "age": 504
  },
  "room_id": "!VFRvyndKpzcLrVslQD:decred.org"
}

I would expect the formatted body to only be present if the message contained formatting such as bold, italics, lists (numbered or bullet), etc.

Hi,
I'm detecting the same thing, but it's more of a problem for me:
The use of the
 tag makes a new line between RemoteNickFormat and the body.
Contrary to the other bridges, a 1-line message bridged to matrix creates a 2-lines message (but a 1-line message from matrix creates a 1-line message to other bridges.
FYI, I'm using riot (web and mobile client) for the matrix bridge.
NB: I'm only using matrix and xmpp bridges, when I say "other bridges", I can only talk about xmpp, I'm assuming this is the case for all bridges from the screenshots (even though the screenshot about matrix/riot doesn't show this space between the RemoteNickFormat and the rest of the body).
Apart from that, thanks for this great work, with docker, it took me less than 10 min to connect xmpp and matrix :)

Fixed in master or dev build on https://bintray.com/42wim/nightly/Matterbridge/v1.14.0-rc2-3-g67f2c67#files


SpeechRecognizer Disposal throws Exception

the SpeechRecognizer is currently designed to throw an InvalidOperationException if you try and dispose it while RecognizeOnceAsync is running.
This is a huge antipattern. Nobody is expecting exceptions to get thrown from Dispose calls.
https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1065

Closing the item as we now have a work item on the backlog and will use that to track this feature request (no ETA). Please open a new issue if support on other topics is needed.


mariadb: support multiple versions

Motivation for this change
As with PostgreSQL, not every release of software is always compatible with the newest release of MariaDB.
Or maybe you just like an older version of MariaDB better for some other reason.
In any case, we have historically only been offering one version of MariaDB at a time, mainly because nobody implemented it, AFAICT.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Huh, and apparently just in time: https://mariadb.com/de/resources/blog/delivering-faster-innovation-to-mariadbs-community/

@ajs124 small cleanup:
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 1d8a64b5851..3f1f3448dad 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -2,7 +2,7 @@
 # Native buildInputs components
 , bison, boost, cmake, fixDarwinDylibNames, flex, makeWrapper, pkg-config
 # Common components
-, curl, libiconv, ncurses, openssl, pcre2, pcre
+, curl, libiconv, ncurses, openssl, pcre, pcre2
 , libkrb5, libaio, liburing, systemd
 , CoreServices, cctools, perl
 , jemalloc, less
@@ -41,7 +41,7 @@ commonOptions = packageSettings: rec { # attributes common to both builds
     curl libiconv ncurses openssl zlib
   ] ++ (packageSettings.extraBuildInputs or [])
     ++ lib.optionals stdenv.hostPlatform.isLinux ([ libkrb5 systemd ]
-      ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ]))
+    ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ]))
     ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl ]
     ++ lib.optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ]
     ++ (if (lib.versionOlder version "10.5") then [ pcre ] else [ pcre2 ]);

Neded adding mariadb 10.3? Support to May 2023.

I tried that, but ran into issues. I mainly wanted this so we can do it going forward. If anyone actually needs 10.3, I'd try and add it again, but if nobody does, then I think we can just omit it.

LGTM except for the comment above.
Approve & merge should be done by someone who actually uses (or even maintains) mariadb here :)

If enable build mariadb 10.4 with storage tokudb needed jamalloc 4.5.0.

If enable build mariadb 10.4 with storage tokudb needed jamalloc 4.5.0.

We don't have that in nixpkgs anymore. What do you suggest? Disabling tokudb for older releases?

We can also just drop 10.4, I don't think somebody has an issue with us not re-introducing an old version we didn't ship previously

TokuDB is already disabled by default:
"-DWITHOUT_TOKUDB=1"

If TokuDB is not needed by anyone, then you can leave it unchanged.

🎉
Thanks everyone!

Where is that used? I cannot find any uses in nixos/ and pkgs/

Nixos might not package this kind of applications, but it’s a common occurence in symfony (doctrine) websites for instance: https://symfony.com/doc/current/reference/configuration/doctrine.html#doctrine-dbal-configuration . It’s the equivalent of postgresql.psqlSchema for postgresql (although in mariadb it’s more a protocol information than a schema information)


Separate connection between database layer and controllers.

I have made slight modifications in services and added methods so that controllers do not need to use database layer. Only services know the database.

Your pull request is good but I will leave the code as it is from the lecture.


We got "404" when we click the hyperlink "English"

We only got "404", when we click the hyperlink "English" in the boatiosdk-M5311-dev branch

select boatiosdk-M5311-dev branch
click the "docs" folder
click the hyperlink "English" at the web page bottom
We would only get "404".

Same issue with #400.


Remove LocalDiskArrowTableCache and use latest pickle protocol for local caching

Removing last class that was using deprecated pyarrow serialization (#612). Bumping up pickle protocol to highet to improve performance of local persistent caching.

What's reason of doing this? Dumping pickle objects to disk is enough?

What's reason of doing this? Dumping pickle objects to disk is enough?
Mostly because of the request in #612 to stop using deprecated pyarrow API. I think modern pickle with high pickle profile should be sufficient. That being said, I did not run detailed performance analysis on this.


Github and portfolio links are missing only linkedin link is there . It will be really great if user can show there github and portfolio

I can try to work on this issue.

need to discuss with repo maintainers

sorry for the late reply . if you interested to work on this issue leave comment "interested" i will assign you this issue.

hey @Khizarshah01 I am busy in some other stuff if the PR is raised for this issue then kindly close this issue :)

Yes, I am interested.
@Khizarshah01

@debasish-dutta go ahead

I'll do this by the end of the month

@Khizarshah01 do check the pull


hls_search: bad timing on all cards

Hi,
I am not able to build hls_search example images, because the timing is really bad.
This might take more than an hour depending on the machine used
The process may be terminated by pressing -C at any time.
After termination it can be restarted later.
                    patching SNAP version and build date registers

INFO: [Common 17-1239] XILINX_LOCAL_USER_DATA is set to 'no'.
open framework project                                      17:31:47 Fri Mar 02 2018
start synthesis         with directive: Default             17:32:01 Fri Mar 02 2018
start opt_design        with directive: Explore             17:56:50 Fri Mar 02 2018
reload opt_desing DCP                                       18:08:49 Fri Mar 02 2018
Prevent placing inside  PSL                                 18:11:26 Fri Mar 02 2018
start place_design      with directive: Explore             18:11:26 Fri Mar 02 2018
start phys_opt_design   with directive: Explore             18:30:51 Fri Mar 02 2018
start route_design      with directive: Explore             18:48:17 Fri Mar 02 2018
start opt_routed_design with directive: Explore             00:36:34 Sat Mar 03 2018
generating reports                                          03:38:57 Sat Mar 03 2018
Timing (WNS)            -2354 ps
ERROR: TIMING FAILED

All cards?
Which card for this case?
This WNS is a little terrible. Something must be wrong.

@ThomasFuchs I'm working on it on a separate branch "HLS_search_update". I did some cleaning and have some good results. I will tell you when this can be tested Not everything is pull up yet in github

@ThomasFuchs  #680 pull request should solve your timing issue. Let jenkins see if that's ok on this branch

Pullrequest#680 merged to master

Issue #682 found after merge is independent of this timing issue

Timing looks pretty good for hls_search now


Updated to latest and fixed URL schema

Updated blender-beta to latest daily build and fixed incorrect URL schema (as url was in single quotes but uses #{version})

In the future, please keep the cask name in the short part of the commit message (preferably at the start).

Apologies, have amended pull request to add the empty line.

Have closed for now as on reflection this isn't blender-beta but blender-daily. It was brought to my attention as brew cask audit is failing because of this cask, but not sure amending is the right move.


MythTV image

Hello,
I would like to build a custom image for MythtvLight for Raspbian Stretch following instructions here and here.
Is this the correct way to setup  the repository?
# cat repos/MythTV/multistrap.list.in
[MythTV]
packages=mythtv-light
source=http://dl.bintray.com/bennettpeter/deb
components=main
suite=__SUITE__
omitdebsrc=true

How can i pull in the gpg package key?

I wouldn't put the packages in there, that means they are required for bootstrapping which isn't the case.  Make a plugin for the packages.
since it's a file gpg you'll need to add that to the plugin.
see https://github.com/TheSin-/rpi-img-builder/tree/master/plugins/Foundation/apt-key for an example of hose this is done.

Ok, i created the plugin as follows:
$ cat plugins/mythtvlight/apt-key/preinst
#!/usr/bin/env bash
set -e
wget https://bintray.com/user/downloadSubjectPublicKey\?username=bintray -O rootfs/apt-keys/bintray-keyring.asc

$ cat mythtvlight/packages
mythtv-light

Where do i specify the repo source (deb http://dl.bintray.com/bennettpeter/deb/ stretch myth29)?

I specified the repo details as follows:
$cat plugins/mythtvlight/apt-key/preinst
#!/usr/bin/env bash
set -e

wget https://bintray.com/user/downloadSubjectPublicKey\?username=bintray -O rootfs/apt-keys/bintray-keyring.asc
echo "deb http://dl.bintray.com/bennettpeter/deb/ stretch myth29" >> rootfs/etc/apt/sources.list

But my build bombed,
Building dependency tree... Done
E: Unable to locate package mythtv-light
rootfs.mak:108: recipe for target '/home/rs4/rpi/rpi-img-builder/rootfs' failed
make[1]: *** [/home/rs4/rpi/rpi-img-builder/rootfs] Error 100
Makefile:21: recipe for target 'build-rootfs' failed
make: *** [build-rootfs] Error 2

no you need to keep the repo how you had it just remove the packages= line.  So not write to sources.list directly so remove the echo line form the inst script.
in your repo .in file change components=main to components=myth29
then in your make line remember that REPOS should be "Raspbian MythTV"

Thanks, the image is building now.
I need to do a few more steps:
I need to copy file called mysql.txt at /home/pi/.mythtv. If i create a file in the plugins directory would that do the trick?
$ ls mythtvlight/files/home/pi/.mythtv/mysql.txt
mythtvlight/files/home/pi/.mythtv/mysql.txt

In /boot/config.txt, i need "gpu_mem=256 ". How can this be specified?

yes it would
just include you're own version of config.txt in the files as well, copy the one from the base and modify it how you like.
so make files/home/pi/.mthtv/mysql.txt and files/boot/config.txt in your plugin

The files/home/pi/.mthtv/mysql.txt was created on the pi but it permissions was set to root:root. The uid:gid should be set to 1000:1000, do i need to create a postint like so?
$plugins/mythtvlight/postinst
#!/bin/sh
chown -R pi:pi /home/pi

yes sadly it would be root, in the postinst you can change it though do a chown -r pi: /home/pi or something

Kodi refuses to install for me with an error:
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 kodi : Depends: kodi-bin (>= 2:17.3-1~jessie) but it is not going to be installed
        Depends: kodi-bin (< 2:17.3-1~jessie.1~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
rootfs.mak:108: recipe for target 'rpi/rpi-img-builder/rootfs' failed

I was building using make REPO="Raspbian MythTV". Any idea why is that?
By the way do i need Foundation in the REPO as well?

I tried to use another kodi repo with files [here] (http://pipplware.pplware.pt/pipplware/dists/stretch/main/binary/). Unfortunately, I am not getting the repo definition right:
My repo definition is
# cat repos/Kodi/multistrap.list.in
[Kodi]
source=http://pipplware.pplware.pt/pipplware
components=main
suite=__SUITE__
omitdebsrc=true

It fails as follows:
Get:8 http://archive.raspberrypi.org jessie/ui armhf Packages [58.9 kB]
Err http://pipplware.pplware.pt stretch/main armhf Packages
  404  Not Found
Ign http://pipplware.pplware.pt stretch/main Translation-en_US
Ign http://pipplware.pplware.pt stretch/main Translation-en
Ign http://archive.raspberrypi.org jessie/main Translation-en_US
Ign http://archive.raspberrypi.org jessie/main Translation-en
Ign http://archive.raspberrypi.org jessie/ui Translation-en_US

I don't know what Kodi uses, but make sure you use the right suite and components for each repo

The Foundation repo file is set to suite=jessie while Raspbian default is stretch. Is that a conflict?


Properly handle quoted strings in the sample default configuration values

If RHS is a string literal, return the unquoted string. Otherwise, return the RHS as it is for backward compatibility.

Codecov Report

Merging #2494 into master will decrease coverage by <.01%.
The diff coverage is 85.71%.

@@             Coverage Diff              @@
##             master    #2494      +/-   ##
============================================
- Coverage     86.78%   86.78%   -0.01%
  Complexity     5374     5374
============================================
  Files           459      459
  Lines         21218    21222       +4
  Branches       2311     2312       +1
============================================
+ Hits          18414    18417       +3
  Misses         1974     1974
- Partials        830      831       +1

Impacted Files
Coverage Δ
Complexity Δ

...e/api/codegen/transformer/InitCodeTransformer.java
94.81% <100%> (+0.04%)
94 <0> (ø)
:arrow_down:

...gle/api/codegen/metacode/FieldStructureParser.java
87.05% <50%> (-1.18%)
22 <0> (ø)

Continue to review full report at Codecov.

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

PTAL @vchudnov-g

@vchudnov-g PTAL


Strange behavior for vsphere deployments

I get this message when deploying mysql from edge in a sphere cloud.
App           Version  Status   Scale  Charm         Channel   Rev  Exposed  Message
mysql                  blocked      1  mysql         edge      132  no       Failed to configure instance for InnoDB
mysql-router  8.0.32   blocked      1  mysql-router  8.0/edge   61  no       'db-router' incomplete, 'shared-db' missing, MySQL Router not yet bootstrapped
slurmctld     69a8126  blocked      1  slurmctld     edge       50  no       Machine needs reboot
slurmd        8800da8  blocked      1  slurmd        edge       60  no       Machine needs reboot
slurmdbd      b5b1f35  blocked      1  slurmdbd      edge       43  no       Machine needs reboot

Unit               Workload  Agent  Machine  Public address  Ports  Message
mysql/1*           blocked   idle   4        <IP_ADDRESS>         Failed to configure instance for InnoDB
slurmctld/0*       blocked   idle   1        <IP_ADDRESS>          Machine needs reboot
slurmd/0*          blocked   idle   0        <IP_ADDRESS>          Machine needs reboot
slurmdbd/0*        blocked   idle   2        <IP_ADDRESS>         Machine needs reboot
  mysql-router/0*  blocked   idle            <IP_ADDRESS>         'db-router' incomplete, 'shared-db' missing, MySQL Router not yet bootstrapped

The command I used: juju deploy mysql --channel edge --constraints "cores=2 mem=4G root-disk=20G" --series jammy
This is what I see in the logs:
unit-mysql-1: 14:45:12 INFO juju.worker.uniter.operation ran "config-changed" hook (via hook dispatching script: dispatch)
unit-mysql-1: 14:45:12 INFO juju.worker.uniter found queued "start" hook
unit-mysql-1: 14:45:13 INFO unit.mysql/1.juju-log Running legacy hooks/start.
unit-mysql-1: 14:45:13 INFO unit.mysql/1.juju-log Retrieving the total memory of the server
unit-mysql-1: 14:45:20 ERROR unit.mysql/1.juju-log Failed to configure instance: <IP_ADDRESS> with error b'Cannot set LC_ALL to locale en_US.UTF-8: No such file or directory\nConfiguring local MySQL instance listening at port 3306 for use in an InnoDB cluster...\n\nThis instance reports its own address as \x1b[1mjuju-d4ca05-4:3306\x1b[0m\nClients and other cluster members will communicate with it through this address by default. If this is not correct, the report_host MySQL system variable should be changed.\n\x1b[31mERROR: \x1b[0mCannot use host \'juju-d4ca05-4\' for instance \'juju-d4ca05-4:3306\' because it resolves to an IP address (<IP_ADDRESS>) that does not match a real network interface, thus it is not supported. Change your system settings and/or set the MySQL server \'report_host\' variable to a hostname that resolves to a supported IP address.\nTraceback (most recent call last):\n  File "<string>", line 1, in <module>\nRuntimeError: Dba.configure_instance: Invalid host/IP \'juju-d4ca05-4\' resolves to \'<IP_ADDRESS>\' which is not supported.\n\n'
Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysql_vm_helpers.py", line 493, in _run_mysqlsh_script
    return subprocess.check_output(
  File "/usr/lib/python3.10/subprocess.py", line 420, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['charmed-mysql.mysqlsh', '--no-wizard', '--python', '-f', '/var/snap/charmed-mysql/common/tmpz3k2lver']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/lib/juju/agents/unit-mysql-1/charm/lib/charms/mysql/v0/mysql.py", line 588, in configure_instance
    self._run_mysqlsh_script("\n".join(configure_instance_command))
  File "/var/lib/juju/agents/unit-mysql-1/charm/src/mysql_vm_helpers.py", line 497, in _run_mysqlsh_script
    raise MySQLClientError(e.stderr)
charms.mysql.v0.mysql.MySQLClientError: b'Cannot set LC_ALL to locale en_US.UTF-8: No such file or directory\nConfiguring local MySQL instance listening at port 3306 for use in an InnoDB cluster...\n\nThis instance reports its own address as \x1b[1mjuju-d4ca05-4:3306\x1b[0m\nClients and other cluster members will communicate with it through this address by default. If this is not correct, the report_host MySQL system variable should be changed.\n\x1b[31mERROR: \x1b[0mCannot use host \'juju-d4ca05-4\' for instance \'juju-d4ca05-4:3306\' because it resolves to an IP address (<IP_ADDRESS>) that does not match a real network interface, thus it is not supported. Change your system settings and/or set the MySQL server \'report_host\' variable to a hostname that resolves to a supported IP address.\nTraceback (most recent call last):\n  File "<string>", line 1, in <module>\nRuntimeError: Dba.configure_instance: Invalid host/IP \'juju-d4ca05-4\' resolves to \'<IP_ADDRESS>\' which is not supported.\n\n'

Deploying on focal gives an different error
unit-mysql-0: 14:39:51 INFO juju.worker.uniter awaiting error resolution for "storage-attached" hook
unit-mysql-0: 14:39:51 WARNING unit.mysql/0.database-storage-attached /usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.15) or chardet (3.0.4) doesn't match a supported version!
unit-mysql-0: 14:39:51 WARNING unit.mysql/0.database-storage-attached   warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
unit-mysql-0: 14:39:51 WARNING unit.mysql/0.database-storage-attached Traceback (most recent call last):
unit-mysql-0: 14:39:51 WARNING unit.mysql/0.database-storage-attached   File "./src/charm.py", line 23, in <module>
unit-mysql-0: 14:39:51 WARNING unit.mysql/0.database-storage-attached     from charms.mysql.v0.tls import MySQLTLS
unit-mysql-0: 14:39:51 WARNING unit.mysql/0.database-storage-attached   File "/var/lib/juju/agents/unit-mysql-0/charm/lib/charms/mysql/v0/tls.py", line 30, in <module>
unit-mysql-0: 14:40:31 INFO juju.worker.uniter awaiting error resolution for "storage-attached" hook
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached /usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.15) or chardet (3.0.4) doesn't match a supported version!
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached   warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached Traceback (most recent call last):
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached   File "./src/charm.py", line 23, in <module>
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached     from charms.mysql.v0.tls import MySQLTLS
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached   File "/var/lib/juju/agents/unit-mysql-0/charm/lib/charms/mysql/v0/tls.py", line 30, in <module>
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached     from charms.tls_certificates_interface.v1.tls_certificates import (
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached   File "/var/lib/juju/agents/unit-mysql-0/charm/lib/charms/tls_certificates_interface/v1/tls_certificates.py", line 257, in <module>
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached     from cryptography import x509
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached   File "/var/lib/juju/agents/unit-mysql-0/charm/venv/cryptography/x509/__init__.py", line 6, in <module>
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached     from cryptography.x509 import certificate_transparency
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached   File "/var/lib/juju/agents/unit-mysql-0/charm/venv/cryptography/x509/certificate_transparency.py", line 10, in <module>
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached     from cryptography.hazmat.bindings._rust import x509 as rust_x509
unit-mysql-0: 14:40:31 WARNING unit.mysql/0.database-storage-attached ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /var/lib/juju/agents/unit-mysql-0/charm/venv/cryptography/hazmat/bindings/_rust.abi3.so)

This charm seems to deploy just fine in my local lxd environment .... but fails on vsphere.
How could I investigate this further?

@kwmonroe comments https://github.com/juju-solutions/charm-mysql/issues/44#issuecomment-1482191690

Dear James,
Thank you for the bugreport! We will check it and come back. At the moment it is a first bugreport about usage vsphere and I suspect something similar to recently addressed MaaS issue: https://github.com/canonical/mysql-operator/issues/121.
At the moment mysql charm is in active migration process. The stable and edge risks have completely different codebase (reactive charm VS operators framework (OF)).
Let's continue discussion here for the OF charm in edge risk. You are correct, we have two series there focal and jammy. Please focus on jammy and do NOT use focal as we do not update focal for a while(focal revision 86, jammy revision 133).
Hope this will bring you a bit more light to the situation.

Hello @jamesbeedy ,
there's a proposed fix on PR#170
In the meantime, the proposed fix is also published to a temporary charmhub branch (expire 2023-04-27), that you can deploy with:
juju deploy mysql --channel edge/vsphere --series jammy

Just great! Thank you @paulomach!


Improve drop name extraction logic.

This one line deletes characters up to and including the last colon wherever that may be.

I have a much better pull request coming soon.


robux appearing twice at the top

Hi, I'm sorry if my English is not correct, I'm using a translator.
As you can see in the image above, "robux" appears twice instead of just once.

attached files

is your website domain web.roblox.com?


NTreeSelect: prop checkable doesn't work

TuSimple/naive-ui version (版本)
2.15.6
Vue version (Vue 版本)
3.2.0-beta.4
Browser and its version (浏览器及其版本)
Chrome
System and its version (系统及其版本)
MacOS
Node version (Node 版本)
Reappearance link (重现链接)
https://codesandbox.io/s/3qy1v
Reappearance steps (重现步骤)
prop checkable doesn't work
Expected results (期望的结果)
fix
Actual results (实际的结果)
fix
Remarks (补充说明)

Sorry, this is NTreeSelect's demo bug, you can refer to https://codesandbox.io/s/14318


Set a defaultDate

Do you want to request a feature or report a bug?
feature
What's the current behavior?
It's not well known to users they need to set a defaultDate for the calendar to work correctly. In the spirit of having sensible defaults, I think it makes sense to provide a defaultDate to the uncontrollable HOC.

What's the expected behavior?
Have the calendar "just work" without having to set a defaultDate.

Related Issues
#718, #722, #834, #870

This is fixed in #889


Docs: packages/handbook-v1/en/declaration files/Introduction.md -- DT mention

packages/handbook-v1/en/declaration files/Introduction.md, top:
If this is text is geared towards DT publishers, it should be clear in the beginning of the text --- or at least mentioned as common reason to read it.

Agree, the introduction now has an opening paragraph to send those folks off to a different page


Documentation for secure storage

This should include the abstract database schema (details vary between backends) and the encryption and decryption processes.

Any updates on this task @andrewwhitehead ?

Hey @andrewwhitehead -- did this work get done?  I recall you've been working on this.  Thanks!

Closed by #37


Narrative PDFs are being referenced incorrectly in the DMPHub JSON record

For an example, see DMP#doi.org/10.48321/D1BF4BE9E7 the last entry is the most relevant.
In reality, the PostNarrative Lambda should do the following:

replace the existing entry
delete the old narrative PDF from S3 (unless it is referenced by a prior version)
update the GetDmp Lambda so that it only ever returns the last entry (in the event that there are multiples again)

Updated the landing page to always take the last entry in PR #157 as a temporary fix which makes this work less of a priority but something we should still address


Images inside of list of elements

When I put a figure in a list and aligned it with the elements of the list weir artifact of code appear under the image.

fixed in cd4e0552e08c825e3aa03659b306c39698a26470

finally fixed in 14cf2b3d18607c0881449c6c02de6f5f922fdcde


Fix for ArConnect repo or any other repo with simillar file structure

Can you try this and tell me if it works
Sorry about the dist folder I need it for using npm install directly with github

Ill try it today

Have you ever had the chance to check if it works ?


Page code is included in search results

Whenever the search index is generated, it's coming before some of the other templates have rendered so template code is leaking into the index (and the final converted text is missing).

Seeing it again now actually. Hmm!

In the meantime, simply adding exclude_from_search: true to the front matter of those prototype pages gets the job done.

We need to skip non HTML files as well, like its own search index!


add base images for future scientific builds

About
Creation of new base images, so we can create more docker wrappers around scientific python projects.

Are you sure we want one image for all research projects? They might use different Theano or even Python versions. I think it's fine to have a base but it shouldn't even install Python.  We can have specifics deps per project.

Files renamed, and set up with the same structure as official docker python.

        Dockerfile

            Dockerfile


Scroll up, and then stick as container scrolls off top?

It's not apparently clear to me if this can be done:

User scrolls page (which has the 300px gradient box and 60px bar) up and under the top 50px header, sticking to the bottom edge of the top header.  So, when scrolling is done, you just have the 2 bars left?
How would I approach that?  I've tried a few combinations of settings, but my bar always scrolls off.
Note, I have already fixed the top header via other means.  It's fixed permanently.

You would need to measure the distance of the bottom bar from the top of the page, and set that as the offset. Then use the classes which headroom applies to position it correctly (most likely changing is to position:fixed)
var bottomBar = document.querySelector(".blah");
var hr  = new Headroom(bottomBar, {
  offset : window.pageYOffset + bottomBar.getBoundingClientRect().top
});
hr.init();

You will probably get some kind of "jump" in content where the element has been taken from the flow by fixed positioning. This is something you would have to workaround yourself (probably have a wrapper element which maintains the height of the actual bottom bar, so it doesn't collapse when removed from flow)


Extended README.MD with minimal doc

Hi there, just extended a bit the README.MD to specify all available methods you can use within a resource and provided an example usage with an existing endpoint.

Thanks


Disable control bar for CallWithChat and Calling Composite when on Hold

What

Disables buttons when in hold
Why

Disables the control bar buttons that cannot be actioned when on hold.

https://skype.visualstudio.com/SPOOL/_workitems/edit/2950563
How Tested

ran locally and inspected behaviors

we have some interesting snapshots here


Training tables

Description
Added empty up/down functions to empty migration.
Fixes # (issue)
Type of change

[ x ] Bug fix (non-breaking change which fixes an issue)

Change Status

[ x ] Complete, tested, ready to review and merge

Checklist

[ x ] My code follows the style guidelines of this project
[ x ] I have performed a self-review of my own code
[ x ] My changes generate no new warnings
[ x ] New and existing unit tests pass locally with my changes
[ x ] There are no merge conflicts

tests working


using 'external' as a type annotation should be a compile-time error

This code should be a compile-time error:
main() {
  try {
    external foo;
  } catch (e) {}
}

Proposed fix in CL<PHONE_NUMBER>.


API design for oneshot sender

OneshotAsyncSender::send is async, and OneshotSender::send uses a for loop
they are not necessary, as an oneshot sender can immediately know if a receiver is dropped.
e.g. tokio::sync::oneshot::Sender provides a send that immediately returns

The sender relies on the receiver to allocate a buffer on its stack, other libraries use heap memory for transfer, kanal uses the stack. Loop is there that in case of contention algorithm could adapt to the changes in transfer protocol.


Fix find command description in Command Summary

Fixes #289
Simply adds an additional note beside the command format.

Codecov Report

Merging #324 (02677d7) into master (ecc821f) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #324   +/-   ##
=========================================
  Coverage     71.35%   71.35%
  Complexity      689      689
=========================================
  Files           125      125
  Lines          2287     2287
  Branches        255      255
=========================================
  Hits           1632     1632
  Misses          545      545
  Partials        110      110

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Jenkinsfile dp wh

@vishnu1411 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


Address::from_script does segwit v0 checks but not v1

We recently worked on improving the Address::from_script method. There are some inconsistencies in round tripping one of the test vectors. We should investigate this. This issue is intentionally vague because its a reminder to investigate something my brain is not fully processing right now.
(see https://github.com/rust-bitcoin/rust-bitcoin/pull/1021#issuecomment-1141827921 for more context)

Closing because I wrote such a rubbish description, PR to come.


Use jest and node-fetch for tests

Resolves #703. One test (currently set to skip) is tied to #848. I'll make the change to unskip it on the PR last to get merged.

Hmm... the travis error is very confusing to me. Can anyone replicate it locally?
The denoted file+line is just });. Also, there's no combination of request and done in any test, as the error would suggest. There's also never a circumstance where request(...).get would be accessed.

Oh, that's because the tests were preformed on a rebase, and new tests have been added. I'll fix that.

Rebased. Not sure why Travis is taking some time to run, but it should work when it does.

I'm -1.
No, we use supertest for a long time and it work great for me.
I don't see any good reason change to use node-fetch.

@fengmk2 Supertest is:

no longer maintained
based on callbacks not promises
without a good way to test for the absence of headers

I think that we need to switch at some point in time without a doubt. I'd much prefer to switch now than later.

Also, I can't see any advantage of supertest over node-fetch. I've already done all the work to switch, and in some cases the code clearly gets simpler, so why not?

Travis has passed.

R.I.P. Travis

supertest is extend from superagent. and superagent has faux Promise support since v1.3.0
https://github.com/visionmedia/superagent/blob/v1.3.0/lib/node/index.js#L1027
-1 on node-fetch. fetch always reminds that's GET 😂

Ah, I see. I wasn't aware that superagent was updated. However, I still don't like using supertest, as once again it is unmaintained.
If we'd like to explicitly specify GET, then I can add that to the wrapper API. However, I still support node-fetch as the base.

Sorry for switching to node-fetch without asking first, I thought the consensus was once we had async/await we should switch away from supertest.

One other thing about my node-fetch wrapper: it automatically closes the HTTP server, so the Jest process will exit after finishing the tests (not the case with our current supertest usage).

without a good way to test for the absence of headers

We can send a pull request to supertest then make it happen.

The one thing I realized supertest has going for it is that it's error messages are more relevant to the context of the assertion.
At this point, I think supertest is acceptable. I'm still not sure it's better though.

@gibfahn Good points. I've added those, except I chose npm run test-cov instead of npm run coverage as that's what we previously had.

Hmm, that Travis failure is very odd. Retrying.

That time it passed. Given that it was a syntax error I'm not sure it was caused by jest. I'll investigate further if it occurs again.

The test relying on #848 is proving to be a bit more difficult than thought. I'll look into it later today.

Okay I've updated the socket.writable test (depends on app.callback returning a promise). It's maybe a bit too complicated, but it should be fairly secure against future changes.

my opinions:

stick to supertest@3 instead of node-fetch, which seems to be the consensus
use assert instead of expect, which I don't really care about

OK, I'll open a new PR with those changes later today hopefully.

@PlasmaPower thanks for all your work!!!

I'm leaning towards a custom supertest wrapper, as we also need to shutdown the server. Is that okay?
Also, for now, I think I'll implement header not existing tests through that wrapper, then maybe make a PR to supertest in the future.

I haven't had much time to work on this, if anyone wants to pick it up feel free.


Upgrade to aws-sdk-go-v2

Resolves #7
Notes:

The tests were failing before this change:

--- FAIL: TestPublishSubscribe (0.00s)
    --- FAIL: TestPublishSubscribe/TestSubscribeCtx (0.02s)
        --- FAIL: TestPublishSubscribe/TestSubscribeCtx/bbcfa738-10bc-4f92-a061-47a059e4bda1 (0.02s)
            require.go:794:
                        Error Trace:    test_pubsub.go:874
                        Error:          Received unexpected error:
                                        :
                                                status code: 400, request id:
                        Test:           TestPublishSubscribe/TestSubscribeCtx/bbcfa738-10bc-4f92-a061-47a059e4bda1
    --- FAIL: TestPublishSubscribe/TestContinueAfterSubscribeClose (0.02s)
        --- FAIL: TestPublishSubscribe/TestContinueAfterSubscribeClose/ae31cfec-1d19-4bf6-afa6-a4287dd7196a (0.02s)
            require.go:794:
                        Error Trace:    test_pubsub.go:521
                        Error:          Received unexpected error:
                                        :
                                                status code: 400, request id:
                        Test:           TestPublishSubscribe/TestContinueAfterSubscribeClose/ae31cfec-1d19-4bf6-afa6-a4287dd7196a
-- snipped --

The tests are still failing after this change, but it does not appear to be related to upgrading to aws-go-sdk-v2:

panic: operation error SQS: ReceiveMessage, context canceled

goroutine 568 [running]:
github.com/ThreeDotsLabs/watermill-amazonsqs/sqs.Subscriber.Subscribe.func1()
        /F21/watermill-amazonsqs/sqs/subscriber.go:54 +0x16c
created by github.com/ThreeDotsLabs/watermill-amazonsqs/sqs.Subscriber.Subscribe
        /F21/watermill-amazonsqs/sqs/subscriber.go:49 +0x417
FAIL    github.com/ThreeDotsLabs/watermill-amazonsqs/sqs        0.333s
FAIL

cmd/sns-sqs/main.go and cmd/sqs-sqs/main.go work correctly.

This was actually fixed in https://github.com/ThreeDotsLabs/watermill-amazonsqs/pull/14, so this PR is no longer relevant.


Fatal error: Interface 'Psr\Cache\CacheItemPoolInterface' not found

Is the documentation completely outdated?
If I try to include stash, this will shown up:
Fatal error: Interface 'Psr\Cache\CacheItemPoolInterface' not found
include_once ('./autoload.php');
$driver = new Stash\Driver\Sqlite(array('path' => './cache/'));
$cache = new Stash\Pool($driver);

The newest version of Stash requires the PSR-6 interfaces. If you are loading this library by itself then you should also load those classes. I highly recommend using Composer to take care of this instead.

Ah okay, thank you, now it works.
I used Stash several months ago and I just tried the same way to implement this as I thought it should work. Thank you for your help.


Replace usage of Bullet Physics with Rapier Physics

http://rapier.rs is a pure Rust physics library.
A side effect of the Rust port is that the physics code is still implemented in C++ with Bullet Physics. This ends up with a weird hack where we have to compile and link C++ code during the Rust build process. Moving to Rapier allows us to remove the last remaining part of C++ code, making compilation much faster. Rapier is also better performant, and is a prerequisite for us to implement true large world support.
This PR utilises the 64-bit version of Rapier, which means all physics calculations are done with 64-bit floats now. Once we've implemented relative rendering, and we represent positions in game logic in 64-bit, that should be enough for us to support large worlds properly.

Btw, would it be possible to switch to stable Rust with this PR?

Btw, would it be possible to switch to a stable Rust with this PR?

Yep I'll try and do this now.


[BUG] Usemany not populating relations no StrapiV4

Describe the bug
When you use useMany hook, metadata-> populate generate a proper URL
To Reproduce
use this code as template:
const { data: casosData, isLoading }: any = useMany<any>({
    resource: "casos",
    ids: [2, 3],
    metaData: {
      populate: ["pessoa_fisicas"],
    },
  });

It will make this request:   http://<IP_ADDRESS>:1337/api/casos?filters[id][$in]=2&filters[id][$in]=3
I should make this request: http://<IP_ADDRESS>:1337/api/casos?filters[id][$in]=2&filters[id][$in]=3**&populate=pessoa_fisicas**

Used dataProvider: Strapi

Additional context
I also tried with a Simple Rest API and it seems it wont work either.

Hey @albcunha ,
I've created #1958 . We will release it when we get enough approval from the core team! (probably today) 🚀

Hey @albcunha ,
We've released<EMAIL_ADDRESS>🎉 Could you approve this fix?

Hello! The new release is not working properly. :(
The same query is retrieving this url:
http://<IP_ADDRESS>:1337/api/casos/**2,3**&populate=pessoa_fisicas.
It should retrieve this:
http://<IP_ADDRESS>:1337/api/casos?filters[id][$in]=2&filters[id][$in]=3**&populate=pessoa_fisicas**
Also, according to Strapi docs (https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest/filtering-locale-publication.html#find-multiple-restaurants-with-ids-3-6-8) , the correct url should be this:
http://<IP_ADDRESS>:1337/api/casos?filters[id][$in]**[0]**=2&filters[id][$in]**[1]**=3&populate=pessoa_fisicas
I don´t know if matters, though.

Uhmm I'll check it tomorrow but I created requests for unit tests and it looked correct. Thank you!
https://github.com/pankod/refine/blob/next/packages/strapi-v4/test/dataProvider/index.mock.ts#L858

It was working. I mistook useOne for useMany on the real/original hook.


CTP2.2 update for container image

@vin-yu : Thanks for your contribution! The author, @rothja, has been notified to review your proposed change.


Use the custom HTTP transport when any HTTP settings are present

r? @matklad
(rust_highfive has picked a reviewer for you, use r? to override)

/cc @alexcrichton

I'll probably need a bit of guidance on how the two failing tests should behave.

Urgh. So the problem here is that the tests are asserting that the error message looks "mostly correct" but they're being a bit strict about the error message itself.
I'm not 100% sure that this is directly related to this change because in theory on AppVeyor this PR doesn't actually change behavior. Unless maybe AppVeyor has global Cargo configuration installed now? (not sure)
The tests are pretty important to make sure that the right support was compiled in (we want a "failed to connect" error not "ssl not supported" error) but actually matching the error is sort of difficult. Maybe the test assertions could just be tweaked though?

@bors: r+

:pushpin: Commit b456b58 has been approved by alexcrichton

:hourglass: Testing commit b456b5803e7342674d24245f98bc34ec8312bdd2 with merge eeb724debbdb063d83394a5949979c2cb46f09a2...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing eeb724debbdb063d83394a5949979c2cb46f09a2 to master...


dhcp network boot uefi 64 bit broken

Using OPNSense 18.1.2, https://opn.sense/services_dhcp.php?if=xxx1
The UI allows providing different boot files for Legacy BIOS/EFI IA32/UEFI X86_64 bit which make it into the dhcpd configuration file.
  if option arch = 00:06 {
    filename "EFI32";
  } else if option arch = 00:07 {
    filename "EFI64";
  } else {
    filename "BIOS";
  }

This switch is unfortunately broken. https://tools.ietf.org/html/rfc4578#section-2.1 lists the architectures, 7 is EFI BC, the correct code for 64 bit is 9.
A UEFI64 bit request is served the catch-all BIOS filename.
The switch should read:
  if option arch = 00:06 {
    filename "EFI32";
  } else if option arch = 00:09 {
    filename "EFI64";
  } else {
    filename "BIOS";
  }

Ideally the UI should present with a dynamic option list with architecture drop-down and filename, to support the exotic OS options as well, but for me the above fix is sufficient.

In case one of the exotic variants pop-up, we'll see, we can't really fix that quickly without breaking old logic. I'll replace the architecture like suggested and close the issue with my commit.


MongoDB Scaler: Inconsistent Behavior with Connection Parameters

When using the MongoDB scaler, there seems to be inconsistent behavior related to connection parameters. Depending on whether I provide a connection string or specify the host, username, and password individually, I encounter different issues.
Expected Behavior:
The MongoDB scaler should consistently handle connection parameters whether a connection string or individual host, username, and password parameters are provided. It should not prompt for unnecessary information and should gracefully handle cases where a password is provided.
Steps to Reproduce:

Scenario 1: Using Connection String
a. Attempt to configure the MongoDB scaler with only a connection string as a parameter.
b. Observe whether it prompts for host and password, even when a connection string is provided.

Scenario 2: Using Host, Username, and Password
a. Attempt to configure the MongoDB scaler with host, username, and password parameters.
b. Observe whether it correctly accepts the provided password or raises an error stating that no password was provided.

Current Behavior:

When using a connection string as a parameter, the scaler metadata and error log as following:

metadata:
      connectionString: mongodb://dbwriter:dbwriter@mongo:27017
      dbName: test
      collection: panch
      query: "{}"
      queryValue: "1"
      desiredReplicas: "2"

error:

When specifying the host, username, and password parameters, the scaler [describe the specific issue or behavior here].

 metadata:
      host: mongo
      port: "27017"
      username: <username>
      password: <password>
      dbName: test
      collection: panch
      query: "{}"
      queryValue: "1"
      desiredReplicas: "2"

error:

Hello,
I think that the issues are related with a misconfiguration. We don't accept secrets as part of metadata section because it's not a sensitive API, so depending on what values you set, KEDA tries to parse the non-sensitive info from the metadata and shows different messages based on the missing fields for each case (which it's totally normal because KEDA assumes that if you have set the host, you will use username and password instead of connectionString).
In the scaler docs, there are come values with the suffix FromEnv within metadata section. You can use them to specify the environment variable from the scaled workload where the value is stored. This allows you to not having to use TriggerAuthentication because if you already have the values in the workload, KEDA can read them from there. For example, imagine that your scaled workload has the connection string in an environment variable called MONGODB_CONNSTRING, you can define your trigger as:
metadata:
  connectionStringFromEnv: MONGODB_CONNSTRING
  dbName: test
  collection: panch
  query: "{}"
  queryValue: "1"

You can do the same using the approach of host+port+username+password. In this case if your workload has an env MONGODB_PASSWORD:
 metadata:
  host: mongo
  port: "27017"
  username: myUser
  passwordFromEnv: MONGODB_PASSWORD
  dbName: test
  collection: panch
  query: "{}"
  queryValue: "1"

The other option, is setting a TriggerAuthentication for passing those values from a sensitive source (such as secrets, external vaults, etc). You can see an example in the scaler docs. This example uses a TriggerAuthentication to read the connection string from a secret.
In no case you can place the secrets directly in the triggers[].metadata section, because ScaledObject/ScaledJob aren't sensitive APIs, so we don't allow to store sensitive data there (and that's we don't read sensitive data from there).
As this is a misconfiguration rather than a KEDA issue, I close this issue as not planned, but feel free to give all the extra information that you think it's required if you still think that it's something related with KEDA.


Towards kernel specialization and multi-versioning

This is the tracking issue for better support of kernel specialization and multi-versioning.
Rationale
IREE compiles various source models into deployable artifacts to target different hardware. At the source model level, we can see different model architectures, but largely these architectures are stacking/duplicating common layers; it can use the same exact shapes (e.g., transformers) or mutating ones (e.g., u-net and vision models). Thus, after dispatch region formation, we see lots of dispatches with similar structures but differing shapes. Right now we basically compile each of them separately. This causes quite a few issues, including slow compilation time and large memory consumption, duplicated code in deployable artifacts, slow on-device second-stage JIT compilation / startup time, etc. We need to reduce the specialization towards input workload shape here.
OTOH, esp. for deployment scenarios like mobile platforms where we don't control the hardware/software stack, we can see lots of variants w.r.t. accelerator (CPU, GPU, etc.) architectures. To be able to target such platforms broadly while retain good performance, we need to specialize towards major architectural differences (e.g., 16-bit/8-bit computation supported or not, having special matrix/vector compute unit or not, etc.). Note that we have a much smaller surface area here compared to input workload shape--we only have a few CPU/GPU vendors, each with a few generations of hardware architecture; and they resemble each other mostly.
 Reduce kernel specialization towards input workload shapes
The approach would be to erase static shape information after dispatch region formation, so that we can deduplicate different dispatches with the same op sequence but different shapes.  There are trade-offs here w.r.t. how much we erase and what information are retained / being more coarse grained and passed down to CodeGen to facilitate tile sizes planning etc.
Better deduplication calls for erasing more information; the ultimate version would be to erase all static dimensions. Fortunately, after erasing the shape information and performing executable deduplication at flow level, at stream level we already have passes (FoldUniformOperands) to look at all dispatch call sites to inline back constants that have the same value across all sites, and deduplicate operands that are correlated at all dispatch sites too. So this gives us back some static information. For those call sites that are differ, we have all the possible values captured in hal.interface.constant.load for each dimension (which originally comes from stream AnnotateDispatchArguments pass); the CodeGen can feel free to decide how to generate code by looking at all possible values--how many versions, what tile size to use for each version, etc.
Dynamicizing static shapes would need to happen after flow.dispatch.region formation and before flow.dispatch.workgroup formation, to see the full dispatch (in the former), and also avoid the complication of manipulating materialized explicit captures (in the latter). In the CodeGen, we'd need to factor in the "side channel" shape information from hal.interface.constant.load to simplify the IR, like eliminating affine.min ops for bounds checking, etc.
2a. Run multiple CodeGen pipelines for the same input dispatch region
Multi-versioning torwards different architectures boils down invoking multiple (different) CodeGen pipelines over the same original dispatch region, with each invocation assuming different target environment. There is some policy layer to be built here---we need to decide what variants we care about and so want to generate. But largely we aren't expecting to see a ton of options here because of the low level nature of CodeGen pipeline operates--we work on matmul / convolution / reduction / etc. On GPU, for matmul likely we need SIMT, cooperative matrix / tensorcore version, etc. For convolution, direct convolution, winograd, implicit gemm, etc. Just a few.
Right now the CodeGen pipelines are set up to run only once for each input dispatch region. Making it multiple invocations won't be too hard. For example, we can just have another pass before hand to duplicate the input and annotate with different target environments and pipeline selections, and then leverage existing flows.
2b. Generate runtime kernel selection logic
Right now we compile kernels by giving a specific target triple and then invoke it on the exact same expected target hardware. This usage pattern won't need rigorous  runtime checks to make sure the hardware capability assumptions made by the kernel is met. So right now this part is sort of broken. In order to make multi-versioning work better, we'd need to fix the connection between kernel capability requirements and runtime checks.
This would mean we need to have additional attributes / regions on top of hal.executable.export, in addition to the workgroup count calculation logic. When we CodeGen multi-versions of kernels, we at the same time emit host logic to query the target environment and do selection over the CodeGen'd versions. There is policy layer here too--different backends would want different parameters to be queried. But the mechanism remains similar and we already have it in HAL, for querying int64 values.
3. Consider device parallelism to further dynamic adjust kernel launches
The next step with the above two done, is to push further to make the system more responsive to the target environment. Most of the time the top one concern for GPU at least is to fully saturate the GPU with work. That means different tile / reuse strategies with different hardware. For the same workload, a weak GPU is fine with large tile sizes maybe, but a beefy GPU would likely need to let each thread do less work to fully utilize the full GPU. So we'd like to have logic at the runtime to query the device parallelism and then using host logic to compute tile / workgroup sizes, etc.
Cross-vendor parallelism querying extensions is non-existing for Vulkan right now; but probably we can build known architectures into a simple database to embed (again, not a lot of hardware vendors; not a lot of architectures). Similarly for CPU and CUDA. It also means some of the tile / workgroup deduction logic happening in C++ would be CodeGen'd into arith op computations to be run on host. How much we can do here remains to be explored and prototyped.

I'm prototyping step 1 as listed in the above now.

Some initial statistics after erasing static shape from dispatch regions. Right now my prototype considers tensor values and ops and erases them. It does not yet touch slice offsets & sizes. The following are numbers reported by the DeduplicateExecutables pass statistics.
L0: without any deduplication
L1: normal deduplication + don't inline constants (--iree-flow-inline-constants-max-byte-length=0)
L2: L1 + dynamicize static tensor shapes

Model
L0
L1
L2
L0/L2
L1/L2

TF ResNet50 f32
75
39
20
3.75
1.95

TF EfficientNetV2 Small f32
278
69
30
9.27
2.3

TF BERT Large f32
413
15
14
29.5
1.07

TFL PoseNet f32
48
27
14
3.43
1.93

TFL MobileNetV2 f32
74
45
21
3.52
2.14

TFL DeeplabV3 f32
78
44
22
3.55
2

TFL PersonDetect f32
86
59
22
3.91
2.68

TFL MobileSSD f32
121
84
34
3.56
2.47

TFL MobileBERT f32
752
30
27
27.85
1.11

TFL EfficientNetV2 Lite i8
136
96
32
4.25
3

TFL MobileBERT i8
1452
168
162
8.96
1.04

This alone is already giving good reduction--typically 2x and more on top of L1. For those small improvements on top of L1, the issues are actually already sort of captured by Scott's nice analyses previously. My next steps would be to look into them, particularly slice offsets and sizes.

Wow, really nice breakdown Lei! In my mind deduplication is compression, and 10x compression wins are fantastic let alone 30x :P Really interested to see what the dynamic offsets/sizes yield, and if that particularly helps the mobilebert i8 (162 still feels high, but would is 162 way better than 1452!)

Exciting! It's looking like we'll have a set of orthogonal techniques that can be applied in different combinations for progressive benefits. These sorts of optimizations would be trickier to maintain if they were overly reliant on a particular IR structure or pass sequencing.

Some further numbers after dynamicize slice offsets and sizes. Only measured on MobileBERT given that's the lest improved cases:
L3: dynamic tensor shapes (L2) + dynamic slice offset/size

Model
L3
L0/L3
L1/L3

TFL MobileBERT f32
20
37.6
1.5

TFL MobileBERT i8
117
12.4
1.44

This is still not covering all extract/insert slice cases though--the case where we have pairing load/store for copying, as pointed out by Scott previously, still remains. This is due to how we handle those ops. They are generated when converting to flow.dispatch.workgroups, while my prototype does stuff after flow.dispatch.region before flow.dispatch.workgroups. I'd need more massaging of pass organization to enable those cases too.

Nice 1452->117 is a fantastic drop! How many of those copy dispatches are there in what's left? We should really look at eliminating those entirely (maybe related to pad fusion?).

Exciting! It's looking like we'll have a set of orthogonal techniques that can be applied in different combinations for progressive benefits. These sorts of optimizations would be trickier to maintain if they were overly reliant on a particular IR structure or pass sequencing.

Yup. I'm measuring sort of the ultimate cases where we turn all dimensions into question marks so unique as much as possible; backends can decide to multi-versioning by looking at concrete values behind the question marks (thanks to Ben's magic values in hal.interface.constant.load ops!) according later for performance purposes.
I'd also expect these transforms to be generally applicable and complementary to other techniques like layout optimizations (which could also affect the number of executables generated.)

Nice 1452->117 is a fantastic drop! How many of those copy dispatches are there in what's left? We should really look at eliminating those entirely (maybe related to pad fusion?).

Not a lot left specifically for MobileBERT. Here is the current model when -compile-to=flow. So just a few more. I do see more cases in vision/convolution models though (particularly due to how we handle convolution padding). Good to clean it up though. The major issue for MobileBERT, esp. for quantized version, is around fusion and the slight variants of fused elementwise ops. We'd probably need some more sophisticated logic to dedup there, or at least there is a trade-off between fusion and executable count to make.

Very true! We'd talked about doing layout canonicalization ages ago but I don't think we ever got anything implemented. FoldUniformOperands/FuseDispatchBindings/PackDispatchOperands all kind of do stuff similar to it. One thing I've wanted to do for awhile was move the DeduplicateExecutables pass into Util/ as SymbolCSE and add a util interface for SymbolCSE'able ops like executables - then we could run it in flow like we do today, in stream after all the layout optimization, and in hal after translation (dedupe variants that may have ended up with the same IR).

Ugh that apply_scale IR with all those cmps/selects kills me x_x could probably halve our compile time if we had a clamp op and shrunk the IR 4x!
Yeah the slight op content variants will be tricky but there's probably some simple heuristics that'll cover most of them (🤞). Off the top of my head we could do a comparison and if the delta is a single sequence of ops then we insert an i1 arg at all dispatch sites and an if around the conditional ops. The PackDispatchOperands pass will end up combining those into a bitfield (IIRC, if not I'll finish that :) and the potential values set during executable translation would have all unique combinations of bits allowing for the backend to decide which to materialize. Maybe once your stuff is ready and we have the IR we can extract some samples and try doing that by hand to see how much it'd help (I suspect a lot given my skimming, but there's a lot of cmpi/select noise in there ;).

Nice find! (I had initially read the issue title the opposite way and thought  "we are already specializing these a lot")
I think it'll also help if we can avoid frontends splatting out things :)
(TOSA has a clamp, given there are other TOSA ops there, perhaps we should use it & postpone lowering to cmpi & select ... although not sure where those are coming from).

Yup. Would also need to take a look at the conversion flow to see how these stuff are injected and whether we can handle it a bit better at a higher level. At a lower level it might be late to do things. :)

@antiagainst Is this still in progress?

Yes, this is still in progress.

@antiagainst Any update on this? Can we bump down to P2?

I haven't been able to push on this recently; and given the upcoming re-prioritization I won't be able to handle this in a while too. So yeah I moved this to P2.


zsh: enable shared site-function in pathsToLink

in programs.zsh module and add in to additional paths in zsh build
partly solves #10572

cc maintainers @chaoflow @pSub
@cstrahan is something missing?

I am not sure about the site-function / fpath solution and currently not the time to test it. However the changes to enable tests looks fine. If you could split those into a separate PR I could merge them now.

You mean not sure if it links $out/share/zsh/site-functions of derviations on nixos-rebuild? And has an additional path in zshs fpath by default?

https://github.com/NixOS/nixpkgs/search?utf8=✓&q=environment.pathsToLink

Have you seen https://github.com/NixOS/nixpkgs/pull/11251? It's merged now, although personally I would prefer to compile these paths in -- after all traditional /usr/lib/zsh paths are already used so either we want to strip this impurity fully or add Nix-specific paths too. @pSub what do you think?

I wasn't aware of this PR, but one advantage of my approach to fpath is that it includes other profiles like ~/.nix-profile so that packages installed with `nix-env

Yeah as far as I can see this is fixed by @spwhitt's #11251 but the test fixes should definitely be merged.

Hm, indeed, we won't be able to compile in paths with $HOME so @spwhitt solves this better I guess. Then what about going the other way fully and making fpath empty by default?
@calbrecht: your thoughts on this and @spwhitt's solution?

Just spitballing here, but I think a default empty fpath may break zsh on non-NixOS systems. The default should probably be something like $out/share/zsh/site-functions $out/share/zsh/$ZSH_VERSION/site-functions

Yeah, thanks for the remark -- of course bundled zsh functions in fpath are needed to be available.

@abbradar the unmodified fpath of zsh already contains
/nix/store/vy7b2khsdy3lgnxvriviz7y7mcl5zfp2-zsh-5.1.1/share/zsh/site-functions
/nix/store/vy7b2khsdy3lgnxvriviz7y7mcl5zfp2-zsh-5.1.1/share/zsh/5.1.1/functions

imho that is because of nixs build script setting --prefix. And that is a good thing to keep because all of zshs bundled site-functions live there.
I agree that @spwhitt's solution is superior to mine in regards to adding the profiles to fpath,
but it is missing the '/share/zsh/site-functions' in pathsToLink.
By adding the path to be linked we enable system packages to share their zshs site functions.
For me this right now contains:
% ls /run/current-system/sw/share/zsh/site-functions/
_bootctl      _loginctl                  _sd_machines     _systemd          _systemd-nspawn
_busctl       _machinectl                _sd_outputmodes  _systemd-analyze  _systemd-run
_coredumpctl  _pass                      _sd_unit_files   _systemd-delta    _systemd-tmpfiles
_journalctl   _sd_hosts_or_user_at_host  _systemctl       _systemd-inhibit  _udevadm

One thing that's bad with this approach is that it might cause conflicts whenever the same packages that publishes to /share/zsh/site-functions because of beeing installed as systemPackage might be installed in another version through ones profile.
Maybe we could refactor all the packages that share to site-functions to share into their own hashed subdir of /share/zsh/site-functions and change the fpath to include "globbed" subdirs of beforementioned path?

pathsToLink missing is already fixed by #11271
If you install multiple packages with the same zsh site-function you would as far as I can tell get a file collision error? (Correct me if I'm wrong)
Could you update this PR to just include the test fixes as the rest should be working correctly now as far as I can see?

I've updated the pull request myself as I had a few free minutes, before merging please let @calbrecht ack this and possibly change the title to something more appropriate.

:+1:  please merge

@abbradar thanks

Thank you for this work ^_^


[fix] Null check in DerivedLogger prototype

Check to avoid exception when null is logged.

This is basically the same as PR #1189.


Why it is paused?

Hi,
Just curious what is the actual reason? You made much progress with confirmation rate lately.

The confirmation rate improved because the coordinator was upgraded from issuing milestones every 2-3 minutes to every minute. But as soon as we hit 20 tps, the confirmation rate went down to ~30% and it would have been only getting worse if we kept it going.
We decided to rather stop it early this time instead of waiting until the tangle becomes unusable again, so nobody blames us for congesting the tangle. Unfortunately, the protocol in its current form seems not to be ready for this amount of spamming and we will need to wait for the new tip selection algorithm or any other upgrade.


Cancellable Action Plans

Added method to ActionPlan<_> to send it with a returned cancellable object. This is only useful by plans that return a publisher.

Codecov Report

Merging #14 into master will increase coverage by 5.17%.
The diff coverage is 97.53%.

@@            Coverage Diff             @@
##           master      #14      +/-   ##
==========================================
+ Coverage   51.08%   56.25%   +5.17%
==========================================
  Files          35       36       +1
  Lines         646      727      +81
==========================================
+ Hits          330      409      +79
- Misses        316      318       +2

Impacted Files
Coverage Δ

Sources/SwiftDux/Action/ActionPlan.swift
100% <100%> (ø)
:arrow_up:

Tests/SwiftDuxTests/Action/ActionPlanTests.swift
96.92% <96.92%> (ø)

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 b2a623a...371cf6b. Read the comment docs.


[objc] Array <-> NSArray support

byte [] <-> NSData
string [] <-> NSArray<NSString>
Foo [] <-> NSArray<NSFoo>

There's also the, less common, System.ArrayList [1] that could map to non-generic NSArray.
However it's not clear if it's worth doing, e.g.  it could be very costly to copy elements and the untyped object types might not have any useful representation in ObjC.
It's worth a comment (in the source) but it's not to be covered by a PR to fix this.
[1] https://msdn.microsoft.com/en-us/library/system.collections.arraylist(v=VS.100).aspx

I wonder if we can create our own NSData/NSArray subclasses that contains a reference to the managed object, and only fetches data/items when requested.
This would be much faster, and it would also mean writes on one side would be visible on the other, since the backing store is the same.

@rolfbjarne that's a very interesting idea :) but we would still need to support the original case
public byte[] Hash (byte[] input) {...}
We can control the output to be our special (public or not) subclass of NSData (e.g. NETData) but we should not force people to use it for input.

Note that both NSArray and NSData [1] are class clusters [2]. Not the funniest types to subclass correctly :(
[1] https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/ClassCluster.html#//apple_ref/doc/uid/TP40008195-CH7-SW1
[2] http://stackoverflow.com/a/5772610/220643

According to [1] NSData’s primitive methods are -length and -bytes - which seems odd compared to the amount of issues people have trying (but they could be due to other difference).
[1] http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/

PR #252 was merged


Shonore/flight info accessibility screen reader/#25

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes: # 25
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
Type of change:
Please delete options that are not relevant.

[ ] New capability
[X] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[X] My update follows the CONTRIBUTING guidelines of this project
[X] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: aesthetiques:x: shonore-aaYou have signed the CLA already but the status is still pending? Let us recheck it.


Function Types

I am missing very relevant information about Function Types, along with code examples: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-methodtype-property-upgrade-codeunits
Or is there some other landing page for creating Upgrade Codeunits? I could not find anything.
Edit: it seems the functionality is removed in BC 15. It would be useful to have it mentioned.

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

ID: 4aad761f-ad97-7f15-fd0b-81f5716d2d90
Version Independent ID: d0f0fb7c-6a1f-efef-e43c-955bb10b1404
Content: Upgrading an Extension V2 to a new version - Business Central
Content Source: dev-itpro/developer/devenv-upgrading-extensions.md
Service: dynamics365-business-central
GitHub Login: @jswymer
Microsoft Alias: solsen

Hello,
Thanks for the feedback. The documentation needs to be updated and improved. We have a work item to address this.
You are correct that in BC 15, as a result of the transition to AL extensions only, the implementation for upgrade codeunits has changed. The content in the [Method Type] (https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-methodtype-property-upgrade-codeunits) article is misleading because it refers more to upgrade codeunits implementation for upgrading data when using a C/AL base application in BC 14.
If you are writing upgrade code for an extension, you can follow the guidelines in Upgrading Extensions.
If you are writing upgrade code to upgrade data for the C/AL base application in BC 14, you can refer to the NAV 2018 content at Upgrade Codeunits. Unfortunately, this content has not yet been included in BC 14 help.
I hope this provides some insight. Thanks.


NativeX story GTM/event tracking

Supercedes #61 -- provides reusable components to track NativeX story events

[x] GTM initialization component
[x] Track page view
[x] Track end of content
[x] Track social share (bridge to package events
[x] Track outbound links

 Embed Native-X stories within the site


Support for Softhealthchecks to be Async

I have reached a point where in I need a softhealthcheck to be async. There is no support currently since https://github.com/dropwizard/metrics/blob/4.1-development/metrics-healthchecks/src/main/java/com/codahale/metrics/health/AsyncHealthCheckDecorator.java is not public and cannot be checked for against in any of the healthcheck registry implementation we try to make. Is there a reason why this was public till now ?

@mohakkataria you might want to close this as soft healthchecks are not a feature provided by Dropwizard


Set python code-block on readme example

Thanks, I wondered about that, but was in a hurry :)

oops, we need to remove the double-colon also...


Develop a MVP for Token Vesting with lockup_linear functionality

Develop a MVP for Token Vesting with lockup_linear functionality
🔍 Project Overview
Transitioning a token vesting smart contract from Solidity to Cairo. The original contract in Solidity manages token vesting with a lockup_linear feature. Goal: replicate and optimize this functionality in Cairo.
🎯 Objectives

Replicate Core Features: Maintain all essential functionalities from the Solidity version.
Cairo Optimization: Adapt and optimize for Cairo language features.
Maintain Security Standards: High security and robustness in the Cairo implementation.

🔑 Key Features

Lockup Linear Streams: Implement stream mapping, creation, and management.
User-Facing Functions: Port functions like getAsset, getCliffTime, etc., to Cairo.
Internal Logic: Replicate internal logic such as _calculateStreamedAmount, _statusOf, etc.
Error Handling: Adapt custom error handling.

🧪 Testing and Validation

Develop comprehensive unit and integration tests.
Adapt and mirror test cases from Solidity to Cairo.
Working examples usage with Starknet.js for example

📚 Documentation

Detailed code comments for clarity.
Documentation comparing Solidity and Cairo versions.
Usage instructions and examples.

Approved scope, ready for work. Assigned to you. Grant: 10k STRK (paid through Only Dust upon completion and validation of the MVP).

Thank you !

Validated and paid.


Fix #12:Clean up some define macros

It corresponds to #12 .
Best regards,

Should all constants be included in space-invaders.asm or should they be split into each file?
What do you think if you consider readability?

@flxbe
Please review the proposed changes!

Should all constants be included in space-invaders.asm or should they be split into each file?
What do you think if you consider readability?

Since the amount of constants is still very manageable I would prefer to put them all into space-invaders.asm.

Thank you for review!!

Since the amount of constants is still very manageable I would prefer to put them all into space-invaders.asm.

OK, I agree with.
Please, Re-review!


jax.lax.rng_uniform(k,k) has different behaviour in CPU (RANDOM int32) /TPU (ALWAYS k)

Description
rng_uniform claims "Returns uniformly distributed random numbers in the range [a, b)".
When calling it with a == b, it has a different behaviour from CPU and TPU:

CPU: it seems to use the full int32 range.
TPU: it ALWAYS returns the same!!!

Example:
import jax.tools.colab_tpu
# jax.tools.colab_tpu.setup_tpu()

import jax
from jax.lib import xla_bridge
print(xla_bridge.get_backend().platform)
print(jax.devices())
print(jax.lax.rng_uniform(3, 3, (10,)))

CPU:
cpu
[CpuDevice(id=0)]
[-1752798562<PHONE_NUMBER>  -688905896  -376700610    28523420  -600052118
<PHONE_NUMBER>   874027959   762190079  -467109515]

GPU:
gpu
[cuda(id=0)]
[-1752798562<PHONE_NUMBER>  -688905896  -376700610    28523420  -600052118
<PHONE_NUMBER>   874027959   762190079  -467109515]

On TPU:
tpu
[TpuDevice(id=0, process_index=0, coords=(0,0,0), core_on_chip=0), TpuDevice(id=1, process_index=0, coords=(0,0,0), core_on_chip=1), TpuDevice(id=2, process_index=0, coords=(1,0,0), core_on_chip=0), TpuDevice(id=3, process_index=0, coords=(1,0,0), core_on_chip=1), TpuDevice(id=4, process_index=0, coords=(0,1,0), core_on_chip=0), TpuDevice(id=5, process_index=0, coords=(0,1,0), core_on_chip=1), TpuDevice(id=6, process_index=0, coords=(1,1,0), core_on_chip=0), TpuDevice(id=7, process_index=0, coords=(1,1,0), core_on_chip=1)]
[3 3 3 3 3 3 3 3 3 3]

What jax/jaxlib version are you using?
0.4.23
Which accelerator(s) are you using?
CPU/GPU/TPU
Additional system info?
https://colab.research.google.com/
NVIDIA GPU info
No response

Thanks for the report! I think this is working as expected. From the XLA:RngUniform docs:

if b <= a the result is implementation-defined.

I think we could make that more clear in the JAX documentation for jax.lax.rng_uniform.


Implement isEmpty-function for StringBone

This can still be overridden individually using the isEmptyFunc parameter that can be given to a bone. Fixes #496.

Hello, regarding the failing tests: This occurs when something different then a str is given to isEmpty.
A general question on this: Why can't isEmpty/isValid etc. just rely that the provided value is of the given type of the bone, which is parsed using fromClient? Either the tests must be changed, or the generic concept of VIUR. Well okay, I think this is a generall discussion topic, just fixing it now this way and see the rest later on.


[HOTFIX] [SQL] Fixes compilation error introduced by PR #7506

PR #7506 breaks master build because of compilation error.

Merged build triggered.

Merged build started.

Test build #37770 has started for   PR 7510 at commit 7ea7e89.

Test build #37770 has finished for   PR 7510 at commit 7ea7e89.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Merging to master.


Add mariadb readme in examples

Change Overview
This change adds the maridb example. Restore is failing because of below error
ERROR 1556 (HY000) at line 819: You can't use locks with log tables

even after this error, the deleted databases are restored successfully but the restore job is being failed
At some places people are saying these logs can be ignored.
Even if we try to skip the logs table, it looks like those tables are not being skipped
mysqldump --column-statistics=0 -u root --password=${root_password} -h {{ .StatefulSet.Name }} --single-transaction --ignore-table=mysql.slow_log --ignore-table=mysql.general_log  --all-databases

I am still looking into how we can get rid of that error.
this is a related discussion that was raised earlier.
I raised an issue with maria DB team as well, let's see what they respond with.
Pull request type
Please check the type of change your PR introduces:

[x] :hamster: Trivial/Minor

Issues

#XXX

Test Plan

[ ] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

In the recent commits we excluded performance_schema, and the reason is if we don't exclude the database, this is the error that we get
ERROR 1050 (42S01) at line 117: Table 'accounts' already exists

In the recent commits we excluded performance_schema, and the reason is if we don't exclude the database, this is the error that we get
ERROR 1050 (42S01) at line 117: Table 'accounts' already exists