[WARNING] Worker with pid 5468 was terminated due to signal 4

I got this warning message I don't understand
`(spliceAI-lookup) monkiky@Monkikys-Mac-mini SpliceAI-lookup % ./start_local_server.sh

NUM_THREADS=1
HOST=<IP_ADDRESS>
PORT=8080
TIMEOUT=1800
gunicorn -w 1 -t 1800 -b <IP_ADDRESS>:8080 server:app
[2023-05-23 21:49:23 +0100] [5414] [INFO] Starting gunicorn 20.1.0
[2023-05-23 21:49:23 +0100] [5414] [INFO] Listening at: http://<IP_ADDRESS>:8080 (5414)
[2023-05-23 21:49:23 +0100] [5414] [INFO] Using worker: sync
[2023-05-23 21:49:23 +0100] [5419] [INFO] Booting worker with pid: 5419
Using TensorFlow backend.
[2023-05-23 21:49:30 +0100] [5414] [WARNING] Worker with pid 5419 was terminated due to signal 4
[2023-05-23 21:49:31 +0100] [5420] [INFO] Booting worker with pid: 5420
Using TensorFlow backend.
[2023-05-23 21:49:33 +0100] [5414] [WARNING] Worker with pid 5420 was terminated due to signal 4
[2023-05-23 21:49:33 +0100] [5421] [INFO] Booting worker with pid: 5421
Using TensorFlow backend.
[2023-05-23 21:49:35 +0100] [5414] [WARNING] Worker with pid 5421 was terminated due to signal 4
[2023-05-23 21:49:35 +0100] [5422] [INFO] Booting worker with pid: 5422
Using TensorFlow backend.
[2023-05-23 21:49:38 +0100] [5414] [WARNING] Worker with pid 5422 was terminated due to signal 4
[2023-05-23 21:49:38 +0100] [5423] [INFO] Booting worker with pid: 5423
Using TensorFlow backend.
[2023-05-23 21:49:40 +0100] [5414] [WARNING] Worker with pid 5423 was terminated due to signal 4
[2023-05-23 21:49:40 +0100] [5424] [INFO] Booting worker with pid: 5424
Using TensorFlow backend.
[2023-05-23 21:49:43 +0100] [5414] [WARNING] Worker with pid 5424 was terminated due to signal 4
[2023-05-23 21:49:43 +0100] [5425] [INFO] Booting worker with pid: 5425
Using TensorFlow backend.
[2023-05-23 21:49:45 +0100] [5414] [WARNING] Worker with pid 5425 was terminated due to signal 4
[2023-05-23 21:49:45 +0100] [5426] [INFO] Booting worker with pid: 5426
Using TensorFlow backend.
[2023-05-23 21:49:47 +0100] [5414] [WARNING] Worker with pid 5426 was terminated due to signal 4
[2023-05-23 21:49:47 +0100] [5427] [INFO] Booting worker with pid: 5427
Using TensorFlow backend.
[2023-05-23 21:49:50 +0100] [5414] [WARNING] Worker with pid 5427 was terminated due to signal 4
[2023-05-23 21:49:50 +0100] [5428] [INFO] Booting worker with pid: 5428
Using TensorFlow backend.
[2023-05-23 21:49:52 +0100] [5414] [WARNING] Worker with pid 5428 was terminated due to signal 4
[2023-05-23 21:49:52 +0100] [5429] [INFO] Booting worker with pid: 5429
Using TensorFlow backend.
[2023-05-23 21:49:55 +0100] [5414] [WARNING] Worker with pid 5429 was terminated due to signal 4
[2023-05-23 21:49:55 +0100] [5430] [INFO] Booting worker with pid: 5430
Using TensorFlow backend.
[2023-05-23 21:49:57 +0100] [5414] [WARNING] Worker with pid 5430 was terminated due to signal 4
[2023-05-23 21:49:57 +0100] [5431] [INFO] Booting worker with pid: 5431
Using TensorFlow backend.
[2023-05-23 21:50:00 +0100] [5414] [WARNING] Worker with pid 5431 was terminated due to signal 4
[2023-05-23 21:50:00 +0100] [5432] [INFO] Booting worker with pid: 5432
Using TensorFlow backend.
[2023-05-23 21:50:02 +0100] [5414] [WARNING] Worker with pid 5432 was terminated due to signal 4
[2023-05-23 21:50:02 +0100] [5433] [INFO] Booting worker with pid: 5433
Using TensorFlow backend.
[2023-05-23 21:50:04 +0100] [5414] [WARNING] Worker with pid 5433 was terminated due to signal 4
[2023-05-23 21:50:04 +0100] [5434] [INFO] Booting worker with pid: 5434
Using TensorFlow backend.
[2023-05-23 21:50:07 +0100] [5414] [WARNING] Worker with pid 5434 was terminated due to signal 4
[2023-05-23 21:50:07 +0100] [5435] [INFO] Booting worker with pid: 5435
Using TensorFlow backend.
[2023-05-23 21:50:09 +0100] [5414] [WARNING] Worker with pid 5435 was terminated due to signal 4
[2023-05-23 21:50:09 +0100] [5438] [INFO] Booting worker with pid: 5438
Using TensorFlow backend.
[2023-05-23 21:50:12 +0100] [5414] [WARNING] Worker with pid 5438 was terminated due to signal 4
[2023-05-23 21:50:12 +0100] [5440] [INFO] Booting worker with pid: 5440
Using TensorFlow backend.
[2023-05-23 21:50:14 +0100] [5414] [WARNING] Worker with pid 5440 was terminated due to signal 4
[2023-05-23 21:50:14 +0100] [5441] [INFO] Booting worker with pid: 5441
Using TensorFlow backend.
[2023-05-23 21:50:16 +0100] [5414] [WARNING] Worker with pid 5441 was terminated due to signal 4
[2023-05-23 21:50:16 +0100] [5442] [INFO] Booting worker with pid: 5442
Using TensorFlow backend.
[2023-05-23 21:50:19 +0100] [5414] [WARNING] Worker with pid 5442 was terminated due to signal 4
[2023-05-23 21:50:19 +0100] [5443] [INFO] Booting worker with pid: 5443
Using TensorFlow backend.
[2023-05-23 21:50:21 +0100] [5414] [WARNING] Worker with pid 5443 was terminated due to signal 4
[2023-05-23 21:50:21 +0100] [5444] [INFO] Booting worker with pid: 5444
Using TensorFlow backend.
[2023-05-23 21:50:24 +0100] [5414] [WARNING] Worker with pid 5444 was terminated due to signal 4
[2023-05-23 21:50:24 +0100] [5445] [INFO] Booting worker with pid: 5445
Using TensorFlow backend.
[2023-05-23 21:50:26 +0100] [5414] [WARNING] Worker with pid 5445 was terminated due to signal 4
[2023-05-23 21:50:26 +0100] [5446] [INFO] Booting worker with pid: 5446
Using TensorFlow backend.
[2023-05-23 21:50:29 +0100] [5414] [WARNING] Worker with pid 5446 was terminated due to signal 4
[2023-05-23 21:50:29 +0100] [5447] [INFO] Booting worker with pid: 5447
Using TensorFlow backend.
[2023-05-23 21:50:31 +0100] [5414] [WARNING] Worker with pid 5447 was terminated due to signal 4
[2023-05-23 21:50:31 +0100] [5448] [INFO] Booting worker with pid: 5448
Using TensorFlow backend.
[2023-05-23 21:50:33 +0100] [5414] [WARNING] Worker with pid 5448 was terminated due to signal 4
[2023-05-23 21:50:33 +0100] [5449] [INFO] Booting worker with pid: 5449
Using TensorFlow backend.
[2023-05-23 21:50:36 +0100] [5414] [WARNING] Worker with pid 5449 was terminated due to signal 4
[2023-05-23 21:50:36 +0100] [5450] [INFO] Booting worker with pid: 5450
Using TensorFlow backend.
[2023-05-23 21:50:38 +0100] [5414] [WARNING] Worker with pid 5450 was terminated due to signal 4
[2023-05-23 21:50:38 +0100] [5451] [INFO] Booting worker with pid: 5451
Using TensorFlow backend.
[2023-05-23 21:50:41 +0100] [5414] [WARNING] Worker with pid 5451 was terminated due to signal 4
[2023-05-23 21:50:41 +0100] [5453] [INFO] Booting worker with pid: 5453
Using TensorFlow backend.
[2023-05-23 21:50:43 +0100] [5414] [WARNING] Worker with pid 5453 was terminated due to signal 4
[2023-05-23 21:50:43 +0100] [5455] [INFO] Booting worker with pid: 5455
Using TensorFlow backend.
[2023-05-23 21:50:45 +0100] [5414] [WARNING] Worker with pid 5455 was terminated due to signal 4
[2023-05-23 21:50:45 +0100] [5457] [INFO] Booting worker with pid: 5457
Using TensorFlow backend.
[2023-05-23 21:50:48 +0100] [5414] [WARNING] Worker with pid 5457 was terminated due to signal 4
[2023-05-23 21:50:48 +0100] [5458] [INFO] Booting worker with pid: 5458
Using TensorFlow backend.
[2023-05-23 21:50:50 +0100] [5414] [WARNING] Worker with pid 5458 was terminated due to signal 4
[2023-05-23 21:50:50 +0100] [5460] [INFO] Booting worker with pid: 5460
Using TensorFlow backend.
[2023-05-23 21:50:53 +0100] [5414] [WARNING] Worker with pid 5460 was terminated due to signal 4
[2023-05-23 21:50:53 +0100] [5462] [INFO] Booting worker with pid: 5462
Using TensorFlow backend.
[2023-05-23 21:50:55 +0100] [5414] [WARNING] Worker with pid 5462 was terminated due to signal 4
[2023-05-23 21:50:55 +0100] [5463] [INFO] Booting worker with pid: 5463
Using TensorFlow backend.
[2023-05-23 21:50:57 +0100] [5414] [WARNING] Worker with pid 5463 was terminated due to signal 4
[2023-05-23 21:50:57 +0100] [5466] [INFO] Booting worker with pid: 5466
Using TensorFlow backend.
[2023-05-23 21:51:00 +0100] [5414] [WARNING] Worker with pid 5466 was terminated due to signal 4
[2023-05-23 21:51:00 +0100] [5467] [INFO] Booting worker with pid: 5467
Using TensorFlow backend.
[2023-05-23 21:51:02 +0100] [5414] [WARNING] Worker with pid 5467 was terminated due to signal 4
[2023-05-23 21:51:02 +0100] [5468] [INFO] Booting worker with pid: 5468
Using TensorFlow backend.
[2023-05-23 21:51:05 +0100] [5414] [WARNING] Worker with pid 5468 was terminated due to signal 4
[2023-05-23 21:51:05 +0100] [5469] [INFO] Booting worker with pid: 5469
Using TensorFlow backend.
[2023-05-23 21:51:07 +0100] [5414] [WARNING] Worker with pid 5469 was terminated due to signal 4
[2023-05-23 21:51:07 +0100] [5470] [INFO] Booting worker with pid: 5470
Using TensorFlow backend.
[2023-05-23 21:51:09 +0100] [5414] [WARNING] Worker with pid 5470 was terminated due to signal 4
[2023-05-23 21:51:09 +0100] [5472] [INFO] Booting worker with pid: 5472
Using TensorFlow backend.
...
`

