wiremock: 3.8.0 -> 3.9.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for wiremock is: Flexible tool for building mock APIs
meta.homepage for wiremock is: https://wiremock.org/
meta.changelog for wiremock is: https://github.com/wiremock/wiremock/releases/tag/3.9.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.9.1 in filename of file in /nix/store/yxsi23cy45baymv7n5cnh05j4hj890jr-wiremock-3.9.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

wiremock

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yxsi23cy45baymv7n5cnh05j4hj890jr-wiremock-3.9.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A wiremock https://github.com/r-ryantm/nixpkgs/archive/d31c82f04ce595c23f086e3ddda8beecf31d9620.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/d31c82f04ce595c23f086e3ddda8beecf31d9620#wiremock

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yxsi23cy45baymv7n5cnh05j4hj890jr-wiremock-3.9.1
ls -la /nix/store/yxsi23cy45baymv7n5cnh05j4hj890jr-wiremock-3.9.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

wiremock

Maintainer pings
cc @bobvanderlinden @anthonyroussel for testing.

https://github.com/wiremock/wiremock/compare/3.8.0...3.9.1

Result of nixpkgs-review pr 330484 run on x86_64-linux 1

2 packages built:

nixpkgs-manual
wiremock

@NixOS/nixpkgs-merge-bot merge


Refactor filter_df_columns() to not modify input and return the filtered DataFrame

Coments from @trymzet:
This function doesn't exist, but if it did, it shouldn't modify input but return a new df:
Suggested change:
        df_filtered = filter_df_columns(data_frame=data_frame, columns=self.columns)

Suggested change:
    return df_filtered

@adrian-wojcik please use links to relevant content; when you paste some fragments of code, it's much harder to figure out the context and where the code is from


Ortools crashes ucrtbase.dll exception code 0xc0000409

I am running CP-SAT in windows 10 with C#, ortools v7.8.7959 and after a couple of hours of the model running (and finding several solutions), the application crashes without leaving any trace. Looking in the event registry I find that apparently ucrtbase.dll crashed with exception code 0xc0000409 which seems to be related to STATUS_STACK_BUFFER_OVERRUN.
I have seen a couple of other issues in github as well as discussions on the google groups site (https://groups.google.com/g/or-tools-discuss/c/WiIYPthzZn0/m/1Jed0hnaBQAJ) but no solution proposed other than the GC.KeepAlive(), which I don't think makes sense in this context.
Edit
Could this be maybe be associated with the process needing more memory than specified in max_memory_in_mb?

I do not think the solver checks the max_memory_in_mb parameter.
Most likely, you consumed all memory.

Will this be solved in the next release? Is there anyway I can help?

It seems you are running out of memory.
So there is little we can do.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le lun. 5 oct. 2020 à 09:36, Ignacio Gago<EMAIL_ADDRESS>a
écrit :

Will this be solved in the next release? Is there anyway I can help?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2180#issuecomment-703457738,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3MBQXCOK3JITZ3EIPDSJFZPVANCNFSM4SBXWVDQ
.

I do not think you are using interleave mode.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le lun. 5 oct. 2020 à 13:16, Ignacio Gago<EMAIL_ADDRESS>a
écrit :

Should I give a try at reduce_memory_usage_in_interleave_mode = true?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2180#issuecomment-703566367,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3NCSTJP3MZQMVDDOZTSJGTKPANCNFSM4SBXWVDQ
.


cChocoPackageInstall Test-TargetResource Throws instead of returning false.

cChocoPackageInstall Test-TargetResource throws an error when Chocolatey isn't installed causing Consistency to fail instead of reporting an inconsistency. Test-TargetResource should return $False instead so that other resources can be checked.

Thanks, your change has been merged in.


[fpv/prim_count] Small update on prim_count assertions

Add assertions to check error case, these can be used in assertion
coverage for DV.
Update an assertion to cover both set_i and clr_i case.

Signed-off-by: Cindy Chen<EMAIL_ADDRESS>

Thanks for reviewing. i can merge this :) Just want you to take a look
before moving forward :)
Cindy Chen
On Fri, Sep 24, 2021 at 10:17 AM tjaychen @.***> wrote:

@.**** approved this pull request.
thanks cindy! do you want to merge these first? I know i had the other PR
with some changes. I can try to get that one merged first and you can
rebase this on top, or we can go the other way, both are fine with me.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/8350#pullrequestreview-763310243,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACXPOOM6HF6AOYMX3NLYMMTUDSXCNANCNFSM5EVA7KPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Works with Nest work around

Looks like the Homebridge-Nest plugin was updated to not rely on the works with nest api. Are there any plans to do the same with nest -cam?

Does this plugin use works with nest? i thought they shut that down. however i was able to get an access code for the config.json as required by the plugin... that said it adds the camera but it just says "No Response" and won't pull up the video feed.

@dhniels this plugin works well. I would recheck your FFmpeg plugin and then fire it up again. Did you get your token by plugging in the commands on the first page? Once you have that token you are as good as gold. I do know from personal experience that the camera is finicky with FFmpeg. Uninstall FFmpeg and reinstall and you should be good granted you have your token.

@black01gt I would too love to see these 2 great plugins merged somehow! I recently reconfigured with the new updates on the nest plugin and it works better than ever. All you need is a user and password!

@rob74lee i do have a token. i tried removing ffmpeg and re-adding it from a different apt repo which installed v4 instead of v3, but im still getting the same black screen and message "this camera is not responding" in the Home app.


Some major problem reports

Hey bro, I tried your Hyprpanel, but it was kind of a pain to run it on my Void Linux machine because of the GTK4 Layer Shell library and D-Bus errors. I think you should bundle the GTK4 Layer Shell with Hyprpanel, and please add a development guide set up and build it locally

I can't bundle the gtk4-layer-shell library, it must be compiled to match your system. There's already an open issue to package it for Void Linux, that's the best path to having it supported for Void users:
https://github.com/void-linux/void-packages/issues/43810
The README documents that it's not possible to have two applications that display notifications running at the same time, and what to do about it (though I think the error is also relatively clear):
https://github.com/pdf/hyprpanel?tab=readme-ov-file#notifications
I think that answers your questions, so closing this issue for now.


Support WSS + proxy

Hi. This patch allows the connectWS() method to supports proxy + WSS:// combination. It adds a new method startTLS() to the network layer, which is called after plain-text proxy interaction concludes. The twisted implementation delegates to transport.startTLS().
Additionally the SSL context passed into connectWS needs to be preserved until startTLS is called, so poke it into the factory.
When testing with Squid I found it (perhaps erroneously) returns a HTTP/1.0 response to the connect method, so this patch also relaxes that check.

Current coverage is 60.20%

Merging #530 into master will decrease coverage by -0.03% as of 577a9a2

@@            master   #530   diff @@
=====================================
  Files           57     57
  Stmts         9032   9038     +6
  Branches      1460   1461     +1
  Methods          0      0
=====================================
+ Hit           5440   5441     +1
  Partial        477    477
- Missed        3115   3120     +5

Review entire Coverage Diff as of 577a9a2

Powered by Codecov. Updated on successful CI builds.

Clean sweep from travis https://travis-ci.org/crossbario/autobahn-python/builds/86455793

I would encourage Autobahn to use optionsForClientTLS(...) as a sensible default when a contextFactory is not otherwise provided. The problem is that it would be a breaking change for users with a deficient local ca-store, so it is entirely inappropriate to bring that in by the back door with this change.
While the diff shows I added ssl.ClientContextFactory() it is simply existing behavior being relocated up a few lines.

Yes, okay, fair enough.
@oberstet I think we should change the default for Twisted 14.x+ to use optionsForClientTLS though, so I filed #537

Also: works for me with Polipo.

@hawkowl does adding startTLS have wider implications?

Can I assist with this discussion? Perhaps if we had a twisted unit test that sets up a basic CONNECT-style proxy and an ssl-enabled wss server that might convince you... ?

@shuckc I don't see a problem, but I was interested in @hawkowl's feedback regarding the addition of startTLS. @oberstet?
If possible, I'd rather not have "real" networking done in the unit-tests but any additional test-coverage is certainly welcome :)

You can do startTLS tests using fake transports -- it's just data after all.
I don't think this is a bad change, overall -- I'd prefer the startTLS method not call the handshake itself, though.

@hawkowl like this? https://github.com/crossbario/autobahn-python/compare/master...meejah:issue530-proxy-wss?expand=1

Okay, convinced. Shall I do a new PR with the startHandshake() change?
(Alternatively, @shuckc could cherry-pick 46ec9e0 over to this PR, or just make a new commit himself  :)

@meejah does http 1.0 even allow the "upgrade connection" header that websocket is based on? If so, I am fine.
The "poking into factory" is sth that is questionable. I admit, we are doing that also in various places. And its wrong. Eg doesnt blend well with slots and the like.
But in general, yes, supporting proxies over tls seems useful.

Good spot, startHandshake() can stay in the protocol.py, let me test that locally and I'll push another change if it works.

Works with startHandshake() put back in websocket/protocol.py.
Once question: what do you want to happen to the alternative "asyncio" back end when proxy+wss combination is chosen? At the moment I guess it has changed from an error message as connect time to a failure to find the startTLS() method later in the connection. Is this a concern? I have not used asyncio so would probably not be able to implement it fully, but I could at last add the startTLS() method and have it produce the same error as before this PR.

Regarding asyncio, yes we should provide a startTLS in the asyncio version that raises some error (maybe just NotImplementedError?)

