add function name to the history of sm

Hmm,  Function name is more useful than file's line sometimes
$2 = {{
    fileline = 0xab5c60 "HttpSM.cc:553",
    function = 0xac16c0 <HttpSM::state_read_client_request_header(int, void*)::__FUNCTION__> "state_read_client_request_header",
    event = 100,
    reentrancy = 2
  }, {
    fileline = 0xabfc80 "HttpSM.cc:7214",
    function = 0xac2da0 <HttpSM::set_next_state()::__FUNCTION__> "set_next_state",
    event = 65535,
    reentrancy = 2
  }, {
    fileline = 0xabbb80 "HttpSM.cc:4434",
    function = 0xac2480 <HttpSM::do_cache_lookup_and_read()::__FUNCTION__> "do_cache_lookup_and_read",
    event = 29352,
    reentrancy = 2
  }, {
    fileline = 0xab6240 "HttpSM.cc:815",
    function = 0xac1720 <HttpSM::state_watch_for_client_abort(int, void*)::__FUNCTION__> "state_watch_for_client_abort",
    event = 100,
    reentrancy = 1
  }, {
    fileline = 0xa9b2c0 "HttpCacheSM.cc:118",
    function = 0xa9c3e0 <HttpCacheSM::state_cache_open_read(int, void*)::__FUNCTION__> "state_cache_open_read",
    event = 1102,
    reentrancy = -1
  }, {
    fileline = 0xab8900 "HttpSM.cc:2429",
    function = 0xac1c80 <HttpSM::state_cache_open_read(int, void*)::__FUNCTION__> "state_cache_open_read",
    event = 1102,
    reentrancy = 1
  }, {
    fileline = 0xac0080 "HttpSM.cc:7329",
    function = 0xac2da0 <HttpSM::set_next_state()::__FUNCTION__> "set_next_state",
    event = 65535,
    reentrancy = 1
  }, {
---Type <return> to continue, or q <return> to quit---
    fileline = 0xa9b620 "HttpCacheSM.cc:177",
    function = 0xa9c420 <HttpCacheSM::state_cache_open_write(int, void*)::__FUNCTION__> "state_cache_open_write",
    event = 1108,
    reentrancy = -1
  }, {
    fileline = 0xab86c0 "HttpSM.cc:2310",
    function = 0xac1c40 <HttpSM::state_cache_open_write(int, void*)::__FUNCTION__> "state_cache_open_write",
    event = 1108,
    reentrancy = 2
  }, {
    fileline = 0xabfd00 "HttpSM.cc:7227",
    function = 0xac2da0 <HttpSM::set_next_state()::__FUNCTION__> "set_next_state",
    event = 65535,
    reentrancy = 2
  }, {
    fileline = 0xabd1e0 "HttpSM.cc:5545",
    function = 0xac2760 <HttpSM::do_setup_post_tunnel(HttpVC_t)::__FUNCTION__> "do_setup_post_tunnel",
    event = 65535,
    reentrancy = 2
  }, {
    fileline = 0xaba160 "HttpSM.cc:3339",
    function = 0xac2040 <HttpSM::tunnel_handler_post_ua(int, HttpTunnelProducer*)::__FUNCTION__> "tunnel_handler_post_ua",
    event = 2302,
    reentrancy = 2
  }, {
    fileline = 0xaba8e0 "HttpSM.cc:3685",
    function = 0xac2180 <HttpSM::tunnel_handler_transform_write(int, HttpTunnelConsumer*)::__FUNCTION__> "tunnel_handler_transform_write",
    event = 103,
    reentrancy = 0
  }, {
    fileline = 0xab6860 "HttpSM.cc:1111",
    function = 0xac17e0 <HttpSM::state_request_wait_for_transform_read(int, void*)::__FUNCTION__> "state_request_wait_for_transform_read",
    event = 2301,
    reentrancy = 1
---Type <return> to continue, or q <return> to quit---
  }, {
    fileline = 0xab6a80 "HttpSM.cc:1181",
    function = 0xac18a0 <HttpSM::state_common_wait_for_transform_read(HttpTransformInfo*, int (HttpSM::*)(int, void*), int, void*)::__FUNCTION__> "state_common_wait_for_transform_read",
    event = 2301,
    reentrancy = 1
  }, {
    fileline = 0xab6860 "HttpSM.cc:1111",
    function = 0xac17e0 <HttpSM::state_request_wait_for_transform_read(int, void*)::__FUNCTION__> "state_request_wait_for_transform_read",
    event = 2000,
    reentrancy = 1
  }, {
    fileline = 0xab6240 "HttpSM.cc:815",
    function = 0xac1720 <HttpSM::state_watch_for_client_abort(int, void*)::__FUNCTION__> "state_watch_for_client_abort",
    event = 104,
    reentrancy = 1
  }, {
    fileline = 0xab7a80 "HttpSM.cc:1920",
    function = 0xac1a60 <HttpSM::state_send_server_request_header(int, void*)::__FUNCTION__> "state_send_server_request_header",
    event = 103,
    reentrancy = 1
  }, {
    fileline = 0xabd060 "HttpSM.cc:5451",
    function = 0xac2700 <HttpSM::setup_transform_to_server_transfer()::__FUNCTION__> "setup_transform_to_server_transfer",
    event = 65535,
    reentrancy = 1
  }, {
    fileline = 0xabaa40 "HttpSM.cc:3771",
    function = 0xac21c0 <HttpSM::tunnel_handler_transform_read(int, HttpTunnelProducer*)::__FUNCTION__> "tunnel_handler_transform_read",
    event = 102,
    reentrancy = 0
  }, {
    fileline = 0xab7a80 "HttpSM.cc:1920",
    function = 0xac1a60 <HttpSM::state_send_server_request_header(int, void*)::__FUNCTION__> "state_send_server_request_header",
---Type <return> to continue, or q <return> to quit---
    event = 3,
    reentrancy = 1
  }, {
    fileline = 0xabcd20 "HttpSM.cc:5326",
    function = 0xac26c0 <HttpSM::handle_server_setup_error(int, void*)::__FUNCTION__> "handle_server_setup_error",
    event = 3,
    reentrancy = 1
  }, {
    fileline = 0xaba4a0 "HttpSM.cc:3463",
    function = 0xac20c0 <HttpSM::tunnel_handler_post_server(int, HttpTunnelConsumer*)::__FUNCTION__> "tunnel_handler_post_server",
    event = 3,
    reentrancy = 1
  }, {
    fileline = 0xab9000 "HttpSM.cc:2599",
    function = 0xac1d00 <HttpSM::tunnel_handler_post(int, void*)::__FUNCTION__> "tunnel_handler_post",
    event = 2301,
    reentrancy = 2
  }, {
    fileline = 0xabcba0 "HttpSM.cc:5217",
    function = 0xac2680 <HttpSM::handle_post_failure()::__FUNCTION__> "handle_post_failure",
    event = 0,
    reentrancy = 2
  }, {
    fileline = 0xabfd00 "HttpSM.cc:7227",
    function = 0xac2da0 <HttpSM::set_next_state()::__FUNCTION__> "set_next_state",
    event = 65535,
    reentrancy = 2
  }, {
    fileline = 0xab74e0 "HttpSM.cc:1656",
    function = 0xac19c0 <HttpSM::state_http_server_open(int, void*)::__FUNCTION__> "state_http_server_open",
    event = 200,
    reentrancy = 3
  }, {
    fileline = 0x0,
    function = 0x0,
---Type <return> to continue, or q <return> to quit---
    event = 0,
    reentrancy = 0
  } <repeats 37 times>}

[approve ci]
this is what I want, definitely, thanks

Hmm, In my opinion, we will modify the log format if we use SourceLocation instead . That will impact the local log analysis system.  And it may cause the auto test failed sometimes!

Updated ! @jpeach  Please review.
In my opinion, it may cause auto test error if we use  the SourceLocation instead ! So I prefer adding the function name only!

The FILE and FUNCTION are const.
The LINE is also a const that is convert to const char * by __REMEMBER(x)
The SourceLocation::str() function do a memory copy to a local buffer during run-time.
The micro REMEMBER() is more efficiency cause it expands every things in compile-time.
@jpeach I prefer the original method that expand every things during compile-time.

@oknet This is not on the critical path for anything, so there's no performance concern here. However, if you want to change MakeSourceLocation() to concatenate the entire 3-tuple at compile time I think that is a reasonable change.
@scw00 AFAIK autest has no test coverage of SM history. In any case, the tests should be fixable :)

I'll merge later today

[approve ci]

[approve ci]

@scw00 I was going to submit this and just fix the remaining issues, but I can't commit directly. I opened #1993 with the necessary changes, so someone can merge that.

:)

My preference would be to land this one (once the CI issues are fixed and other review suggestions addressed).

The SourceLocation is designed to use only within DEBUG otherwise it has performance loss.
sourcefile: iocore/eventsystem/I_Lock.h
 52 #ifdef DEBUG
 53 #define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(MakeSourceLocation(), nullptr, _m, _t)
 54 #else
 55 #define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(_m, _t)
 56 #endif // DEBUG

But the HttpSM::history is not enclosed by a DEBUG macro. The macro REMEMBER() is designed to avoid performance lose in run-time.
Every step into a function/handle of HttpSM, the SourceLocation build Location String by memory copy even the ATS is not compiled by --enable-debug.
The SourceLocation is more object-oriented style but loss performance. if we have to use it, we obey the design rules that is SourceLocation enclosed by DEBUG macro.
In my opinion, we keep REMEMBER() here because the HttpSM::history is a common feature and it is not controlled by --enable-debug.

On 30 May 2017, at 22:56, Oknet wrote:

The SourceLocation is designed to use only within DEBUG otherwise it
has performance loss.
sourcefile: iocore/eventsystem/I_Lock.h
 52 #ifdef DEBUG
 53 #define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock
_l(MakeSourceLocation(), nullptr, _m, _t)
 54 #else
 55 #define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(_m, _t)
 56 #endif // DEBUG

But the HttpSM::history is not enclosed by a DEBUG macro. The macro
REMEMBER() is designed to avoid performance lose in run-time.
Every step into a function/handle of HttpSM, the SourceLocation build
Location String by memory copy even the ATS is not compiled by
--enable-debug.

SourceLocation doesn’t copy any memory until you call str(). This
only happens in HttpSM::dump_state_on_assert().

The SourceLocation is more object-oriented style but loss performance.
if we have to use it, we obey the design rules that is SourceLocation
enclosed by DEBUG macro.

That is not a design rule of SourceLocation. It’s a generic carrier
to location information used by drags and a number of other places.

In my opinion, we keep REMEMBER() here because the HttpSM::history is
a common feature and it is not controlled by --enable-debug.

I think that we can modify MakeSourceLocation() to do the compile-time
string concatenation and simplify the formatting code from str() if we
want to.