I have tried to run the app by typing this <IP_ADDRESS>:8080 in my internet browser and nothing happen.
Am I doing something wrong, are these warning messages expected?
Thanks

It's not clear from the error why the worker is getting killed. Can you try starting the web server directly by running
gunicorn -w 1 -b <IP_ADDRESS>:80  in the same directory as the start_server.sh script?

Is it possible the command is running out of memory and getting killed by the operating system?

Another possibility is that the SpliceAI install is broken. Have you tried running SpliceAI directly on some test variant(s)?

It is my computer, I am using a Mac mini M1
https://stackoverflow.com/questions/72964800/what-is-the-proper-way-to-install-tensorflow-on-apple-m1-in-2022#:~:text=TensorFlow does not support officially,which is maintained by Apple.
I have a Linux server I have access. I have install eveything and I have got a new error. An file not found error. I will put this in a new issue
Thanks for you help!


pythonPackages.bjoern: init at 2.2.2

Motivation for this change
Added bjoern. A screaming fast WSGI server!
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] 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/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build pythonPackages.bjoern python3Packages.bjoern

@CMCDragonkai You'd have to add yourself to https://github.com/NixOS/ofborg/blob/released/config.known-users.json.
@GrahamcOfBorg build python2.pkgs.bjoern python3.pkgs.bjoern

Success on x86_64-darwin (full log)
Attempted: python2.pkgs.bjoern, python3.pkgs.bjoern
Partial log (click to expand)
writing manifest file 'bjoern.egg-info/SOURCES.txt'
running build_ext
copying build/lib.macosx-10.6-x86_64-3.6/_bjoern.cpython-36m-darwin.so ->

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
/nix/store/iy318jsb00yjcp45saqps94pl74ha98w-python2.7-bjoern-2.2.2
/nix/store/4minzk63a03mhwk0xmlw5xw1c3sx0jpa-python3.6-bjoern-2.2.2

Success on x86_64-linux (full log)
Attempted: python2.pkgs.bjoern, python3.pkgs.bjoern
Partial log (click to expand)
writing manifest file 'bjoern.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.6/_bjoern.cpython-36m-x86_64-linux-gnu.so ->

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
/nix/store/qpw398hxs2g1r1xlcy32d92fpk534zsg-python2.7-bjoern-2.2.2
/nix/store/f3i3imxp7plma0avv36j26yz2rxigixh-python3.6-bjoern-2.2.2

Ran 0 tests in 0.000s

Please provide an appropriate checkPhase. In case there are no tests, please set doCheck = false and add a comment with the reason.

Success on aarch64-linux (full log)
Attempted: python2.pkgs.bjoern, python3.pkgs.bjoern
Partial log (click to expand)
writing manifest file 'bjoern.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-aarch64-2.7/_bjoern.so ->

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
/nix/store/vddl57mmpcqigm82advr7pnwaqblchq2-python2.7-bjoern-2.2.2
/nix/store/a15fpdh7zh5lxiwj1wi6l6vhh0k2jrda-python3.6-bjoern-2.2.2

As can be seen by the linked issue https://github.com/jonashaag/bjoern/issues/140
There are only 2 automated tests, one of them doesn't work since I tried. And both are just scripts.
Both scripts involve binding to localhost <IP_ADDRESS>. Is this OK for running tests? I suppose if the build is happening in a "container" namespace, I'm not sure if the network itself is namespaced as well.

@dotlambda I added one of the tests that doesn't cause ugly messages.

On author's recommendations, redirected STDERR to /dev/null.

@FRidh Done.

Asked this of the creator already. The messages that come out are all exceptions.
On 11 September 2018 22:39:35 GMT+10:00, "Robert Schütz"<EMAIL_ADDRESS>wrote:

dotlambda commented on this pull request.

@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, libev, python }:

+buildPythonPackage rec {

pname = "bjoern";
version = "2.2.2";

src = fetchPypi {
inherit pname version;
sha256 = "1w5z9agacci4shmkg9gh46ifj2a724rrgbykdv14830f7jq3dcmi";
};

buildInputs = [ libev ];

checkPhase = ''
${python.interpreter} tests/keep-alive-behaviour.py 2>/dev/null

I'm not sure it's wise to use 2>/dev/null. Having some information
when something goes wrong would be nice, wouldn't it?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/45557#pullrequestreview-154181449

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

I'd like to get this merged. I wonder if there's any issues holding this up.


Error: Maximum recursive updates exceeded after updating vue to 3.0.1

This is a:

[x] bug

Swiper Version: 6.3.3

What you did
update vue to 3.0.1
Expected Behavior
everything works fine without errors
Actual Behavior
vue throws error:
Uncaught (in promise) Error: Maximum recursive updates exceeded. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.
    at checkRecursiveUpdates (runtime-core.esm-bundler.js?5c40:388)
    at flushJobs (runtime-core.esm-bundler.js?5c40:362)
    at flushJobs (runtime-core.esm-bundler.js?5c40:377)

so what solution ？

有什么解决办法么

I have the same issue:

Swiper: v6.3.3
Vue: v3.0.0

Update Swiper to 6.4.5 solve the error
my dependencies
Vue: 3.0.4
Swiper: 6.4.5

Fixed it by updating Vue and Swiper versions as @HJ29 pointed out!

有什么解决办法么

升级VUE版本


refactor(errors): change approach of error handling

We should change approach of error handling on tg_scanner

We also need to change our logs


Split mycelium binary into public network and private network

Currently the mycelium binary can be used to connect both to public and to private networks. This means also that the binary to contains the additional code (mostly openssl currently) needed for private networks. While the flexibility to connect to both types of networks with a single binary could be useful, in practice users have a specific use case. As such, it is better to split this into 2 binaries. This also makes it easier to add private network related code later (such as private networks based on certificate authority).

Binaries removed from workspace, now need to extract the common code as much as possible.

Remainder to be done in follow up issue


Fix/multilabel confusion matrix

What it do?
Give dataloader capability to decode target arrays from test and prediction set.
Should fix Issue #50 .
How?
Added internal function to dataloader that usess the same label binarizer that it used to encode the different categories.
It does the inverse encoding then and returns that for an arbitrary target array.
In the current implementaiton the dataloader is passed to the evaluation script to do translation in there but we can of course also translate inside the trainer script and pass the decoded arrays and labels.

Just noticed there is undefined behavior if the Model Chooses multiple elements for one row for example  THF and Et2O on the same molecule. Looks like the Binarizer somehow chooses one, but I guess this shouldn't be an issue as it will work out in the statistics.

Thanks a lot for the contribution! Checking the code asap
I was wondering if you could add 1 or 2 example confusion matrices that are generated when running the code? (I guess this might change a bit wth our discussion on Discord)
Typically, you can “Copy Image” directly from VSCode and Cmd+V it here on Github.

willco tomorrow 👁

willco tomorrow 👍🏼

Current state
The code has now been refactored quite a bit, especially the training script. It can handle all sorts of dataset mixtures. Roc etc only are generated for binary tasks and depending on the target dimensionality, different things are executed.
Todo
Fix the algorithm to make the subplots and add that cool color bar, but I feel like this depends on how exactly we want to plot it. The technically painful part is done, which is generate all the sub cms and bring along the right labels.
Examples of generated confusion matrices


Update set-up-phone-system-voicemail.md

Updating article to remove Voicemail Policy section that now has it's own page.

@officedocspr @JohanFreelancer9 @MikePlumleyMSFT  - ready for review please and thanks.

@dstrome

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

@JohanFreelancer9 Thanks!  All reviewed and committed.

@Kateyanne This is ready to be merged. Thanks!


Add central memory layout for FRAM

Fixes #293

The defined constants still need to be into put into some files which define these constants themself. This will probably lead to an chicken and egg problem in files which are needed by FramLayout for size information but need FramLayout themself for address and capacity information (i.e. Edu/ProgramStatusHistory.hpp).

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.34%. Comparing base (2e2fd75) to head (37cc871).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #304   +/-   ##
=======================================
  Coverage   88.34%   88.34%
=======================================
  Files          27       27
  Lines         695      695
  Branches        8        8
=======================================
  Hits          614      614
  Misses         81       81

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

The chicken-and-egg problem will be solved by defining the sections sizes independent of the things they hold. That means that ProgramQueue.hpp and ProgramStatusHistory.hpp depend on the FRAM layout, but not vice versa. Of course, we can, and do, statically assert that the queue and the status history fit in their respective sections. I think this is a simple, easy, and sound solution.


Support custom DataFormats

Please describe the feature that you want to propose
At the moment of writing, only DataFormats provided through the Camel Catalog are supported.
The goal for this ticket would be to add option to be able to select a custom DataFormat or to provide a reference to a DataFormat bean. Ideally, this should render a Bean configuration field that allows the user to pick an existing bean or to create one.

Related read: https://camel.apache.org/manual/dataformat-dsl.html

We already have custom dataformat in the form. The ref is supposed to be a BeanReferenceField, but it seems not ATM - it could be a bug.

Here is the model catalog entry - https://github.com/apache/camel/blob/main/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/custom.json

yep, we should make it cross connect to the beans tab / enhancing the text field as a typeahead dropdown with a button for create

The tricky part for filtering beans is that it requires Java class hierarchy knowledge, for example we don't know org.postgresql.ds.PGConnectionPoolDataSource implements javax.sql.DataSource
We need either

Retrieve class hierarchy data from vscode (rather vscode Java extension?)
Have a dictionary for the well known implementation classes such as SQL DataSource, JMS ConnectionFactory, etc


Fixed IME support issue

Related issue: #18
Fixed by updating cursorPos in draw method.

I signed it!
On 18 Apr 2017, 15:46 +0800, wrote:

I signed it!

Thanks for the fix! Really gratifying to see more attention to i18n issues in the project.
Multi-cursor is going to be interesting. It will require sending IME state (specifically the composing region) back and forth over the front-end <-> core channel. Fortunately, this is something I'm motivated to work on soon, as we're building IME services in Fuchsia and I'll want to bind with that.


Rogue aggroClass() too short delay to trigger aggro reducer

Rogues should get a message in chat "You have momentarily ducked away from the main combat" when they successfully drop aggro with hide.  I think the delay between autoattack off and hide was not long enough on the server i'm playing on so i forced it to a 1000 delay and consistently get the message now
function Rogue:aggroClass()
    if mq.TLO.Me.AbilityReady('hide') then
        if mq.TLO.Me.Combat() then
            mq.cmd('/attack off')
            --mq.delay(1000, function() return not mq.TLO.Me.Combat() end)
            mq.delay(1000)
        end
        mq.cmd('/doability hide')
        mq.delay(500, function() return mq.TLO.Me.Invis() end)
        mq.cmd('/attack on')
    end
end

While troubleshooting this issue I also saw in classbase.lua the aggro functions are only triggered on named mobs, is that intended?
classbase.lua line 880:
if mq.TLO.Target() and pctAggro >= 70 and mq.TLO.Target.Named() then

Updated to fixed delay and removed the named check


Add libzmq (ZeroMQ)

http://zeromq.org/intro:get-the-software
https://github.com/zeromq/libzmq

Just so no one else starts this, I have to just commit this when I get home however it will only work nicely with the master branch which has no release tags to use specifically.

@adam4813 If you are interested in it, I had a version that almost worked with the latest release in https://github.com/traversaro/vcpkg_playground/tree/master/zeromq . Furthermore I had also a working port of cppzmq in https://github.com/traversaro/vcpkg_playground/tree/master/cppzmq , feel free to use/modify them, I do not plan to work on them at the moment.

I went a simpler route and just used the provided build files. It works I
just didn't have time to commit my code and submit a PR.


MKL: cifar 10 divergance fix and batchnorm unit test fix

Fix Cifar 10 diverging issue
Fix BatchNorm unit test failures

Based on suggestion from Tatiana (tatianashp), changes have been made to fix improper comments such as replacing "tf" with "TensorFlow".  The fix touches  statements only - so no extra test is needed.


Add Outputter with Formatter

Here's a WIP on adding a class that allows all returned values to be output in the same way.
I added 3 new interfaces:

OutputFormatter - Formats a return value (eg: JSON, Pretty tables)
OutputWriter - Writes the output somewhere (eg: STDOUT)
Outputter - Takes a formatter and a writer and does the magic

I implemented a stream writer and a JSON formatter. Bash and human-readable formatters are still needed.
I also changed the 'sites list' function to use the outputter instead of formatting and outputting it's return value directly.
I can continue converting commands to use this outputter and work on implementing the other formatters if this looks like good direction.

@TeslaDethray I've added a human-readable 'pretty' formatter which uses the ascii table from the original output handler. I've also converted every instance of handleDisplay to use the output formatter.
There are some TODOs in the cli command because some of those output json only. Switching to the new formatters would make pretty-printing the default (with the --json and --bash flags available). I think this is appropriate but it changes the current default behavior and may break scripts, so I wanted to get your take first.
I still need to create BASH formatter. I'll try and get to that tonight.

This looks great! Such an improvement! Once the CI passes (with no major changes, of course), I +1 it.

Ok, Bash formatter added. I tried to copy the current behavior.
I also converted the cli dump functions to use the outputter.
Pretty much everything that goes to stdout now should go through the outputter. That means that the format flags should be pretty trustable for scripting (and there won't be any need to parse out warnings and info strings).
As far as I can tell the only parts of the code that access stdout without going through the outputter now are the help (shouldn't be needed in automation) and wp-cli/drush. We could capture the drush output and repackage it but that would be out of scope for this pull and isn't necessary since --format=json should work. Don't know about wp-cli but that's out of scope here too.

Current test failures are due to my 'prettification' of the output for the default (human readable) output format. We can

Change the tests to look for humanized labels
Change the tests to ask for a machine format (--bash or --json)
Change the default format to include the machine labels

Thoughts?

@ronan We should definitely change the expected test outputs to match the outputter. We've not been using the Behat tests as contract yet, but that should be coming soon and your prettified outputs are definitely what I want to see in there when that happens.

I've changed the tests. They should pass CI and this can now be built upon.

This change also closes #197

Code and tests look good here. I'm not sure if there are any style violations per your policies (will the travis PR do those?), but LGTM :+1:

Travis does not yet check thoroughly for linting, as there are still too many files that do not yet conform, but we've been checking them along the way. I expect it will be fully linted before 1.0.0.


Fx win reg locator

This branch seems to be able to find all the registry pythons. Added the logs just in case.
The only Issue I see is that 3.12 is detected by windows store and by registry locator. I don't think it should be reported, as it is the same path as the one reported by store.

>native_locator\bin\python-finder.exe
Content-Length: 94
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Starting Native Locator","level":"info"}}Content-Length: 184
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Searching for Windows Store Python in \"C:\\\\Users\\\\kanadig\\\\AppData\\\\Local\\\\Microsoft\\\\WindowsApps\"","level":"debug"}}Content-Length: 282
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\SystemAppData\\\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\\\Schemas\"","level":"debug"}}Content-Length: 297
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\Repository\\\\Packages\\\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\"","level":"debug"}}Content-Length: 281
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\SystemAppData\\\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\Schemas\"","level":"debug"}}Content-Length: 295
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\Repository\\\\Packages\\\\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\"","level":"debug"}}Content-Length: 281
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\SystemAppData\\\\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\\\\Schemas\"","level":"debug"}}Content-Length: 295
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\Repository\\\\Packages\\\\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\"","level":"debug"}}Content-Length: 282
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\SystemAppData\\\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\\\Schemas\"","level":"debug"}}Content-Length: 297
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\Repository\\\\Packages\\\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\"","level":"debug"}}Content-Length: 282
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\SystemAppData\\\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\\\Schemas\"","level":"debug"}}Content-Length: 297
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Opening registry key \"Software\\\\Classes\\\\Local Settings\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\AppModel\\\\Repository\\\\Packages\\\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\"","level":"debug"}}Content-Length: 1295
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.10","name":null,"pythonExecutablePath":"C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.10.exe","category":"windowsStore","version":"3.10","envPath":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0","envManager":null,"pythonRunCommand":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.10.exe"],"projectPath":null,"arch":"x64","symlinks":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python\"3.10\".exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\python.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\python3.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\python\"3.10\".exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\python.exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\python\"3.10\".exe"],"creationTime":null,"modifiedTime":null,"company":null,"companyDisplayName":null}}Content-Length: 1279
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.8","name":null,"pythonExecutablePath":"C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.8.exe","category":"windowsStore","version":"3.8","envPath":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0","envManager":null,"pythonRunCommand":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.8.exe"],"projectPath":null,"arch":"x64","symlinks":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python\"3.8\".exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\python.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\python3.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\python\"3.8\".exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\\python.exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.8_3.8.2800.0_x64__qbz5n2kfra8p0\\python\"3.8\".exe"],"creationTime":null,"modifiedTime":null,"company":null,"companyDisplayName":null}}Content-Length: 1279
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.9","name":null,"pythonExecutablePath":"C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.9.exe","category":"windowsStore","version":"3.9","envPath":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0","envManager":null,"pythonRunCommand":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.9.exe"],"projectPath":null,"arch":"x64","symlinks":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python\"3.9\".exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\\python.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\\python3.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\\python\"3.9\".exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\\python.exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\\python\"3.9\".exe"],"creationTime":null,"modifiedTime":null,"company":null,"companyDisplayName":null}}Content-Length: 1295
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.12","name":null,"pythonExecutablePath":"C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.12.exe","category":"windowsStore","version":"3.12","envPath":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0","envManager":null,"pythonRunCommand":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.12.exe"],"projectPath":null,"arch":"x64","symlinks":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python\"3.12\".exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\python.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\python3.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\python\"3.12\".exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\\python.exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\\python\"3.12\".exe"],"creationTime":null,"modifiedTime":null,"company":null,"companyDisplayName":null}}Content-Length: 1295
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.11","name":null,"pythonExecutablePath":"C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","category":"windowsStore","version":"3.11","envPath":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0","envManager":null,"pythonRunCommand":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe"],"projectPath":null,"arch":"x64","symlinks":["C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\python\"3.11\".exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\python.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\python3.exe","C:\\Users\\kanadig\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\python\"3.11\".exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\python.exe","C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\python\"3.11\".exe"],"creationTime":null,"modifiedTime":null,"company":null,"companyDisplayName":null}}Content-Length: 116
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Searching HKLM\\Software\\Python\\PythonCore","level":"debug"}}Content-Length: 146
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Found Python (C:\\Python311\\) in HKLM\\Software\\Python\\PythonCore\\3.11","level":"debug"}}Content-Length: 159
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Found Python (C:\\Program Files\\Python37\\) in HKLM\\Software\\Python\\PythonCore\\3.7","level":"debug"}}Content-Length: 116
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Searching HKCU\\Software\\Python\\PythonCore","level":"debug"}}Content-Length: 230
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Found Python (C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0) in HKCU\\Software\\Python\\PythonCore\\3.12","level":"debug"}}Content-Length: 479
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.11 (64-bit)","name":null,"pythonExecutablePath":"C:\\Python311\\python.exe","category":"windowsRegistry","version":"3.11.9","envPath":"C:\\Python311\\","envManager":null,"pythonRunCommand":["C:\\Python311\\python.exe"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1712087000000,"modifiedTime":1712087000000,"company":"PythonCore","companyDisplayName":"Python Software Foundation"}}Content-Length: 519
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.7 (64-bit)","name":null,"pythonExecutablePath":"C:\\Program Files\\Python37\\python.exe","category":"windowsRegistry","version":"3.7.9","envPath":"C:\\Program Files\\Python37\\","envManager":null,"pythonRunCommand":["C:\\Program Files\\Python37\\python.exe"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1597719568000,"modifiedTime":1597719568000,"company":"PythonCore","companyDisplayName":"Python Software Foundation"}}Content-Length: 710
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":"Python 3.12","name":null,"pythonExecutablePath":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\\python3.12.exe","category":"windowsRegistry","version":"3.12.3","envPath":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0","envManager":null,"pythonRunCommand":["C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_3.12.1008.0_x64__qbz5n2kfra8p0\\python3.12.exe"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1712881149735,"modifiedTime":1712881170740,"company":"PythonCore","companyDisplayName":null}}Content-Length: 156
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Found environments.txt file \"C:\\\\Users\\\\kanadig\\\\.conda\\\\environments.txt\"","level":"debug"}}Content-Length: 192
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"envManager","params":{"executablePath":"C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","version":"23.1.0","tool":"conda","company":null,"companyDisplayName":null}}Content-Length: 656
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":null,"name":null,"pythonExecutablePath":"C:\\ProgramData\\Miniconda3\\python.exe","category":"conda","version":"3.10.9","envPath":"C:\\ProgramData\\Miniconda3","envManager":{"executablePath":"C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","version":"23.1.0","tool":"conda","company":null,"companyDisplayName":null},"pythonRunCommand":["C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","run","-p","C:\\ProgramData\\Miniconda3","python"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1676404923643,"modifiedTime":1673450241000,"company":null,"companyDisplayName":null}}Content-Length: 684
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":null,"name":".conda","pythonExecutablePath":"C:\\GIT\\demo\\demo_sample1\\.conda\\python.exe","category":"conda","version":"3.8.18","envPath":"C:\\GIT\\demo\\demo_sample1\\.conda","envManager":{"executablePath":"C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","version":"23.1.0","tool":"conda","company":null,"companyDisplayName":null},"pythonRunCommand":["C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","run","-p","C:\\GIT\\demo\\demo_sample1\\.conda","python"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1694476943983,"modifiedTime":1694439641000,"company":null,"companyDisplayName":null}}Content-Length: 704
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":null,"name":".conda","pythonExecutablePath":"C:\\GIT\\LSP\\jedi-language-server\\.conda\\python.exe","category":"conda","version":"3.7.1","envPath":"C:\\GIT\\LSP\\jedi-language-server\\.conda","envManager":{"executablePath":"C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","version":"23.1.0","tool":"conda","company":null,"companyDisplayName":null},"pythonRunCommand":["C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","run","-p","C:\\GIT\\LSP\\jedi-language-server\\.conda","python"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1676405219999,"modifiedTime":1544504114000,"company":null,"companyDisplayName":null}}Content-Length: 699
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":null,"name":"named1","pythonExecutablePath":"C:\\Users\\kanadig\\.conda\\envs\\named1\\python.exe","category":"conda","version":"3.12.0","envPath":"C:\\Users\\kanadig\\.conda\\envs\\named1","envManager":{"executablePath":"C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","version":"23.1.0","tool":"conda","company":null,"companyDisplayName":null},"pythonRunCommand":["C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","run","-p","C:\\Users\\kanadig\\.conda\\envs\\named1","python"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1707889429223,"modifiedTime":1696267323428,"company":null,"companyDisplayName":null}}Content-Length: 699
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":null,"name":".conda","pythonExecutablePath":"C:\\GIT\\test_environments\\env1\\.conda\\python.exe","category":"conda","version":"3.7.16","envPath":"C:\\GIT\\test_environments\\env1\\.conda","envManager":{"executablePath":"C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","version":"23.1.0","tool":"conda","company":null,"companyDisplayName":null},"pythonRunCommand":["C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","run","-p","C:\\GIT\\test_environments\\env1\\.conda","python"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1678387634784,"modifiedTime":1673971663000,"company":null,"companyDisplayName":null}}Content-Length: 703
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":null,"name":".conda2","pythonExecutablePath":"C:\\GIT\\test_environments\\env1\\.conda2\\python.exe","category":"conda","version":"3.10.9","envPath":"C:\\GIT\\test_environments\\env1\\.conda2","envManager":{"executablePath":"C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","version":"23.1.0","tool":"conda","company":null,"companyDisplayName":null},"pythonRunCommand":["C:\\ProgramData\\Miniconda3\\Scripts\\conda.exe","run","-p","C:\\GIT\\test_environments\\env1\\.conda2","python"],"projectPath":null,"arch":"x64","symlinks":null,"creationTime":1678388672231,"modifiedTime":1678272249000,"company":null,"companyDisplayName":null}}Content-Length: 498
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"pythonEnvironment","params":{"displayName":null,"name":null,"pythonExecutablePath":"c:\\GIT\\s p\\vscode-python\\.venv\\Scripts\\python.exe","category":"system","version":"3.8.10","envPath":"c:\\GIT\\s p\\vscode-python\\.venv","envManager":null,"pythonRunCommand":["c:\\GIT\\s p\\vscode-python\\.venv\\Scripts\\python.exe"],"projectPath":null,"arch":null,"symlinks":null,"creationTime":1698691197341,"modifiedTime":1698691197355,"company":null,"companyDisplayName":null}}Content-Length: 108
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"log","params":{"message":"Native Locator took 154 milliseconds.","level":"info"}}Content-Length: 47
Content-Type: application/vscode-jsonrpc; charset=utf-8