I've added the failure for asyncio with wss+proxies, using the exact same exception type and text that was raised previously.

Great, thanks for making these changes :)

You guys are very welcome :-) autobahn-python is a handy project and I am glad to help out.


jqi app

The almighty jq processor - wrapped in a graphical UI

Wow this is a cool idea. I would suggest adding some keywords like json, developer, tool, editor, etc to make your app easier for people to find.

@zeke thank you very much!
You're absolutely right. Just added few keywords.
Thanks!


mitmproxy should check LC_CTYPE before LANG when testing console environment

When I run mitmproxy 0.9, I see:
% mitmproxy --version
mitmproxy 0.9
% mitmproxy
Error: mitmproxy requires a UTF console environment.
Set your LANG enviroment variable to something like en_US.UTF-8

But my console environment is UTF-8 already:
% locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

When I check the locale(1) manpage, it says that LC_ALL, if set, overrides LC_*, and that LANG is just a fallback for unset LC_* values. But every possible LC_* value other than LC_ALL is set, so there is no need to set either LC_ALL or LANG.
% uname -v
Darwin Kernel Version 12.3.0: Sun Jan  6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64

I am facing the same problem:
Error: mitmproxy requires a UTF console environment.
Set your LANG enviroment variable to something like en_US.UTF-8
Tried setting environment variable (export $LANG=en_US.UTF-8) but still the same Error :(

LANG, LC_CTYPE and LC_ALL should be UTF8.
Cheers,
Max

working, thanks :)

@mhils where is the file I need to change the LANG LC_TYPE LC_ALL in

@abit2: You need to change the process environment. This should work:
env LANG="C.UTF-8" mitmproxy

vim /etc/profile
export LANG=C.UTF-8
source /etc/profile

export $LANG=en_US.UTF-8)

you don't need the $ in $LANG.

LANG, LC_CTYPE and LC_ALL should be UTF8.
Cheers, Max

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

LC_CTYPE="en_US.UTF-8"


add secondary sorting to MM course certificates

What are the relevant tickets?
N/A
I noticed this issue when testing DEDP course certificates
Description (What does it do?)
This PR adds a secondary sorting to the subqueries in the MM DEDP course certificate/grade models to ensure that if the learner gets identical grades for the same DEDP course, the query would pick the most recent grade for the DEDP course
In MM, DEDP course certificates were generated based on courses not runs, so we have to populate runs with their highest grade.
How can this be tested?
dbt build on +int__micromasters__course_certificates/grades

I’m not sure I understand the circumstances here, but normally when there is more than one we grade we choose the highest, not the most recent.

@pdpinch PR description is confusing, I will update it to make it clear.
The query has already chosen the highest grade, the issue is when learners get the highest grade for different runs in the same course, the query just randomly picked the run with the highest grade. This PR is intended to add secondary sorting to ensure we get consistent results when there are multiple runs with the highest grade


feature: keep stock neovim start screen

Did you check the docs?

[X] I have read all the LazyVim docs

Is your feature request related to a problem? Please describe.
for me i think the stock nvim start screen is the most fancy start screen  i l've seen and i would like to make my main start screen i understand that  there are mix of plugins and sittings make disappear  and i wonder if someone can work it around
Describe the solution you'd like
i want neovim stock startup screen  to be my main start screen
Describe alternatives you've considered
i've set lualine separator to none and aliased vi to vi +intro
this will make neovim start with the stock start screen but the problem is that the intro appear even if i opening file and thats annoying i want it to appear only if i open neovim with no file
Additional context

Take a look at this post in lazy.nvim repo, that should help you do what you want. There's some tinkering involved to achieve what you'd like. Try it out.

For stock LazyVim, I have an example in my starter repo. See file plugins.test.lua.

Thanks @dpetka2001!

thanks it worked @dpetka2001 @abeldekat


Request for scanning new channels EPG for tv.blue.ch Switzerland

Hello
By scanning their EPG sourcing, many new channels could be add
For
https://tv.blue.ch/tv-guide
https://github.com/iptv-org/epg/tree/master/sites/tv.blue.ch
Please

Please specify the name of the channels that are missing so we can help you.

Blue Retro
Blue City
Blue Action
Blue Stars
Blue Sport 1
Blue Sport 2
Blue Event 1
Blue Event 2

Blue Retro - BlueRetro.ch
Blue City - BlueCity.ch
Blue Action - BlueAction.ch
Blue Stars - BlueStars.ch
Blue Sport 1 - BlueSport1.ch
Blue Sport 2 - BlueSport2.ch
Already in the channels xml
Blue Event 1
Blue Event 2
Will need adding to database

Blue Event 1
Blue Event 2
Will need adding to database

Added in https://github.com/iptv-org/database/commit/a39aad68712ac62b559ed6d820611e60f66e8005

@freearhey @RevGear I noticed that many channels from this xml are unavailable when i want to assign their EPG via IPTV Player like Tivimate by example BLUE PRIME (no epg information currently) or ....
maybe this EPG sourcing tv.blue.ch should be refreshing ?


Overhaul ArgParse to make it more like python argparse

I've been thinking about overhauling ArgParse for a couple years, and
did most of the work in December when I was home from work. Then sat
on it except for slow burn weekend tinkering, but finally got a chance
to put the final touches on and write the docs this week.
The bottom line is that this is a major rewrite of the APIs for
ArgParse to make them much richer, more flexible, and more closely
resembling those of python's argparse module.
Rather than trying to explain the syntax here, I simply will refer you
to the extensive inline documentation in argparse.h, as well as the
examples in the code base of where it's used.
It sill respects the old syntax, so this change is hoped to not alter
the behavior of any programs using the deprecated API.
Start by reading argparse.h, it's design review of the API that is the
most important for those inclined to weigh in.

At first glance this seems like a nice change.
I prefer the style that binds the option to a specific variable directly, rather querying it in a second place with ap.get() (which means you have to type the option name again). The programs you updated seem to use both styles (sometimes within one program), but perhaps this was intentional?
Overall LGTM!

Right, I'm using a mix of styles currently. This is some combination of (a) I'm not sure what I prefer myself yet! (b) Laziness, I did kind of a more straightforward conversion to an intermediate step I had devised, then later worked my way to the full argparse implementation and only in a few cases did I return and fix all the uses.
At some point, the conversion of all the uses was grueling and I just wanted to get a draft posted and merged. I will probably continue to change how I use it in different places, but I just wanted to finally push this out after months of tinkering.
I think there are three different "styles", each of which I prefer in different situations:

Full emulation of python argparse, as close as we can get in C++. Maybe people who spend a lot of time in python or who come to the table familiar with or liking python argparse will like this best.
ap.arg("-color")
    .nargs(3)
    .metavar("R G B");

Color3f c = ap["color"].get<Color3f>();

More compact notation, same retrieval, but uses a different notation than python argparse. I think this is my current favourite, especially for the parameters you just use once.
ap.arg("-color R G B");
Color3f c = ap["color"].get<Color3f>();

External storage of results. I think this is ugly and error prone, but sometimes it really is the best choice if you're just going to pull out those values and store them in the variables anyway.
Color3f c;
ap.arg("-color %f:R %f:G %f:B", &c[0], &c[1], &c[2]);

That maybe brings up one thing:
If I'm reading the code correctly, you have to say:
int foo;
std::string bar;
ap.arg("-foo %d", &foo);
ap.arg("-bar %s", &bar);

Borrowing the %d and %s makes sense, but in theory the type information is more "robustly" available from the pointer argument. Without looking at the implementation details at all -- what do you think of attempting something akin to the printf vs fmt libraries so that you could do:
int foo;
std::string bar;
Color3f baz;
ap.arg("-foo {}", &foo);
ap.arg("-bar {}", &bar);
ap.arg("-baz {}", &baz);

I don't want to derail the review - this already looks like a nice set of changes, just something I had wondered about the old API as well that seems to maybe still be relevant to this new iteration.

Yeah, it would be nice to eliminate those cues, just say:
ap.arg("-foo X Y", &xvar, &yvar);

and it infers the types from the pointers.
Let's say, I'll keep this in mind as a later step.
The reason they didn't come along yet is:

Inertia, I guess?

Doing this right is a bit of painful template-fu that will require a bit of head scratching to get right.

It's hard to imagine it working quite like what you said above, how would it know exactly that a Color3 requires 3 floats? I mean, we could hard code Color3, Vec3, whatever, but that seems a little inelegant, too.

But anyway, yeah, this is not the final chapter on ArgParse. I'm sure lots of refinement will come later.


Subflow parent nodes doesn't update size when nodes are re-initialized

If you specify a size for a parent node it should always be overwritten when one of the child nodes uses the expandParent option. As you can see in the example, the size gets overwritten initially but not when you reset the nodes (with the same set of nodes).
Example
https://codesandbox.io/p/sandbox/subflow-bug-dlqsnr?file=/src/Flow.tsx
Steps to Reproduce the Bug or Issue

open codesandbox link
click "reset nodes"
parent node has a different size

Expected behavior
parent node should keep the adjusted size.
Screenshots or Videos
No response
Platform

OS: macOs
Browser: Chrome
Version: 11.10.3

Additional context
Initially we measure all nodes and send the updates to the applyNodeChanges function. There we adjust the size of the parent node and everything looks good. If you then use the same nodes to re-initialize the flow, the child node is already there and we won't measure it again. That's why there is no change that could lead to a resizing of the parent node.

Is there any update on this? Thanks!

We are working on a fix. For now the only workaround on user side is to reset the nodes before you set new ones:
// reset with an empty array
setNodes([]);

