Release proposal: v1.44.2

v1.44.1 has two regressions that block the libuv upgrade in node so I propose doing a new release once the fixes have landed:

[x] #3597
~#3585~
[x] https://github.com/libuv/libuv/pull/3598
[x] https://github.com/libuv/libuv/pull/3540
[x] https://github.com/libuv/libuv/pull/3554
[x] https://github.com/libuv/libuv-release-tool/pull/17
[x] #3563
[x] https://github.com/libuv/libuv/pull/3611
[x] https://github.com/libuv/libuv/pull/3629
[x] https://github.com/libuv/libuv/pull/3625
[x] https://github.com/libuv/libuv/pull/3634

optional:

https://github.com/libuv/libuv/pull/3526
https://github.com/libuv/libuv/pull/3570
https://github.com/libuv/libuv/pull/3571
https://github.com/libuv/libuv/pull/3462
[x] https://github.com/libuv/libuv/issues/3601

There are also a number of other bug fixes that have made their way into this release already.

There was also a third, fixed by https://github.com/libuv/libuv/pull/3565.

Maybe #3584 ?

Please include https://github.com/libuv/libuv/issues/3563

Hello! It looks like https://github.com/libuv/libuv/pull/3598 was approved a week ago. Is this patch release waiting on anything else?
Otherwise, is there anything I can do to help move this forward? I am waiting on a release with the iOS fixes included here, as well as the patches I landed already in 1.44.1.

It is waiting on https://github.com/libuv/libuv/pull/3611 review

Still waiting on #3611 review

https://ci.nodejs.org/view/libuv/job/libuv-in-node/215/

@vtjnash Do I summarize correctly that the release is blocked on (potential?) regressions in Node's test suite on Windows?

I admittedly looked at that one the least. But I commented about that a little bit here: https://github.com/libuv/libuv/pull/3598#issuecomment-1112567954 and then was waiting for someone who works on nodejs to pick it up. From looking at the original PR description, it sounds like part of the implementation there is making invalid assumptions about the ordering of when various async events might fire. In particular, there seems to be a rather high use of process.nextTick in nodejs's lib folder to randomly delay some random events. This seems like a design smell to me, as this doesn't provide much guarantee about what order events may eventually get processed. It seems that in half of these CI failures, the events don't always get delayed "enough" and the other half of them, the events get delayed "too much". That doesn't seem like it should be possibly if the nodejs state-machines were correctly operating based on actual events rather than relying on exact counting of event loop ticks.

process.nextTick() callbacks actually have fairly stringent ordering. Around every call into the VM, basically.
That does mean when a libuv callback is delayed, nexttick callbacks are likewise delayed.

It is assuming they fire immediately, such that libuv has no time to continue interacting with the stream handle which it has left open to close on the nextTick. But libuv has never promised to only call the read callbacks once per loop. That would be a radical redesign here to batch up all of the alloc_cb and then do a single read_cb for a given stream object.

I've been looking at the failing check but it doesn't seem like it ought to be failing.
onserverClosed() is called as the completion callback for server.close().
A destroy hook is called from  a uv_check_t callback. I suspect a change in libuv swapped the order of events with respect to uv_close() callbacks.
Cross-thread synchronization can also kick off destroy hooks, through a uv_async_t, but I'm >50% sure that doesn't apply here. Grep node's src directory for SetImmediateThreadsafe, it's not used a lot.

nodejs assumes that libuv can't send a message and read the reply in the same iteration of the event loop. This has always been false, but previously it was much less likely (around 1-in-32k), so would have required more effort for nodejs to test this edge case properly. libuv probably could always arbitrarily delay errors to prohibit them from being reported in the same loop iteration as data, but this seems like something nodejs could handle better instead.

a typical order of operations in the libuv loop for this case previously was:
loop poll step
read some data, conclude socket is done
send shutdown message
schedule destroy callback to be run with `check`
with IOCP, libuv receives the shutdown message here, but defers delivery
calls check callbacks
calls callbacks delayed from the last loop iteration
loop poll
 - on unix, the shutdown message is usually received here
call close callbacks

now it is
loop poll step
read some data, conclude socket is done
send shutdown message
schedule destroy callback to be run with `check`
libuv receives the shutdown message here with IOCP
libuv calls the callback to handle the shutdown message, causing nodejs assumptions to fail (it assumes it is impossible to receive more callbacks before `check` runs), and nodejs closes the object
call close callbacks, leading to test failure
calls check callbacks
loop poll

I don't think that's the right reading. Node calls uv_close() from a I/O callback and expects the uv_check_t callback to run before the close callback. Reasonable assumption because that's what libuv is supposed to implement.
In pseudo code:

run close callbacks
poll for i/o
run check callbacks
goto 1

(Aside: if you use 10., 20., etc. as the line numbers, GH-flavorerd markdown will obstinately renumber them to 10., 11., etc.!)