{"jsonrpc":"2.0","method":"exit","params":null}

ws store and by registry locator. I don't think it should be reported, as it is the same path as the one reported by store.

@karthiknadig today we de-duplicate using exe.
Looks like we need to de-duplicate using env path as well, will fix that later, I want to ensure we have a better way to de-duplicate these


Feature Request: Hide dock icon

Firstly, thank you for this amazing piece of software!
I was wondering if it would be possible to add a 'Hide dock icon' feature so it is just in the status bar? This is a feature in myTuner radio which I really liked, as I like to try and keep my dock as minimal as possible

When you close the program window, the icon hides from the dock. At the same time, the icon in the status bar will remain. Playback will continue.


Error if content-type doesn't exists

There is the includes method https://github.com/kwhitley/itty-fetcher/blob/v0.x/src/itty-fetcher.ts#L130 which try to define type of returned data, but we encountered a case where a third-party service does not return content-type

Sorted via #33 :)


LinkedIn Post: Change Management Effectiveness

https://docs.google.com/document/d/1zvd7mW0LMxunSqNBZreABfIIJnxBtoI7Gf5E476XGkc/edit?usp=sharing

[x] Expand copy text
[x] Create post formatted for LinkedIn

@Schille please post in DevOps Group: https://www.linkedin.com/groups/2825397/