setTimeout(()=>{
  // set actual nodes
  setNodes(nodes)
},0)

Fix is released in 11.10.4.


Automatically cleaning up .ssh-connectionXXXXX on connection failure

Hi,
I'm using the native-mux implementation for my project.
openssh = { version = "0.9.9", features = ["native-mux"], default-features = false }
...
[profile.release]
panic = "abort"

        let session = SSHSession::connect_mux(&host.hostname, KnownHosts::Add)
            .await
            .unwrap_or_else(|_| panic!("{} Failed to connect to host.", host));

Sometimes I mistype the hostname and connection rightfully fails, but perhaps because I have panic = "abort", the .ssh-connectionXXXXX directory (located under the current directory) is not removed. I'm on MacOS. I have panic = "abort" because I create SSH session inside an async task, and I want the program to terminate when a connection fails.
It seems like I can set the control_directory to point at somewhere like /tmp where it doesn't really matter, but since /tmp is shared, it'll be great if there's a native way to seamlessly clean up.
Thanks!

We uses tempfile for creating temporary directory and it removes the dir on drop.
@jaywonchung Your code panic on error, which doesn't call the drop implementation of variables on stack unless it finds a catch, so I recommend switching to returning an error.
Using thiserror, creating a new error type is easy, I recommend doing this in library crate.

Returning an error to the caller and panicking outside cleans up the directory well. Thanks for the great advice!


"offline" device init fail

Sometimes, a device (or emulator) is offline when an installation is attempted, so a non-useful "$PATH not found" error occurs. I'd like to clean this up.
05:56:17 /DevTesting/test19$ dtf init
[Thu Feb 18 17:56:22 EST 2016] init/I - Project initialization started.

Please connect the test device (press Enter to continue)
[Thu Feb 18 17:56:23 EST 2016] init/I - Restarting adb...
[Thu Feb 18 17:56:26 EST 2016] init/I - Waiting for a device to be connected...
Got serial 'emulator-5554', is this correct? [Y/n] y
[Thu Feb 18 17:56:39 EST 2016] init/E - Unable to get $PATH variable!
[Thu Feb 18 17:56:39 EST 2016] init/W - Exiting dtf initialization!
05:56:39 /DevTesting/test19$ adb devices
List of devices attached
emulator-5554	offline

Fixed: https://github.com/jakev/dtf/commit/84e613a325ab3a81d17016a535ec2acfc88129d5


Dart completer broken after flutter update

After full system update (Arch Linux with AUR package), dart completion is no longer working.
Flutter doctor is clean, and flutter CLI (including flutter format) is working fine.
Printing YouCompleteMe debug information...
-- Resolve completions: Up front
-- Client logfile: /tmp/ycm_lyxq56r9.log
-- Server Python interpreter: /usr/bin/python
-- Server Python version: 3.10.2
-- Server has Clang support compiled in: False
-- Clang version: None
-- Extra configuration file found and loaded
-- Extra configuration path: /home/barabas/.vim/.ycm_extra_conf.py
-- GenericLSP completer debug information:
--   dartCompleter not running
--   dartCompleter executable: ['/opt/flutter/bin/dart', '/home/barabas/.vim/ycm-lsp-examples/dart/analysis_server.dart.snapshot', '--lsp']
--   dartCompleter logfiles:
--     /tmp/dartcompleter_stderr98f8btlb.log
--   dartCompleter Server State: Dead
--   dartCompleter Project Directory: /home/barabas/projects/hardware/guitar_dsp_platform/monorepo/core/frontend
--   dartCompleter Settings: {}
-- Server running at: http://<IP_ADDRESS>:41457
-- Server process ID: 64508
-- Server logfiles:
--   /tmp/ycmd_41457_stdout_72iqrnja.log
--   /tmp/ycmd_41457_stderr_vjhn6w6h.log

The dartcompleter logs show this:
Wrong full snapshot version, expected 'd56742caf7b3b3f4bd2df93a9bbb5503' found 'adf563436d12ba0d50ea5beb7f3be1bb'

Fixed after re-running install.py.
Looks like there is a magic number that has to match between the system version of dart and the loaded snapshots.
$ cat dart-sdk/version
2.16.1

$ flutter --version
Flutter 2.10.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision db747aa133 (2 weeks ago) • 2022-02-09 13:57:35 -0600
Engine • revision ab46186b24
Tools • Dart 2.16.1 • DevTools 2.9.2

$ grep -r d5674 .
grep: ./dart-sdk/bin/utils/gen_snapshot: binary file matches
grep: ./dart-sdk/bin/dartaotruntime: binary file matches
grep: ./dart-sdk/bin/dart: binary file matches
grep: ./dart-sdk/bin/snapshots/gen_kernel.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/kernel-service.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/dart2js.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/dartdoc.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/dartdev.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/analysis_server.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/dartanalyzer.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/dds.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/kernel_worker.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/frontend_server.dart.snapshot: binary file matches
grep: ./dart-sdk/bin/snapshots/dartdevc.dart.snapshot: binary file matches

I think the analysis_server.dart.snapshot should actually always exist on the system if dart is installed. Currently the latest version is downloaded by install.py, which probably won't work if the system is not using the latest version of dart.
Using the system version of the server should resolve this issue.

https://github.com/natebosch/vim-lsc-dart uses the system server:
https://github.com/natebosch/vim-lsc-dart/blob/e2dc59f71282735d2eb05d6487d2e1db09a9d77b/autoload/lsc/dart.vim#L70

I'm not sure what you're expecting us to do about this? I mean we're not going to spend time maintaining some random dependencies of niche languages...
AFAICT the "install" script for the dart sdk uses the 'stable' version: ARCHIVE_URL = 'https://storage.googleapis.com/dart-archive/channels/stable/release/latest/sdk/dartsdk-{}-{}-release.zip'
I guess your choices are:

upgrade "dart" or "flutter" or whatever
downgrade the dart sdk in the install.py, or just put a working copy of analysis_server.dart.snapshot in dart/
use g:ycm_language_server to point to any working copy of analysis_server of your choice.

This repo is supposed to be helpful and low maintenance; we do not provide extended support.

Found a simple workaround. Instead of including the snippet.vim provided, we can define the g:ycm_language_server like this:
let g:ycm_language_server = [
  \   {
  \     'name': 'dart',
  \     'cmdline': [ 'dart', '/opt/flutter/bin/cache/dart-sdk/bin/snapshots/analysis_server.dart.snapshot', '--lsp' ],
  \     'filetypes': [ 'dart' ],
  \   },
  \ ]

I don't expect any support, just wanted to make a note so that anyone else that runs into this issue will find my solution.


Integration with existing Postgres database

hi! Do you have any recommendations how to sync fields with my existing postgres database (connected to my django project) and label studio? Would be good even not duplicate this fields between them, because there is a lot of info. I need just interface of label studio in my django admin panel in fact. Would be good to see any recommendations on documentation.

To integrate Label Studio with your existing PostgreSQL database and Django project, you can follow these steps:

Use the Same PostgreSQL Database:

Configure both your Django project and Label Studio to use the same PostgreSQL database. This way, you avoid duplicating data and ensure consistency.

Configure Label Studio to Use Your PostgreSQL Database:

Update the Label Studio configuration to point to your existing PostgreSQL database. You can do this by setting the appropriate environment variables or updating the settings.py file in Label Studio.

Integrate Label Studio into Your Django Admin Panel:

You can add Label Studio's models to your Django admin panel by registering them in your admin.py file. This allows you to manage Label Studio data directly from your Django admin interface.

Use Django's ORM to Sync Data:

Utilize Django's ORM to create views or serializers that can sync data between your existing models and Label Studio's models. This can be done using Django signals or periodic tasks with Celery.

Example Configuration
1. Configure Label Studio to Use Your PostgreSQL Database
Update the environment variables for Label Studio to use your PostgreSQL database:
export DJANGO_DB=default
export POSTGRE_NAME=your_db_name
export POSTGRE_USER=your_db_user
export POSTGRE_PASSWORD=your_db_password
export POSTGRE_PORT=5432
export POSTGRE_HOST=your_db_host

Alternatively, update the settings.py file in Label Studio:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'your_db_name',
        'USER': 'your_db_user',
        'PASSWORD': 'your_db_password',
        'HOST': 'your_db_host',
        'PORT': '5432',
    }
}

2. Register Label Studio Models in Your Django Admin
In your Django project's admin.py file, register the Label Studio models:
from django.contrib import admin
from label_studio.tasks.models import Task, Annotation
from label_studio.projects.models import Project

admin.site.register(Task)
admin.site.register(Annotation)
admin.site.register(Project)

3. Sync Data Using Django ORM
Create a Django management command or a Celery task to sync data between your existing models and Label Studio's models. For example:
from django.core.management.base import BaseCommand
from myapp.models import MyModel
from label_studio.tasks.models import Task

class Command(BaseCommand):
    help = 'Sync data between MyModel and Label Studio Task'

    def handle(self, *args, **kwargs):
        my_models = MyModel.objects.all()
        for my_model in my_models:
            Task.objects.update_or_create(
                id=my_model.id,
                defaults={
                    'data': my_model.data,
                    'project': my_model.project,
                }
            )
        self.stdout.write(self.style.SUCCESS('Data sync complete'))

Documentation References
For more detailed information, you can refer to the following documentation:

Label Studio Database Setup
Django Admin Site Documentation
Django Management Commands
Celery Periodic Tasks