@jpeach Thanks for your explain. Yes, the memory copy only happen in `str()'.


Non-blocking Mojo::UserAgent inside Minion

Minion version: 5.09
Mojolicious version: 7.05
Perl version: 5.18.1
Operating system: Linux 3.2.0-4-686-pae #1 SMP Debian 3.2.81-1 i686 GNU/Linux

Steps to reproduce the behavior
The following test script defines a Mojolicious::Lite app that allows to do a few tests with Mojo::UserAgent from within Minion:
#!/usr/bin/env perl
use strict;
use warnings;
use Mojolicious::Lite;
use Data::Dumper;
$Data::Dumper::Indent = 1;

my $uri = 'http://mojolicious.org';

plugin Minion => {SQLite => 'sqlite:test4bug.db'};
app->minion->add_task(poke_block   => \&poke_block);
app->minion->add_task(poke_noblock => \&poke_noblock);

my $allowed_uas = [ua => [qw< app new >]];

get '/minion/:op/:ua' => $allowed_uas => sub {
   my $c         = shift;
   my $operation = $c->stash('op');
   my $uas       = $c->stash('ua');
   $c->minion->enqueue('poke_' . $operation, [$uri, $uas]);
   $c->render(text => "minion $operation/$uas will be performed soon\n");
};

app->start;

sub poke_block {
   my ($job, $uri, $uas) = @_;
   my $log     = $job->app->log;
   my $ua      = $uas eq 'app' ? $job->app->ua : Mojo::UserAgent->new();
   my $tx      = $ua->get($uri);
   my $outcome = log_outcome($log, $tx, "/minion/block/$uas");
   $tx->success ? $job->finish($outcome) : $job->fail($outcome);
} ## end sub poke_block

sub poke_noblock {
   my ($job, $uri, $uas) = @_;
   my $log = $job->app->log;
   my $ua = $uas eq 'app' ? $job->app->ua : Mojo::UserAgent->new();
   $ua->get(
      $uri => sub {
         my ($ua, $tx) = @_;
         my $outcome = log_outcome($log, $tx, "/minion/noblock/$uas");
         $tx->success ? $job->finish($outcome) : $job->fail($outcome);
      }
   );
} ## end sub poke_noblock

sub log_outcome {
   my ($log, $tx, $msg) = @_;
   $msg = defined($msg) ? $msg . ' ' : '';
   my $outcome = $tx->success ? 'SUCCESS!' : 'FAILURE!';
   $log->info($msg . $outcome);
   $log->debug(Dumper $tx->res) unless $tx->success;
   return $outcome;
} ## end sub log_outcome

I started the the worker in one shell and then run the following requests in another:
shell$ ./test4bug-minion.pl get /minion/block/app
[Sun Sep 11 08:40:46 2016] [debug] GET "/minion/block/app"
[Sun Sep 11 08:40:46 2016] [debug] Routing to a callback
[Sun Sep 11 08:40:46 2016] [debug] 200 OK (0.004269s, 234.247/s)
minion block/app will be performed soon
shell$ ./test4bug-minion.pl get /minion/block/new
[Sun Sep 11 08:40:55 2016] [debug] GET "/minion/block/new"
[Sun Sep 11 08:40:55 2016] [debug] Routing to a callback
[Sun Sep 11 08:40:55 2016] [debug] 200 OK (0.002441s, 409.668/s)
minion block/new will be performed soon
shell$ ./test4bug-minion.pl get /minion/noblock/app
[Sun Sep 11 08:41:05 2016] [debug] GET "/minion/noblock/app"
[Sun Sep 11 08:41:05 2016] [debug] Routing to a callback
[Sun Sep 11 08:41:05 2016] [debug] 200 OK (0.002478s, 403.551/s)
minion noblock/app will be performed soon
shell$ ./test4bug-minion.pl get /minion/noblock/new
[Sun Sep 11 08:41:12 2016] [debug] GET "/minion/noblock/new"
[Sun Sep 11 08:41:12 2016] [debug] Routing to a callback
[Sun Sep 11 08:41:12 2016] [debug] 200 OK (0.002429s, 411.692/s)
minion noblock/new will be performed soon

Targets are:

/minion/block/app blocking request using $job->app->ua
/minion/block/new blocking request using Mojo::UserAgent->new
/minion/noblock/app non-blocking request using $job->app->ua
/minion/noblock/new non-blocking request using Mojo::UserAgent->new

Expected behavior
This is what I expected:

/minion/block/app prints out a SUCCESS! log message in the Minion worker
/minion/block/new prints out a SUCCESS! log message in the Minion worker
/minion/noblock/app prints out a SUCCESS! log message in the Minion worker
/minion/noblock/new prints out a SUCCESS! log message in the Minion worker

i.e. all requests to eventually succeed.
Actual behavior
This is what I got instead:

/minion/block/app behaves as expected
/minion/block/new behaves as expected
/minion/noblock/app disappears
/minion/noblock/new fails

Minion worker's log follows:
[Sun Sep 11 08:30:06 2016] [debug] Performing job "34" with task "poke_block" in process 9955
[Sun Sep 11 08:30:06 2016] [info] /minion/block/app SUCCESS!
[Sun Sep 11 08:30:11 2016] [debug] Performing job "35" with task "poke_block" in process 9968
[Sun Sep 11 08:30:11 2016] [info] /minion/block/new SUCCESS!
[Sun Sep 11 08:30:16 2016] [debug] Performing job "36" with task "poke_noblock" in process 9981
[Sun Sep 11 08:30:26 2016] [debug] Performing job "37" with task "poke_noblock" in process 9994
[Sun Sep 11 08:30:26 2016] [info] /minion/noblock/new FAILURE!
[Sun Sep 11 08:30:26 2016] [debug] $VAR1 = bless( {
  'finished' => 2,
  'state' => 'finished',
  'error' => {
    'message' => 'Premature connection close'
  },
  'events' => {},
  'content' => bless( {
    'read' => sub { "DUMMY" },
    'events' => {
      'read' => [
        $VAR1->{'content'}{'read'}
      ]
    },
    'headers' => bless( {
      'headers' => {}
    }, 'Mojo::Headers' )
  }, 'Mojo::Content::Single' )
}, 'Mojo::Message::Response' );

Afraid nothing here looks like a bug to me, you've just forgotten to start the event loop. Please use our official support channels next time. http://mojolicious.org/perldoc#SUPPORT

Sorry for posting in the wrong place, I thought app->start would start the event loop.


Tools for finding non-deterministic Turborepo caching behavior

Which project is this feature idea for?
Turborepo
Describe the feature you'd like to request
On a very large monorepo with a lot of developers using the Turborepo cache, occasionally a poorly configured package will sneak into our monorepo. Usually this takes the form of a build process that either:

Makes non-transactional changes to the dist folder (such that if it's interrupted the dist is in an inconsistent state)
Writes into a gitignored location (e.g. writing a graphql schema into source so that it doesn't have to be committed but also can be referenced by source code)
Other fringe build processes that are not "take this Typescript src folder and write into the dist folder"

Sometimes it's super hard to understand exactly how/why this is happening. Usually we look for packages that are consistently not caching. But in those cases it's still hard to understand the root cause, because the problematic package could be a dependency of the package that's failing to cache.
We can't be the only org that has this problem.
Describe the solution you'd like
Some tooling or tips on how to find the root cause of these cases, or examples of problematic patterns that Turborepo has identified can cause caching issues.
Describe alternatives you've considered
We run our out Turborepo caching server, so one idea I had was to send metrics to Datadog for packages that were consistently getting cache misses. Unfortunately, because the Turborepo API only sends the hash of the package (not the name), I don't think this is possible.

I think Run Summaries will be a way to address this. You can see the kind of data that will be included in the new fields present in --dry=json. We'll be adding more and more in-depth information, including per-task information, that can be used to debug e.g. hits vs misses.

I've added a checlist item in #3431 to add hashes of dependencies in the run summary work I'm doing. That should make it easier to identify packages that are changing on every turbo run.

We have Run Summaries implemented today that allow you to take a look at the anatomy of why your pipelines ran the way that they did, what they did, etc.
It seems to me that Run Summaries cover what needs to be covered to get this use case addressed so I'm going to close - but please do give me a holler, @maschwenk, if there's something more that needs to be done.


ROCm 2.0 required upstream Kernel version

Which kernel version (and therefore amdgpu and amdkfd) is supposed to work with ROCm 2.0? I've built  ROCT and ROCR from sources (on OpenSUSE) with Kernel 4.19.12 (amdkfd 0.7.2) and tried to run "kfdtest". I got bunch of failed tests and also some "VMC page fault"s in kernel log.
I'm running RX Vega 64 on Ryzen R7 1800X.

I got back to this and managed to get ROCm based OpenCL work (at least clinfo and clpeak) and some of HIP samples worked too... I did mostly work along the lines of Experimental_ROC scripts for Ubuntu (but mostly only basic "cmake" commands are needed).
So I think we can close this with: ROCm 2.0.1 with OpenSUSE kernel 4.20.10-1 should (at least partially) work.

If you want to submit any PRs to bring OpenSUSE support into the Experimental_ROC repo, I'd be happy to take them. :)


When are opened superset iframe (as embedDashboard) and superset ui in different tabs, one of them is off.

A clear and concise description of what the bug is.
How to reproduce the bug

Go to 'one of page with embedDashboard'
Go to '.../superset/welcome/'
See error

Expected results
both work

I suspect this is some configuration error if we're not getting lots of reports about this, but I think we'll need more details on this report. Curious if @lilykuang or @cwegener have seen this before, or know the right questions to ask here :)

I'm not quite grasping the core of the question either.

@alekssakovsky please let us know if you can provide some clarity, otherwise we might close the issue for lack of understanding the issue's intent and repro steps.

it's very strange but last week it didn't work when I opened superset UI and superset with embedded-sdk. If it repeat I'll open issue again


Add pgadmin4 for UTexas hub

Sets it up as a sidecar, so initial user setup is done easily.
When https://github.com/yuvipanda/jupyter-pgadmin4-proxy actually
works, we might be able to get rid of the sidecar.
Sets the default username and password to a well known string,
and protection is offered by jupyter-server-proxy instead.
Upgrade to a more recent version of postgres while we are at it

Ref https://github.com/2i2c-org/infrastructure/issues/968

I think I very clearly need to write documentation on using sidecars for these things in z2jh. I think it should probably just live in the z2jh docs.


Publish to public/dotnet-tools

@ocallesp This PR may be moot.  Will follow up offline.

@ocallesp This PR may be moot. Will follow up offline.

Sure. I will move to draft for now then.


CI: Docs TypeError: flags.skip.split is not a function

<EMAIL_ADDRESS>docs /workspace
> jsdoc -c .jsdoc.js

Parsing /workspace/build/src/common.js ...
Parsing /workspace/build/src/entry.js ...
Parsing /workspace/build/src/http-request.js ...
Parsing /workspace/build/src/index.js ...
Parsing /workspace/build/src/log.js ...
could not find sample logging_write_log_entry_advanced
Parsing /workspace/build/src/metadata.js ...
Parsing /workspace/build/src/middleware/context.js ...
Parsing /workspace/build/src/middleware/express/index.js ...
Parsing /workspace/build/src/middleware/express/make-http-request.js ...
Parsing /workspace/build/src/middleware/express/make-middleware.js ...
Parsing /workspace/build/src/middleware/index.js ...
Parsing /workspace/build/src/sink.js ...
Parsing /workspace/build/src/v2/config_service_v2_client.js ...
Parsing /workspace/build/src/v2/index.js ...
Parsing /workspace/build/src/v2/logging_service_v2_client.js ...
Parsing /workspace/build/src/v2/metrics_service_v2_client.js ...
Parsing /workspace/protos/protos.js ...
Generating output files...
Finished running in 9.61 seconds.

><EMAIL_ADDRESS>docs-test /workspace
> linkinator docs

🏊♂ crawling docs
TypeError: flags.skip.split is not a function
    at main (/workspace/node_modules/linkinator/build/src/cli.js:120:39)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>docs-test: `linkinator docs`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>docs-test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /h/.npm/_logs/2020-12-28T11_36_45_690Z-debug.log
================================================================
2020-12-28T11:36:45Z: Build finished with 1
================================================================

[ID: 6518499] Build finished after 99 secs, exit value: 1

Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

[03:36:46] Collecting build artifacts from build VM
Build script failed with exit code: 1
[03:37:03] Archiving artifacts
[03:37:10] Running blaze commands.
[03:37:14] Finished running blaze commands.
[03:37:17] /tmp/workspace/workspace/cloud-devrel/client-libraries/nodejs/nightly/googleapis/nodejs-logging/node10/docs/artifacts/custom_sponge_config.csv does not exist in the workspace, no custom config value to log
[03:37:24] Updating SpongeV2 invocation.
[03:37:29] Updating ResultStore invocation.

Justin fixed this issue

Justin fixed this issue


Mobile gestures on fullscreen

Feature request...
Would it possible to add in native style image zooming (i.e. pinch to zoom) when in fullscreen mode? So rather than enlarging the entire screen, just the image would zoom leaving the controls in the correct position.

Yep, similar to #138. Art? Are you still working on this one? :)

Another essential gesture — swipe to close.

@artpolikarpov Hi! Are there any news? Since 2014 (when the issue was created) desktop/mobile devices ratio in the web changed dramatically, on my projects I see that almost 65% of visits are made from mobiles. Users complain that they cannot use pinch or double tap zoom as they used to native Android/iOS apps.

It would be great to see this improvement in fotorama


Use Animated instead of setState

Right now using setState is fairly inefficient as you need to reconcile the entire component again on each frame of the touch -- if you were to use Animated the performance would much much smoother. Noticed this on a Nexus 5.

Yes, this is very not smooth and is causing a ton of CPU usage, however, this is a very nice plugin though.

Thanks for reporting @brentvatne!
I'll switch to Animated as soon as I find some free time ;)

Agreed @rclai :)
Cool @jeanregisser! Looking forward to trying it

@jeanregisser Any plans on working on this within the next week?

I may do a PR now that I understand how Animated works.

@rclai That would be fantastic & much appreciated!

@rclai Have you started working on this?

@jamesfzhang I haven't found the time yet ;)
@rclai would be awesome if you beat me to it :fireworks:

I took a stab at this. https://github.com/jeanregisser/react-native-slider/pull/17

Nice.
I did work on this and the part that @jamesfzhang took care of works nicely but I was having trouble getting the performance to be better when updating the Animated value on _handlePanResponderMove, or in other words, when I'm holding and panning. It performs a lot better, but is still not acceptable.
I'll PR my end when I get a chance for some reinforcements on that area.

@jeanregisser have you had a chance to look at the PR made above? If it is fine could you update the plugin on NPM please.

:+1: for using Animated

I tried the code from the pull request and it feels a lot better, any chance you could merge it and release a new version to npm?

Thanks all!
I've finally published 0.6.0 on NPM which fixes performance issues while using the slider.
There's no more re-render while using it 🎉
Let me know how it works for you.


feat: added test middleware & refactored file structure

NEED TO CONSIDER

controllers and routes' type definitions
managing separate files inside folder (foo/bar.ts -> foo/bar/index.ts)


Use separate topic for transclusions

Depends-On: https://gerrit.wikimedia.org/r/310042
Bug: https://phabricator.wikimedia.org/T145040
cc @wikimedia/services

Coverage remained the same at 93.402% when pulling 37b1600e37a0cc8666a799a1c0501b156947d76a on Pchelolo:trans_topic into 1bb217d9a2e6bc352fd75c8cec03f073cc2f11fe on wikimedia:master.

Coverage remained the same at 93.402% when pulling e63fa80eeca813cd240dfa5913bf78c11f3d86e2 on Pchelolo:trans_topic into fa240648f1c6c807546bef991a33f2e9217bcf97 on wikimedia:master.

Since now we have a dedicated topic, we should get rid of the change-prop tag, in this way speeding up the execution to some extent.

@d00rman Done

Coverage remained the same at 93.402% when pulling bf01e0725f1de3c0055b26e347540e5cba4f49a2 on Pchelolo:trans_topic into fa240648f1c6c807546bef991a33f2e9217bcf97 on wikimedia:master.


"Retrieving column level lineage" message keeps looping indefinitely

Expected behavior
Hey, I've just installed this extension and tried to use its column lineage feature as detailed here: https://docs.myaltimate.com/test/lineage/
Actual behavior
When I select a column the "Retrieving column level lineage" message appears but it keeps looping indefinitely and I never see the lineage:

Steps To Reproduce
N/A
Log output/Screenshots
No response
Operating System
Windows
dbt version
dbt Cloud CLI 0.37.11
dbt Adapter
BigQuery
dbt Power User version
v0.40.3
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

@zoltanmihaly We are looking at it now. I'll have an update soon.

@anandgupta42 Any updates on this? I'm still experiencing the same issue

Hey @zoltanmihaly, it seems there is a performance issue on the dbt cloud cli side. If yes, can you please post a message in the slack channel - https://getdbt.slack.com/archives/C05KPDGRMDW ? This will help us involve the dbt cli team.

@zoltanmihaly Can you please update to the latest version and let us know if this is still an issue?

Please reopen if not working as expected.


[Feature Request] add ability to run CLI admin commands from helm chart

Is your feature request related to a problem? Please describe.
Currently need to run tctl commands after deployment manually what contradict cloud native and automation way to manage application and infrastructure.
https://github.com/temporalio/helm-charts#running-temporal-cli-from-the-admin-tools-container
Describe the solution you'd like
Use ability to add admin CLI commands to postStart lifecycle hook:
https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
      containers:
        - name: admin-tools
          image: "{{ .Values.admintools.image.repository }}:{{ .Values.admintools.image.tag }}"
          imagePullPolicy: {{ .Values.admintools.image.pullPolicy }}
          {{- if .Values.cliCommand }}
          lifecycle:
            postStart:
             exec:
                command: ["/bin/sh", "-c", {{ .Values.cliCommand | quote }}]
          {{- end }}
          ports:
            - name: http
              containerPort: 22
              protocol: TCP
          env:
            - name: TEMPORAL_CLI_ADDRESS
              value: {{ include "temporal.fullname" . }}-frontend:{{ include "temporal.frontend.grpcPort" . }}
          livenessProbe:
              exec:
                command:
                - ls
                - /

Do you have an example of a command you need to run? This doesn't feel in-scope for the chart to provide.


Update docs for limit_predict_batches

What does this PR do?

Fixes https://github.com/PyTorchLightning/pytorch-lightning/issues/6490
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hello @rohitgr7! Thanks for opening this PR.

In the file pytorch_lightning/trainer/trainer.py:

Line 207:121: E501 line too long (123 > 120 characters)

Do see the Hitchhiker's guide to code style


Update print form. - [closed]

In GitLab by @wknet123 on Apr 8, 2018, 07:23
Merges dev-migration -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:48
The test coverage for backend is  %   and for frontend is 38.11%   check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:48
the it is failed check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:48
closed


Eclipse stops building project evantually

After some time of work on a TeaVM project, Eclipse can eventually stop building this project. The reason is that during build something happens (for example, some resorce changes) that cancells build. In a few milliseconds incremental build starts and TeaVM thinks that nothing has changed on a project. However, project still needs to be rebuilt. TeaVM project builder should track TeaVM profile that were cancelled and next time it should build this project on incremental build.

This issue probably fixed by https://github.com/konsoletyper/teavm/commit/f971360c58e916ddc5f7e084a5db0f05bbe7d17f
There is no way of guaranteed reproduction of this issue, so I consider it closed.


from_dataframe() brakes with nulls in time column

Tell us about the bug
from_dataframe()  conversion seems to break if there are nulls in the time column of the dataframe.
What did you expect to see?
Here, as with any null dealing situation, there is a decision to make:

Drop the rows with nulls in the time column:
dataframe = dataframe.dropna(subset=time_label)

Extrapolate the nulls in the time columns using surrounding values:
dataframe[time_label] = dataframe[time_label].interpolate(method='linear')

Thinking best would be to throw an exception rather than silently ommitting // setting an  artificial value

No longer relevant, new python code is not working the same way


Multi stage build container

Reduce the container size image from 71.3MB (280 packages!) to 63.7MB (44 packages!) ==> -7.6MB (-236 packages).
Note: still keeping alpine as I tried with distroless but the size was 174MB... not intended for the purpose of this PR.

Ready for your review, thanks!

Just tested locally and in Kubernetes, working successfully. Merging.


No colored output with Molecule 1.8.4

Issue Type

Bug report

Molecule and Ansible details
$ ansible --version
ansible <IP_ADDRESS>
  config file =
  configured module search path = Default w/o overrides

$ molecule --version
1.8.4

$ testinfra --version
This is pytest version 3.0.4, imported from /usr/local/lib/python2.7/dist-packages/pytest.pyc
setuptools registered plugins:
  pytest-spec-1.0.1 at /usr/local/lib/python2.7/dist-packages/pytest_spec/plugin.py
  pytest-xdist-1.15.0 at /usr/local/lib/python2.7/dist-packages/xdist/boxed.py
  pytest-xdist-1.15.0 at /usr/local/lib/python2.7/dist-packages/xdist/looponfail.py
  pytest-xdist-1.15.0 at /usr/local/lib/python2.7/dist-packages/xdist/plugin.py
  testinfra-1.4.2 at /usr/local/lib/python2.7/dist-packages/testinfra/plugin.py

Molecule installation method: pip
Ansible installation method: pip
Testinfra installation method: pip

Desired Behaviour
Running commands like molecule converge or molecule verify should emit output with ansi-color escape sequences when ANSIBLE_FORCE_COLOR=true (for ansible) and color: 'yes' (for testinfra) is set.
Actual Behaviour (Bug report only)
Whenever molecule converge or molecule verify is being run on our CI server (Ubuntu Server 16.04) we don't get any colors. Invoking testinfra --color=yes standalone (without going through molecule) properly emits the ansi color escape sequences.
It works when connected to the CI server via terminal, but does not for the CI builds.
Any ideas what it needs to trigger colored output? Any env var or similar that needs to be present to make molecule think it runs inside a terminal?
I have tried faking TERM=xterm molecule verify but that did not help. Any ideas what it could be?

Here is the molecule --debug output:
+ molecule converge --debug
DEBUG: RUNNING CONFIG
!!python/unicode 'ansible':
  !!python/unicode 'ask_sudo_pass': false
  !!python/unicode 'ask_vault_pass': false
  config_file: !!python/unicode '.molecule/ansible.cfg'
  !!python/unicode 'diff': true
  !!python/unicode 'host_key_checking': false
  inventory_file: !!python/unicode '.molecule/ansible_inventory'
  !!python/unicode 'limit': !!python/unicode 'all'
  !!python/unicode 'playbook': site.yml
  raw_env_vars:
    ANSIBLE_FORCE_COLOR: 'true'
    ANSIBLE_ROLES_PATH: ./roles
  !!python/unicode 'raw_ssh_args':
  - -o ControlMaster=no
  !!python/unicode 'sudo': true
  !!python/unicode 'sudo_user': false
  !!python/unicode 'tags': false
  !!python/unicode 'timeout': 30
  !!python/unicode 'vault_password_file': false
  !!python/unicode 'verbose': vv
!!python/unicode 'molecule':
  !!python/unicode 'ansible_config_template': !!python/unicode 'ansible.cfg.j2'
  !!python/unicode 'config_file': !!python/unicode '.molecule/ansible.cfg'
  !!python/unicode 'default_provider': !!python/unicode 'virtualbox'
  !!python/unicode 'ignore_paths':
  - !!python/unicode '.git'
  - !!python/unicode '.vagrant'
  - !!python/unicode '.molecule'
  !!python/unicode 'init':
    !!python/unicode 'platform':
      !!python/unicode 'box': !!python/unicode 'trusty64'
      !!python/unicode 'box_url': !!python/unicode 'https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/14.04/providers/virtualbox.box'
      !!python/unicode 'box_version': !!python/unicode '0.1.0'
      !!python/unicode 'name': !!python/unicode 'trusty64'
    !!python/unicode 'templates':
      !!python/unicode 'molecule': !!python/unicode 'molecule.yml.j2'
      !!python/unicode 'molecule_docker': !!python/unicode 'molecule_docker.yml.j2'
      !!python/unicode 'molecule_openstack': !!python/unicode 'molecule_openstack.yml.j2'
      !!python/unicode 'playbook': !!python/unicode 'playbook.yml.j2'
      !!python/unicode 'test_default': !!python/unicode 'test_default.py.j2'
  !!python/unicode 'inventory_file': !!python/unicode '.molecule/ansible_inventory'
  !!python/unicode 'molecule_dir': !!python/unicode '.molecule'
  !!python/unicode 'molecule_file': !!python/unicode 'molecule.yml'
  !!python/unicode 'rakefile_file': !!python/unicode '.molecule/rakefile'
  !!python/unicode 'rakefile_template': !!python/unicode 'rakefile.j2'
  !!python/unicode 'raw_ssh_args':
  - !!python/unicode '-o StrictHostKeyChecking=no'
  - !!python/unicode '-o UserKnownHostsFile=/dev/null'
  !!python/unicode 'serverspec_dir': disabled
  !!python/unicode 'state_file': !!python/unicode '.molecule/state.yml'
  !!python/unicode 'test':
    !!python/unicode 'sequence':
    - !!python/unicode 'destroy'
    - !!python/unicode 'syntax'
    - !!python/unicode 'create'
    - !!python/unicode 'converge'
    - !!python/unicode 'idempotence'
    - !!python/unicode 'verify'
  !!python/unicode 'testinfra_dir': spec
  !!python/unicode 'vagrantfile_file': !!python/unicode '.molecule/vagrantfile'
  !!python/unicode 'vagrantfile_template': !!python/unicode 'vagrantfile.j2'
!!python/unicode 'testinfra':
  color: 'yes'
  spec: true
vagrant:
  instances:
  - name: jenkins-master
    raw_config_args:
    - 'vm.network ''forwarded_port'', guest: 8080, host: 8080'
    - 'vm.network ''forwarded_port'', guest: 443, host: 9443'
    - 'vm.network ''forwarded_port'', guest: 80, host: 9080'
    vm_name: jenkins-master
  platforms:
  - box: pvt/ubuntu1604_<IP_ADDRESS>
    box_url: http://acme.org/vm/boxes/virtualbox/acme-ubuntu1604-<IP_ADDRESS>.box
    name: ubuntu1604
  providers:
  - name: virtualbox
    options:
      cpus: 2
      memory: 512
    type: virtualbox
  - name: vmware_workstation
    options:
      cpus: 2
      memory: 512
    type: vmware_workstation
  raw_config_args:
  - ssh.insert_key = false

Hi @tknerr we are not making any bug fixes to any other branches but master and the current release.  Please upgrade to the current version and see if you still have the same problem.

Hi @retr0h, sure, I was not expecting to have a bugfix backported to the quite outdated molecule version we are using here. I was merely looking for an idea what could be the cause for this behaviour and possible ways to work around it.
While I still have to test that behaviour with a more recent version, any suggestions / ideas are very welcome in the meanwhile.

I can't seem to replicate on current version of molecule.  We get some color output when making testinfra run with verbose.

You can replicate the issue by running molecule anywhere that at TTY isn't present (every CI platform, Gitlab, Jenkins etc.).  This is an issue in the current version of molecule.

@retr0h is there any update on this? Is a colorized output in a non tty environment supported or not? I tried multiple things, putting the ansible setting under raw_env_vars:, ansiblecfg_defaults directly as environment variable but nothing works...

Yes, there is an open PR at https://github.com/ansible/molecule/pull/1533 that tries to address this issue by following the PY_COLORS=1 variable.


fast & durty fix for "poll_data" attribute after Graylog upgrade to 2.1.x

Graylog 2.1.x brokes "poll_data" attribute and  input\output buffers utilization attributes.
more at http://docs.graylog.org/en/2.1/pages/upgrade/graylog-2.1.html#removed-resources
As "poll_data"attribute used by "Fail to poll data" trigger, after Graylog upgrade to 2.1.x there is false "FAIL" state for this trigger.
Simple removed get_system_buffer_info() call and check for BUFFER_INFO_FILE.
PS: It seems to me, check for $SYSTEM_INFO_FILE is missing at line 200:
if [ -s $NODE_INFO_FILE ] && [ -s $JOURNAL_INFO_FILE ]; then
?

I agree with you.
As i said - it fast and dirty patch only for trigger.
I did it to warnn you about troubles with monitoring after Graylog upgrade

Hello @osterik,
Once again, thanks for taking this up to my attention.
I branched out a "pre-2.1" and the master branch is now patched to work with graylog 2.1.x.
Thank you!
Best,
fred


Added SRI to CDN link, bumped to 12.0.1

Using subresource integrity hashes protects the client in the event that the remote source changes the contents of the file served unexpectedly, such as a vulnerability in a CDN.
From MaxCDN Support:

Subresource Integrity (SRI) is a security feature that instructs browsers to verify that resources fetched from third parties like CDNs have been delivered without any manipulation. SRI does this by comparing the hash values of the third-party-hosted resources to the values in the website’s HTML elements.

More information from Troy Hunt: https://www.troyhunt.com/protecting-your-embedded-content-with-subresource-integrity-sri/
I used https://www.srihash.org/ to generate the SHA384 hash on https://twemoji.maxcdn.com/2/twemoji.min.js?12.0.1 on 2019-05-23 8:15 PM EST.
I also bumped the version in the link to the current released version for consistency.

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

Good call, thank you!


Can't install appx version

i tried to install latest appx package version  ArchWSL-AppX_<IP_ADDRESS>_x64.appx
but i get this error
Either you need a new certificate installed for this app package, or you need a new app package with trusted certificates. Your system administrator or the app developer can help. A certificate chain processed, but terminated in a root certificate which isn't trusted
even i downlaoded cer file of this version and installed it in trusted root group but still get this error
i am using windows insider version 18845.1001
this is  the first try of an appx package on arch_wsl on my machine

it worked now after i choose local machine instead of current user in cer installation

Yes, choosing local machine instead of current user fixed it

I installed it both ways, still doesn't work

I'll write about it to wiki.
I'm sorry for my poor explanation...

I wrote to wiki/Install-Certificate and added link to README.


How to get jwks.json for Cognito on Docker

Hi, This is question about validating the JWT signature.
I want to get jwks.json from moto container.
I already created user pool, so I have the user pool id.
Does moto Docker image have an endpoint like https://cognito-idp.{$region}.amazonaws.com/{$pool_id}/.well-known/jwks.json?

Hi @nakata72! Yes, you can call the same URL against the MotoServer: http://localhost:5000/userpoolid/.well-known/jwks.json
Note that, because we just lost context on which service and which region we want to talk to, this call requires an Authentication-header. Moto will use the value of this header to determine which service and region should handle this request.
An example:
Authorization: AWS4-HMAC-SHA256 Credential=mock_access_key/20220524/us-east-1/cognito-idp/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=asdf

Thanks @bblommers.
We tried your solution and got the results we wanted!
But I have a few questions.
Do I need to change the region like us-east-1 included in the Authentication-header?
I tried two patterns that us-east-1 and ap-northeast-1, and got same results.
In case of region us-east-1, I expected that got no result, because my created UserPool's region is at ap-northeast-1.
Is this correct behavor?

Thanks @bblommers.
We tried your solution and got the results we wanted!
But I have a few questions.
Do I need to change the region like us-east-1 included in the Authentication-header?
I tried two patterns that us-east-1 and ap-northeast-1, and got same results.
In case of region us-east-1, I expected that got no result, because my created UserPool's region is at ap-northeast-1.
Is this correct behavor?

Happy to hear that @nakata72!
We don't do any validation at the moment, so this is expected - it always returns the same data, regardless of what region/userpool is provided.

OK, I see.
Anyway, my question is completed!
Thank you @bblommers .


Server-side errors not working in Remix

Describe the bug and the expected behavior
Hi,
I'm experiencing a specific issue when using conform in a Remix application. The problem arises during server-side validation: while the initialError property correctly displays validation errors, the error and errors properties remain undefined. This occurs when using both the Form and fetcher.Form components from Remix.
Through testing, I identified that Loaders (Remix docs) might be the root cause. Without these loaders, error and errors properties populate correctly, and error messages display in the UI as intended. However, these loaders are crucial for my application.
For reference, here's a minimal reproduction of the issue: StackBlitz
Any insights or solutions would be greatly appreciated. Thank you!
Conform version
0.9.1
Steps to Reproduce the Bug or Issue

Open the StackBlitz link
Submit the empty form using the Save button in the preview window
Notice how the fields.name output shows the error message in initialError but there is no error or errors defined
Remove (or comment out) the loader from the _index.tsx file, save changes and refresh the preview window
Submit the empty form again and see the error message shown

What browsers are you seeing the problem on?
Chrome
Screenshots or Videos
https://github.com/edmundhung/conform/assets/37254654/3a531ca5-d0ad-4973-a16a-ba640bab18e4
Additional context
No response

Hi @osamaaaaa. I am sorry for the trouble. There is a limitation in the current version that blocks error update when the field is disabled and because remix navigation state goes from idle -> submitting -> loading -> idle. When you have a loader and it reaches the loading state, Conform already receive the updated submission and try to update the error while all your fields are disabled because of navigation.state !== 'idle'.
This limitation will be removed very soon. But for now, you can switch the isPending logic to navigation.state === 'submitting' && navigation.formAction === contextualFormAction so it only disables the fields during the submitting state.

Thanks for the clarification @edmundhung! I really appreciate it. I'll switch my isPending logic as a workaround for now but really keen to try out the fix once the limitation is removed. Feel free to close this issue now or after the limitation has been removed.

This should be resolved in v1.0.0.


Search: Allow marking notes as restricted

Who is this PR for?
students, families.  first users SHS counselors
What problem does this PR fix?
If notes with sensitive information are entered but not marked as restricted, there's no way for educators to resolve this without emailing for help.  This works well and they can do this quickly, but we should support educators doing this directly.
Adding search magnifies this problem since it's simpler to search for particular topics that might be sensitive, and so we can use search to enable educators to resolve any privacy concerns for students before releasing it more widely.
What does this PR do?
Adds a "Mark restricted" link to notes on the search page only.
This involves changing FeedView to support threading per-note props at render time, and then adds a new MutableFeedView that adds in this UI element and handles making server requests and optimistically updating the local UI as well.  This PR then makes use of this in SearchNotesPage only.  The metadata for search results doesn't update in response to this, and that's something to improve in a separate PR; this is aimed at enabling the most critical use case only.
This also fixes an existing bug in SelectTimeRange impacting the search page - the momentRange fn was mutating a moment that it was passed, which led to excluding notes from the current day in search.
Screenshot (if adding a client-side feature)

Checklists
Which features or pages does this PR touch?

[x] Home page
[x] Search notes

Does this PR use tests to help verify we can deploy these changes quickly and confidently?

[x] Included specs for changes
[x] Manual testing made more sense here

selfie


Suggestion for a new option: do not show the applications with a single visible window

I would like to have the  option of showing only the applications that create two or more visible windows

Hi @mateiacd, thanks for the suggestion, I think this might be a part of the next release. Have some idea, need a bit of testing

Released in version 1.2.0
The option is disabled by default, set HideSingleWindowApps in appsettings.json to true

closing the ticket


Dyson Local integration error - Retrying setup: None

Hi,
First of all, thank you for this great integration which allows us to use the Dyson fans locally (as it should be by default in a perfect world :D)
Unfortunatly, my Dyson Local integration encounters an error about once to twice a week. (since I installed it first, about 1 month ago)
The integration crashes and shows the message "Retrying setup: None".
From there, my Dyson HP04 is still online, but becomes unreachable from the integration.
The only thing that solves it is to delete the integration and add the HP04 again (I don't even have to reboot the dyson fan, so I think the issue comes from the integration)
I always choose the manual configuration, and the device type 527.
Dyson version is at latest (auto updates are disabled just in case)
Running core-2021.7.4, supervisor-2021.06.8 (stable channel) on HassOS 6.1 on an Intel NUC.
Do you have any ideas on how to solve this issue please ?
Next time this happens I will try to reboot the fan and hassio without deleting and re adding the integration and keep you posted !
Thanks !

It seems there is some problem with the reconnect logic. I'll look into it.

Hi, same issue here, the integration has definitively stopped working and shows the same message as above in the integration panel "Retrying setup: None"

Hey ! At least I'm not alone in this
I found since then that it often happens when the Dyson HP04 temporarily disconnects from the network...
The fault is for sure on Dyson but maybe this case could be handled in this wonderful custom integration ?

I dont know if its at all related, but I had the same issue so deleted the integration thinking I just need to redo it. Now I keep getting failed to connect when trying to add a dyson local integration.

Alright, just to keep you updated, I have some news about this.
According to my tests, the issue comes from the HP04 which disconnects from the LAN about once or twice a week.
So I made a dirty fix to fix it automatically :
alias: Thermostat Reviver
description: should restore last settings and shoudnt restart hassio...
trigger:

platform: state
entity_id: air_quality.pure_hot_cool_air_quality
to: unavailable
condition: []
action:
service: notify.mobile_app_galaxy_phone
data:
title: Info
message: Thermostat reviver triggered
service: notify.mobile_app_chromeos
data:
title: Info
message: Thermostat reviver triggered
service: switch.turn_off
target:
entity_id: switch.bedroom_dyson_hp04_outlet
delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
service: switch.turn_on
target:
entity_id: switch.bedroom_dyson_hp04_outlet
delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
service: shell_command.dyson_integration_restart
delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
service: homeassistant.restart
mode: single

alias: homeassistant_start
initial_state: true
trigger:

platform: homeassistant
event: start
action:
service: browser_mod.close_popup
delay:
seconds: 1
service: frontend.reload_themes
delay:
seconds: 1
service: fan.turn_on
target:
entity_id: fan.pure_hot_cool
mode: single

The only issue here is that : at the time of the HP04 disconnection, even if the integration is reloaded after making the HP04 available once again on the LAN, the HA Core Integration needs to be reloaded. Which is strange because the integration reload should do the work, as it did for reloading the ZHA and the AppleTV integration. I didn't find a better yet, any improvement idea please ?

There have been many updates that should have fixed this problem. I daily drive this very integration and didn't see it occurring to me. I'll reopen the issue if the problem keeps happening.


Fix prefix

Fix #277
I haven't tested this much yet. The prefix variable name is very confusing, as it is used for two purposes.

Tested and seems to work for my particular case. <c-w> can once again be used while having the presets windows = true

@Liverm0r @petertriho Does this fix your problems now?

@zeertzjq yep, i had the exact same issue as jemag,  fixed

Test with :lua =require('which-key.util').parse_keys('abc<C-F><M-J><M-C-F2>‥<D-A-‥><T->><D-<><lt><C-->'):
{
  internal = { "a", "b", "c", "\6", "<80><fc>\bJ", "<80><fc>\f<80>k2", "‥", "<80><fc><88>‥", "<80><fc>\16>", "<80><fc><80><", "<", "<80><fc>\4-" },
  keys = "abc\6<80><fc>\bJ<80><fc>\f<80>k2‥<80><fc><88>‥<80><fc>\16><80><fc><80><<<80><fc>\4-",
  notation = { "a", "b", "c", "<C-F>", "<M-J>", "<M-C-F2>", "‥", "<D-A-‥>", "<T->>", "<D-<>", "<lt>", "<C-->" }
}

Test with :lua =require('which-key.util').parse_internal(require('which-key.util').t('abc<C-F><M-J><M-C-F2>‥<D-A-‥><T->><D-<><lt><C-->')):
{ "a", "b", "c", "\6", "<80><fc>\bJ", "<80><fc>\f<80>k2", "‥", "<80><fc><88>‥", "<80><fc>\16>", "<80><fc><80><", "<", "<80><fc>\4-" }

My problem is fixed, thank you!

Can also confirm this solves the issue on my end.

all <c-w> bindings work for me with this :rocket:

@zeertzjq thank you for all the work you put into this PR! All seems to work as it should.


[DB] avoid not-found saved data in a new database after restart

In order to see the bug:

Open medInria -> Settings -> Database -> change the database path to a completely new one -> Save -> Close medInria
Open medInria -> Workspace/Browser -> open a data -> permanent saving of the data -> Close medInria
Open medInria -> Visualization -> open the data: it does not open.

This PR solves this problem. New databases were not opened well, since the image column does not exist in them, but user_version is not set.
:m:

Code is sound. Works for me. Merging, thanks


Bug : Mobile View - Side Menu Background Transparency Issue

Summary
When accessing the Zustand documentation on mobile devices, an issue arises where the side menu background turns transparent upon opening. This behavior significantly hinders the readability of the content, making navigation and comprehension challenging for users on smaller screens. This problem is not observed on desktop screens, indicating a responsive design issue that needs attention for an optimal user experience.
I've opened a new discussion thread #2296 related to this issue. In the discussion, we can further explore the details and potential solutions. Feel free to join the conversation there.
Discussion
Screenshots
1.)

2.)

This fell out in #270 when I touched up missing sections. Will see which component was affected.


Remove MulitUrlResolver and MultiDocumentServiceFactory from webpack-fluid-loader

These aren't required, are not recommendable to our customers, and are abusing URL protocol (one of the items blocking the switch to native URL over url-parse, see #9236).  This change would just select the appropriate url resolver and document service factory directly rather than using the Multi version in webpack-fluid-loader.

are you sure people are not using it?

There is MultiUrlResolver and MultiDocumentServiceFactory in driver-utils as well - https://github.com/microsoft/FluidFramework/blob/2b3390a37ddba633c23f2cc1ad52298ae8792fb1/packages/loader/driver-utils/src/multiUrlResolver.ts. Maybe webpack-fluid-loader should use those instead?

They are not exported from the webpack-fluid-loader package (as Navin mentions, driver-utils would be the package external customer would be using).


📦 NEW: add wotify collection

Hope the PR is ok this time :)
If I added 1 or 2 sentences too much, feel free to edit and delete✌

Hey @wotify adding your PR now.


Enable testnet key generation

All that was missing was the command line option.

Thanks!

I forgot to update readme.rst /:

Push or push force into your branch, I will accept it.

I pushed it into my branch. Not sure if I should make another pull request though.

Not needed. Applied, Thanks!

Cool! Thanks to you and all the contributors.


Inform users when they have insufficient balance before initiating transfer

Idea from the community
Rationale
Why should this feature exist?
Users sometimes do not see if they have sufficient assets for the transfer. It is better to show it at the beginning before the user initiatives a transfer
What are the use-cases?
When users do not have enough assets or not enough assets to pay fees
Insufficient assets should be informed here

Instead of here

@DocSmoove Once again, thanks for reporting and providing such detailed info for this issue.
This issue is also tackled currently by the input validation implementation.
Form will be unsubmittable (submit button marked as disabled) until user enters correct input values for all fields.
Users will get feedback for all invalid cases:

Insufficient balance (token amount + fees > token balance)
Invalid token amount input (negative amounts, not matching decimals with Token allowed decimals, other edge cases where inputted value is not a proper numeric value)
Invalid ETH address

Addressed by issue #259

@GabrielBuragev Ok awesome :D Thank you!


options for print block information

Added two options:
--pbi-all             Print all block information.
--pbi <index1,index2> Print block information between block index1 and block index2.

closed: https://github.com/LunarG/gfxreconstruct/issues/748
closed: https://github.com/LunarG/gfxreconstruct/issues/752
Print block information in every beginning of block is easier and more useful than adding block index and frame in every log. Also, it could also help to figure out which block to print validation layers log.
Now, it prints block index and frame. It could add more in the future,

CI gfxreconstruct build queued with queue ID 197998.

CI gfxreconstruct build queued with queue ID 198009.

CI gfxreconstruct build # 4255 running.

CI gfxreconstruct build queued with queue ID 198055.

CI gfxreconstruct build queued with queue ID 198056.

CI gfxreconstruct build queued with queue ID 198059.

CI gfxreconstruct build # 4260 running.

CI gfxreconstruct build # 4260 passed.

CI gfxreconstruct build queued with queue ID 210789.

CI gfxreconstruct build queued with queue ID 210795.

CI gfxreconstruct build queued with queue ID 210797.

CI gfxreconstruct build # 4367 running.

CI gfxreconstruct build # 4367 passed.

CI gfxreconstruct build queued with queue ID 211279.

CI gfxreconstruct build # 4375 running.

CI gfxreconstruct build # 4375 passed.


Android input doesn't scroll back if opening select dropdown

If I click on input, the keyboard appears and input scrolls up with everything else, then if I click on select dropdown while keyboard is still open, and select anything from dropdown then input doesn't scroll back but keyboard gets hidden

I have same issue. Any solutions??

I'm facing the same issue too. Can anyone please help...

I came across this solution which worked for me:
Find the ionic.bundle.js
In the
function keyboardFocusIn(e)
before the following line:
keyboardActiveElement = null;
I added the following codes
if (keyboardActiveElement) {
ionic.trigger('resetScrollView', {
target: keyboardActiveElement
}, true);
}
Source:[Ionic keyboard issue] (https://github.com/driftyco/ionic/issues/4193)

Hi All,
Still I facing the above issue. See the steps:

Tap on input field --> keyboard opens
Tap on app back button from top nav bar --> keyboard closed and back to list screen.
But on list screen keyboard is closed but the content is not having correct scroll --> there is some free space at the end of the ion-content. the free space is similar to keyboard height.
Please help me out. I have updated the IONIC version as well with 1.2.4. But still facing.

Thanks,
Harish

Hi there. Found solution to same problem.
look at method keyboardFocusIn in ionic.js
First if determines if we got focus on input element. and in last line check that there is present scroll-container above that focused element.
if (....
   !(scrollView = ionic.DomUtil.getParentWithClass(e.target, SCROLL_CONTAINER_CSS)) ){
...

now look at  getParentWithClass  function:
getParentWithClass: function(e, className, depth) {
depth = depth || 10;
......
}

There is third parameter. Depth of search, an optimization, just not to look too far higher from our focused element.
And that was the reason of that error for me! Element depth between my input element and scroll-container was greater than 10. keyboardFocusIn function did not set keyboardActiveElement variable, and keyboardFocusOut did not work properly.
hope it helps.

Using below code to override the default 10 depth. It is not a good practice, but however, it can fix this issue.
ionic.DomUtil.getParentWithClass = function(e, className, depth) {
depth = depth || 30;
while (e.parentNode && depth--) {
if (e.parentNode.classList && e.parentNode.classList.contains(className)) {
return e.parentNode;
}
e = e.parentNode;
}
return null;
};


Refactor/layouts

I tried to break large files and methods into smaller ones. For me it's easier to understand this way. I still find some methods too large, but I had to start somewhere :)
Since I am a complete beginner with Python I appreciate any comments and tips!

That has been overdue since a long time already, thanks!
Refactoring a module (aka "file") to be a package (aka "directory") is exactly the right way to do it when working in python. What I often do keep the same API is importing the identifiers which are used elsewhere into the __init__.py file. For example:
from .person import editperson_toolbar

__all__ = ["editperson_toolbar"]

This way we can still use basxconnect.core.layouts.editperson_toolbar in all other places instead of having to refactor all pieces where editperson_toolbar is used (instead of renaming them to basxconnect.core.layouts/person.editperson_toolbar). The above piece of code can also be written the following way which is a bit less pythonic but sometimes helpfull if you have many imports which hight change in the near future (the # noqa disables the linter from reporting an unused import):
from .person import editperson_toolbar # noqa

As you can see, the checks are failing. This is because we require all import to be sorted with "Isort" https://pycqa.github.io/isort/. Could you install the according plugin in your IDE and update this branch accordingly? Isort should be run with isort --profile=black

close accidently

closing this one. opened another one with the desired target branch


Support Python 3.10

What is wrong?
py-evm doesn't support Python 3.10. There was a change in the C API in Python 3.10 that we're running into. From the docs:

The PY_SSIZE_T_CLEAN macro must now be defined to use PyArg_ParseTuple() and Py_BuildValue() formats which use #: es#, et#, s#, u#, y#, z#, U# and Z#.]

Here is a link to the failed test run. The error message is: SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats.
How can it be fixed
I believe this change needs to happen in https://github.com/ethereum/ethash where the mkbytes_cache function is defined. Then we'll need a release and to pull the release in here.

closed by #2088


[feat] RCP & Declarative Policy Support

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@alejtraws please squash and merge this when you get a chance.  It enables Declarative Policies and RCPs on the org. It also adds a GitHub Actions based build workflow so people can deploy a CICD role that sets up an IAM OIDC provider with GitHub to bootstrap the setup.


Fix linkdrop redirect after recover account

Description
This PR fixes https://github.com/near/near-wallet/issues/1875  The redirect doesn't work if a user import a new account and then claim the linkdrop.
To fix the issue, we need to:

ensure the redirectUrl parameter (or the state that saves this parameter) is not lost when jumping back from the recover-account and recover-seed-phrase pages;
the redirectUrl parameter was saved into state correctly, so the redirection could happen successfully

@stefanopepe @MaximusHaximus @marcinbodnar Hey guys, this fix is a bit urgent since it's a showstopper for one top-tier project. Could you please have a look when you get time this week?

@think-in-universe, in LinkdropLanding.js, inside the handleClaimNearDrop function, can we check for the redirectUrl there instead and do:
if (url?.redirectUrl) {
    window.location = `${url.redirectUrl}?accountId=${accountId}`
} else {
    redirectTo('/')
}

That way we can remove the finishLinkdropClaim function in actions/account.js and there aren't any surprises when calling claimLinkdropToAccount.

@Patrick1904 thanks Patrick. nice suggstion.
I have moved the logic from finishLinkdropClaim() function to LinkdropLanding.js

@Patrick1904 @MaximusHaximus thanks!
yeah. I can submit another PR for linkToExternal refactor after this one is merged.

@think-in-universe I rebased off of master to eliminate some conflicts with the main branch; could you do one final smoke test of the behaviours impacted by this PR and let us know that it's good to go post-rebase?  Then we're ready to merge this sucker. :)

@MaximusHaximus yeah. I have tested all the linkdrop redirect behaviors (by creating new account, with logged in account, importing existing account), and all works well locally with the latest code.
But the Netlify version seems not working well: https://deploy-preview-1883--silly-morse-129a27.netlify.app/   I'm not sure why actually.

Thanks so much @think-in-universe :) Yep, the deploy preview is indeed a mainnet instance :+1: thanks for the testing! This will go out in this week's release, which I intend to ship later today 🎉  🚀


Type definition for fractionalSecondDigits in Intl.DateTimeFormatOptions has incorrect 0.

lib Update Request

Configuration Check

My compilation target is es2016 and my lib is es2021.
Missing / Incorrect Definition

fractionalSecondDigits in Intl.DateTimeFormatOptions should not have 0.
However current type definition is fractionalSecondDigits?: 0 | 1 | 2 | 3 | undefined;.
https://github.com/microsoft/TypeScript/blob/v4.6.4/src/lib/es2021.intl.d.ts
Sample Code

Intl.DateTimeFormat("en-US", { fractionalSecondDigits: 0 });
// RangeError: fractionalSecondDigits value is out of range.

This code throws RangeError on Chrome v101, Safari v15.4, Firefox v99 and Node.js v16,v17.
Documentation Link

fractionalSecondDigits values are 1, 2 or 3 in ECMAScript® 2021 Internationalization API Specification.
https://402.ecma-international.org/8.0/#sec-datetimeformat-abstracts
Related conversation at https://github.com/tc39/ecma402/issues/590

I want to contribute this issuse

@sandersn This issue seems to does not resolved.
#49014 resolved only ResolvedDateTimeFormatOptions.
https://github.com/microsoft/TypeScript/blob/9236e39374c0ec9a1e3f9894af4fb9eb34ba0021/src/lib/es2021.intl.d.ts#L26
However DateTimeFormatOptions is not resolved.
https://github.com/microsoft/TypeScript/blob/9236e39374c0ec9a1e3f9894af4fb9eb34ba0021/src/lib/es2021.intl.d.ts#L8


Work with non-socket.io websocket servers

I'd like to be able to use this library to talk to pre-existing ws/wss servers that do not use socket.io.
I know you've got socket.io right in the name of the library, but I think you've made statements that this library supports standard websockets. If you meant that the client can use the standard websocket API but the server must still be running socket.io then okay, but I don't quite know why anyone would bother.
Using your Example/websocket server against a non socket.io based websocket server results in a continuous stream of attempts at accessing http://localhost:8001/socket.io/?EIO=3&transport=polling&t=1451837114463-40 which does not exist of course.
Here's a websocket server using https://github.com/websockets/ws, derived from one of their examples, that illustrates the problem:
var WebSocketServer = require('ws').Server
  , wss = new WebSocketServer({ port: 8001 });

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
    ws.send('echoing: ' + message); // this line is not in the elm-socketio provided server.js file
  });

  ws.send('Hello I am a server using Websockets');
});

I'd like to support standard websocket servers but I'm limited by what socket.io can do. Their docs say that using specific event names will enable compatibility, and this library takes care of that if you pass "" (empty string) as the event name.
That said, the fact that it tries to connect to a /socket.io URL over HTTP is pretty damning for a claim of compatibility.
This library is a pretty thin wrapper, so if you can get a JS client using the socket.io client node module to talk to a ws server, I should be able to make that happen in Elm. But I don't really know how to do the first part. Maybe you can ask the JS project maintainers?

This was discussed further on elm-discuss.
My recommendation is to use ports and the WebSocket API, which boils down to:
var socket = new WebSocket('ws://localhost:8080/');
socket.onopen = function () {
    alert('Connected!');
};
socket.onmessage = function (event) {
    alert('Received data: ' + event.data);
};
socket.onclose = function () {
    alert('Lost connection!');
};
socket.send('hello, world!');
```