Posted.

Thanks

[ ] Check again if published in DevOps group and if not, submit again or post on private profile.

Seems this was never published. I'll post it on my private profile next week and potentially the Unikube page.

Posted on my private account.


Elementary OS Implementation.

I am working on implementing Elementary OS in a fork I have of crouton.
It is based somewhat off of  https://github.com/AldousP/MyDearWatson , and should be ready soon.
This answers the following issues:
#1725
#994
#1571
#314
#123
And several others I think.
-- Hope this works :smile: --Alfriadox
P.S. -- I am not currently listed under official contributors but I am pretty sure I signed https://cla.developers.google.com/clas/new?kind=KIND_INDIVIDUAL&domain=DOMAIN_GOOGLE
for another project a while ago. Do I need to be an official contributor some how before my pull request can be accepted?

If anyone would like to help, though, it would be much appreciated.

This is actually really difficult. If some one who has creared targets before could help, that would be really helpful.

@Alfriadox If you signed the cla you should be good to create the pull request.
Second, best way is to fork crouton and then create your own branch in it where you make the changes. It will be easier to keep things clean and stay synced with your crouton fork.
Specific questions about where you are stuck or how to do certain things would give you more change in getting help on this. Also you can join the crouton(-devel) irc channel on freenode, but again being specific will help you also there.

Alright, thanks.

On May 24, 2015, at 12:58 PM, Maurice van Kruchten<EMAIL_ADDRESS>wrote:
@Alfriadox If you signed the cla you should be good to create the pull request.
Second, best way is to fork crouton and then create your own branch in it where you make the changes. It will be easier to keep things clean and stay synced with your crouton fork.
Specific questions about where you are stuck or how to do certain things would give you more change in getting help on this. Also you can join the crouton(-devel) irc channel on freenode, but again being specific will help you also there.
—
Reply to this email directly or view it on GitHub.

Yep, create a pull-request when you'd like feedback, and feel free to swing by #crouton-devel for pointers.


Runelite Chat Bug