By following these steps, you can integrate Label Studio with your existing PostgreSQL database and manage it through your Django admin panel without duplicating data.


fix: :bug: 修复指标列头 hover 行为和维值列头不一致问题

👀 PR includes

🐛 Bugfix

[x] Solve the issue and close #893

🖼 Screenshot
只有单元格文本被省略行列头才展示 tooltip

:tada: This PR is included in version @antv/s2-v1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BUG]Refine some default parameter and fuse arg for jindofsx

What is your environment(Kubernetes version, Fluid version, etc.)
Describe the bug
What you expect to happen:
How to reproduce it
Additional Information

fixed by #1853


groupByMulti keys clarification

Say I have an env field setup
           Container A: FOO
           Container B: FOO,BAR

groupByMulti returns the keys ["FOO", "FOO,BAR"] instead of the expected ["FOO", "BAR"]  The docs are a bit unclear about this so I'm wondering if this is the intended behavior.

Sorry, typo bug in my own test script. Closing.


Fix layergroupid date

Fix: https://github.com/CartoDB/support/issues/1365
We are returning the same layergroupid date after a data update.

BTW, why don't we create a test for this regression?

Yep, we have to add regression test here. We didn't create it on Friday because we wanted to deploy y the fix ASAP and the test is not trivial. The test would look like:

Create an anonymous map.
Check cache-buster in the layergroup response.
Update (by adding new rows) of one of the table-
Instantiate the same map again
Check the cache-buster is updated.

@oleurud ping me if you need help here.

Let me take care of it since @oleurud is working on another issue.


rig add release in Windows fails with "Server Error: Setting token failed."

OS: Windows 11
version: rig 0.7.0
rig add release other variants such as rig add 4.3.3 fail with the messages:
Server Error: Setting token failed.
Access is denied.
Error: Failed to substitute token. Connection from server lost.

I'm not sure if any/what other debug information might be helpful (i.e., if this is a problem on my machine which I should ask IT about vs. something remote). It's a managed machine, but I do have admin access.

Do you have a proxy? Does this work for you?
rig available

I believe so:
name   version  release date  type
------------------------------------------
3.0.3  3.0.3    2014-03-06    release
3.1.3  3.1.3    2015-03-09    release
3.2.5  3.2.5    2016-04-14    release
3.3.3  3.3.3    2017-03-06    release
3.4.4  3.4.4    2018-03-15    release
3.5.3  3.5.3    2019-03-11    release
3.6.3  3.6.3    2020-02-29    release
4.0.5  4.0.5    2021-03-31    release
4.1.3  4.1.3    2022-03-10    release
4.2.3  4.2.3    2023-03-15    release
4.3.3  4.3.3    2024-02-29    release
4.4.0  4.4.0    2024-04-24    release
next   4.4.0                  patched
devel  4.5.0                  devel

Can you show the output of this?
rig -vv add release

Yes -- this is what it prints:
[DEBUG] (1) rig::escalate: [src\escalate.rs:78] Re-running rig as administrator for adding new R version.
[DEBUG] (1) rig::escalate: [src\escalate.rs:91] gsudo: "C:\\Program Files\\rig\\gsudo.exe"
[DEBUG] (1) rig::escalate: [src\escalate.rs:92] Arguments: ["-d", "rig", "-vv", "add", "release"].
Server Error: Setting token failed.
Access is denied.
Error: Failed to substitute token. Connection from server lost.

Thanks, I'll try that.

Error message solved.


PDF Generation hangs on OSX

I'm able to get it to work fine on linux, but when i try to use phpwkhtmltopdf on OS X, the wkhtmltopdf process just hangs and never finishes.
If i copy/paste the command I see running in the process list, it executes fine and generates the PDF, but if i hit my PHP file through the browser, the wkhtmltopdf command never completes.

I don't have OS X so it's very hard for me to supply help. You could try the workaround described here:
https://github.com/mikehaertl/phpwkhtmltopdf/issues/56#issuecomment-61456283