cannot access notes in synced directory

help! I tried to change my tomboy notes dir a local dir that is synced to a cloud service.  Instead It opens a few old notes I no longer need. I've apt-get purged and reinstalled, rooted around in .config, .local/share, and nothing works.

OK Ebon, I reckon there is a very good chance we can find them all.  Firstly, is there the expected number of files with a .note extension in /home/ebon/.local/share/tomboy ?
I guess you have not been taking tomboy-ng snapshots ?
Anyway, if you see the right number of files, please firstly copy them all somewhere safe, make a dir off your home dir and copy the notes there. eg
cd
mkdir tomboy-safe
cp .local/share/tomboy/*.note  tomboy-safe/.

If thats all OK, you could, just to set your mind at rest, fire up tomboy-ng, set its notes path to that directory and you 'should' see all your notes. Don't do any sync or anything from there, we are just looking to make sure they are there at this stage.
Davo

Oh, one more thing, lets grab the backups too !
mkdir tomboy-safe/Backup
cp .local/share/tomboy/Backup/*.note  tomboy-safe/Backup/.

just to be safe ....

No answer from Eben.
A careful read of his post indicates to me that is using Tomboy, not tomboy-ng so perhaps he realised he has posted to wrong issues line ?


Unbound 1.9.0

Pull Request (PR) description
Add support for Ubuntu 20.04 and some config options for Unbound 1.9.0
This Pull Request (PR) fixes the following issues

Hmm, not sure how to resolve "Puppet 5 - Ubuntu 20.04" - will look at adding some testing to the spec file, as well


Invoke-WebRequest and Invoke-RestMethod: Rename TimeoutSec to ConnectTimeoutSec (with alias) and add NetworkTimeoutSec

PR Summary
This renames -TimeoutSec parameter (with alias to old parameter name) to -ConnectTimeoutSec and adds -NetworkTimeoutSec parameter to both Invoke-WebRequest and Invoke-RestMethod commands.

-TimeoutSec becomes -ConnectTimeoutSec is aliased with -TimeoutSec and has same behaviour as before. That is, it is the timeout that applies from just prior to sending a web request to receiving the response headers.
-NetworkTimeoutSec specifies the maximum allowed time between reads from the network when streaming http response content.

The default for both items is to have no timeout.
close #12249
close #16122
close #19519
PR Context
There are reports that when a network stream goes away and the OS doesn't or is unable to notify PowerShell that the network stream has been lost that PowerShell hangs forever in Invoke-WebRequest / Invoke-RestMethod on stalled response streams.
A previous PR made it possible to use CTRL-C to terminate this, but there was no way to have PowerShell timeout after a period of network inactivity in batch scenarios. This PR adds the timeout. The timeout applies to inter-stream reads, and not to the stream time as a whole. Therefore setting the -NetworkTimeoutSec to 30 seconds means that any delay of longer than 30 seconds between reading data from the stream will terminate the request. However a large file that takes several minutes to download will not terminate unless the stream stalls for more than 30 seconds.
The default of 0 for -ConnectTimeoutSec and -NetworkTimeoutSec means no timeout applies as per request by WG noted in #19519. Any value less than 0 for -NetworkTimeoutSec is also treated as no timeout.
Performance Comparison
The following benchmark was used to assess performance implications of this PR over 7.3.4 vanilla using a local dotnet minimal API with a static array of bytes being returned by the website.
All tests were run on a HP laptop with 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz   2.70 GHz and 16 GB memory. Note the dotnet web server and the client application were tested over HTTP on the same laptop over localhost interface.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

var bytes = new byte[200*1024*1024]; // ~200 MB array
Random.Shared.NextBytes(bytes);
Console.WriteLine("Byte stream initialized");
app.MapGet("/", () => Results.Bytes(bytes));

app.Run();

The benchmark web server was built in Release configuration and run as an executable.
# Curl from 7.3.4 vanilla
1 .. 10 | %{(Measure-Command { curl http://localhost:5000/ --output curl_data.bin }).TotalMilliseconds} | Measure-Object -Average -Minimum -Maximum -StandardDeviation
# Command run twice, and second summary taken
Count             : 10
Average           : 733.3488
Maximum           : 879.6177
Minimum           : 632.9115
StandardDeviation : 69.7117181472224

# PowerShell 7.3.4 vanilla
1 .. 10 | %{(Measure-Command { iwr http://localhost:5000/ -OutFile iwr_7.3.4_data.bin }).TotalMilliseconds} | Measure-Object -Average -Minimum -Maximum -StandardDeviation

# Command run twice and second summary taken
Count             : 10
Average           : 1115.43297
Sum               :
Maximum           : 1132.2394
Minimum           : 1102.5451
StandardDeviation : 11.4286089899233

# Powershell 7.4.0-preview.3
1 .. 10 | %{(Measure-Command { iwr http://localhost:5000/ -OutFile iwr_7.4.0-preview-3_data.bin }).TotalMilliseconds} | Measure-Object -Average -Minimum -Maximum -StandardDeviation

# Command run twice and second summary taken
Count             : 10
Average           : 415.06509
Sum               :
Maximum           : 474.9918
Minimum           : 388.273
StandardDeviation : 33.2625053366048
Property          :

# Powershell 7.4.0-preview.3-81-g6b80bf03b74dff76816740fbb3549b87f190f518
1 .. 10 | %{(Measure-Command { iwr http://localhost:5000/ -OutFile iwr_7.4.0-preview-with-19558_data.bin }).TotalMilliseconds} | Measure-Object -Average -Minimum -Maximum -StandardDeviation

# Command run twice and second summary taken
Count             : 10
Average           : 410.43762
Sum               :
Maximum           : 479.3415
Minimum           : 378.843
StandardDeviation : 27.3532692743502
Property          :
# Powershell 7.4.0-preview.3-81-g6b80bf03b74dff76816740fbb3549b87f190f518 - Adding NetworkTimeoutSec parameter
1 .. 10 | %{(Measure-Command { iwr http://localhost:5000/ -NetworkTimeoutSec 10 -OutFile iwr_7.3.4_preview-with-19558-networktimeoutsec-data.bin }).TotalMilliseconds} | Measure-Object -Average -Minimum -Maximum -StandardDeviation

# Command run twice and second summary taken
Count             : 10
Average           : 646.04633
Sum               :
Maximum           : 663.085
Minimum           : 607.9275
StandardDeviation : 16.2551572417324
Property          :

My conclusions from these results are:

the patch does not have any material impact on performance on downloading a file from the last preview release when the -NetworkTimeoutSec parameter isn't used
the patch has a 30% increase on download performance over release 3 when the -NetworkTimeoutSec parameter is used but is still favourable when compared to curl performance. This is likely attributable to the work spent resetting the timeout on the cancellation token before each network read.
the last preview release is significantly faster than 7.3.4 for this use case as it is now faster than using curl when it was significantly slower in the 7.3.4 release.

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[x] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

Reopening - accidentally force-pushed empty commits after a squash merge.

The changes seem significant with regard to memory handling.  We should consider running performance testing before and after the change.  Especially for downloading large files (at least 200MiB).  This scenario is already slow, any performance regression may make the feature unusable.
I don't see anything particularly bad, but we should test for the unexpected.

I think this PR is wrong. There's a fundamental problem there https://github.com/dotnet/runtime/issues/74568#issuecomment-1238414504
It should be solved in .Net, rather than creating a lot of useless code in PowerShell.

That issue also clearly explains why the NetworkTimeout parameter makes no sense at all.

Such an unnecessary complication https://github.com/PowerShell/PowerShell/pull/19330 This should be rolled back. The same thing can be done in a much simpler way. Not only is the code unnecessarily complicated, but new bugs seem to have been created.

I urge MSFT team to look at this carefully.

@iSazonov - if the previous PR#19330 caused bugs then please provide the issue numbers for those bugs as I was not aware of any issues with the fix. There were some races in the tests for the feature which are difficult to avoid when doing tests that require timing of events when run in a busy CI system that may not respond as quickly as you'd normally expect. The tests initially had a tolerance of a few 100 ms but this was too low for the CI agents, so I have used longer time ranges for timing related tests. If the tests continue to be problematic, they could be disabled, but to the best of my knowledge the fundamental issue with CTRL-C not always working (when the connection was stalled) was resolved by that PR. If you think otherwise then please provide some concrete evidence in the form of a non-working test case and I will investigate.
I have implemented this PR in accordance with advice provided by Microsoft on the issue you linked in your comment on how to achieve the result and the previous PR laid the groundwork for supporting cancellation throughout the command.
@TravisEz13 - are you requesting that I as PR author perform that test or will someone within MSFT be doing that as part of the release testing process?
I didn't think this would be considered a breaking change since it provides an alias for the original parameter so scripts should continue to work. It may be breaking for users who instantiate the cmdlet class and manipulate the parameter directly though.

@TravisEz13 - I have added some benchmarks and methodology for those benchmarks to the summary of the PR testing with a 200 MB randomly generated byte sequence across curl, pwsh 7.3.4, pwsh 7.4.0-preview3 and the latest iteration of this PR.

@stevenebutler The signature of public constructor BasicHtmlWebResponseObject is changed, both in this PR and https://github.com/PowerShell/PowerShell/pull/19330, which is a breaking change. We discussed about it and thought this breaking change falls in the Bucket 3, and decide to accept it for now and wait on feedback.
@iSazonov It will make things easier when https://github.com/dotnet/runtime/issues/75188 is addressed. However, it's in Future milestone and thus it's unknown when it will be implemented in .NET. So, #19330 and this PR seem to be needed if we want the targeted PowerShell issues to be addressed now. I will let the Cmdlet WG to review this issue.

@stevenebutler The signature of public constructor BasicHtmlWebResponseObject is changed, both in this PR and #19330, which is a breaking change. We discussed about it and thought this breaking change falls in the Bucket 3, and decide to accept it for now and wait on feedback.

Thanks @daxian-dbw  - that makes sense. I was only thinking about it in terms of scripting users.

@iSazonov It will make things easier when dotnet/runtime#75188 is addressed. However, it's in Future milestone and thus it's unknown when it will be implemented in .NET. So, #19330 and this PR seem to be needed if we want the targeted PowerShell issues to be addressed now. I will let the Cmdlet WG to review this issue.

@daxian-dbw dotnet/runtime#75188 replaces my original issue where their team was very skeptical. So I don't think they're going to do anything about it at all unless of course the MSFT PowerShell team asks them to. I assume they are coming from the experience of typical services both server and client, where sessions are just restarted by the application itself. (In other words there is a problem but it is hidden.) We're referring to a slightly different scenario where blocking the main thread is unacceptable. I think root issue is important to be fixed, because it forces developers to create complexities in their code with no guarantee of correctness and achievability of the result.
A typical example is #19330 which does not solve all problems and moreover seems to add bugs.
I would prefer to roll this back and if we really want to fix Ctrl-C, just offload the code to a new thread with Task.Run(). If dotnet/runtime#75188 is implemented, we probably won't need to change anything else.

A typical example is #19330 which does not solve all problems and moreover seems to add bugs.

You keep saying PR#19330 seems to add bugs but you have not actually provided or linked to an existing bug report that is attributable to that PR. If you are aware of a bug caused by that PR please let me know so I can look at it.

I would prefer to roll this back and if we really want to fix Ctrl-C, just offload the code to a new thread with Task.Run(). If https://github.com/dotnet/runtime/issues/75188 is implemented, we probably won't need to change anything else.

While offloading the stuck activity to a new task with Task.Run() is simpler, in reality it's still stuck and is now consuming resources that may never be freed. The cancellation token approach allows the stuck activity to actually be cancelled and gives a chance for resources to be freed.

queued for WG discussion

@PowerShell/wg-powershell-cmdlets reviewed this, we agree with the added functionality.  However, we suggest renaming TimeoutSec to ConnectionTimeoutSeconds and the new parameter OperationTimeoutSeconds as "NetworkTimeoutSec" can still be a bit ambiguous what it is referring to.  We also prefer to spell out "Seconds" since the parameter name is already verbose and could be confused with "Security".

Ok, I have finished updating as per recommendations. I also did some minor refactoring of the timeout calculation code to share the conversion from integer seconds to a TimeSpan between the two timeouts.

@stevenebutler Thanks for your contribution!


Icon request - phone

i would love to see some phone icons in some variations, like outline filled, a cellphone and regular phone like this:
https://icon-sets.iconify.design/mdi/phone/
thank you

Added few phone icons: https://icon-sets.iconify.design/line-md/?query=phone


[CI] Check for broken links in the current commit

NOTE: checks are failing for good reason, we do still have some broken links
We don’t have any test on the NextJS application implementing Haystack website. The only sanity check is indirectly performed by the Vercel deployment, that has to invoke yarn build and might eventually fail, surfacing an issue. This is better than nothing but still not enough, as we don’t know if a successful build provides a healthy website: NextJS has an internal router that might return 404 if a page couldn’t be found, but:

The error might be in the build process but for some reason the it wasn’t propagated
The error might be in the source link (human error)

Solution
Use a Github action to build the site at each commit, start the NextJS internal web server and use wget to crawl the website, failing the workflow if any link at depth=1 is broken.
The link checker is written in Typescript and can be run locally with yarn linkcheck
Implementation notes

wget has the --spider mode that supports our use case and is available in Github Linux runners
The check logic is the following:

We let wget crawl the site and store the results in a log file with --o
We then read the file looking for errors
If errors are found, we print on stdout the list of links that failed and exit with return code 1
if no errors are found, a friendly message is printed on stdout and the process exits with 0

After several attempts, I couldn’t find a reliable strategy to check for broken links against a website instance in the CI:

The links to the internal pages for tutorials and api reference are generated dynamically by react, so wget can’t reach all the URLs starting from the overview page.
I tried to explore the opportunity of checking against links from the sitemap.xml but NextJS doesn’t add an entry for pages it knows will return a 404. The positive part about this: there is probably a way to fail the entire build when this happens, but we would need to investigate 1) how’s this possible and 2) if this has an impact to the rest of the website.


Update pstn-usage-report.md

Clarifying the user that is specified in the User ID column for these call types

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@tonysmit PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@tonysmit PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


use gimme from travis-ci, and bump the gimme ver

@meatballhat I need your confirmation on this, can we use v0.2.4?

Ah, I see 0.2.4 was just a readme update. Well, looks fine to merge in.

@joshk v0.2.4 is good, yep :+1:


haskell: added darwin frameworks for stack and halive

Could you please add a comment that explains what Cocoa is and why it needs to be added?

@peti it seems that stack requires that to build on Darwin (I'm using Mac OS X 10.11)
In-place registering stack-<IP_ADDRESS>...
Preprocessing executable 'stack' for stack-<IP_ADDRESS>...
[1 of 2] Compiling Paths_stack      ( dist/build/autogen/Paths_stack.hs, dist/build/stack/stack-tmp/Paths_stack.o )
[2 of 2] Compiling Main             ( src/main/Main.hs, dist/build/stack/stack-tmp/Main.o )
Linking dist/build/stack/stack ...
ld: framework not found Cocoa
clang-3.6: error: linker command failed with exit code 1 (use -v to see invocation)
builder for ‘/nix/store/0v6015iji5045icay4yina1vm8w3g3dc-stack-<IP_ADDRESS>.drv’ failed with exit code 1
error: build of ‘/nix/store/0v6015iji5045icay4yina1vm8w3g3dc-stack-<IP_ADDRESS>.drv’ failed

What bothers me is that http://hackage.haskell.org/package/stack-<IP_ADDRESS>/stack.cabal never mentions Cocoa, and I'd like to understand why it is required anyways during linktime.

https://github.com/NixOS/nixpkgs/pull/10653 is probably related to this change. @pikajude, do you by any chance know what causes some Haskell packages to depend on Cocoa even though their Cabal file doesn't mention that library anywhere, i.e. stack?

It's related to fsnotify for filesystem changes. I thought only halive depended on that but it looks like stack does aswell.


The resources page should appear as a link on Concourse docs navigation

The page will not be a separate website, it will be located in the navigation of the Concourse docs site

we should investigate how items get added to the top bar, looks like a couple dupes:
https://github.com/concourse/docs/blob/master/html/top.tmpl
https://github.com/concourse/docs/blob/master/discourse/common/header.html
https://github.com/concourse/docs/blob/master/blog/default.hbs
side note: On the current docs site, the search bar is it's own little elm app: https://github.com/concourse/docs/tree/master/elm

2 things:

link on docs
docs navigation in our app

the link should have the text: "resource types"


Fix typo in docker/README.md

This commit fixes a typo in the docker/README.md file.
Previous text:
tf.config.list_physical_devices("GPU)
Corrected text:
tf.config.list_physical_devices("GPU")

Thanks for the PR!


Redo support-ddev page to use cards

I was thinking about redoing
https://ddev.com/support-ddev/
and make it look like
https://ddev.com/blog/.
By making those into cards the content at the bottom of the page is more likely to be seen and we could resort to those items by the time of investment required. For example:
Contributions can be made in multiple ways. Resources vary on each contributor's background. As a new or season contributor feel free to choose one or many.
Spread the Word
Sponsor Development
Join the Advisory Group
Help Others
Improve the Docs
File an Issue or PR
thoughts?

The current layout is spatially inefficient for what’s there, so I like the idea of tightening things up a bit as you suggest.
I wouldn’t use the exact same cards, since they represent posts that have detail pages and re-using that visual language would be misleading unless you’re suggesting that each of these things gets its own detail page. But you could do something similar with a grid layout for roughly the same effect without the card treatment. (Or some other card variation that differentiates itself from the blog post links.)
Re-sorting is an idea worth more discussion.
Their current order is by my made-up idea of accessibility. (Assuming most people could file an issue or PR, some may have the ability to contribute financially, a smaller subset knows DDEV well enough to pitch in and help others, etc.) So roughly by level of prerequisite knowledge or commitment. “Spread the Word” makes way more sense at the top as you suggest, even with the current scheme.
I’d expect more people to be willing to file an issue or PR before they’d regularly participate in the advisory group, but this is probably overthinking it especially if we’re able to communicate more with less real estate in the first place.

I think support-ddev looking more like the blog could be fantastic. Right now it's all linear and people like me don't get very far down it.
The main page has some of the same problems, just so very much content that non-scrollers like me don't make it. And so much good stuff there!


Sharp resize function modifies image metadata

Are you using the latest version? Is the version currently in use as reported by npm ls sharp the same as the latest version as reported by npm view sharp dist-tags.latest?
Used version<EMAIL_ADDRESS>What are the steps to reproduce?
I am using sharp's resize function chained with the withMetadata function to preserve the source image's metadata in the output image.
To reproduce the issue:

clone this repository: https://gitlab.com/andras.hinkel/sharp-resizer-so-question
run npm install
run npm start

This will print the metadata of the source image and the output image. There are differences between the two, for example:

source image: '305': 'Adobe Photoshop Lightroom 5.5 (Macintosh)'
output image: '305': 'Adobe Photoshop Lightroom 5.5 (Macintosh) (Adobe Photoshop Lightroom 5.5'

What is the expected behaviour?
The two metadata objects should be the same except for the fields that represent the size of the images.
Are you able to provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem?
To reproduce the issue:

clone this repository: https://gitlab.com/andras.hinkel/sharp-resizer-so-question
run npm install
run npm start

Are you able to provide a sample image that helps explain the problem?
The sample source is in the repository.
What is the output of running npx envinfo --binaries --system?
  System:
    OS: Linux 5.8 Ubuntu 20.04.3 LTS (Focal Fossa)
    CPU: (4) x64 Intel(R) Core(TM) i5-6440HQ CPU @ 2.60GHz
    Memory: 741.55 MB / 15.53 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 14.16.0 - ~/.nvm/versions/node/v14.16.0/bin/node
    Yarn: 1.22.10 - ~/.nvm/versions/node/v14.16.0/bin/yarn
    npm: 7.16.0 - ~/.nvm/versions/node/v14.16.0/bin/npm

Note: I asked the same question on stackoverflow, too, in the hopes of a quicker resolution, it might have been already answered there by the time you read this: https://stackoverflow.com/questions/69771773/sharp-resize-function-modifies-image-metadata

Please see #2832


Error in simulation - Transaction does not exist

While using benchmark sample for fabcar, some data are not created hence creating failure in benchmark.
Context

When running caliper benchmark, I encounter some error saying Failed to perform query transaction [queryCar] using arguments [<carNumber>],  with error: Error: error in simulation: transaction returned with failure: Error: <carNumber> does not exist. I tried to check what are the cause of this problem. Apparently cars are created using helper.js function and it skipped some car numbers even though it's supposed to be incremental without skipping.
2020.08.03-13:40:09.925 error [caliper] [adapters/fabric]       Failed to perform query transaction [queryCar] using arguments [Client1_CAR-2029091873174],  with error: Error: error in simulation: transaction returned with failure: Error: Client1_CAR-2029091873174 does not exist
2020.08.03-13:40:09.928 error [caliper] [adapters/fabric]       Failed to perform query transaction [queryCar] using arguments [Client4_CAR-2029091873177],  with error: Error: error in simulation: transaction returned with failure: Error: Client4_CAR-2029091873177 does not exist
2020.08.03-13:40:09.929 error [caliper] [adapters/fabric]       Failed to perform query transaction [queryCar] using arguments [Client3_CAR-2029091873179],  with error: Error: error in simulation: transaction returned with failure: Error: Client3_CAR-2029091873179 does not exist

Expected Behavior
helper.js should create all car numbers without skipping an index
Actual Behavior
helper.js skips some index as shown in the custom log below.
Client3_CAR-2029091873 is the identifier for the benchmark round. In the log below, it skips from 177 to 180
2020.08.03-13:38:05.849 debug [caliper] [helper-module]         ===HELPER-177214646 SMART CONTRACT RESULT for Client3_CAR-2029091873177== ([{"status":{"id":"9a084ba00172542152338200c4ff56237f14c29e0a9e6061253b711842221170","status":"success","time_create":1596461884963,"time_final":1596461885848,"result":null,"verified":false,"flags":0,"error_messages":[],"custom_data":{}},"result":{"type":"Buffer","data":[]},"verified":true}])
2020.08.03-13:38:06.729 debug [caliper] [helper-module]         ===HELPER1913559834 SMART CONTRACT RESULT for Client3_CAR-2029091873180== ([{"status":{"id":"5a287e1bc35d2f03d0c120325f7e39e2a7fdd83a592f09b7e99ae32560c345e0","status":"success","time_create":1596461885856,"time_final":1596461886729,"result":null,"verified":false,"flags":0,"error_messages":[],"custom_data":{}},"result":{"type":"Buffer","data":[]},"verified":true}])

here it goes from 173 to 177
2020.08.03-13:38:03.041 debug [caliper] [helper-module]         ===HELPER-177214646 SMART CONTRACT RESULT for Client1_CAR-2029091873173== ([{"status":{"id":"34f8816051947277db1edc32558f3e8a8411ed043ac357db9454ae2772e2c9df","status":"success","time_create":1596461882502,"time_final":1596461883039,"result":null,"verified":false,"flags":0,"error_messages":[],"custom_data":{}},"result":{"type":"Buffer","data":[]},"verified":true}])
2020.08.03-13:38:03.881 debug [caliper] [helper-module]         ===HELPER-177214646 SMART CONTRACT RESULT for Client1_CAR-2029091873177== ([{"status":{"id":"ab26724a3dfcc946e643f6b1fbe0f5d612303158d8718c556368282daed784b8","status":"success","time_create":1596461883452,"time_final":1596461883880,"result":null,"verified":false,"flags":0,"error_messages":[],"custom_data":{}},"result":{"type":"Buffer","data":[]},"verified":true}])

Steps to Reproduce

Clone this repository https://github.com/aqidd/fabric-test-network-extended/
Modify .env.example and rename to .env
run ./setup-fabric-extended.sh && ./setup-caliper.sh to initialize
change config.yaml in caliper/benchmarks/fabcar to larger number (e.g 300)
run ./execute-caliper.sh to run the benchmark

Existing issues
I already discuss this in the rocket chat and was advised to create an issue
Your Environment

Version used: 0.3.2
Environment name and version (e.g. Chrome 39, node.js 5.4): Ubuntu 18.04, node 10.22, Fabric 2.1.0
Link to your project: https://github.com/aqidd/fabric-test-network-extended

moved to https://github.com/hyperledger/caliper-benchmarks/issues/108


Added human readable time format

The default printed time format will be day/hour/minute/second/millisecond (Xd Xh Xm Xs Xms).
Will print from the first time unit that is not 0, starting from day.
Since unsigned long is used to hold the time difference, max time profiled will be 49d 17h 2m 47s 295ms.

Added human readable time format, set to default.
Added new methods to enable and disable the new time format.
Added some functions in the example to demostrate the available methods.

This has several issues including the unnecessary use of goto, and it fails if the number of hours or minutes contain values > 24 or 60