Hello,
I hope someone can help me out. Since I've installed Runelite (I've also tried uninstalling and reinstalling), when I use the chat box and accidentally try to type in caps, i.e. LOL, using shift to create the uppercase, my game just crashes.
This is what it looks like:

So, in the full screen versions, it becomes half frozen, I can only move my character and zoom in/out.
In the half screen version, I can move my character but I lose all features EXCEPT the runelite sidebar, that seems to be working fine.
It's only happens when I use shift to type in capital letters in chat. It doesn't happen when I use shift for drop clicking or anything else.
The only solution I have right now is to close out and reopen my game, which stinks 'cause you lose your tracking and chat history.
Also, I have a smaller issue of, specifically with trees, time tracking not being synced. The sidebar will say done, so I go to that tree patch and find out it actually isn't done and then runelite will update the sidebar with the "correct information" (although, earlier today it corrected it to 4 hours for my redwoods to be done, and then 4 hours passed and it said "done" and then I go to the patches and it has 9 hours left).
I hope someone can help me!
Thanks :)
Edit: As I was putting this post together, I kept runelite logged in and open in the background and this is what happened:

Open a separate issue for the problem with farming timers. Also, can you include your client logs? If you can't find them, right click the screenshot button and go to that folder, then from there try to find the .logs folder.

Wow! Thank you so much for responding! Yeah, here you go:
launcher_2019-07-15.0.log
client.log

Let me know if that worked and what else you might need!

youd need the log from the day it happened

client_2019-07-15.0.log
launcher_2019-07-15.0.log

Nothing stands out to me in there, I would expect it to be some sort of problem with your system then.  Whether that's how it handles java or otherwise i cant say because I've never seen something of this sort before.  You can look for jvm logs which would have been placed in the Runelite install directory located in %localappdata%/runelite or %TEMP% and named something like hs_err_pid#####.