I have the exact same problem but on a windows server 2008 (don't ask...). I've found out that the temporary HTML and PDF files both gets correctly generated but when stream_get_contents gets called everything hangs. I assume there is some kind of deadlock happening between php and wkhtmltopdf.exe.
Anyway I settled with replacing stream_get_contents(inside the Command class) with file_get_contents and everything worked fine then.

@MrRootUp Did you try the workaround I've linke above?

@mikehaertl I just tried it and it works perfectly. The strange thing is that proc_open version does work with most html files while certain html files always hangs the process. Anyway I'll stick to the workaround since there seems to be several problems with proc_open on windows.
On a side note moving proc_close above the stream_get_contents also worked.

AS tivie pointet out in the other thread, there are some problems with proc_open() on windows, e.g. https://bugs.php.net/bug.php?id=51800. Not sure, why your workaround helps, but it probably will simply cut off some data from the stream, so I don't want to change that (it's not really logical anyway).
I will close this issue for now, as you confirmed that the solution with `'useExec' => true' works.


Clarify how to derive alternative generator H

I'm suggesting to link to this procedure from the taproot BIP (https://github.com/sipa/bips/pull/43) to create a internal taproot key without known dlog. Importing hashlib and defining F are necessary to just copy and paste and run this.

tACK
If you want you could even remove the * at the beginning of the lines of the  sage script to make this easier to copy and paste. (Those * are anyway optional for typical tools that parse comments, they just need the /**.)

good idea


Unable to connect

Hello,
Since I install the last update, I can't use Dockstation on Windows 10. The button "Continue as guest" don't work and when I want to register it's show this message "A network error (such as timeout, interrupted connection or unreable host) has occured" whereas my connection work well.
Thank you for help :)
Also error message disappear too fast and it's impossible to copy, I think that it could be an improvement to allow copying or show message more longer.

Hi @massong41
Is it still actually?
Can you open firebase? https://firebase.google.com/
Because I know the firebase was banned in Iran.

Hi,
I'm facing the same issue. I'm behind a proxy and I don't know if there is a setting to fill my proxy server informations (server name, port, username and password).

I cannot use Dockstation in Debian 8,9 Windows 8,10
this app is not functioning.

@dx44 The same question. Can you open the firebase site?

@diveyez I need more info. What doesn't work?

@igor-lemon I succed to open firebase

@dx44 So, it's strange. Ok, let's chat/call tomorrow. Just join to Slack channel.
@diveyez Join to channel too.
https://dockstation.slack.com

Sorry for the time until answer, yes I can open firebase but the issue still exist

@massong41 Can you login via Google or GitHub?

@igor-lemon No I can't, it's showing me "Error: auth/network-request-failed" and the same error "A network error (such as timeout, interrupted connection or unreable host) has occured"

Huh...
Ok. Do you not have some containers on 8763 port?
Because we use this port during auth.

@massong41  Do you have some firewall or antivirus? Because the issue can be related with some network rules.

@dx44 Please give me more info about your proxy. What you use, proxy location, etc...

@igor-lemon no the 8763 port is not used, I only have windows defender and my firewall is set to use network as public connection maybe this is origin of the issue.

@igor-lemon I have no more issue and I'm unable to explain why, the button 'Continue as a guest' work fine!

Like dx44 I retry to use dockstation few days ago and continue as guests work well, I think the issue came from my network settings but don't know which.


Added implementation of ReactiveAppCompat Activity

Provides a Reactive implementation of AppCompatActivity. ActionBarActivity has been deprecated and the recommended replacement is the AppCompatActivity.

@michaelstonis Why did you close this?

I accidentally had included some stuff for some other Xamarin.Forms components that I had worked on. I will be adding in a few more pull requests to do this the right way.


Improve arguments to main.py

The behaviour should be updated

no arguments provided: automatically fetch next suburb
named arguments for state/suburb will do that specific suburb if both are provided (make sure to format input to match internal)
time argument (new feature that would run program for x amount of minutes mins and keep doing suburbs)

See https://github.com/LukePrior/nbn-upgrade-map/commit/1e270f21d078417b31c9f289ea7fc0490e9a1a30 for first two

Testing a time argument now

Initial implementation here: https://github.com/LukePrior/nbn-upgrade-map/commit/970ef275fc28ac28a51c8022aed60c581d6a310d#diff-7064e9412d3433452f4affd6fe285500ff3a2a4328232d57e3e86cf437b086b4R156
Need to improve how combined-suburbs file is updated after each suburb so that the next is correctly found.
It takes too long as it checks every file even when we know only one has changed so should probably just fetch the existing list then append and write?
Any ideas @lyricnz

Yes, looking through all the files is a waste of time (we know exactly what has been updated).  I don't see the (real world) need for having two separate processes, and it would be way more efficient to just do it inline.  We should have a separate adhoc process, which could do the "full sync" if there was a circumstance where they got out of date, but that would only happen for non-workflow result commits.

For that matter, the progress.json file could be done the same.

Looks like you've done some of this already

Perhaps process_suburb() should be responsible for updating the output directly, and not need an external write_results_json().

In https://github.com/LukePrior/nbn-upgrade-map/pull/195 I've made the main result-processing cycle update the combined-suburbs.json and  progress.json directly.

I think this can be closed


Switch collections table search to use an explicit submit button instead of debouncing

Description
To avoid issues with users typing an invalid character that gets sent to the server when the debounced input is slowed, as well as to avoid sending too many requests to the server in general, the search-as-you-type inputs in the collection section have been changed to use a search input with button as described in the PF docs.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
On the main collection's table, enter a value in the search bar and stop typing. The results should not immediately update.

Pressing the "enter" key, or clicking the arrow search icon attached to the input will trigger the search:

The input can be fully cleared and the search reset by clicking the "X" close button attached to the input, which then disappears after click.

The collection attachment table will use the same search functionality:

The results panel will use the same search functionality:

Current dependencies on/for this PR:

master

PR #4251

PR #4363
PR #4305

PR #4361

PR #4395

PR #4398   👈

PR #4312

PR #4281

This comment was auto-generated by Graphite.

@alanonthegit just tagging you for awareness since we discussed this briefly last week. This should help address the issue of invalid characters that are unintentionally sent to the backend while a user is typing, as well as send less requests to the backend in general.

Thanks Dave. It looks good from the screenshots.


add 30230 stATOM/ATOM STRD gauge

add gauge id 30230 for stATOM/ATOM pool, 466k STRD

@asalzmann if there are expired gauges, could you help out and please remove them? Thanks

@asalzmann please address the conflicts

resolved conflicts and removed the stale gauges


io.sails.connect() cannot connect to multiple hosts, does not queue requests

Sails version: N/A
Node version: N/A
NPM version: N/A
DB adapter name: N/A
DB adapter version: N/A
Operating system: Windows

This issue is related to the sails.io.js library. We are using it on the front end along with webpack to connect via ws. We've recently added a separate server that is also ws enabled. Now, we are trying to setup the front end socket client to connect to BOTH ws enabled servers:
What we tried:
Using the documentation, here is the code we tried (dumbed down to convey the essence):
import socketIOClient from 'socket.io-client';
import sailsIOClient from 'sails.io.js';

const io = sailsIOClient(socketIOClient);
io.sails.autoConnect = false;
window.s1 = io.sails.connect(url1, {transports: ['websocket']});
window.s2= io.sails.connect(url2, {transports: ['websocket']});

window.s1.get('/Account/' + this.accountId + '/Subscribe', {}, (resData, jwRes) => {
    ...
});
window.s2.get('/Account/' + this.accountId + '/Subscribe', {}, (resData, jwRes) => {
    ...
});

Basically, we are connecting to the two hosts and then immediately sending a connection on both sockets.
Expected result:
Ideally, both sockets would connect to their respective hosts and then, after successful connection, send the messages (which the client is supposed to queue until it successfully connects).
Actual observed result:
Instead, two problems occur:

Observing in the network tab, we see two ws connections established with the SAME host url2.
Even after successful connection, the requests (that should have been queued up) are not sent on EITHER socket (i.e. no requests to '/Account/' + this.accountId + '/Subscribe' are made via the ws connections).

Questions
We have the following questions:

How does one use the sails.io.js client library to connect to multiple hosts?
When using the manual connect method, how does one issue a request immediately once the socket is connected?

Thanks in advance

@istrau2 Hey, I haven't tried this myself but in case this helps, here's the relevant source code:
https://github.com/balderdashy/sails.io.js/blob/88b96ea019db4a03a1fb5fff0600dc7fd23f7862/sails.io.js#L635-L1045
Thanks for taking the time to put this together so coherently, much appreciated! 👍

@johnabrams7 Hi, thanks for response. Can you please expand a little bit on the source code that you linked to?
It looks like the source to the sails.io.js library...

@istrau2 looks like conceptually that usage should work. To diagnose what's going on, it'd be great if you would provide your version info for:
- sails

sails-hook-sockets
socket.io-client,
sails.io.js

Thanks!

@rachaelshaw I solved this a while ago so I don't recall the exact solution. I am pretty sure the issue is that the sockets need to be connected in series.
Something like:
//connect socket one
socketOne.on('connect', function() {
          //connect socket two
});

Otherwise the sails socket client gets confused.

@istrau2 thanks for sharing your solution!


Make the CLI interface smarter

Currently, we need to add exact paths in the cli. See this python3 starfyre --dev=True --path="/Users/sanskar/repos/starfyre/test-application/" && python -m starfyre --build=True --path="/Users/sanskar/repos/starfyre/test-application/"
Make this cli more human friendly.

remove the need to pass =True
make this sequential invocation into a single command
make the --path smarter

From our readme
Run the script `./build.sh`. This command will run the build process in starfyre against the test application in `test-application` directory.
  - The `build.sh` file is a simple script that runs two commands sequentially.
    - `python -m starfyre --dev=True --path="test-application/"`
    - `python -m starfyre --build=True --path="test-application/"`
        - The `path` variable here is the path to our application.
        - The `dev` flag here is used to start the compilation and create the `build` directory.
        - The `build` directory is basically a python package that contains all the compiled files. We use the `--build` flag to run that package.

These both commands should be a single command by default.

More information regarding each points

remove the need to pass=True

You need to specify --dev=True or --build=True. Ideally a good interface would be python -m starfyre --dev. i.e. if the flag is not passed then it is false, otherwise, it is true.
Also, we not should require to call two different commands - --dev and --build. We can merge them in a single command `python -m starfyre --build --path="test-application/"
Finally, we are having to specify a / at the end of the path, which is not ideal. We should also be defaulting the path variable to the current directory. So, strip the need to specify / at the end and default it to the current directory.

Thanks for more explanation.


what is the client_secrets.json in the get started guide.

I already have cloud platform account and run sample data flow. I could not figure out what the client_secrets.json is in the get started guide.

Seems these instructions were lost in the upgrade to our new landing page. We will restore those ASAP; in the meantime:

Create a Genomics enabled project via http://cloud.google.com/console/project.
Click APIs & auth > Credentials on the left hand side.
Click Create new client ID.
On the Content screen page, fill out the required information and click Save.
Under Application type, select Installed application.
Under Installed application type select Other.
Click Create Client ID.
Under Client ID for native application, click Download JSON.
Rename the downloaded file to client_secrets.json and copy it to the directory where you installed the Genomics tools.

@jasonzhang2022 thanks for your question and sorry for the trouble!  We've restored the correct link to the instructions for client_secrets.json.


Format Error Decoding APNG

The image in question (NSFW): http://0x0.st/ipcn.png
Reposting from https://hierophant.club/q/19#124:

The image in question had these chunks:
0 0x00000008      13 b'IHDR' 0xAD8152DD
1 0x00000021       6 b'bKGD' 0xF943BB7F
2 0x00000033       8 b'acTL' 0xB42DE9A0
3 0x00000047    8192 b'IDAT' 0xCA032E99
4 0x00002053    8192 b'IDAT' 0x8A463FCA
5 0x0000405F    8192 b'IDAT' 0xB2F86ABA
6 0x0000606B     132 b'IDAT' 0x868F6C4D
7 0x000060FB      26 b'fcTL' 0xBB744D2E
8 0x00006121 3224104 b'fdAT' 0x64BB731A
9 0x00319355       0 b'IEND' 0xAE426082

Sequence number 0 is in the fcTL at 0x000060FB+8. Sequence number 1 is in the fdAT at 0x00006121+8. These are all the sequence numbers. The error contains #1811166872 which is 0x6bf43698. Those bytes only appear in the image at 0xe129. The offset from sequence number 1 is 0x8000=2^15. So image:: 116 took the fdAT length of 3224104, clamped it to 2^15(-12) and looked for the next non-existent sequence number there, even though there is no new chunk there at all. This clamping cannot be accidental and should be easy to spot.

And from https://hierophant.club/q/19#129:

Here's what happens. In an APNG the fcTL and fdAT chunks have a sequence number in their first four payload bytes. One sequence number per chunk. By contrast, the code reads a sequence number at the start of every fdAT PartialChunk, not just the first one. This is insane because from the second one we're inside the deflate stream. The progression of states through goto! is PartialChunk → DecodeData → ReadChunk → PartialChunk. The solution is to differentiate between the first PartialChunk and subsequent ones, such as by introducing a flag that tells a PartialChunk whether it is the first one, and only read one sequence number per fdAT. The IDAT branch has the same issue but there it is harmless because all it does is set have_idat, which is idempotent.

Thanks!

The debugging already helps a lot with an issue of APNG decoding. This might be actually related to another issue we were having :+1:

Can you check if this is fixed by #210 ? This should also add/fix some more about apng frames, not only when the initial IDAT is used as a as a thumbnail. This means the caller needs to take care of assembling, overlaying, and disposing frames in the animation but the pixels and the frame meta data should be returned correctly.

Yep, that fixes the issue. Thanks for the quick response.

Is the newest release (0.16.4) enough, it likely is for fixing the thumbnail, or do you specifically rely on the follow-ups in the outstanding PR?

Yeah, I tested 0.16.4 and can confirm that it fixes the problem.


Fix for r2 to r1 application forms

See Defect : Application form processing changing from R2 to R1 shows incorrect result
[delivers #102991658]

Turns out that this also resolves Defect: Check details page showing wrong copy when switching savings and investments
[finishes #102996704]

Passed testing.go go go

Discussed with other dev and happy to push


Method textDocument/documentColor not supported

It seems like glsp does not implement this method?
I used the minimal example, added textDocument sync methods (like open close etc), and then wanted to do simple color highlighting of some keywords in my language.
So I implemented the and added the functions TextDocumentColor and TextDocumentColorPresentation to the protocol.Handler, but vscode gives me the error message
Request textDocument/colorPresentation failed.
    Message: method not supported: textDocument/documentColor
    Code: -32061

I looked into the source code of this package and infact it implements method textDocument/color and not textDocument/documentColor as stated in the specification
It is likely that this is an Issue in my code, but maybe it is in the package.
Can you look into it? Maybe it is just a typo in textDocument/color which should have been textDocument/documentColor.

Ok, I forked your repo and changed line 2077 in language-features.go from "textDocument/color" to "textDocument/documentColor" which fixed my issue.
Can you fix this? Or should I make a pull request?

It looks like you found a bug. So, the nice thing to do would be to fix it for everyone. :) If you are confident in the fix, please do make a pull request! Thanks in advance!

I created a pull request.
It is a one-line fix, so you might not need to review it, but maybe do it to be sure? Up to you, but it should not break anything.


AUR package

This is totally a nice to have and a low priority thing but an AUR package could make it easier for linux users to install Bruno.
https://aur.archlinux.org/
https://wiki.archlinux.org/title/AUR_submission_guidelines

I created a PKGBUILD and submitted an AUR package using the AppImage:
bruno-appimage
@helloanoop or any other contributor, feel free to take ownership or become a maintainer if you want to.

Thanks for this @robertoszek !
Will take a look at this shortly

Hi,
I've also created bruno-electron as a fork has chosen to drop nvm and properly depend on electron for users who may already use system electron bundled apps like discord_arch_electron or discord-canary-electron-bin.
As mentioned by @vbouchaud, AUR packages are opinionated user produced content. So not everyone may agree with my decisions here either.
I've chosen to remove nvm in favor of a Node v18 or higher version check. Removing nvm drops the dependency on yarn allowing the package to be installed without using --assume-installed (ie: paru --assume-installed yarn bruno) and removing nvm expects the user to have any Node greater than or equal to 18. I'm a lot newer at maintaining PKGBUILDs but did still want to provide a smoother install experience. I'd be also happy to provide a bruno-electron-git

In response to the recently added publishing.md, I would like to know how you'd like bruno-electron to continue. I'm sure @vbouchaud will also need you here.
Please advise @helloanoop, I personally will keep bruno-electron at v0.25.0 until then.

Hey @DeJayDev Thank you for getting in touch 💛
I understand that unlike other operating systems, Arch is a unique case, offering significantly more flexibility when it comes to configuring various aspects.
I'll comeback to this in 2 weeks, until then you can continue things as is.
Here is my rough plan

I'd like to assume ownership over the main bruno package in AUR cc @vbouchaud
Explicit permission will be granted to maintain and publish certain builds under bruno-* for some maintainers in AUR community.

@DeJayDev please continue maintaining your bruno-electron package by updating it with new versions. We can connect back on this in 2 weeks time (where I will put your package up on the site download page mentioning the grant of explicit permission to maintain your version). I am bit occupied this week with upcoming 1.0.0 release activities.

Hi @helloanoop
No problem, let me know which AUR username I should give ownership too.


session-markers-minion overriding opts for func-tests-minion

If you run the test_refresh_db test individually on the head of master of Salt you will get a failure:
nox -e 'pytest-zeromq-3(coverage=True)' -- tests/pytests/functional/modules/test_pkg.py::test_refresh_db --run-slow --run-destructive
    @pytest.mark.destructive_test
    @pytest.mark.requires_salt_modules("pkg.refresh_db")
    @pytest.mark.slow_test
    @pytest.mark.requires_network
    def test_refresh_db(grains, modules, tmp_path, minion_opts):
        """
        test refreshing the package database
        """
        rtag = salt.utils.pkg.rtag(minion_opts)
        salt.utils.pkg.write_rtag(minion_opts)
        assert os.path.isfile(rtag) is True

        ret = modules.pkg.refresh_db()
        if not isinstance(ret, dict):
            pytest.skip("Upstream repo did not return coherent results: {}".format(ret))

        if grains["os_family"] == "RedHat":
            assert ret in (True, None)
        elif grains["os_family"] == "Suse":
            if not isinstance(ret, dict):
                pytest.skip("Upstream repo did not return coherent results. Skipping test.")
            assert ret != {}
            for source, state in ret.items():
                assert state in (True, False, None)

>       assert os.path.isfile(rtag) is False
E       AssertionError: assert True is False
E        +  where True = <function isfile at 0x7fabf6c88280>('/tmp/stsuite/func-tests-minion/cache/pkg_refresh')
E        +    where <function isfile at 0x7fabf6c88280> = <module 'posixpath' from '/home/ch3ll/.pyenv/versions/3.8.6/lib/python3.8/posixpath.py'>.isfile
E        +      where <module 'posixpath' from '/home/ch3ll/.pyenv/versions/3.8.6/lib/python3.8/posixpath.py'> = os.path

The reason for this failure is __opts__ changes here: https://github.com/saltstack/salt/blob/master/salt/modules/aptpkg.py#L524
from /tmp/stsuite/func-tests-minion/cache/pkg_refresh to /tmp/stsuite/session-markers-minion/cache/pkg_refresh.
If found out the session-markers-minion is getting set here: https://github.com/saltstack/pytest-salt-factories/blob/master/src/saltfactories/plugins/markers.py#L48
If I remove the refresh_db call here: https://github.com/saltstack/salt/blob/master/tests/pytests/functional/modules/test_pkg.py#L42 it begins to pass again.
@s0undt3ch any ideas why this is occurring? I'm not certain its an issue with pytest-salt-factories or the test suite in Salt.
I'll keep diving into it, but would appreciate any early insight you might have.

The reason why this happens is because we're not passing loaded_base_name to Salt's loaders.
Some of the loaders don't even support passing that keyword argument.
So, what happens is, the last loaded loader will prevail as a python imported module, and whatever __opts__ that module gets injected, rules.
In this particular case, because our session-markers-minion gets loaded after the functional loaders, the functional loaders will get the wrong options.


Biopython complains about PomBase chromosome contig

Extra space in the first row before 20128BP.

removed.

OK, fixed correctly.
If the update runs it should be  updated on the FTP site overnight.
The update frequency might be a little less while @kimrutherford  is away

Hi @ValWood I am checking other things, and noticed that certain genome coordinates do not match in the pombe-embl files and the FTP server. Example:
FTP > chromosome1

FT   CDS             5064305..5066231
FT                   /colour=13
FT                   /controlled_curation="term=wtf element;
FT                   db_xref=PMID:12952871; date=20070223"

pombe-embl > chromosome1

FT   CDS             join(5064781..5064919,5065087..5065332,5065380..5065610,5065652..5065705,5065760..5065836)
FT                   /colour=13
FT                   /controlled_curation="term=wtf element;
FT                   db_xref=PMID:12952871; date=20070223"

@kimrutherford
maybe the ftp site is not updating:
/systematic_id="SPAC2E12.05"
/controlled_curation="term=warning, gene structure updated; db_xref=PMID:28631610; date=20200501"

It looks OK to me: https://www.pombase.org/nightly_update/pombe-embl/

Hi Val,

[Chromosome contigs] in enriched EMBL-based format for loading into Artemis
https://www.pombase.org/data/genome_sequence_and_features/artemis_files/

These are the ones I downloaded, and they are different in the FTP server compared to svn as in the comment above. You can double-check on your side for chromosome1 wtf element.

I think the header might cause problems for Artemis

Artemis should ignore any header lines.  It can read standard EMBL/Genbank entries, including the header.

OK, got it, it says on the downloads page
https://www.pombase.org/downloads/genome-datasets

It's here if you'd like to edit it:
https://github.com/pombase/website/blob/master/src/docs/downloads/genome-datasets.md
I suggest we link to the files in the release directory: https://www.pombase.org/releases/latest/pombe-embl/

I'm. a bit confused. @manu which files are you using on the FTP directory?

I was using these:
https://www.pombase.org/data/genome_sequence_and_features/artemis_files/
From what Kim is saying I gather that the latest version is always:
https://www.pombase.org/releases/latest/pombe-embl/
I think we should remove the other contig files or put them somewhere where it is clear that they are previous versions.

https://www.pombase.org/data/genome_sequence_and_features/artemis_files/
should also be the current versions shouldn't they @kimrutherford
(we can sort this when you get back)

I will add this to the agenda for Monday

I think we should remove the other contig files or put them somewhere where it is clear that they are previous versions.

I agree.

should also be the current versions shouldn't they

I think it was copied over from the Ensembl version of PomBase.
It's just a copy of this SVN directory: pombe-embl/ftp_site/pombe/genome_sequence_and_features/artemis_files/

Extra space in the first row before 20128BP.

@kimrutherford this change is in the last svn revision but not in https://www.pombase.org/releases/latest/ this is done monthly, I guess?

this is done monthly, I guess?

Yep, it's monthly.  Usually the release is done on the 1st day of the month, unless there's a problem with that night's load.
https://github.com/pombase/pombase-chado/wiki/Monthly-releases


Add information to fuzzer README how correctly report problems found by this tool

After downloading fuzz corpus, I run command cargo fuzz run -s none ruff_fix_validity -- -timeout=200 and file with invalid content was created:
from twr import (_fter,
  noqa_l)

which panics with message(I see this in fuzzer output)
thread '<unnamed>' panicked at 'attempt to subtract with overflow', /home/rafal/test/ruff/crates/ruff/src/noqa.rs:67:13
stack backtrace:
   0: rust_begin_unwind
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:593:5
   1: core::panicking::panic_fmt
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panicking.rs:67:14
   2: core::panicking::panic
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/panicking.rs:117:5
   3: ruff::noqa::Directive::try_extract
             at /home/rafal/test/ruff/crates/ruff/src/noqa.rs:67:13
   4: ruff::noqa::rule_is_ignored
             at /home/rafal/test/ruff/crates/ruff/src/noqa.rs:217:11
   5: ruff::checkers::ast::Checker::rule_is_ignored
             at /home/rafal/test/ruff/crates/ruff/src/checkers/ast/mod.rs:163:9
   6: ruff::rules::pyflakes::rules::unused_import::unused_import
             at /home/rafal/test/ruff/crates/ruff/src/rules/pyflakes/rules/unused_import.rs:131:12
   7: ruff::checkers::ast::analyze::deferred_scopes::deferred_scopes
             at /home/rafal/test/ruff/crates/ruff/src/checkers/ast/analyze/deferred_scopes.rs:303:17
   8: ruff::checkers::ast::check_ast
             at /home/rafal/test/ruff/crates/ruff/src/checkers/ast/mod.rs:1999:5
   9: ruff::linter::check_path
             at /home/rafal/test/ruff/crates/ruff/src/linter.rs:154:40
  10: ruff::test::test_contents
             at /home/rafal/test/ruff/crates/ruff/src/test.rs:135:9
  11: ruff::test::test_snippet
             at /home/rafal/test/ruff/crates/ruff/src/test.rs:98:5
  12: ruff_fix_validity::do_fuzz
             at ./fuzz_targets/ruff_fix_validity.rs:22:13
  13: rust_fuzzer_test_input
             at /home/rafal/.cargo/git/checkouts/libfuzzer-14de4ab4c067ed36/c9c43f3/src/lib.rs:297:60
  14: libfuzzer_sys::test_input_wrap::{{closure}}
             at /home/rafal/.cargo/git/checkouts/libfuzzer-14de4ab4c067ed36/c9c43f3/src/lib.rs:61:9
  15: std::panicking::try::do_call
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:500:40
  16: std::panicking::try
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panicking.rs:464:19
  17: std::panic::catch_unwind
             at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/panic.rs:142:14

I tried to reproduce crash by typing
ruff fuzz/artifacts/ruff_fix_validity/crash-e85787f399673a --fix --select ALL,NURSERY

but I got completely normal messages without any crash
artifacts/ruff_fix_validity/crash-e85787f399673a898d8551c308c065945de1c21c:1:1: D100 Missing docstring in public module
artifacts/ruff_fix_validity/crash-e85787f399673a898d8551c308c065945de1c21c:1:1: CPY001 Missing copyright notice at top of file
Found 4 errors (2 fixed, 2 remaining).

So instruction probably should contains info what to do to properly reproduce problem without fuzzer
https://github.com/astral-sh/ruff/blob/main/fuzz/README.md

cc @addisoncrump

You can just specify the file after: cargo fuzz run -s none ruff_fix_validity <path/to/artifact>
Currently we use the same test pass/fail as ruff::test::test_snippet, which noticeably has some things missing (e.g. we could not reproduce some of the recently opened fuzzer-found issues with test_snippet, only with the ruff frontend) and has some things that are not caught by the ruff frontend. We should probably try to unify the test pass/fail conditions with the frontend's. I'll put that in the same PR as the README addition.

Was this suitably addressed?

Let's assume it is. We can re-open it if the question pops up again or create a new issue for it.


[Question]How can I show "pretty logging with colors" in the GUI? (hashtag660)

Loguru's color logging is very pretty. Can I use it in the GUI to display colored info?
I tried to "redirect" the stdout to a Text control and it (of course) does not display colors.
What can I do? (sorry this is not an issue, and sorry for my bad English)

import tkinter as tk
import sys
from loguru import logger
class ExampleApp(tk.Tk):
def init(self):
tk.Tk.init(self)
self.text = tk.Text(self)
self.text.pack()
    hashtag stdout redirect
    sys.stdout = TextRedirector(self.text, "stdout")

    hashtag add an logger (without remove ,for compare)
    logger.add(sys.stdout, level="TRACE")

    hashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtagTESThashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtag
    print ("print to  stdout")        hashtag print
    logger.error("log to stdout ")    hashtag loguru
    hashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtaghashtag

class TextRedirector(object):
hashtag thanks to Bryan Oakley's answer at
def init(self, widget, tag="stdout"):
self.widget = widget
self.tag = tag
def write(self, str):
    self.widget.configure(state="normal")
    self.widget.insert("end", str, (self.tag,))
    self.widget.configure(state="disabled")

app = ExampleApp()
app.mainloop()

Please, re-open the issue if my answer did not solve your issue.


[nebula] change to new API URL, fix up tests

Fixes #7017
Nebula changed to a new API URL. Original patch was by @Lamieur on issue #7017, I've fixed up the tests, however I'm still getting errors that I cannot explain, because the .mp4 I'm getting when calling yt-dlp on the URL has a reasonable size and plays just fine.
(Redacted some of the URLs because Nebula needs a username and password.)
$ python test/test_download.py TestDownload.test_Nebula
[debug] Loaded 1823 extractors
[Nebula] Logging in to Nebula with supplied credentials
[Nebula] Authorizing to Nebula
[Nebula] Extracting URL: https://nebula.tv/videos/that-time-disney-remade-beauty-and-the-beast
[Nebula] that-time-disney-remade-beauty-and-the-beast: Fetching video meta data
[Nebula] that-time-disney-remade-beauty-and-the-beast: Fetching video stream info
[Nebula] that-time-disney-remade-beauty-and-the-beast: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] 84ed544d-4afd-4723-8cd5-2b95261f0abf: Downloading 1 format(s): 2508
[info] Writing video metadata as JSON to: test_Nebula_84ed544d-4afd-4723-8cd5-2b95261f0abf.info.json
[debug] Invoking hlsnative downloader on "https://media-production.nebula.app/[…some long ID…]/nebula-content/videos/lindsayellis/that-time-disney-remade-beauty-and-the-beast/video_upload:5603accc-90e2-49ea-b39f-be4fbe6e4831/video/avc1/1/media.m3u8"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 369
[download] Destination: test_Nebula_84ed544d-4afd-4723-8cd5-2b95261f0abf.mp4
[download] 100% of    756.00B in 00:00:00 at 7.71KiB/s
F
======================================================================
FAIL: test_Nebula (__main__.TestDownload):
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/rohieb/projects/yt-dlp/test/test_download.py", line 228, in test_template
    assertGreaterEqual(
  File "/home/rohieb/projects/yt-dlp/test/helper.py", line 293, in assertGreaterEqual
    self.assertTrue(got >= expected, msg)
AssertionError: False is not true : Expected test_Nebula_84ed544d-4afd-4723-8cd5-2b95261f0abf.mp4 to be at least 9.77KiB, but it's only 756.00B

----------------------------------------------------------------------
Ran 1 test in 4.961s

FAILED (failures=1)

Description of your pull request and other information
Template
Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)
[x] I am not the original author of this code and I would like @Lamieur to release his three-line patch under Unlicense

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at 36ce55c
Summary
🌐🔢📚

Update the Nebula extractor to support the latest API and content changes. Fix the test cases for nebula.py.

Oh, we're the crew of the NebulaIE
And we sail the web for videos to see
We've changed our domain and our ID
So haul away and update the test cases with me

Walkthrough

Update Nebula API domain to content.api.nebula.app (link, link)
Use id field instead of zype_id field for video ID (link, link, link, link, link)
Update test case metadata to match new Nebula content structure (link)

Tested this patch applied on top of latest stable (2023.03.04), Python 3.10, NixOS. Confirmed that nebula.tv downloads work again.

It looks like the zype_id (old video ID value) is still available for some videos in the _fetch_video_metadata response.
For example, https://nebula.tv/videos/tldrnewseu-did-the-us-really-blow-up-the-nordstream-pipelines (JSON truncated down to the relevant parts):
{
  "id": "video_episode:e389af9d-1dab-44f2-8788-ee24deb7ff0d",
  "type": "video_episode",
  "slug": "tldrnewseu-did-the-us-really-blow-up-the-nordstream-pipelines",
  "title": "Did the US Really Blow Up the NordStream Pipelines?",
  "zype_id": "63f64c74366fcd00017c1513"
}

We could try to (non-fatally) extract zype_id and return it in the info_dict as
'_old_archive_ids': [make_archive_id(self, zype_id)],

@bashonly Like that?

please avoid force-pushing in the future

Hmm okay, different projects seem to have different workflows in that regard. But thanks for fixing the issues, @bashonly!

Tested out the PR and it appears that downloading just the audio is buggy.
Following command:
yt-dlp --netrc -f "ba" "https://nebula.tv/videos/tldrnewseu-why-has-the-rightwing-afd-become-so-popular-in-germany"
Will just download the audio fine, but it will keep it named as .m3u8 which is wrong (it should be .m4a or whatever audio format video has).
Not sure if this is out of scope, just wanted to mention it. I can create a new issue if desired.

@matejdro the master m3u8 for that video does not have any codec information for the audio track, and there is no default extension set in the arguments for _extract_m3u8_formats_and_subtitles
I think this is the best we could do, which will result in an .mp4 download instead of .m3u8:
     def _fetch_video_formats(self, slug):
        stream_info = self._call_nebula_api(f'https://content.api.nebula.app/video/{slug}/stream/',
                                             video_id=slug,
                                             auth_type='bearer',
                                             note='Fetching video stream info')
         manifest_url = stream_info['manifest']
-        return self._extract_m3u8_formats_and_subtitles(manifest_url, slug)
+        return self._extract_m3u8_formats_and_subtitles(manifest_url, slug, 'mp4')


Allow clients to specify idle connection pool size

On its own, this patch doesn't enable pool sharing since Conn isn't thread-safe. I have another pull request for thread-safety, but it's a :fire: breaking change :fire: so I'm posting it separately.

hi @paulrosania - since these changes are breaking, it will take me a little more time to review.
Thanks for your contribution!

Thanks Matt, no problem. This one (#164) and #163 aren't breaking, but #165 is. If you want to merge #163 and #164 it will make analyzing #165 easier, or you can just close these two and take a look at that one. I broke them up a bit since I figured #165 might take more time. :)

Just a heads up, I spent some time tonight resyncing this with master.
It's now slightly breaking, since 4919b6d5f6d74fe7b236da17b27b0d9534d9f913 created a public http.Client in Request. (I couldn't figure out why you would want this, so I removed it. It seemed unrelated to the rest of the commit, and increased API surface area unnecessarily.)


Consider making brew --help show man brew output

The output of man brew is much more complete and helpful at this point than brew --help. We should consider making it shown on brew --help.

I'm unsure about this. There's an ocean of information in man brew and I'm not sure that isn't overwhelming to suddenly encounter. To me brew --help is largely there to explain the basic commands & nudge towards more detailed help where necessary, which is more or less what we already do.
Would like to see some more user feedback before changing this, but it's not something I'm going to die on a hill over if others are particularly passionate about the proposed change.

Arguably we could put the brew --help output at the top of man brew. git --help is an example that outputs the manpage.

Looking at the output between man git and git --help I see the similarities, but the latter seems quite a bit more summarised/compressed than the full man output?

I'm wrong and was thinking of git subcommands where it's the same, ignore me. Perhaps we could just fill out our --help to provide a description of what each command does?

I'm not sure how helpful brew --help is for new users, but I always liked that it is brief. While it doesn't formally explain the brew invocation it does so by example and doesn't fail to point out that there's a man page and command-specific help via brew help COMMAND. The latter is identical to the command-specific information in the man page. Only the more general usage instructions also contained in the man page are missing.

I'm wrong and was thinking of git subcommands where it's the same, ignore me.

We could consider moving to a per-command model like Git uses, but I'm not sure whether the comparatively low complexity of most of our commands (or sometimes just the brevity of our documentation) would make this look silly. One advantage of individual man pages is that this results in more seamless integration of help provided by external commands, brew cask and the accompanying brew-cask(1) man page probably being the most prominent example.

Perhaps we could just fill out our --help to provide a description of what each command does?

Do you have certain entries in mind where you feel they are non-obvious? I just checked the printed list and all of the terminology (in the name of the command) from “Example usage” felt natural, particularly if one is already familiar with a different package manager. Someone less familiar might have trouble telling apart update and upgrade (and maybe search and list).

The output of man brew is much more complete and helpful at this point than brew --help.

I'd always thought this was by design. I've gotten used to brew --help being a hit-the-ground-running primer as opposed to complete documentation and I think that's still a fine decision. I don't have very strong feelings.

(From a user’s perspective:) I believe that it is unconventional to blend --help and man, because both have distinct and expected purposes which were already touched upon by others. --help is supposed to be a quick-start guide or cheat sheet, whereas man is a more extensive manual. I do not recall any CLI program, on Mac or Linux, that does this and I would find it undesirable to not have the advantage of --help. I personally do not see a compelling reason to go against the grain here, given that --help mentions man brew and brew help [command] explicitly anyway. I have no opinion on a more fleshed-out brew help, as long as --help and man stay true to what they are generally used for.

Passing on this.


QiskitError on the data parity function of the pennylane tutorial

I'm trying to reproduce the data parity variational classifier of pennylane's tutorial collection on the qiskit aer simulator backend,  the following line of code specifies the backend:
dev = qml.device('qiskit.aer', wires=4)

This is the variational architecture I'm using, plus the basic data encoding technique BasisState for the bitstring data:
def layer(W):
    qml.Rot(W[0, 0], W[0, 1], W[0, 2], wires=0)
    qml.Rot(W[1, 0], W[1, 1], W[1, 2], wires=1)
    qml.Rot(W[2, 0], W[2, 1], W[2, 2], wires=2)
    qml.Rot(W[3, 0], W[3, 1], W[3, 2], wires=3)

    qml.CNOT(wires=[0, 1])
    qml.CNOT(wires=[1, 2])
    qml.CNOT(wires=[2, 3])
    qml.CNOT(wires=[3, 0])

def statepreparation(x):
    qml.BasisState(x, wires=[0, 1, 2, 3])

I get the following the error when I execute the training loop part:
QiskitError: "Cannot unroll the circuit to the given basis, ['u1', 'u2', 'u3', 'cx', 'cz', 'cu1', 'id', 'x', 'y', 'z', 'h', 's', 'sdg', 't', 'tdg', 'ccx', 'swap', 'multiplexer', 'snapshot', 'unitary', 'reset', 'initialize', 'kraus', 'roerror']. No rule to expand instruction basis_state."
I sense that the qml.Rot, i.e. the  single arbitrary qubit rotation, is not supported by the Qiskit plugin.
Desktop

OS: Ubuntu 18.04
Version 0.5.1 (pennylane-qiskit)

Hi @RicardoGaGu! Can I ask what version of Qiskit you have installed, and what version of PennyLane? The PennyLane-Qiskit plugin defines a custom Rot gate that should be qiskit-compatible, so this is a strange error.

Sorry for the delay Josh!
Here are the versions of the libraries you asked:

Qiskit version  0.9.0

Pennylane version 0.5.0

Hi @RicardoGaGu, can you try upgrading to the latest version of Qiskit (v0.13) and the latest version of PennyLane and PennyLane-Qiskit?
pip install qiskit pennylane pennylane-qiskit --upgrade

Let me know if that works for you.

Same tolerance issue with the following libraries installed in my jupyter kernel:

Qiskit version  0.10.0

Pennylane qiskit plugin 0.6.0

Pennylane version 0.6.0

Thanks @RicardoGaGu --- we are looking into the tolerance issue here: https://github.com/XanaduAI/pennylane/issues/365, hopefully we should have a bug fix worked out soon.
In the meantime, does this fix the issue with No rule to expand instruction basis_state."? The following code works for me:
import pennylane as qml
dev = qml.device('qiskit.aer', wires=4)

def layer(W):
   qml.Rot(W[0, 0], W[0, 1], W[0, 2], wires=0)
   qml.Rot(W[1, 0], W[1, 1], W[1, 2], wires=1)
   qml.Rot(W[2, 0], W[2, 1], W[2, 2], wires=2)
   qml.Rot(W[3, 0], W[3, 1], W[3, 2], wires=3)
   qml.CNOT(wires=[0, 1])
   qml.CNOT(wires=[1, 2])
   qml.CNOT(wires=[2, 3])
   qml.CNOT(wires=[3, 0])

def statepreparation(x):
    qml.BasisState(x, wires=[0, 1, 2, 3])

@qml.qnode(dev)
def circuit(W, x=None):
    layer(W)
    statepreparation(x)
    return qml.expval(qml.PauliZ(0))

W = np.random.random(size=[4,4])
print(circuit(W, x=np.array([1, 0, 1, 1])))

and gives the output 0.3359375

Oh yes! Sorry I was executing the amplitude normalization example thinking this was the therad for this issue.
Your example gives me the following error:
DeviceError: Operation BasisState cannot be used after other Operations have already been applied on a qiskit.aer device.
Which is solved by putting the statepreparation(x) before the layer(W). Then the outputs keep changing because the layers rotation angles are generated randomly! :) , with a seed should be fixed. The No rule to expand instruction basis_state does not appear any longer.
For the data parity