I would have said close comes last before the goto, but it is the same overall order. I see that is right about check (I was thinking it used idle. So perhaps nodejs is handling the shutdown (EOF) message immediately (to fire the event hook for onserverClosed), rather than deferring that?
For TLS, I know there is a bug where it uses check to pretend that a try_write call was a real write, so then any destroy calls it tries to make pending using check for "later in the loop" to run, will actually be delayed until the next iteration of the loop.
So alternatively, perhaps there is a similar issue here, if it is waiting for the write callback to schedule the destroy callback. But we expect to sometimes get the read callback IOCP processed in the event loop one cycle earlier than we get the write-completion if it is using IOCP.

This design is asinine. We can turn this into a 100% failure rate with this trivial (nonfunctional) change. The order of events is we get can look like this:
poll for i/o
do i/o
run socket closed callbacks, schedule check callbacks
sometimes run server closed callbacks, schedule check callbacks

poll for i/o
do i/o
maybe run some server closed callbacks <-- this is asinine!!
run check callbacks <-- asserts here that this has run before the the server closed callbacks
run socket closed callbacks, schedule check callbacks
run some server closed callbacks, schedule check callbacks

poll for i/o
do i/o
run check callbacks <-- expects here that this has run before the the socket closed callbacks that scheduled it

onserverClosed() is called as the completion callback for server.close()

Actually, it is the completion callback for when close has been called for the last client and the server is closed, so does not get run here. This is a bad design, because it means the callback gets arbitrarily delayed until an entirely unrelated event.

A destroy hook is called from a uv_check_t callback.

This is true, but the uv_check_t is scheduled by the close_cb, so it should always happen after onserverClosed, except that onServerClosed is randomly delayed while waiting for network activity on an unrelated socket object.
Except it looks like it isn't always true, since the destroy hooks might be converted into a microtask being scheduled by an async (env->RequestInterrupt) to be run at process.nextTick (more on that later).

Cross-thread synchronization can also kick off destroy hooks, through a uv_async_t, but I'm >50% sure that doesn't apply here. Grep node's src directory for SetImmediateThreadsafe, it's not used a lot.

SetImmediateThreadsafe is not used much, but from reading the code, it looks like that async object also calls the SetImmediateNative hooks (e.g. destroy hook) that were not supposed to be run until the check phase. It looks like it thus might run the check hooks at two points per loop iteration, so that additionally looks rather bad too.

process.nextTick() callbacks actually have fairly stringent ordering. Around every call into the VM, basically.

Actually, they have no ordering whatsoever (https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#process-nexttick-vs-setimmediate), they run at the earliest opportunity possible. You are thinking of setImmediate. As it says in the docs, the naming is misleading.
diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c
index 5858258d28..7d2daea98c 100644
--- a/deps/uv/src/unix/stream.c
+++ b/deps/uv/src/unix/stream.c
@@ -1286,8 +1286,9 @@ int uv_shutdown(uv_shutdown_t* req, uv_stream_t* stream, uv_shutdown_cb cb) {
   stream->flags |= UV_HANDLE_SHUTTING;
   stream->flags &= ~UV_HANDLE_WRITABLE;

-  uv__io_start(stream->loop, &stream->io_watcher, POLLOUT);
-  uv__stream_osx_interrupt_select(stream);
+  if (QUEUE_EMPTY(&stream->write_queue)) {
+    uv__io_feed(stream->loop, &stream->io_watcher);
+  }

   return 0;
 }
diff --git a/test/async-hooks/test-tcpwrap.js b/test/async-hooks/test-tcpwrap.js
index 3256a1598b..88aa3c2367 100644
--- a/test/async-hooks/test-tcpwrap.js
+++ b/test/async-hooks/test-tcpwrap.js
@@ -123,8 +123,9 @@ function onconnection(c) {
   checkInvocations(tcp1, { init: 1 }, 'tcp1 when server receives connection');
   checkInvocations(tcp2, { init: 1 }, 'tcp2 when server receives connection');

-  c.end();
-  this.close(common.mustCall(onserverClosed));
+  c.end(() => {
+    this.close(common.mustCall(onserverClosed));
+  });
 }

 function onserverClosed() {

I need some reviews on recent PRs to get this release finished, please

3 shutdown-related issues:
#3646 (makes it easier to trigger the nodejs tcpwrap bug on unix)
#3648 (minor bugfix / DRY cleanup)
#3649 (significant rearrangement of the event loop / shutdown handling, so that it does not run in the close phase, but in the pending phase like unix)

I reviewed the first two. That last one is a bit out of my comfort zone.

Reviewing with whitespace hidden may help slightly with that one, since indentation changed, and that doubled the number of lines touched. If it helps also, the 2 unix changes you reviewed already are the same changes I did on windows, then ported to unix, so the intent is partly just to review that the code now uses the same structure and order of events.

I looked at it again just now but... let's say still out of my comfort zone.
I'd like to move forward with the release. It's been three months since opening the issue.

@vtjnash We're good to do a release now?

I believe so. I opened https://github.com/libuv/libuv/pull/3679 for discussion, but I don't think it needs to be blocking

See also https://github.com/libuv/libuv/issues/3671, not sure if it has been already investigated.

Looks like CI+node is broken, so I guess I will proceed without that

CI fails because the default git branch setting in node.js repo has been switched from master to main

Looks like CI+node is broken, so I guess I will proceed without that

Should be fixed now. (Was an overlooked reference to the old master branch in nodejs/node (which has now been renamed) that was hidden behind an advanced button in the job configuration.)

Looks like CI+node is broken, so I guess I will proceed without that

Should be fixed now. (Was an overlooked reference to the old master branch in nodejs/node (which has now been renamed) that was hidden behind an advanced button in the job configuration.)

FWIW https://ci.nodejs.org/view/libuv/job/libuv-in-node/217/ is failing because the Node.js gyp files would need updating to pick up src/strtok.c.


set initial target db name

this change

auto-populates target database name entries with source database name as a default
bump extension version to 0.1.11
use async setDataValues

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
27267

Relevant Lines:
59343

💛  - Coveralls


documentation - fix readme example with export options

The main readme still has an examples of APIs where export format is png or jpg.
But the API has changed and it should be canvas now.
Additionally, add example snippet to export as canvas and store as png or jpg.

Released as of 1.3.0.


http digest authentication

refactored ZABAPGIT_GIT some methods moved to ZABAPGIT_HTTP
contains implementation of
https://en.wikipedia.org/wiki/Digest_access_authentication
part of:
https://github.com/larshp/abapGit/issues/415

merging


None of the classes have been tested or validated using pylint

Summary
Each class needs to be extensively tested

Running PyLint on each class.
Creating and running test scripts for each class.

#22 contains fixes for the current code, but I'm leaving this open as it will need to be run again after more updates.

#26 has more fixes


Test public pre-release version of Edge

This is available from Browserstack or it could be set up on a VM if possible.

I can only see Edge 15 on BrowserStack, shouldn't the pre-release versions now be 16?

https://www.browserstack.com/list-of-browsers-and-platforms?product=live doesn't list any dev version for Edge.
Given that Edge preview releases are tied to Windows versions, I don't know any realistic alternative to running our own hardware here. With some effort you could probably script setting up a VM from https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ and use that to keep up to date with the latest available builds.

FWIW, I did once try to install Windows Insider (not the Edge VMs) in VirtualBox and get it to upgrade to the most recent version, but never got it working. With a physical laptop I've succeeded, though.

I feel like @thejohnjansen or @patrickkettner not say MS could potentially get us some reasonable way of having constantly up-to-date? From memory, trying to set up Insider builds for CI is virtually impossible because you need to leave the VM on for long enough to actually update (and presumably then save that state to create a new VM of the latest build), and it's very non-deterministic how long it takes before Windows Update even notices there's a new build (even if you literally tell it to repeatedly search for updates!).

I don't know how much work this would require on @bobholt's side, but I think the setup would be roughly:

Once a day, a URL like http://wpt.fyi/TEST_THESE_COMMITS is updated, so that everyone is testing using the same commit. (See https://github.com/GoogleChrome/wptdashboard/issues/40.)
Microsoft runs the whole test suite, using the scripts checked into the web-platform-tests repo, or at least somewhere public so that it can be reproduced.
Results are submitted to http://wpt.fyi/HERE_ARE_MY_RESULTS (with some auth thing) and show up on the dashboard.

We've done some planning for Q4 now, and unfortunately this issue does not seem tractable right now. It's possible that BrowserStack or Sauce will get more recent versions of Edge, and there's been some discussion about Microsoft running tests and submitting builds. Neither of these seem imminent, so we'll revisit this for Q1.
@thejohnjansen @patrickkettner please shout loudly if this is not what you expected and we will do a 180!

BrowserStack now also has Edge 16, which I think is now stable, but I'm not sure. In any case, Sauce Labs doesn't have it yet. Together with https://github.com/w3c/wptdashboard/issues/112#issuecomment-336623841 this suggests to me that BrowserStack is faster to offer new browser versions, and that we should look into using that instead. @mattl, can you look into what that might entail?

Edge 16 is stable as of yesterday. Browserstack also committed publically
to bringing insider builds to their platform in the near future ( I believe
before the end of the year, but I may be remembering that incorrectly).
I would also agree that it would be best to use them in this situation.
On Oct 18, 2017 6:45 AM, "Philip Jägenstedt"<EMAIL_ADDRESS>wrote:

BrowserStack now also has Edge 16, which I think is now stable, but I'm
not sure. In any case, Sauce Labs doesn't have it yet. Together with #112
(comment)
https://github.com/w3c/wptdashboard/issues/112#issuecomment-336623841
this suggests to me that BrowserStack is faster to offer new browser
versions, and that we should look into using that instead. @mattl
https://github.com/mattl, can you look into what that might entail?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/w3c/wptdashboard/issues/109#issuecomment-337595391,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAcaBgx1vTD8qDu6Tb-kb2pCXzLLF_Xuks5stgD4gaJpZM4PJKyd
.

That is amazing. If it's true, then we'd get everything we currently need except Safari TP, so going with BrowserStack seems like the way.

Do we know how that would affect our ability to run multiple concurrent test instances (e.g. for the sub-one-hour run time goal)?

Looking at this now. It seems you can run multiple tests at the same time, you just pay more for the account. Up to 25 at time is listed, over that and you have to speak to them to get a quote.

BrowserStack have previously offered to give us some stuff for free for wpt, though there may be limits as to how far we can go with that obviously!

@mattl and @gsnedders We have dropped you an email with details - Mukesh from BrowserStack Support.

@mukeshtiwari1987 To what address? I can't find any email?

We have dropped email to: mattl(at)bocoup.com

@gsnedders @mattl was there an issue with getting browserstack setup? Edge Insider builds are supported so it would be great to test the version that has a years worth of improvements compared with sauce's

Cool, Insider Preview now available, that must be very new, right?
@thejohnjansen is helping us look into the options here and I hope we'll resolve this issue one way or another before long.

Cool, Insider Preview now available, that must be very new, right?
month or two, I believe

@thejohnjansen is helping us look into the options here and I hope we'll resolve this issue one way or another before long.

👍

@thejohnjansen @patrickkettner, how often is the Insider Preview on BrowserStack updated? Right now the UA string includes Edge/16.17025, but that's older than my laptop that I haven't updated in two months, 17.17063, and that laptop is now updating to 17127...
Using BrowserStack isn't plan A, but some idea about freshness would still be good.

I just linked here from https://github.com/web-platform-tests/wpt.fyi/issues/60, but want to reiterate that Sauce or BrowserStack still aren't plan A, and that we're trying to work out a plan A involving VMs.


Fix event propagation to child after set_as_toplevel

In certain conditions events did not get propagated to Control-childs of Node2D-nodes when setting a parent of the Node2D to toplevel because the Controls did not get added as root-control-nodes in the Viewport.
fix #42822
Analysis of the problem is available here: https://github.com/godotengine/godot/issues/42822#issuecomment-711554138
This patch makes sure that such Control nodes become root-control-nodes in the Viewport.
This is done by propagating the info that toplevel status has changed on a parent to all descendant CanvasItems passing through Node2D nodes and executing the code of NOTIFICATION_EXIT_CANVAS and NOTIFICATION_ENTER_CANVAS on all first reached Control nodes.

Thanks!

Not quite related, but toplevel and top_level identifiers are a bit inconsistent across the code. Which one is correct?

It should be top_level in master (was toplevel in 3.x, and we changed it for 4.0 but some code still uses toplevel it seems, including the one added here).

I wasn't aware of this convention. Will fix it.


Issues compiling with latest version

When I pulled the latest version and then tried to compile, sbt gives the following errors:
[error] /home/schillaci/BIDMach/src/main/scala/BIDMach/models/DNN.scala:568: value blockGemm is not a member of BIDMat.Mat
[error]       inputs(0).data.blockGemm(1, 0, nr, nc, reps,
[error]                      ^
[error] /home/schillaci/BIDMach/src/main/scala/BIDMach/models/DNN.scala:580: value blockGemm is not a member of BIDMat.Mat
[error]       inputs(1).data.blockGemm(0, 1, nrows, nc, reps,
[error]                      ^
[error] /home/schillaci/BIDMach/src/main/scala/BIDMach/models/DNN.scala:585: value blockGemm is not a member of BIDMat.Mat
[error]       inputs(0).data.blockGemm(0, 0, nrows, nr, reps,

I tried copying the lib files from the latest executable bundles, but it didn't help.  Any idea what's up?

Are you just doing ./sbt package? A recent update made it so that we don't have to copy over the BIDMach.jar files over.

Yes, running ./sbt package gives the error. I updated the issue above to include the input and the full output in case that helps.

I am pretty sure I ran into this same exact error a few days ago because the blockGemm method sounds familiar to me, and I'm not working on DNN.scala. I think one of these combinations helped:
(1) Using ./sbt package without copying over any BIDMach.jar files to the current directory (which I mentioned above, unfortunately this doesn't seem to be your issue).
(2) Updating my BIDMat directory from master, compiling it there (also being sure to do just ./sbt package without copying things), and copying over the BIDMat.jar file over to the lib folder in BIDMach. But it seems like you already did that when you mention you "copied the lib files from the latest executable bundles", unless by executable bundles you're referring to an out of date BIDMat version (e.g., version 1.0.1) as opposed to the master branch for BIDMat?

I think the issue must be in DNN.scala, if I revert just that file to an old enough commit (d1e502e77be069797200771f578825698afad34a worked) everything compiles just fine. I do have the most up to date BIDMat.jar as well, so that shouldn't be the problem.

Its a new function in BIDMat. If you follow Daniel's suggestion and update BIDMat and then copy the jar across, you'll be fine.
-John

I was doing that, but it turns out that the lib files copied from the 1.0.0 build also contain a file bidmat_2.11-0.9.8.jar which was apparently being used rather than BIDMat.jar for the BIDMat definitions by sbt. I removed this and it works now.

Closing because it appears to be resolved.


feat: increase AWS cluster size and specs

Problem
We have no redundancy in our AWS node cluster so if the main api-1 node fails the entire cluster goes down:
Suggestion
Adding some redundancy in the AWS would be good.
We could have the following

api-2 - configured the same base as api-1 and connected to api-1 as a bootnode
api-3 - configured the same base as api-1 and connected to api-1 and api-2 as a bootnodes

They should all be beefy instances that are not shared resources that will give nice redundancy on network for dht propagation. API calls could then be load balanced over all three nodes.

Hi @j2d3 this is great do you think you can make one more change. I am still seeing the same resource limit exceed issue on our instance.
This is a comparison of what we used in GCP, what we are using in AWS, and what I propose we move to for the three nodes in the cluster.
Instance Comparison:

n2-standard-8 (GCP, previous): 8 vCPUs, 32 GB RAM
t3.large (AWS, current): 2 vCPUs, 8 GB RAM, burstable
m5.2xlarge (AWS, proposed): 8 vCPUs, 32 GB RAM

Why m5.2xlarge:

Resource Upgrade: 4x CPU and RAM vs. t3.large
Consistent Performance: Non-burstable, unlike t3
libp2p Optimized:

More resources for multiple p2p connections
Sufficient RAM for connection states and buffers

API Ready: Handles variable load without CPU credit concerns
Network: Up to 10 Gbps vs. 5 Gbps on t3.large
Scalability: Easy vertical scaling within m5 family

Why t3.large is problematic:

Insufficient CPU/RAM for libp2p workload
Burstable performance causes inconsistency
Likely exhausting CPU credits, leading to performance drops

Let me know what you think.

@Luka-Loncar @5u6r054 I re-opened this due to the issue same resource allocation issue being problematic today.

@5u6r054 what EBS drive do we have connected to the instance?
Something like gp3 SSD should have enough IO to work with this setup. But I don't know what we are currently using.

Another thing, if you are trying to make twitter requests on api-1, apix-1, and apix-2, since api-1 is acting as bootnode, and the other 2 are just - supporting it and taking round robin swagger requests, twitter endpoint requests will fail because there are no twitter workers in this network.
To avoid this, these instances should use the testnet bootnode, and join to the "real" network. They are running the same version (latest tagged release), and if they are part of the "real" network, they will be able to do all work requests for which there are workers.

where are with this one @5u6r054 ?


Git multi-diff can't be closed automatically when staged or commited

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.88.0
OS Version: Linux

Steps to Reproduce:

Make some changes to several files in a Git repository.
Open "Multi-diff" in Source Control view.
Stage all files.
The "Git: Changes" editor tab won't be closed automatically, leaving with a tab title that contains (0 files). Expected behavior is that the tab should be closed automatically when staged changes or commited changes, as "Single-diff" does.

I think this should at least be behind a setting.
The multi file diff editor should show a message though that there are no changes to show.

It already re-uses the "git.closeDiffOnOperation" setting. When this setting is false, the tab won't be closed.


Implement Breadcrumbs 🍞

Breadcrumbs should be placed above article
In breadcrumbs all links should be clickable

exceptions:

Current page
Sections without page

@Hdd87 UI changes

Differences:

Now breadcrumbs starts with homepage link, which looks like button with home icon. It should be on all pages.
> icon is used as separator instead of /


Code and interface improvements after enabling some eslint recommended rules requiring type checking

Summary of changes

Added this: void to functions in the SessionStorage and SessionIdStorageStrategy interfaces so destructuring is correctly part of the contract.
Added void operator to Promises that are not being awaited.
Added internal-type-checked.js and rules/type-checked.js to remix-eslint-config to handle typescript-eslint rules that require type information and using the @typescript-eslint/parser.

Details
I attempted to add the typescript-eslint rules contained in "plugin:@typescript-eslint/recommended-requiring-type-checking" to a Remix based project and came across two common code issues:
const { pipe, abort } = renderToPipeableStream();

and then on:
const { getSession, commitSession, destroySession } = createDatabaseSessionStorage();

Both of these cause an unbound-method error:

error  Avoid referencing unbound methods which may cause unintentional scoping of this.
If your function does not access this, you can annotate it with this: void, or consider using an arrow function instead @typescript-eslint/unbound-method

This error needed to be taken care of by the type definitions provided by the libraries.
@types/react-dom v18.2.4 now includes this: void in the renderToPipeableStream() function definition, so the first half is solved.
This pull request is to address the changes needed in Remix. At the same time, I tried to improve code quality by addressing some of the issues raised when enabling the type checked linting rules.
Adding this: void could subtly change the contract for external libraries returning SessionStorage, so it would be good to get this in before Remix v2.
I tried my best to incorporate the rules from plugin:@typescript-eslint/recommended-requiring-type-checking in a way that seemed consistent with the other rules, but I'm open to suggestions. Running these rules requires more memory from the node process and may take longer.
I could also split out the code changes from the linting changes and have this pull request just be the code improvements.
Testing Strategy:

I opened up my windows machine and ran this script:
yarn lint
yarn test:primary
npx playwrite install
yarn test

Thanks for taking the time to add these changes @ngbrown! 🙏
However, I'm going to close this in favor of @JoshuaKGoldberg's #6248.
If he's missing some things, you can always make some comments & help him out addressing them if necessary.

Hi @MichaelDeBoey I understand my changes in remix-config-eslint would conflict with #6248, but that change doesn't turn on any type checked rules and also doesn't address the primary modivation of adding this: void to methods that are commonly destructured in the Remix documentation.
Should I open a separate pull request with just the code changes? Should I submit several pull requests with different groups of changes?
I put in three changeset files so could open two pull requests, one for this: void and the other for the void operator and await in test cleanup.

@ngbrown I'm sorry, I thought all of them were related to adding the internal ESLint ruleset
If not, could you create separate PRs for those changes please?
That would be easier to review that way.

@MichaelDeBoey I was using the eslint ruleset as the "test" to drive the changes. Sorry if that was confusing.


Fix animation of long lines

This fixes a problem with the text animation during install.  With a long --spec, the animation during install of a pipx package can be corrupted, resulting in a page or more of spurious identical messages being printed.  This is because the \r carriage return does not work if the printed text is so long that it moves the cursor to the next line.  Under these circumstances, \r only moves to the beginning of this terminal line, leaving the previous part of the printed text still printed above it.
The patch truncates the animated printed text so it does not run over to the next line of the terminal.  It uses shutil.get_terminal_size().  The fallback in case shutil.get_terminal_size() cannot determine the terminal size is 9999 columns, essentially "infinity", making sure that we revert to the original behavior if we cannot determine the actual terminal size (or we are in some circumstance like a pipe, etc. where it wouldn't matter anyway.)

With this pull request:
During:
birchtree:pipx$ pipx install --spec git+https://github.com/itsayellow/pytivometa pytivometa
⣽ installing package 'git+https://github.com/itsayellow/pytivometa#egg=pytiv...

Afterwards:
birchtree:pipx$ pipx install --spec git+https://github.com/itsayellow/pytivometa pytivometa
  installed package pytivometa 0.2.0, Python 3.7.4
  These apps are now globally available
    - pytivometa
done! ✨ 🌟 ✨
birchtree:pipx$

Nice!
Should the size be retrieved more frequently since there is no guarantee it will remain the same during the entire session?

Should the size be retrieved more frequently since there is no guarantee it will remain the same during the entire session?

I'm trying to think of the ways that might happen--would it only happen if the user resized the terminal while a pipx command was running?
I wasn't worrying about it, but get_terminal_size could easily be put inside of print_animation() or even more real-time, inside of the for s in symbols: loop.  I don't know if there's any cost to this, but I'm guessing not much.

I think something like reinstall-all is probably the longest-running command, and that takes long enough a user could easily resize the terminal, which would screw things up as it stands now.

OK, I moved get_terminal_size() inside of animate() which seemed pretty obviously a good thing.
Do you think it needs to be in the for s in symbols: loop?

Am I clear to merge this now?  I think I've addressed all the comments.

I believe this is the first PR that I have not approved+merged! Thank you and congrats! 🎉
In the future please squash commits to avoid polluting commits on the master branch.

In the future please squash commits to avoid polluting commits on the master branch.

Ah ok!  Is the idea one commit per PR?

I think the idea is more one commit per feature/bug fix.

The idea is as many commits on a PR as you want, but when you click the "merge" button, there are a couple options.
One is "merge and squash commits into a single commit" and the other is "merge all commits" (the exact text is not this, but this is the idea).
If you look at the commit history, you generally see a single commit with the pull request number in parentheses, such as

Add printed summary after successful injection. (#226)

this is what we want, so you can look through commits on master and get a basic idea of all the PRs that went into the codebase.
If you don't mind, I will do some work with git and do a force push so the master branch looks like this.

I don't mind at all, thanks for offering to clean it up.  Thanks for the tip.


PipelineBehaviour for all Requests

Hi,
i'm new to MediatR and i tried to create a validation behavior for all my requests (commands and queries). But the example i've found works for queries only. So the question is, do i have to implement all behaviours twice?
public class ValidationBehaviour<TRequest, TResponse> : IPipelineBehaviour<TRequest, TResponse> where TRequest : IRequest<TResponse>
    {
        private readonly IEnumerable<IValidator<TRequest>> validators;

        public ValidationBehaviour( IEnumerable<IValidator<TRequest>> validators )
        {
            if (validators == null)
            {
                throw new ArgumentNullException(nameof(validators));
            }

            this.validators = validators;
        }

        public Task<TResponse> Handle( TRequest request, RequestHandlerDelegate<TResponse> next )
        {
            var context = new ValidationContext( request );

            var failures = this.validators.Select( v => v.Validate( context ) ).SelectMany( result => result.Errors ).Where( f => f != null ).ToList();

            if( failures.Any() )
            {
                throw new ValidationException( failures );
            }

            return next();
        }
    }

It only works for queries? Why?
For commands that don't return a response, TResponse is Unit.

I have a command handler like:
public class AddCustomerHandler : **IRequestHandler<AddCustomerRequest>**
{ }

and a command request
public class AddCustomerRequest : **IRequest**
{ }

but the validation behaviour above gets fired only for handlers and requests that explicit define a return type. So i wonder if i do something wrong in my autofac wire up or if this is not possible at all.

I tried some more things out and the only version that works with the current MediatR implementation is by changing the generic types of the behaviour.
public class ValidationBehaviour<TRequest, Unit> : IPipelineBehaviour<TRequest, Unit>
{ }

But here the type Unit hide the type Unit. So a better solution would be something like:
public class ValidationBehaviour<TRequest> : IPipelineBehaviour<TRequest, Unit>
{ }

But for a Queries i run into the Pipeline Builder for Handlers with Response Types. So the question is, do we miss here the Void Behaviour Pipelines? From my point we should retrieve them at this point also.
private static Task<TResponse> GetPipeline(TRequest request, RequestHandlerDelegate<TResponse> invokeHandler, MultiInstanceFactory factory)
        {
            var behaviours = factory(typeof(IPipelineBehaviour<TRequest, TResponse>)).Cast<IPipelineBehaviour<TRequest, TResponse>>().Reverse();

            var aggregate = behaviours.Aggregate(invokeHandler, (next, pipeline) => () => pipeline.Handle(request, next));

            return aggregate();
        }

Your original sample looks identical to what I'm using, and I don't have the problem you've described. Maybe double check your container config?

Well i checked this various times, but i have no clue what's wrong with it.
I'm wire up the base container:
            builder.RegisterSource( new ContravariantRegistrationSource() );
            builder.RegisterType<ApplicationService>().As<IApplicationService>().InstancePerRequest();

            builder.Register<SingleInstanceFactory>( ctx =>
            {
                object o;

                var c = ctx.Resolve<IComponentContext>();
                return t => c.TryResolve( t, out o ) ? o : null;
            } );

            builder.Register<MultiInstanceFactory>( ctx =>
            {
                var c = ctx.Resolve<IComponentContext>();
                return t => ( IEnumerable<object> ) c.Resolve( typeof( IEnumerable<> ).MakeGenericType( t ) );
            } );

And additionally loading everything else:
Scanning for Handlers
            builder.RegisterAssemblyTypes( assemblies ).AsClosedTypesOf( typeof( IRequestHandler<> ) ).AsImplementedInterfaces().InstancePerRequest();
            builder.RegisterAssemblyTypes( assemblies ).AsClosedTypesOf( typeof( IRequestHandler<,> ) ).AsImplementedInterfaces().InstancePerRequest();

Adding Pipeline
builder.RegisterGeneric( typeof( ValidationBehaviour<,> ) ).AsImplementedInterfaces();

In your validation behavior, do you need that generic constraint? The underlying pipeline behavior definition does not have that constraint.

That looks like it could very well be the culprit.
Since version 3.0.0 with pipelines landed I just registered the built-in pre-processor behavior and implemented validation (and authorization) in IRequestPreProcessors instead of decoratiors/behaviors. Although mine only expects only one IValidator.
/// <summary>
/// A pre-processor that validates a request.
/// </summary>
/// <typeparam name="TRequest">Request type</typeparam>
public class ValidationRequestPreProcessor<TRequest> : IRequestPreProcessor<TRequest>
{
    private readonly IValidator<TRequest> validator;

    /// <summary>
    /// Initializes a new instance of the ValidationRequestPreProcessor class.
    /// </summary>
    /// <param name="validator">the validator</param>
    public ValidationRequestPreProcessor(IValidator<TRequest> validator)
    {
        this.validator = validator
            ?? throw new ArgumentNullException(nameof(validator));
    }

    public Task Process(TRequest request)
    {
        return validator.ValidateAndThrowAsync(request);
    }
}

I tried to use the PreProcessor also, but it seems like that it can't be used as standalone solution. They have to be injected into the RequestHandlers. But that's not what i need.

You've defined a generic constraint on your validator. Don't. The where TRequest : IRequest<TResponse>. Don't do that, the underlying interface doesn't have that, I don't think you should either.

Thanks for your help. I got it working now with the PreRequestProcessor. I found out that i forgot to register the RequestPreProcessorBehaviour. How everything works as expected.
I have to say that i really like your MediatR library, but it is really hard to find some documentation and examples beyond the standard. Maybe you can improve this in the future. :)

The wiki is open for anyone to contribute.


Fixes #54315

The virtual node on ACI does not have the taint for azure.com/aci key. Removed the toleration for azure.com/aci.

@NileshGule : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@mlearned Pleas review.

#sign-off

@mlearned: I'm sorry - only the author of this article, @, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Failing to start Chart on AKS - no errors

Hi There
i am trying to deploy this chart on Azure Kubernetes service (running kubernetes v1.17.9), here are my values.yaml
env:
  email: admin@domain
  password: <REDACTED>
  variables:
    - name: PGADMIN_LISTEN_ADDRESS
      value: "<IP_ADDRESS>"
persistentVolume:
  storageClass: azurefilepgadmin
service:
  type: LoadBalancer
  annotations:
    external-dns.alpha.kubernetes.io/hostname: "pgadmin.azure.domain."
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
VolumePermissions:
      ## If true, enables an InitContainer to set permissions on /var/lib/pgadmin.
      ##
  enabled: true

i get no real errors in the logs other than what appear to be just warnings:
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
[2020-09-11 06:51:17 +0000] [1] [INFO] Starting gunicorn 19.9.0
[2020-09-11 06:51:17 +0000] [1] [INFO] Listening at: http://<IP_ADDRESS>:80 (1)
[2020-09-11 06:51:17 +0000] [1] [INFO] Using worker: threads
/usr/local/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
  return io.open(fd, *args, **kwargs)
[2020-09-11 06:51:17 +0000] [88] [INFO] Booting worker with pid: 88

however the container never seems to become "available" if i open a shell up in the container i can see the gunicorn process has started and listening on port 80 but it just does not respond and no error gets emitted in logs. In the kubernetes events this is also correlated by the liveness and readiness probles also failing
  Warning  Unhealthy         45s        kubelet, aks-prdakspool1-37452914-vmss000001  Liveness probe failed: Get http://<IP_ADDRESS>:80/misc/ping: dial tcp <IP_ADDRESS>:80: connect: connection refused
  Warning  Unhealthy         40s        kubelet, aks-prdakspool1-37452914-vmss000001  Readiness probe failed: Get http://<IP_ADDRESS>:80/misc/ping: dial tcp <IP_ADDRESS>:80: connect: connection refused

am currently at a loss as to how to debug further or next steps towards a resolution

@anthonysomerset what version of this chart are you running?

most current available @rowanruseler 4.25

I am not on azure, so I am unable to reproduce it on that platform, but when I tested it myself this are my results:
Here are the logs:
WARNING: Failed to set ACL on the directory containing the configuration database:
           [Errno 1] Operation not permitted: '/var/lib/pgadmin'
HINT   : You may need to manually set the permissions on
         /var/lib/pgadmin to allow pgadmin to write to it.
NOTE: Configuring authentication for SERVER mode.

sudo: setrlimit(RLIMIT_CORE): Operation not permitted
[2020-09-11 08:07:52 +0000] [1] [INFO] Starting gunicorn 19.9.0
[2020-09-11 08:07:52 +0000] [1] [INFO] Listening at: http://[::]:80 (1)
[2020-09-11 08:07:52 +0000] [1] [INFO] Using worker: threads
/usr/local/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
  return io.open(fd, *args, **kwargs)
[2020-09-11 08:07:52 +0000] [92] [INFO] Booting worker with pid: 92
WARNING: Failed to set ACL on the directory containing the configuration database:
           [Errno 1] Operation not permitted: '/var/lib/pgadmin'
HINT   : You may need to manually set the permissions on
         /var/lib/pgadmin to allow pgadmin to write to it.
::ffff:<IP_ADDRESS> - - [11/Sep/2020:08:08:32 +0000] "GET /misc/ping HTTP/1.1" 200 4 "-" "kube-probe/1.12"
::ffff:<IP_ADDRESS> - - [11/Sep/2020:08:08:46 +0000] "GET /misc/ping HTTP/1.1" 200 4 "-" "kube-probe/1.12"
::ffff:<IP_ADDRESS> - - [11/Sep/2020:08:09:20 +0000] "GET /misc/ping HTTP/1.1" 200 4 "-" "kube-probe/1.12"

And here is my pod status:
pgadmin-test-pgadmin4-76f78bbc8-ccsnf   1/1     Running   0          2m29s

As you can see from my logs, the pings are functioning.
So I think it is somewhere within, since I am unable to mimic this part:
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"

sure
i did try taking the azure specific lines out, same behaviour - i also took the entire service lines out to go to the default config and also get same behaviour - very strange
something else i also tried is opening up a shell session to the container and doign a wget - also just failing - not even connection refused
/pgadmin4 $ netstat -nlp
netstat: can't scan /proc - are you root?
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        1      0 <IP_ADDRESS>:80              <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 <IP_ADDRESS>:25              <IP_ADDRESS>:*               LISTEN      -
...

/pgadmin4 $ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
43: eth0@if44: <BROADCAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether fa:9a:ed:2f:05:ef brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 scope global eth0
       valid_lft forever preferred_lft forever
/pgadmin4 $ wget <IP_ADDRESS> -O -
Connecting to <IP_ADDRESS> (<IP_ADDRESS>:80)
command terminated with exit code 137

@anthonysomerset you can email me, my email is on my github profile.

just want to advise - i went back to just attempting to deploy the docker image straight on kubernetes without the helm - i am getting the same observed behaviour so i think if there is any specific issue it is specifically within the base image itself and not the helm chart - with that in mind i will proceed to raise the matter upstream via the postgres maillist and it makes sense to close this

haha - this is actually simpler...
Using AzureFile as the PersistentVolume StorageClass the mount options MUST include nobrl otherwise there are locking issues with sqlite as the config/database storage layer - this is because AzureFile is CIFS under the hood - there are caveats around this though
would be nice if pgadmin supported storing the config in other db formats - like postgres in addition to sqlite


Invalid THIS is displayed for completion of loot and recipes in rewards of advancements

Sometimes people use the same names for relevant advancements/functions/loot tables/recipes, so this is the intended behavior that THIS will be provided for all these types.

This should be an implementation that displays THIS if it exists

The user might use THIS and then trigger the quick fix to create that file though

Well, that's right, I will close this issue.


Next and Previous Cache: Ability to load All images if desired (for seo)

Fotorama by default has a next and previous cache. So it only loads the next and preview images in the html.
When the page loads only 3 images are loaded.
It would be nice to have a option, if the user wants to load all images.

Duplicate of #538


Regression: Unknown license with the --license <my-file>.yaml flag

Looks like a regression that was previously fixed has been reintroduced between 1.2.1 and 1.3.0 and effects 1.4.0 and then got migrated along to this new repository. I get an error when I try to specify a custom license.
https://github.com/spf13/cobra/issues/321
Error: unknown license: /Users/paul/.my-license.yaml

I have a template that I use for my license, here is an example of what it looks like:
author: Me
license:
  header: Buy me a covfefe?
  text: |
    {{ .copyright }}

To recreate:
$ go install github.com/spf13/cobra-cli@latest
$ mkdir example
$ cd example
$ go mod init example
$ cobra-cli init --license ~/.my-license.yaml
> Error: unknown license: /Users/paul/.my-license.yaml

The license needs to be part of the expected ~/.cobra.yaml config file.
This works:
$ cat ~/.cobra.yaml
author: John
year: 2022
license:
  header: This file is part of CLI application woof.
  text: |
    {{ .copyright }}

    This is my license. Buy me a coffee.

$ go mod init example.com
$ cobra-cli init
Using config file: /home/jmcb/.cobra.yaml
Your Cobra application is ready at
/tmp/test-license
$ cat LICENSE
Copyright © 2022 John

This is my license. Buy me a coffee.

The license provided by --license should not be the path to a file. It should be one of the well known licenses (like GPLv2, GPLv3, LGPL, AGPL, MIT, 2-Clause BSD or 3-Clause BSD, etc.)

This was my bad. I don't know how but somehow I muxed up my bash history. I've been using my config for months and I was legit confused why it suddenly broke. I must have done it wrong really early on and pulled an earlier non-working command. Sorry for the mix up.


Feature Request - add/export addCookieToSession method

Hi!
I'd love to see functionality whereby I can simply call a method to add cookies to the internal cookie jar. Yes I know I can send additional cookies in the requestCookies array, but better functionality (IMO) would be to have a function that I can call to add the additional cookies, without having to send them as part of the request.

@toman-tom fine for me. will include that in the next version.

Should work like this now :-)
const tlsClientLibrary = ffi.Library('./../dist/tls-client-darwin-amd64-1.2.0.dylib', {
    'request': ['string', ['string']],
    'getCookiesFromSession': ['string', ['string']],
    'addCookiesToSession': ['string', ['string']],
    'freeMemory': ["void", ['string']],
    'destroyAll': ['string', []],
    'destroySession': ['string', ['string']]
});

const payload = {
    sessionId: 'my-session-id',
    url: "https://example.com/",
    cookies: [{
        "name": "myCookieName",
        "value": "myCookieValue",
    }]
}

const resp = tlsClientLibrary.addCookiesToSession(JSON.stringify(payload))

Looks great! Thank you @bogdanfinn


state.observation_tensor() fails when state is terminal

Whenever I try to get the observation of a terminal state, it fails with the error:
pyspiel.SpielError: /open_spiel/spiel.cc:699 player >= 0
player = -4, 0 = 0
It looks like the problem is that the player is -4, which doesn't really make sense in a 2-player game.
I've tried with both Chess and TicTacToe, but both have the same result.

That is odd, I thought we had a test for this in our simulation testd. -4 is kTerminalId, a special player id reserved for terminals, but still it should be possible to get obs tensors at terminals, so this sounds like it could be a bug. I will look further into it when I am back at work (jan 4th)

That is odd, I thought we had a test for this in our simulation testd. -4 is kTerminalId, a special player id reserved for terminals, but still it should be possible to get obs tensors at terminals, so this sounds like it could be a bug. I will look further into it when I am back at work (jan 4th)

Oh I have a suspicion as to the cause: I think at terminals you need to call the overloaded method with a specific player number. I think the rl_environment did that, I guess you are using the python API directly?

Oh I have a suspicion as to the cause: I think at terminals you need to call the overloaded method with a specific player number. I think the rl_environment did that, I guess you are using the python API directly?

Yep this works - thanks for the help!

Yep this works - thanks for the help!


Missing config and hard-coded selection budget

First off, thank you for your exciting contribution to the field of Active Learning for LiDAR-based 3D Object Detection!
While going through your code, I stumbled upon two things:

The config for running STONE seems to be missing in the tools/cfgs/active-kitti_models folder. I assume it is identical to that of, e.g., the random config, yet I think to avoid confusion and/or mistakes, providing a config would be a good idea.

The selection budget for each AL cycle seems to be hard-coded to 100 samples. Is there a specific reason for that or is it a residual from during development?

See pcdet/query_strategies/STONE_sampling.py line 375-386:
        # returned the index of acquired bounding boxes
        if len(selected_frames_final) < 100:
            # Calculate how many elements to extract from selected_frames
            elements_needed = 100 - len(selected_frames_final)

            # Extract the top elements_needed from selected_frames
            top_elements = selected_frames[:elements_needed]

            # Append extracted elements to selected_frames_final
            selected_frames_final.extend(top_elements)

        return selected_frames_final

Thank you in advance and kind regards,
Gerrit

Hi Gerrit Bartels,
Thank you for your feedback! I really appreciate you pointing out the issues with my configuration. I will definitely spend more time working on that aspect to improve it.
Regarding the budget hardcoded to 100, there isn’t a specific reason behind this choice—it simply follows the setup from the previous work (https://github.com/Luoyadan/CRB-active-3Ddet). However, you are absolutely free to adjust the budget. If your active learning method achieves good results with a lower budget, that would be a great improvement, and reducing the budget across all baselines would make sense.
Thanks again!
Ruiyu


Generate ALTER TABLE script from selected columns

Problem
Sometimes I need to add new columns for the existing database eg. production. First of all I create this columns on my local environment, and copy ALTER TABLE query and store it somewere, after that when I want to update my production's database structure, I copy stored ALTER TABLE query and run it on production, but sometimes I forget to copy the query during local altering, and I have to write query for my own.
Description
When I right click on a column in the columns view, in the options list should be placed the "Generate ALTER TABLE script" button, it should work with a multiselect of  columns.
Screens

We already have such function implemented by following way:
Create columns in table properties and press Save button> Popup appears with the SQL statement. You can Open SQL Editor for it, copy, Cancel and Persist the changes.

Does it cover your needs?

there is no update on the issue for a long time.
If it is still not solved for you - feel free to reopen it with an additional info

there is no update on the issue for a long time.
If it is still not solved for you - feel free to reopen it with an additional info

any update?

It is useful to have the ALTER TABLE code appear after saving, but is that the only way to view it? You can't generate that code again at a later time?
If not, it would be helpful. Currently when were creating new columns locally we're saving the code to the ticket so that the db admin can add the columns in production. The only issue is if we forget to save them.

We already have such function implemented by following way: Create columns in table properties and press Save button> Popup appears with the SQL statement. You can Open SQL Editor for it, copy, Cancel and Persist the changes.
Does it cover your needs?

The author (and me, many times) forget to copy these alter statements while creating the column(s) so a way to view these statements after adding the column would be nice.


Update to grand legacy and weapons packs

2 changes:

Small buff to 'Captain's Cabin' to match the current value of block in the Blackbeard mod. This card is supposed to have similar value to base game card 'Dash' and with this change it should be more with line with that card.
Small change to 'Sword' art, basically the swords were moved a few pixels down. Not very noticable, but again it's a change to match the current art in the Blackbeard mod.

The retired modder special :)


App list not being generated and apps not showing in sources

Clean install of SamsungTV_Smart on Home assistant.
Added the hacs repository, added the integration.
Set up the integration using the UI.
Pop up appeared on TV asking to give Home Assistant access
Restarted HA.
Integration shows media_player.lounge_tv having been created. File in custom components folder are:
.translations
init.py
api (folder)
config_flow.py
const.py
manifest.json
media_player.py
token-<IP_ADDRESS>.txt
translations (folder)
Sources available to select are: TV, Hdmi1, Hdmi2, Hdmi3, Hdmi4
No apps are listed anywhere or available for selection
TV model is 2020 QE55Q70TATXXU
HA Core version 0.110.4

Can you enable debug log for the component adding this lines in configuration.yaml (please check that logger: option is not already present, in case just add the other lines):
logger:
  default: info
  logs:
    custom_components.samsungtv_smart: debug

Then please post the log related to the component so that I can try to understand where is the issue.

Hello, hope this is what you mean / need:
debuglog.txt

Yes, info is correct. Looking at the log seems that app_list is never send back after request.
Just to better understand, are you able to send command to the TV (eg. Volume Up - Volume Down, play / pause, etc)?

Yep, I’ve added the generated entity as a media card in HA and can turn tv on, control volume, pause and change source

It will be hard for me solve this, it seems that the standard command do not provide any answer, as always probably samsung change something with last models.
I can try to make some test but I need your support, are you available to install some beta version that I will release on next days and report your feed-back?

yep I would be more than happy to help if you dont mind. As you can see I am not the greatest at HA but would love to help get this resolved.

Please install last version released and post again debug log. I don't think this version will solve your issue, but I moved start of comunication channel and I want to see if your TV provide back some information.

Thanks. Just to check should I uninstall the old version etc or just update?

Just update

Here you go, hope this helps
debuglog2.txt

Did the above help at all?

Not so mutch, I see that other channels starts but nothing more is coming. I have to try moving the call for channel list, but maybe nothing will change.
Unfortunatly my TV is out of order from this week, axactly 2 months after end of warranty, so I cannot do nothing until I will have it back or I will have a new one.

Hi, sorry for late answer.
I did some check, unfortunatly I didn't find a definitive solution. Simply there are some TV model that do not report application list.
In any case I reviewed in last release the method used to check running app, so if you create your app_list in configuration.yaml (see read_me instruction) you should be able to use and see status of app in your list.
Waiting for your feed-back.

Hi,
Just to update this, have the same issues on a 2020 Frame (QE55LS03TAUXXU)
@ollo69 adding the new app list to config as you suggested does then allow you to switch between apps from HA as well as get the correct read back on the app name
samsungtv_smart:
  - host: xx.xx.xx.xx
    app_list: '{"Netflix": "11101200001", "YouTube": "111299001912", "Spotify": "3201606009684", "Internet": "org.tizen.browser" }'

I've had no luck casting anything or opening any media from HA to this model though.
(Sorry to hear about your TV :( )

@louisc just checking you added that code within your configuration.yaml for HA did you? Will try this on mine later

Indeed @mbarnes106 , just paste as is and add your host. You can pull additional apps and IDs from the links in the docs here: https://github.com/ollo69/ha-samsungtv-smart/blob/master/docs/App_list.md (select the lists)

I just got a Q90T 2020 model and I can't get the app loading functionality to work as well.

I have added that to my config. they are a little slow to work but do now change. All apart from Netflix which will let me select it but will not change the tv to netflix
`samsungtv_smart:

host: <IP_ADDRESS>
app_list: '{"Netflix": "11101200001", "YouTube": "111299001912", "Spotify": "3201606009684", "Internet": "org.tizen.browser" }'
`

Just tried this as well:
"Netflix": "11101200001/org.tizen.netflix-app"
Still just netflix that will not load.

And sorry one more thing while I am trying to sort this all. Is there a way to rename the HDMI1 / 2 / 3 / 4 sources to things like Xbox and Sky etc?
I thought this would work but it does not rename them in the source list and fails to change the source when I select them
    source_list: '{"HDMI1": "Sky", "HDMI2": "Apple TV", "HDMI3": "Nintendo", "HDMI1": "Xbox"}'

@mbarnes106 try this
source_list: '{"ST_HDMI1": "Sky", "ST_HDMI2": "Apple TV", "ST_HDMI3": "Nintendo", "ST_HDMI4": "Xbox"}'

@mbarnes106 try this
source_list: '{"ST_HDMI1": "Sky", "ST_HDMI2": "Apple TV", "ST_HDMI3": "Nintendo", "ST_HDMI4": "Xbox"}'

That doesnt work I am afraid, that renames all the sources as ST_HDMI1 etc.

@mbarnes106 try this
source_list: '{"ST_HDMI1": "Sky", "ST_HDMI2": "Apple TV", "ST_HDMI3": "Nintendo", "ST_HDMI4": "Xbox"}'

That doesnt work I am afraid, that renames all the sources as ST_HDMI1 etc.

Changed them round, the description should come first, Samsung name second, so this works.
`
samsungtv_smart:

host: <IP_ADDRESS>
source_list: '{"TV": "ST_TV", "Sky": "ST_HDMI1", "Apple TV": "ST_HDMI2", "Nintendo": "ST_HDMI3", "Xbox": "ST_HDMI4"}'
app_list: '{"Netflix": "11101200001/org.tizen.netflix-app"   , "Plex": "3201512006963", "YouTube": "111299001912",  "Prime Video" : "3201512006785", "Spotify": "3201606009684", "Internet": "org.tizen.browser" }'

`
Just wish Netflix would open now

I got the app list to work. I'm not 100% sure but I think what fixed the app list functionality for me was to clear out all the devices from the settings in the TV under Device Connect Manager and then restart smart things on my phone and restart HASS.

I got the app list to work. I'm not 100% sure but I think what fixed the app list functionality for me was to clear out all the devices from the settings in the TV under Device Connect Manager and then restart smart things on my phone and restart HASS.
EDIT : mbarnes106 : I'm using your app_list. The Netflix option doesn't work.

I am using app list in my config yeah. Boo about Netflix! Have you found a way of getting round that?

Hi, anyone with the new Samsung tv 2020 is able to run this ?
(Open Netflix)
curl -X POST -i 'http://IP:8001/api/v2/applications/11101200001'

Nope can’t load Netflix at all here

@mbarnes106 Can you please try this one last time
(Open Youtube)
curl -X POST -i 'http://IP:8001/api/v2/applications/111299001912'

Hello,
I have just found your addon, thank you for creation and developing.
I am using 2020 Samsung TV, model: QE55Q80TATXXH with Tizen SW 1460 onboard.
As someone before I could not run any app from HA dropdown list.
I have tested curl from previous message and it’s launching YouTube properly. However Netflix’s curl is having error as response:

But Netflix, YouTube, Browser and AppleTV are recognized after a short time (proper name and logo), turning TV on and off also works but with a big delay. Voice control with tiny.
TV has WiFi 5G Internet, no cable right now.
app_list: '{"Netflix": "11101200001/org.tizen.netflix-app", "YouTube": "111299001912/9Ur5IzDKqV.TizenYouTube", "AppleTV": "com.samsung.tv.aria-video", "Browser": "org.tizen.browser"}'

I don't use http post to launch the application but a dedicated ws. Anyway it is a common problem that some time is not possible to launch some application.
You should enable debug for the component in HA and share it so that I can see what is happening..

Could you please guide me how to enable debug mode? I am using HA on HassIO (latest versions) and I have installed this component manually via git clone and moving folder to /config/custom_components path.
As a result this integration / component is not visible and I can only use it via configuration.yaml file.

Could you please guide me how to enable debug mode?

You should add the following line in configuration.yaml:
logger:
  default: info
  logs:
    custom_components.samsungtv_smart: debug

I have tried to add repo to Configuration > Integrations but github address was not recognised as a correct repo (as it does with 99% of repos :) )

You mean using HACS? You don't need to add this component in HACS, is a default repository.

Thank you. I have to update what I said. Somehow I was using wrong component (silly me).
But with yours I can switch to: Browser and Youtube. Netflix is choosen, recognised in HA as Netflix but nothing happens. I could only turn screen off, waking up even with mac written in settings (configuration.yaml). Audio controls are ok.
With integration installed from HACS I could not set up config properly, so I have installed it manually as mentioned previously.
Please find below a bit long log, where mostly around 3:08 I was trying to run every of app_list elements.
Logs.txt.txt

With integration installed from HACS I could not set up config properly, so I have installed it manually as mentioned previously.

Can you explain better what was your problem installing from HACS and using Configuration Flow?

Hi
I've just bought Samsung this year QE65Q80T model and apps don't show up. Is there any solution for this?

I've just bought Samsung this year QE65Q80T model and apps don't show up. Is there any solution for this?

I have a QE65Q82R that work perfectly. Provide more detail on the problem that you have configuring it. Best thing is open a new issue describing what happen.

Issue trying to run curl:
{"code":404,"message":"Not found error.","status":404}
Mattb:~ mattbarnes$ curl -X POST -i 'http://<IP_ADDRESS>:8001/api/v2/applications/11101200001'
HTTP/1.1 404 Not Found
content-type: application/json; charset=utf-8
content-length: 55
{"code":404,"message":"Not found error.","status":404}

But if i try:
curl -X POST -i 'http://<IP_ADDRESS>:8001/api/v2/applications/111299001912'
it loads Youtube just fine.

I have a QE65Q82R that work perfectly. Provide more detail on the problem that you have configuring it. Best thing is open a new issue describing what happen.
You got last year tv. In this year Samsung probably changed sometings. I have the same problem as author of this post. Need to manually add applist i cfg.

Same issue here with a QE55Q64TAUXZT bought a few days ago.
According to the debug log it looks like the app list is not returned after the request:
2021-01-02 03:32:34 DEBUG (SamsungRemote) [custom_components.samsungtv_smart.api.samsungws] Message remote: received connect 2021-01-02 03:32:34 DEBUG (SamsungRemote) [custom_components.samsungtv_smart.api.samsungws] Request app list 2021-01-02 03:32:34 DEBUG (SamsungControl) [custom_components.samsungtv_smart.api.samsungws] Thread SamsungControl started 2021-01-02 03:32:34 DEBUG (SamsungArt) [custom_components.samsungtv_smart.api.samsungws] Thread SamsungArt started

Same issue here with a QE55Q64TAUXZT bought a few days ago.
According to the debug log it looks like the app list is not returned after the request:
2021-01-02 03:32:34 DEBUG (SamsungRemote) [custom_components.samsungtv_smart.api.samsungws] Message remote: received connect 2021-01-02 03:32:34 DEBUG (SamsungRemote) [custom_components.samsungtv_smart.api.samsungws] Request app list 2021-01-02 03:32:34 DEBUG (SamsungControl) [custom_components.samsungtv_smart.api.samsungws] Thread SamsungControl started 2021-01-02 03:32:34 DEBUG (SamsungArt) [custom_components.samsungtv_smart.api.samsungws] Thread SamsungArt started

I cannot get any apps either. Any other new suggestions? My config looks like this:
samsungtv_smart:

host: x.x.x.x
mac: "xx:xx:xx:xx:xx"
app_list: '{"Netflix": "11101200001/org.tizen.netflix-app}' (Tried other lists from above comments too)

Hi there,
if it can be any help, same behaviour here: "request app list" in the logs, nothing in return.
Forcing app_list in configuration.yaml doesn't work at all.
curl http://xxx:8001/api/v2/

{"device":{"FrameTVSupport":"true","GamePadSupport":"true","ImeSyncedSupport":"true","Language":"fr_FR","OS":"Tizen","PowerState":"on","TokenAuthSupport":"true","VoiceSupport":"true","WallScreenRatio":"0","WallService":"false","countryCode":"FR","description":"Samsung DTV RCR","developerIP":"<IP_ADDRESS>","developerMode":"1","duid":"uuid:a0dde8a0-x-xx44xxxe9-a1e4-xxxxxx","firmwareVersion":"Unknown","id":"uuid:a0dde8a0-b915-x-xxxxxxa1e4-x","ip":xxxxx"<IP_ADDRESS>","model":"20_NIKEM_FRAME","modelName":"QE55LS03TAUXXC","name":"[TV] TheFrame","networkType":"wireless","resolution":"3840x2160","smartHubAgreement":"true","ssid":"24:4b:fe:2e:12:05","type":"Samsung SmartTV","udn":"uuid:a0dde8a0-b915-44e9-a1e4-x","wifiMxxxxxac":"F4:FE:FB:B5:10:09"},"id":"uuid:a0dde8a0-b915-44e9-a1e4-x","isSxxxxxupport":"{"DMP_DRM_PLAYREADY":"false","DMP_DRM_WIDEVINE":"false","DMP_available":"true","EDEN_available":"true","FrameTVSupport":"true","ImeSyncedSupport":"true","TokenAuthSupport":"true","remote_available":"true","remote_fourDirections":"true","remote_touchPad":"true","remote_voiceControl":"true"}\n","name":"[TV] TheFrame","remote":"1.0","type":"Samsung SmartTV","uri":"http://192.168.1.xx:8001/api/v2/","version":"2.0.25"}

Closing this issue 1 year old. Many TV do not return app list, this is not an integration issue. Integration allow manual app list creation as work around.

Hi. I have the same problem with a QN800A.


zipkin: Fix missing some annotations serialization when verbose=true

Commit Message: When verbose mode is true, Zipkin tracer need to serialize the data collected by Span::log() as annotations.
Risk Level: Low
Testing: Unit test
Docs Changes: N/A
Release Notes: N/A
Fixes: #12540
Signed-off-by: Dhi Aurrahman<EMAIL_ADDRESS>

This totally flew under my radar. Will review ASAP

I've been trying to work out why I wasn't seeing the verbose annotations, and I found my way to this PR.
Did this get fixed by another means, or is does the PR need resurrecting?


link to what is meant by destination directory

Thanks @jasonknichel this should be live within a few minutes


Removes arrow function syntax

Please do not update the README or Change Log, we will do this when we merge your PR.
This PR (delete as applicable)

Fixes a bug

Describe the changes below:
Removes arrow function syntax, which was breaking in unsupported browsers. Resolves #4530

👍


peculiar error

As mentioned in the Reddit post I would try again and post an issue. I spent a couple hours trying to get it running again. Ran into Melpa issues for every Emacs in Homebrew except one, but after that was working I get this peculiar error message.
~/.emacs.d ❯❯❯ DEBUG=1 make doctor                                                                                master ✱
DOOM Doctor
Running Emacs v25.2.1, commit e1f7efdf1d73af0da596c7c449c0de2224e33e8a

Compiled with:
  JPEG NOTIFY ACL LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES
uname -a:
  Darwin Chriss-Mac 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15
  17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64

Attempt to load DOOM: success! Loaded v2.0.4
Revision e1f7efdf1d73af0da596c7c449c0de2224e33e8a

----

peculiar error
make: *** [doctor] Error 255

Any suggestions? would love to help get this worked out for me (and you).

I had that same peculiar error after installing emacs-plus from Homebrew today (which I had installed in the past).
After running brew reinstall emacs-plus that error went away. If you still get error I recommend running brew doctor and look for anything related to emacs or imagemagick.
Here's the emacs-plus issue related to this: https://github.com/d12frosted/homebrew-emacs-plus/issues/44

I'm curious @chriskaukis did you ever get this figured out?

@orther I gave up and switched back to Spacemacs for now. I'll give it a go soon again though.

I believe this has to do with gnutls. Assuming you're installing emacs through the emacs recipe via homebrew, you need to supply --with-gnutls when installing. e.g brew install emacs --with-gnutls.
emacs-plus includes this setting automatically. That said, I'll work on including a gnutls check in the doctor.

Phew, it's been a while, but I think I've finally tracked this "peculiar error" business down to faulty error handling in the doctor script. This should resolve this issue. As it is an old issue I'll close this issue, but feel free to reopen it if this most peculiar of errors rears its head again.

Awesome, thanks and glad you found the issue. 👍


gcc7: init at 7.1.0

Motivation for this change
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Made by copying snapshot derivation and updating the version -- not sure nothing else should be changed.

Works for me for some time -- merging.


Change Request: Adding option to sync segment overrides across all enviroments

When adding segment override to particular feature on any enviroment, it would be great to have an option to apply the same segment override across all enviroments in order to avoid manual addition on other enviroments.

It's possible (and perhaps preferable?) that this could be achieve on the front end only.

I don't think this should be done on the frontend. Also I think sync endpoints with segment overrides / flags could open up opportunities for CICD integrations / maybe stuff like jira.

@matthewelwell I'm wondering if we can utilise the versioning work for this.
For each version (even historical) I believe we could quite easily do the following?

Promote to live
Save to environment


Add Fybrik versions strategy

This PR:

defines Fybrik names strategy
defines Fybrik CRDs name strategy
defines the relationship between Fybrik release names and CRDs names.

/closes #1672
Signed-off-by: Alexey Roytman<EMAIL_ADDRESS>

part of #1682


Export to PDF option not working

Is there an existing issue for this?

[X] Yes, I have searched the existing issues and none of them match my problem.

Product Variant
Cloud (http://rxresu.me)
Current Behavior
The export to pdf option is not working. It is opening a new tab with blank page
Expected Behavior
PDF should get generated
Steps To Reproduce
No response
What browsers are you seeing the problem on?
Chrome, Microsoft Edge
What template are you using?
None
Anything else?
No

Even I am facing this issue, link copied is undefined and if I click on download it is opening blank page

Thanks, I love your work and following this application since v3,

For me, PDF download works successfuly.

Mee too not working. opens a blank page and then nothing.
Error:
chrome-1    |   browserless.io:browsers:chromium:cdp Starting new browser instance +0ms chrome-1    |   browserless.io:browsers:chromium:cdp Got open port 35191 +0ms chrome-1    |   browserless.io:browsers:chromium:cdp { chrome-1    |   browserless.io:browsers:chromium:cdp   args: [ chrome-1    |   browserless.io:browsers:chromium:cdp     '--remote-debugging-port=35191', chrome-1    |   browserless.io:browsers:chromium:cdp     '--no-sandbox', chrome-1    |   browserless.io:browsers:chromium:cdp     '--user-data-dir=/tmp/browserless-data-dirs/browserless-data-dir-a6beb202-11be-446d-8712-5dd1a4732438' chrome-1    |   browserless.io:browsers:chromium:cdp   ], chrome-1    |   browserless.io:browsers:chromium:cdp   executablePath: '/usr/local/bin/playwright-browsers/chromium-1112/chrome-linux/chrome' chrome-1    |   browserless.io:browsers:chromium:cdp } Launching CDP Handler +1ms chrome-1    |   browserless.io:browsers:chromium:cdp Browser is running on ws://<IP_ADDRESS>:35191/devtools/browser/dca0d522-cae6-466f-87f5-edbc7915f3dc +280ms chrome-1    |   browserless.io:browsers:chromium:cdp Proxying http://<IP_ADDRESS>:3000/?token=chrome_token&launch=%7B%7D to browser ws://<IP_ADDRESS>:35191/devtools/browser/dca0d522-cae6-466f-87f5-edbc7915f3dc +0ms chrome-1    |   browserless.io:browsers:chromium:cdp Setting up file:// protocol request rejection +29ms app-1       | Trace: Error: net::ERR_NAME_NOT_RESOLVED at http://host.docker.internal:3000/artboard/preview app-1       |     at navigate (/app/node_modules/.pnpm/puppeteer-core@22.6.1/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:171:27) app-1       |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) app-1       |     at async Deferred.race (/app/node_modules/.pnpm/puppeteer-core@22.6.1/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js:36:20) app-1       |     at async CdpFrame.goto (/app/node_modules/.pnpm/puppeteer-core@22.6.1/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:137:25) app-1       |     at async CdpPage.goto (/app/node_modules/.pnpm/puppeteer-core@22.6.1/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:590:20) app-1       |     at async PrinterService.generateResume (/app/dist/apps/server/main.js:13211:13) app-1       |     at async PrinterService.printResume (/app/dist/apps/server/main.js:13158:21) app-1       |     at async ResumeService.printResume (/app/dist/apps/server/main.js:13993:21) app-1       |     at async ResumeController.printResume (/app/dist/apps/server/main.js:13615:25) app-1       |     at PrinterService.generateResume (/app/dist/apps/server/main.js:13261:21) app-1       |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) app-1       |     at async PrinterService.printResume (/app/dist/apps/server/main.js:13158:21) app-1       |     at async ResumeService.printResume (/app/dist/apps/server/main.js:13993:21) app-1       |     at async ResumeController.printResume (/app/dist/apps/server/main.js:13615:25) chrome-1    |   browserless.io:limiter Job has hit timeout after 10,001ms of activity. +10s chrome-1    |   browserless.io:limiter Calling timeout handler +0ms chrome-1    |   browserless.io:router Websocket job has timedout, sending 429 response +44s chrome-1    |   browserless.io:limiter (Running: 0, Pending: 0) All jobs complete.  +0ms chrome-1    |   browserless.io:browser-manager 0 Client(s) are currently connected +44s chrome-1    |   browserless.io:browser-manager Closing browser session +0ms chrome-1    |   browserless.io:browser-manager Deleting "/tmp/browserless-data-dirs/browserless-data-dir-a6beb202-11be-446d-8712-5dd1a4732438" user-data-dir and session from memory +0ms chrome-1    |   browserless.io:browsers:chromium:cdp Closing browser process and all listeners +10s chrome-1    |   browserless.io:browser-manager Deleting data directory "/tmp/browserless-data-dirs/browserless-data-dir-a6beb202-11be-446d-8712-5dd1a4732438" +1ms

i get also a blank page. My app container states the following error:
[Nest] 89  - 04/22/2024, 7:37:42 PM   ERROR Error: net::ERR_NAME_NOT_RESOLVED at http://host.docker.internal:3030/artboard/preview

same

Even I am facing this issue, link copied is undefined and if I click on download it is opening blank page

Thanks, I love your work and following this application since v3,
message: 'InvalidBrowserConnection',
error: 'Unexpected server response: 429',
statusCode: 500

}, status: 500, options: {} } at PrinterService.generateResume (/app/dist/apps/server/main.js:13261:21) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async PrinterService.printResume (/app/dist/apps/server/main.js:13158:21) at async ResumeService.printResume (/app/dist/apps/server/main.js:13993:21) at async ResumeController.printResume (/app/dist/apps/server/main.js:13615:25) Trace: InternalServerErrorException: InvalidBrowserConnection at PrinterService.getBrowser (/app/dist/apps/server/main.js:13147:19) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async PrinterService.generateResume (/app/dist/apps/server/main.js:13185:29) at async PrinterService.printResume (/app/dist/apps/server/main.js:13158:21) at async ResumeService.printResume (/app/dist/apps/server/main.js:13993:21) at async ResumeController.printResume (/app/dist/apps/server/main.js:13615:25) { response: { message: 'InvalidBrowserConnection', error: 'Unexpected server response: 429', statusCode: 500 }, status: 500, options: {} }

Able to fix it, realised the docker was not able to resolve the minio public domain name I was using, just made the minio public domain available to it and it started working. Thanks @AmruthPillai

the pdf export option works fine if you do not change the font
On Tue, Apr 23, 2024 at 1:39 AM zwnk @.***> wrote:

i get also a blank page. My app container states the following error:
[Nest] 89 - 04/22/2024, 7:37:42 PM ERROR Error: net::ERR_NAME_NOT_RESOLVED
at http://host.docker.internal:3030/artboard/preview
—
Reply to this email directly, view it on GitHub
https://github.com/AmruthPillai/Reactive-Resume/issues/1862#issuecomment-2070865550,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BH2BQYB3VSMMWFRAQYW4S4TY6VU7DAVCNFSM6AAAAABGGDBWE2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZQHA3DKNJVGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I'm also getting this issue, the chrome instance is showing a timeout after 10s
2024-05-07T16:52:12.083280411Z [Nest] 84  - 05/07/2024, 4:52:12 PM   ERROR Error: net::ERR_NAME_NOT_RESOLVED at http://host.docker.internal:3000/artboard/preview
2024-05-07T16:52:12.817361223Z [Nest] 84  - 05/07/2024, 4:52:12 PM   ERROR Error: net::ERR_NAME_NOT_RESOLVED at http://host.docker.internal:3000/artboard/preview
2024-05-07T16:52:35.062018904Z Trace: Error: net::ERR_NAME_NOT_RESOLVED at http://host.docker.internal:3000/artboard/preview
2024-05-07T16:52:35.062129218Z     at navigate (/app/node_modules/.pnpm/puppeteer-core@22.8.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:171:27)
2024-05-07T16:52:35.062146107Z     at async Deferred.race (/app/node_modules/.pnpm/puppeteer-core@22.8.0/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js:36:20)
2024-05-07T16:52:35.062157866Z     at async CdpFrame.goto (/app/node_modules/.pnpm/puppeteer-core@22.8.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:137:25)
2024-05-07T16:52:35.062169144Z     at async CdpPage.goto (/app/node_modules/.pnpm/puppeteer-core@22.8.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:585:20)
2024-05-07T16:52:35.062180144Z     at async PrinterService.generateResume (/app/dist/apps/server/main.js:13091:13)
2024-05-07T16:52:35.062191125Z     at async PrinterService.printResume (/app/dist/apps/server/main.js:13038:21)
2024-05-07T16:52:35.062201588Z     at async ResumeService.printResume (/app/dist/apps/server/main.js:13835:21)
2024-05-07T16:52:35.062212384Z     at async ResumeController.printResume (/app/dist/apps/server/main.js:13482:25)
2024-05-07T16:52:35.062222680Z     at PrinterService.generateResume (/app/dist/apps/server/main.js:13143:21)
2024-05-07T16:52:35.062233069Z     at async PrinterService.printResume (/app/dist/apps/server/main.js:13038:21)
2024-05-07T16:52:35.062243477Z     at async ResumeService.printResume (/app/dist/apps/server/main.js:13835:21)
2024-05-07T16:52:35.062253940Z     at async ResumeController.printResume (/app/dist/apps/server/main.js:13482:25)

2024-05-07T16:53:51.970181220Z   browserless.io:ChromiumCDPWebSocketRoute:trace <IP_ADDRESS> GET: data:image/png;base64,REDACTED +56ms
2024-05-07T16:53:51.972788941Z   browserless.io:ChromiumCDPWebSocketRoute:trace <IP_ADDRESS> 200: data:image/png;base64,REDACTED +2ms
2024-05-07T16:54:00.484539466Z   browserless.io:limiter:warn  Job has hit timeout after 10,003ms of activity. +32s
2024-05-07T16:54:00.484739650Z   browserless.io:limiter:info  Calling timeout handler +10s
2024-05-07T16:54:00.484796020Z   browserless.io:router:error  Websocket job has timedout, sending 429 response +32s
2024-05-07T16:54:00.486168306Z   browserless.io:limiter:info  (Running: 0, Pending: 0) All jobs complete.  +1ms
2024-05-07T16:54:00.491883579Z   browserless.io:router:trace  WebSocket Request handler has finished. +9s
2024-05-07T16:54:00.492009133Z   browserless.io:browser-manager:info  0 Client(s) are currently connected +32s
2024-05-07T16:54:00.492043615Z   browserless.io:browser-manager:info  Closing browser session +0ms
2024-05-07T16:54:00.492135892Z   browserless.io:browser-manager:info  Deleting "/tmp/browserless-data-dirs/browserless-data-dir-8552eddb-9dd4-498c-a02f-cff96c6d26e6" user-data-dir and session from memory +0ms
2024-05-07T16:54:00.492770387Z   browserless.io:ChromiumCDPWebSocketRoute:info <IP_ADDRESS> Closing ChromiumCDP process and all listeners +9s
2024-05-07T16:54:00.498148755Z   browserless.io:server:trace  Websocket connection complete +10s
2024-05-07T16:54:00.503047627Z   browserless.io:browser-manager:info  Deleting data directory "/tmp/browserless-data-dirs/browserless-data-dir-8552eddb-9dd4-498c-a02f-cff96c6d26e6" +11ms

FINALLY got this working.
The solution was to use the external docker IP inside the docker compose file for the following lines:
Original simple.yml config
      PUBLIC_URL: http://localhost:3000
      STORAGE_URL: http://localhost:9000/default

Fixed Config: (replace <IP_ADDRESS> with your host IP, this is the same IP you use to connect to the host in your browser's address bar):
      PUBLIC_URL: http://<IP_ADDRESS>:3000
      STORAGE_URL: http://<IP_ADDRESS>:9000/default

After reading a comment from someone else having pdf printing issues, I realized this is most likely a network related issue when ghxstxch added an extra variable to make the host accessible within the docker network.
The root cause is the simple.yml docker compose script using localhost instead of the correct endpoints

Running this on a raspberry pi 4, it takes on average 5-7s to generate the PDF. This comes close to timing out before the pdf is generated. If you are getting timeouts after implementing the fix, I suggest updating the TIMEOUT: 10000 in the chrome section to TIMEOUT: 30000 which is 30s

I have found that when we build the application the pdf generation starts to work. I saw that when I had not built the application, not even once, the resume thumbnails were not rendering rather showing a JSON output that there was no such directory in the "dist/apps/client/index.html",
can someone give it a try after building the application?

do not change the default font and the pdf generation will work

@CARahulDarji Do you have any solution after changing the default font?


Update to containers/storage v1.12.13

Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

@mheon @baude @TomSweeneyRedHat @giuseppe @ashley-cui @QiWang19 PTAL

LGTM and happy green tests.

/lgtm

Fixes: https://github.com/containers/libpod/issues/3441


feat(v2): add support for serve command

Motivation
The easy serving of build directory. Fix #3062
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Simple Serve

Combining Build

Thanks, that looks great to merge.
I think we should add more documentation for this.
For example:
https://v2.docusaurus.io/docs/deployment/
We should mention that docusaurus serve can be used to test your local build deployment, or can also be used as a self-hosting solution.
https://v2.docusaurus.io/docs/cli/#docusaurus-build
I'd like to mention on the docusaurus build command that it's possible to test the production build using docusaurus serve :)

I think it would be nice for discoverability to enhance this message with something like "hey, use docusaurus serve command to test your production site"

@slorber I don't think we shouldn't add it as a self-hosting solution. It is always ideal to use a load balancer or some production-ready software to serve these resources.

@slorber I don't think we shouldn't add it as a self-hosting solution. It is always ideal to use a load balancer or some production-ready software to serve these resources.

I think we should add it, and add a caution admonition to tell the user that it may not be the most performant option. Some users simply know what they are doing, and would be happy to know it's possible to self host the thing. I'm pretty sure someone at some point will run docusaurus on a raspberry pi :p

@slorber I don't think we shouldn't add it as a self-hosting solution. It is always ideal to use a load balancer or some production-ready software to serve these resources.

I think we should add it, and add a caution admonition to tell the user that it may not be the most performant option. Some users simply know what they are doing, and would be happy to know it's possible to self host the thing. I'm pretty sure someone at some point will run docusaurus on a raspberry pi :p

done

thanks :)


Docker: Will mailgun fix (#468) be integrated into stable?

Just discovered 4minitz and absolutely love it, it's exactly what we were looking for. (Well, okay, calendar integration would be the icing on the cake, but I digress)
But I can confirm that the mailgun post issue made 4minitz-stable unusable for us, and yet 4minitz-unstable appears to have too many issues to use in production. (e.g. password recovery doesn't work).
We will try smtp on 4minitz-stable as a workaround, but before we go too deeply into testing and rolling this out, can anyone get us up-to-speed on how active this project is and whether v1.5.3 or v2.0.0 are en route?

Hey,
Thx. for your interest in 4Mintz!
We are currently in the heavy weight lifting of migrating all our automatic end-to-end tests over from TravisCI to GitHub Actions while also switching from webdriver.io v4 to v5.
So, only when issue #557 is closed we will release the next version (aka v2.0) which wil also - for the first time-ever be a multi-language version of 4Minitz.
It's all about quality...   :-)

Some very promising results of the mentioned migration can be seen on #558 pull request that just got merged to /develop


adding scroll to top feature

@subhadipbhowmik I would like to add scroll to top feature, kindly assign this issue to me under gssoc-ext and hacktoberfest-accepted, and give me a chance to contribute, and assign me the level please

since there no update could you assign this to me.

@NirajD04
Already I have created pull request

okay @AswaniBolisetti


[Packaging] Distribute in Debian Repo

Distribute Arrow in Debian repo:
https://www.debian.org/doc/manuals/distribute-deb/distribute-deb.html#adding-packages-to-debian

Required to publish Arrow R package into CRAN.
Reporter: Javier Luraschi / @javierluraschi
Note: This issue was originally created as ARROW-4450. Please see the migration documentation for further details.

This is no longer a blocker for publishing to CRAN as the original issue says (arrow has been on CRAN for years) but including Arrow in the official Debian repositories would be beneficial to the R package, PyArrow, and other software that depends on Arrow C++ (notably GDAL, Ceph).
I'm not familiar with Debian packaging but there are some things that act in our favor as far as being able to get this done:

Unoffical Debian packages are already published to JFrog and the work to do that is in this repo at https://github.com/apache/arrow/tree/main/dev/tasks/linux-packages/apache-arrow/debian. Users currently install the unofficial Debian packages this way.
Members of the Debian Science Team are working on this already, with recent work in 2024:

Experimental repository for testing: https://salsa.debian.org/science-team/arrow
Discussion around this work: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=970021

I think a reasonable next step here is figuring out what issues the Debian Science team are running into and contributing to that effort.

See also the past discussion on<EMAIL_ADDRESS>https://lists.apache.org/thread/4lfyt7nmfykg244fwhynpflv0m66hsvh
FYI: "official"/"unofficial" in this context mean that packages exist in deb.debian.org. The packages in https://apache.jfrog.io/ui/native/arrow/debian/ are the "official" packages in the ASF context but the "unofficial" packages in the Debian context.

Thanks @kou!
One thing I pick up on from the discussion is that, in addition to the mechanics of creating and submitting a package to the official deb repos, there may be quite some work to adequately fill in the software licensing info. It all seems doable.


Improving the MySQL Sessions view

There is only one reason I still have Workbench installed on my computer: the Sessions view for MySQL is not as robust in DBeaver. A few things I can think of:
1 - The ability to see the actual query being performed as a column in the tabular output. In DBeaver, I have to click on a specific query to see the details in the info window below, but I'd like to be able to see all queries currently being executed so I can quickly eye which one(s) may be causing an issue if there's a deadlock or other problem I am troubleshooting.
2 - The "Hide sleeping connections" checkbox in Workbench is also great because I can condense the view to only show what's actively being run.
3 - The "Refresh Rate" option in Workbench is nice to be able to automatically refresh the sessions output every few seconds instead of manually.
4 - A really awesome feature would be enabling a new connection settings checkbox option that can mark a connection as "AWS RDS compatible" or something similar. Because of the AWS RDS permissions model, the normal KILL CONNECTION and KILL QUERY commands do not work. Instead, AWS RDS provides two stored procedures to simulate that functionality: CALL mysql.rds_kill(thread-ID) and CALL mysql.rds_kill_query(thread-ID). If "AWS RDS compatible" mode is enabled on a connection, then using "Kill Session" or "Terminate Query" in the Sessions view would call these special RDS stored procedures instead of KILL CONNECTION and KILL QUERY.

1 and 2 will be added in 4.3.5.
Please create separate feature request for 4.

Thank you, @serge-rider ... I've broken out 4 into #2960. Should I break 3 out as a separate ticket too?

Yes, please. It is more generic than just MySQL session manager.

Thanks, #2961


Adopt new TCA methodology

The new TCA release consists of new approach for almost everything we've known till date.
The dependency management has been totally revamped and offers much more simplified and efficient development.
The reducers have been re-worked to be protocol driven, changing the way how they compose.
With all new features and screens it totally makes sense to start using the new approach but at some point we should also re-implement the "old-way" and update it. This epic holds tickets needed to adapt new methodology by refactoring the previous approach.

Migration done


remove reference for "New-AzADDomainServiceReplicaSetObject"

New-AzADDomainServiceReplicaSetObject is no longer a valid command.. change docs to reflect the correct command New-AzADDomainServiceReplicaSet

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

ID: 1c701f84-d6a8-b5aa-dad7-4c38b7749670
Version Independent ID: 207343c0-a46d-d277-c900-879d1065f25e
Content: Enable Azure DS Domain Services using PowerShell
Content Source: articles/active-directory-domain-services/powershell-create-instance.md
Service: active-directory
Sub-service: domain-services
GitHub Login: @Justinha
Microsoft Alias: justinha

@eddievaltix
Thanks for your feedback! We will investigate and update as appropriate.

Hi @eddievaltix , do you have a citation for when this was replaced?

just noticed in the powershell cmdlet in Azure Cloud Shell that the New-AzADDomainServiceReplicaSetObject cmd no longer exists and I found New-AzADDomainServiceReplicaSet which is likely the correct command so have no citation on when this command was changed
I found no reference to this command in any documentation.  I did however find this:
https://docs.microsoft.com/en-us/powershell/module/az.addomainservices/new-azaddomainservicereplicaset?view=azps-5.6.0&viewFallbackFrom=azps-5.4.0
When I updated the powershell script to use this command, the domain services was able to be created

This does seem to align with the Powershell documentation so I made a pull request to update the command. https://github.com/MicrosoftDocs/azure-docs-pr/pull/151955
I also made a PR to update this additional article that had a reference to this command: https://github.com/Azure/azure-powershell-pr/pull/591
@JustinHa please review and confirm as I was not able to get full confirmation around this beyond what was available in the documentation.


feat: Parser and ParserBytes

feat: Add new types Parser and ParserBytes to allow direct parser instantiation bypassing sync.Pool.
fix: Avoid keeping reference to the input string/[]byte after scan returned.

Closed in favor of #16


Make it responsive 💫💥

Currently it looks weird , add some responsiveness to it keeping the overall structure in mind with UI regulations!
(TailwindCSS is preferd ) .

would love to work on this. please assign it to me.

@du1ana go for it !

@ManishaSwain8 have fixed reponsiveness in the PR if any changes needed do let me know for the same

@MurtazaShikari sorry to let you know this issue is already assigned to @du1ana , please do not open PR unless you are assigned to that particular issue else PR will not be merged thankyou .

@du1ana if you are working on it ,for now donot open PR ,as some conflicts are going on with other PR, once done will let you know .

@ManishaSwain8 Oh I didn't see this sorry for the inconvenience
@du1ana if u need any help do let me know

@du1ana you can open PR once you are done .Make sure you have the recent code as lot of changes are done already.


feat: RCTConvert to support UIModalPresentationStyle

Summary:
Currently, the ability to convert JS values to UIModalPresentationStyle is not present directly on RCTConvert.
In the RN code base itself, there's not a lot of need to do this type of conversion, but in community modules, presenting ViewControllers can be a fairly common scenario and it'd be nice to be able to use this conversion directly from RCTConvert, rather than from RCTModalHostViewManager, as it'd improve its "discoverability" and consistency.
If someone relied on this, then it's technically speaking a breaking change but I'd say it's for the better, and searching #import <React/RCTModalHostViewManager.h> on github doesn't reveal a lot of results.
Changelog:
[IOS] [ADDED] - RCTConvert to support UIModalPresentationStyle
For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
Test Plan:
Tested using RN Tester
https://github.com/facebook/react-native/assets/1566403/6e62df86-dde3-47b0-b2e9-bb6b483cadf6

To set expectations: I'm going to be on PTO from tomorrow until the 28th of March.
I'll not import this PR myself, so that our internal pinging tool can ping someone else that can champion this PR on my behalf.
Perhaps @dmytrorykun or @sammy-SC can help.

@vonovak could you please rebase on the latest main. The CI failures seem unrelated to you changes, will likely go away.

@vonovak could you please rebase on the latest main. The CI failures seem unrelated to you changes, and will likely go away.

@dmytrorykun CI is now green