So weird. When I looked at the client log, I would have figured the error message pointed to something! It's just so odd that it only happens when I type in chat and use Shift for caps.
Sorry, you've kind of lost me though, I've been spending the past 15 minutes trying to find the runelite install directory to no avail LOL... :(

You can paste the strings I highlighted into the address bar of your file browser and it will take you directly there.

 When I pasted "%localappdata%/runelite" this is what comes up:

I'm not sure where to go from there ^
And when I do %temp%:

And I'm not seeing "hs_err_pid#####" in %TEMP%

that means it never did create one

only other thing i can think of is do this https://github.com/runelite/runelite/wiki/Disable-Hardware-Acceleration

It's funny because I did try to do that :( unless I completely did it wrong. When I did it, it created a Runelite(2) shortcut on my desktop, and the properties show like "mode=off" at the end, exactly like the gif.  :(


omnibus: fix python build when using a non default compiler

What does this PR do?
Remove python's setup for multiarch which causes build failures when using a non default toolchain
Motivation
Python's add_multiarch_paths will systematically add /usr/include and similar paths to CFLAGS, causing mismatches when using a non default compiler which does not rely on /usr/include
We're hitting this problem when we try to build the agent using a custom toolchain that target an arbitrary version of glibc
Describe how to test/QA your changes
The build should be green, and the regular tests passing
Possible Drawbacks / Trade-offs
Additional Notes

for reference, here's the function that we don't want to call:
    def add_multiarch_paths(self):
        # Debian/Ubuntu multiarch support.
        # https://wiki.ubuntu.com/MultiarchSpec
        tmpfile = os.path.join(self.build_temp, 'multiarch')
        if not os.path.exists(self.build_temp):
            os.makedirs(self.build_temp)
        ret = run_command(
            '%s -print-multiarch > %s 2> /dev/null' % (CC, tmpfile))
        multiarch_path_component = ''
        try:
            if ret == 0:
                with open(tmpfile) as fp:
                    multiarch_path_component = fp.readline().strip()
        finally:
            os.unlink(tmpfile)

        if multiarch_path_component != '':
            add_dir_to_list(self.compiler.library_dirs,
                            '/usr/lib/' + multiarch_path_component)
            add_dir_to_list(self.compiler.include_dirs,
                            '/usr/include/' + multiarch_path_component)
            return

        if not find_executable('dpkg-architecture'):
            return
        opt = ''
        if CROSS_COMPILING:
            opt = '-t' + sysconfig.get_config_var('HOST_GNU_TYPE')
        tmpfile = os.path.join(self.build_temp, 'multiarch')
        if not os.path.exists(self.build_temp):
            os.makedirs(self.build_temp)
        ret = run_command(
            'dpkg-architecture %s -qDEB_HOST_MULTIARCH > %s 2> /dev/null' %
            (opt, tmpfile))
        try:
            if ret == 0:
                with open(tmpfile) as fp:
                    multiarch_path_component = fp.readline().strip()
                add_dir_to_list(self.compiler.library_dirs,
                                '/usr/lib/' + multiarch_path_component)
                add_dir_to_list(self.compiler.include_dirs,
                                '/usr/include/' + multiarch_path_component)
        finally:
            os.unlink(tmpfile)

the part I'm interested in is this one (and the other similar one):
        if multiarch_path_component != '':
            add_dir_to_list(self.compiler.library_dirs,
                            '/usr/lib/' + multiarch_path_component)
            add_dir_to_list(self.compiler.include_dirs,
                            '/usr/include/' + multiarch_path_component)

The file isn't present in python 3.12 and we're about to merge that upgrade. We'll revisit this PR afterward if it's still needed


Steam will fail to load/crash on startup when Linux is installed on an external drive

Whenever I use this to patch Steam, Steam will crash when I try to start it.
I think it might be related to the fact that I have my Linux install on an external drive instead of the one inbuilt into my laptop, because I've noticed a few other customization programs get confused by it.

nvm it started working again for some reason


344 -> 340

Chuck said that apparently 344 was wrong and it actually was 340 the right value...

Canceled merge, 340 seems to stay the proper value


simple_form :trix_editor not working

Firstly thanks for this gem, it makes life easy.
I have a form, SimpleForm::FormBuilder, but I get an error when I do:
f.input :description, as: :trix_editor
No input found for trix_editor
I can't see from the README I need to do anything else... any ideas please?

Ah, I see, I need master branch. Any chance of a release when you get time :smile:

Did you get this to work?
I am having the same problem and I really need this to work with simple form!
No input found for trix_editor
      = f.input name,  as: :trix_editor

Duhh!! Nevermind!
Read your comment again and just did this:
gem 'trix', github: "maclover7/trix", branch: "master"
works as advertised!
Thx all!

This will be out in next release (v0.11.0)

Encountered the same problem. But when using master branch as suggested, getting this error:
trix was resolved to 0.11.1, which depends on
  rails (> 4.1, < 5.2)

We are using rails 5.2. Any chance of getting this to work with rails 5.2 ?

Encountered the same problem. But when using master branch as suggested, getting this error:
trix was resolved to 0.11.1, which depends on
  rails (> 4.1, < 5.2)

We are using rails 5.2. Any chance of getting this to work with rails 5.2 ?

You should use https://github.com/kylefox/trix, this one is no longer maintained I believe.

Thanks, using trix-rails resolved the issue.


Numbers without checksum are not returned

Although it is possible to define individual number areas in the config, as long as they are not part of a sigma set, they will not be returned in the response.

Done. Individual numbers will be returned


✨ Include details about the entire frame in codeScanner.onCodeScanned

What feature or enhancement are you suggesting?
When using the new codescanner (Which is awesome be the way) it would be great to have access to information about the entire frame. Currently the onCodeScanned function includes a Code[] which all includes their x, y, height and width details. It would be nice to have a second parameter which would include height and width details about the entire frame.
This information would allow the implementation of a scan area or selection of the most "correct" code found in a Frame if multiple codes are found in a single frame
What Platforms whould this feature/enhancement affect?
iOS, Android
Alternatives/Workarounds
Currently i have no workaround
Additional information

[X] I agree to follow this project's Code of Conduct
[X] I searched for similar feature requests in this repository and found none.

Which is awesome be the way

Thanks!

It would be nice to have a second parameter which would include height and width details about the entire frame.

Why exactly do you need access to that?

scan area or selection of the most "correct" code found in a Frame

I don't really understand that part..

The height and width information of the entire frame would make it possible to make an "scan area" on scren, and only use scanned codes found in that area

I believe what you're talking about is a region of interest...it's implemented but not documented.  For example, you can pass a third property at init.
const codeScanner = useCodeScanner({   codeTypes: ['upc-e', 'code-39'],   onCodeScanned: codes => {     console.log(Scanned ${codes.length} codes!)   },   regionOfInterest: {     x: 0, // x origin     y: 0, // y origin     width: 1,     height: 1,   }, })

it's implemented but not documented

@NTKrieger wdym it's not documented? Here's the docs: CodeScanner.regionOfInterest (yea it's only API docs, I didn't feel like this deserves it's own section in the docs)
Also, this only works on iOS. The native Android API doesn't support this.

@mrousavy regarding this:

"relative to the Camera Preview" here means that this is relative to the View. If your view is 1920px in height, and the frame is at 1000px, then it is roughly at the center. Just use this as a coordinate system

For some reason, scanned barcodes' frames return coordinates which can be out of bounds of the camera preview.
Here I measure camera preview onLayout:
 camera view  {"height":<PHONE_NUMBER>992188, "width":<PHONE_NUMBER>496094, "x": 0, "y": 0}
Captured frame details:
frame {"height": 261, "width": 127, "x": 1105, "y": 207}
(It looks like barcode is captured in landscape mode, even though I capture it in portrait.)
As you can see X coordinate (which is actually Y since it is rotated) is larger then the preview's height.
In this case, having entire's frame details would help to calculate where scanned barcode is relatively to the entire frame and then use this proportion to calculate where it is relative to the preview. Unless, I don't completely understand how "relative to the Camera Preview" works.

Ah, this is weird. iOS or Android? I think on iOS it should be accurate, but on Android it might be in sensor format. That's a bug then.

(It looks like barcode is captured in landscape mode, even though I capture it in portrait.)

Camera sensors are always in landscape. Orientation is not yet implemented in VisionCamera, see https://github.com/mrousavy/react-native-vision-camera/issues/1891

In this case, having entire's frame details would help to calculate where scanned barcode is relatively to the entire frame and then use this proportion to calculate where it is relative to the preview

I guess this should be Preview bounds always, then we don't need to pass another object every time.
For realtime drawing etc., Frame Processors are more powerful. The CodeScanner should remain simple, fast and easy to use

This is happens on Android, haven't tested much on iOS, but it seemed to be accurate based on my initial tests.

So to confirm regionOfInterest  only works on iOS and making it work on android does this mean we have to resort toframeProcessor instead of codeScanner prop in order to specify area of interest?

Yes, because it simply is not supported in the native MLKit Code Scanner API on Android.

Is there any option to additionally set the border of the region of interest area?

What? There is no "border" or UI, this is a pure Camera component. You can build the UI yourself.

when we have already implemented the camera component is 400x400 size of rectangle box with border. How can we create a custom UI for the regionofinterest area.


Add testability features to re_log

At a minimum, there should be a  re_log::setup_test_logging() function to be used by tests, such that any warning or error panics (these should be considered test failures).
Ideally, there should be additional feature to, e.g., assert that a warning/error with some content is logged under some circumstances:
// panics if:
// - test code logs a warning that doesn't contain "a bad thing has happened"
// - test code DOES NOT log a warning that contains "a bad thing has happened"
re_log::assert_warning("a bad thing has happened", || {
    /* test code */
};

You can set the RERUN_PANIC_ON_WARN env-var for this

TIL. Nice!


fixed scoping

This fixes #16
Super simple. I don't know if you maybe want to add a specific catch for there being reports from different projects as opposed to multiple runs of the same project?

Great 👍
Maybe just change the log.debug to log.warning so that it shows up for the person running MultiQC by default, as this shouldn't really happen most of the time.

Great, thanks!


testing view metaprograms

Before anything else gets committed against these things, we need tests for

VectorViewMvt
scalar_type_pre

This issue was moved to stan-dev/math#93


Stop following logs using timers

This incorporates code from PR #6591 and #6614 but does not use
event channels to detect container state and rather uses timers
with a defined wait duration before calling t.StopAtEOF() to
ensure the last log entry is output before a container exits.
The polling interval is set to 250 milliseconds based on polling
interval defined in hpcloud/tail here:
https://github.com/hpcloud/tail/blob/v1.0.0/watch/polling.go#L117
Close #6531
Co-authored-by: Qi Wang<EMAIL_ADDRESS>Signed-off-by: jgallucci32<EMAIL_ADDRESS>

/assign @vrothberg

@mheon @TomSweeneyRedHat @QiWang19 @edsantiago PTAL
This passed all checks first go around. The key difference with this PR is I removed the dependency on the external event module and it now runs independently using timers. To get the timing precise it needed to match the polling interval defined in hpcloud/tail here:
https://github.com/hpcloud/tail/blob/v1.0.0/watch/polling.go#L117
func init() {
	POLL_DURATION = 250 * time.Millisecond
}

Additionally it needed to ensure when the container changes state, the 250 milisecond delay is applied before calling StopAtEOF() to avoid the race condition where the tailing stops before the last entry is output to stdout.

LGTM
@edsantiago @giuseppe @vrothberg @mheon @baude PTAL

/ok-to-test
/approve

/lgtm


Run eDQL via a batch file

I'm trying to run eDQL from a Windows environment where there are several JREs, and I can't change the default one, so I need to be able to launch the tool from a batch file pointing to the correct JRE. Unfortunately, all attempts end with the error: "No JVM could be found on your system. Please define EXE4J_JAVA_HOME" (see image). I tried both JRE 18 and 11 with the same result:

Sorry for late response. Please use attached batch for this option. I will add batch in next releases in case anyone wants to use it
eDQL.bat.txt
.


Drop easy_localization compatibility mode

The --el-compat flag along with its functionalities was introduced for a smooth transition from the LeanCode's bash scripts integration with easy_localization to the poe2arb with flutter_localizations. No new projects use easy_localization at LeanCode anymore.
Should we drop it with the next major release?

By "next major release" you mean v0.4.0, right?

Yes


Precedence for unary operators and IS NULL

I've moved binding_strength from item.rs into translator.rs because it returns strength of SQL expressions.
There is also a few more tests for unary expressions and corrected precedence order which I copied from Postgres and Microsoft SQL references.

#609
#839

Great, thanks @aljazerzen !


Bugs with wide characters (like CJK)

Most CJK characters are as wide as two ASCII characters; they should also take up twice the width on the terminal.
Therefore, if you pass CJK characters into the prompt or input when using this library, the cursor position will be abnormal.
use requestty::*;

fn main() -> Result<()> {
    prompt_one(
        Question::input("name")
            .message("你叫什么名字")
            .default("王小明")
            .build(),
    )?;
    Ok(())
}

Sorry, maybe a duplicate of #18. Close this if needed.

Thanks for bringing up this issue. It has been fixed now


T271: Prevent access to Android components if they do not need external comms

Summary
This PR patches a couple of dependencies to set the activities and services with the flag of exported=false
Also address in this PR, corrections to our own Manifest file to apply exported=false and other improvements, specially around backups.
Release Note
NONE

Cherry pick is scheduled.


Error reported by HomeAssistant (logs included) while (re)starting

Hello,
I recently restarted HAOS and I got this error reported in the Logs.
I am (far) away from HAOS box, but pretty sure :

it was not unplugged (it's just a cold restart)
Modbus still working right now (only HAOS was restarted)
So what's up ?

`Enregistreur: custom_components.koolnova_bms.coordinator
Source: helpers/update_coordinator.py:382
intégration: Koolnova BMS (documentation, problèmes)
S'est produit pour la première fois: 11:15:54 (1 occurrences)
Dernier enregistrement: 11:15:54
Unexpected error fetching koolnova_bms data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 382, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 279, in _async_update_data
return await self.update_method()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/koolnova_bms/koolnova/device.py", line 394, in async_update_all_areas
_ret, _vals = await self._client.async_areas_registered()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/koolnova_bms/koolnova/operations.py", line 202, in async_areas_registered
regs, ret = await self.__async_read_registers(start_reg = const.REG_START_ZONE,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/koolnova_bms/koolnova/operations.py", line 92, in __async_read_registers
raise ModbusConnexionError('Client Modbus not connected')
custom_components.koolnova_bms.koolnova.operations.ModbusConnexionError: Client Modbus not connected`

Hi ChrysMa,
It seems that the integration can no longer communicate with your USB/Modbus controller. Did it change location on reboot. Check if your ttyUSBx is still active on your HAOS box and is the same as declared in the integration ? If all is correct, try to remove  the integration and retry to configure it.

Hi,
This error was reported by HA after a reboot (needed for the scheduler upgrade). I DID NOT touch/modify anything. The USB is still working since then (I can see the climate and modify temp/ heat on/off and so on). I am away from the HA box hence I cannot unplug/plug anything.
All is correct but this... So I will try to remove/add koolnova-BMS-integration


Expected a refresh token method

Hi Team,
was expecting a method to get token from refresh_token and didn't find one. I have added a method to ApiClient locally and that worked for me. Here is the definition
docusign-php-client/src/Client/ApiClient.php
public function refreshAccessToken($client_id = null, $client_secret = null, $code = null)
{         if (!$client_id) {             throw new \InvalidArgumentException('Missing the required parameter $client_id when calling refreshAccessToken');         }         if (!$client_secret || !$code) {             throw new \InvalidArgumentException('Missing the required parameter $client_secret when calling refreshAccessToken');         }         if (!$code) {             throw new \InvalidArgumentException('Missing the required parameter $code when calling refreshAccessToken');         }
$resourcePath              = "/oauth/token";         $queryParams               = [];         $integrator_and_secret_key = "Basic " . utf8_decode(base64_encode("{$client_id}:{$client_secret}"));         $headers                   = [             "Authorization" => $integrator_and_secret_key,             "Content-Type"  => "application/x-www-form-urlencoded",         ];
$postData = [             "grant_type"    => "refresh_token",             "refresh_token" => $code,         ];
list($response, $statusCode, $httpHeader) = $this->callApi($resourcePath, self::$POST, $queryParams, $postData, $headers, null, null, true);
if (isset($response->access_token)) {             $this->config->addDefaultHeader("Authorization", "{$response->token_type} {$response->access_token}");         } return [$this->getSerializer()->deserialize($response, '\DocuSign\eSign\Client\Auth\OAuthToken', $httpHeader), $statusCode, $httpHeader];     }

Thank you!
In addition, some PHP OAuth client libraries include support for refreshing tokens.

Refresh token is added in v5.7.0


Documentation For Custom Properties

One suggestion is to have a table of properties that ShimmerLayout exposes and describe what it does, what the allowed inputs are etc in the Readme.md
There aren't many properties and it would be very useful since everyone's configuration will be completely different and it will be useful to have that table to consult.
I'm happy to take a stab at it.

Quite an idea! I would be very happy if you do it. The best solution would be I believe if You could create a wiki page for it. After the readme would be also updated with a reference to this wiki page.

That sounds good. I'll submit a PR over the weekend.

Wiki is created!


No data/datasets/pointnav directory

Habitat-Sim version
v0.2.0
❓
I am trying to run the some of the example scripts but I always get errors regarding the habitat-test-scenes like:
FileNotFoundError: [Errno 2] No such file or directory: 'data/datasets/pointnav/habitat-test-scenes/v1/train/train.json.gz'
In fact my 'data' directory contains only:    objects        replica_cad     scene_datasets  versioned_data , no datasets folder.
I can find that folder in /habitat-lab/configs/datasets/pointnav but it only contains .yaml files

python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes habitat_test_pointnav_dataset should do it. Looks like we dropped those links from the readme as we transition to using rearrangement tasks as the demo.
@erikwijmans -- can you please send a quick PR to the readme?


Add a module for detecting and interfacing with the system's package manager

Add a module to detect the system's package manager and invoke it. This will allow commands to install additional packages, if certain commands are not present on the system.
Proposed Syntax
case package_manager
when :apt
  # ...
when :dnf
  # ...
when :brew
  # ...
else
  # ...
end

install_pkgs({
  apt: ["...", ...],
  dnf: ["...", ...],
  brew: ["...", ...]
})

Implemented in a07f72408d6a061f661ff9015ab6220d6dff4cd7.


Custom Endpoints and Custom Translator

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

@laujan Could you review or approve on behalf of the content team? Thanks.

Thanks everyone!


Ollama Package: Not handling context timeout issues on streaming response.

When a context timeout occurs at the time a response is being provided, this line of code throws a panics. It appears resp.Message is  nil and it's not being checked.
https://github.com/tmc/langchaingo/blob/main/llms/ollama/ollamallm.go#L152
goroutine 1 [running]:
github.com/tmc/langchaingo/llms/ollama.(*LLM).GenerateContent(0x14000444140, {0x104a823f0, 0x14000092000}, {0x140003044e0, 0x1, 0x104dc0f18?}, {0x14000320050, 0x1, 0x14000320050?})
	/Users/bill/code/go/src/github.com/ardanlabs/ai-training/vendor/github.com/tmc/langchaingo/llms/ollama/ollamallm.go:159 +0x7ec
github.com/tmc/langchaingo/llms.GenerateFromSinglePrompt({0x104a823f0, 0x14000092000}, {0x104a80b80, 0x14000444140}, {0x14000493980, 0x1974}, {0x14000320050, 0x1, 0x1})
	/Users/bill/code/go/src/github.com/ardanlabs/ai-training/vendor/github.com/tmc/langchaingo/llms/llms.go:41 +0x148
github.com/tmc/langchaingo/llms/ollama.(*LLM).Call(...)
	/Users/bill/code/go/src/github.com/ardanlabs/ai-training/vendor/github.com/tmc/langchaingo/llms/ollama/ollamallm.go:44
main.questionResponse({0x104a823f0, 0x14000092000}, {0x14000136168, 0x17}, {0x14000432000, 0x5, 0x14000114600?})

i had the similar issue,  #961 may solve this

It's not that I couldn't solve the problem with a larger timeout. This is something that needs to be fixed in the code so when a timeout occurs it happens gracefully.

Nice, you provided a PR to fix it. very cool.  Thanks.  At this point I have a properly set timeout.


More detailed testing needs to be done tracking the transitions for AsyncChannel

The changes associated with https://github.com/apple/swift-async-algorithms/commit/047ab6abef71bdb6758c7bed661a04c04f5b056a need to have some sort of test that triggers that previous behavior to prove that the change listed definitely does what we think it does (which I am pretty sure it is correct). Having tests to prove its correctness will aide in preventing possible regressions etc.

Just for the record: both AsyncChannel and AsyncThrowingChannel should have those tests.

We can close this issue since we have re-implemted the AsyncChannel and added tests.


UI: Add dune logo/favicon

https://atwork.dunescience.org/logo-templates/
Maybe we can lift the D in the logo for the favicon?
See #85 for reference.

try this
https://mega.nz/file/1vkGlJTL#yU-SJLlIilF0mx5qwpPOd3BM8iKZqOJLEQUStR76rrQ
I put the necessary dlls in the archive

@cc-a would you be able to get the logo, It's protected by a login when I try to download it


Add Yaml to Azure Pipelines

coveralls is publishing here: https://coveralls.io/repos/248778/builds


【solana】Incorrect private key length

The length of the private key is 44, but the length of the official private key is 88. The picture below is an example of code calling, I hope to fix the length of the private key

This is the official wallet private key length 64

Any updates?


Generic types on structs are implicit in F*

Reproducer: KeccacState on dev on libcrux

Same as #719