Oh yes! Sorry I was executing the amplitude normalization example thinking this was the therad for this issue.
Your example gives me the following error:
DeviceError: Operation BasisState cannot be used after other Operations have already been applied on a qiskit.aer device.
Which is solved by putting the statepreparation(x) before the layer(W). Then the outputs keep changing because the layers rotation angles are generated randomly! :) , with a seed should be fixed. The No rule to expand instruction basis_state does not appear any longer.
For the data parity function, I'm still getting the same error even though the kernel has been updated, let me investigate further.
Thank you very much!

Oh yes! Sorry I was executing the amplitude normalization example thinking this was the therad for this issue.
Your example gives me the following error:
DeviceError: Operation BasisState cannot be used after other Operations have already been applied on a qiskit.aer device.
Which is solved by putting the statepreparation(x) before the layer(W). Then the outputs keep changing because the layers rotation angles are generated randomly! :) , with a seed should be fixed. The No rule to expand instruction basis_state does not appear any longer.
For the data parity function, I'm still getting the same error even though the kernel has been updated, let me investigate further.
Thank you very much!

DeviceError: Operation BasisState cannot be used after other Operations have already been applied on a qiskit.aer device.

Oops! That was a typo on my behalf. I've edited my comment to switch the order :)

HI @josh146 , could you try the data parity variational circuit training on qiskit.aer device in your environment/kernel, I'm having the Cannot unroll the circuit to the given basis issue even though your example works fine, they have the same single-qubit rotation and two-qubit entangling gates architecture.

Ok, I found the problem! The data input:
the input x = [0,0,0,0,0] produces the Cannot unroll the circuit to the given basis. Applyng layer(w) to the all-zero state seems that produces this issue.

Ah, that sounds like a bug in how PennyLane-Qiskit defines the basis state operation; we likely need to have an if-else in case the ground state is passed.

Hi @RicardoGaGu, thanks for your question! In PR [#60], this issue has been resolved and now it is specifically tested if BasisState receives [0, 0, .. 0] as input!