Option to disable "Listed buffers are included in the set of potential counterparts"

I couldn't find how to disable that. First of all it picks wrong buffer with only barely related file name, and second - it doesn't even try to load the right file from the disk.

I couldn't find how to disable that.

That's right, you can't. I'll add a global toggle for it.

First of all it picks wrong buffer with only barely related file name, and second - it doesn't even try to load the right file from the disk.

This sounds like a bug though. Can you provide more information about what files you expected it to have picked and which it ended up picking (in here or in another bug, whichever you prefer)?

I have 3 files in a directory:

file.h
file.cpp
other_file.cpp

I open other_file.cpp and file.h, current buffer is file.h. I do :CounterpointNext expecting to get to file.cpp, but it switches to other_file.cpp. I do :CounterpointNext again, hoping to get back to file.cpp, but it fails with No counterpart available.

https://github.com/jpetrie/vim-counterpoint/commit/7830a8b66ccc11c2e42d8a25645a1765964068f6 (also tagged as 1.4) should address this for you. It reverts the plugin back to the default behavior prior to the commit that added the "include listed" feature, and lets you opt-in to including listed buffers via g:counterpoint_include_listed = 1 in your configuration files. For your use case you shouldn't need to configure anything.
I'll look into the behavior you reported, as that's decidedly not intentional.

Thanks!

Or actually, since you still will fix the behavior, reopened.

https://github.com/jpetrie/vim-counterpoint/commit/27a433f1020eaa0b27de3abbaf6de27630a85d7d should address the incorrect behavior; the problem was that I was using a regex that did not correctly make sure the potential listed buffer matched the current file name, it just needed to end with the current file name.
There's probably still a bug in here where the listed scan is not respecting g:counterpoint_search_depth but I'll track that on its own.


Failure to unwind stack in an after-fork handler

After causing a deadlock in an after-fork handler installed with pthread_atfork, an attempt to unwind that process with pystack remote --native-all is giving me
Engine error: basic_string::_S_construct null not valid

That's happening because dwfl_getthread_frames is not finding any frames, and also not setting dwfl_errno to something non-zero. Interestingly, this doesn't seem to reproduce with eu-stack, so we might be doing something wrong here that's causing this.
#101 fixes the failure mode that we get here, but we should figure out why unwinding is failing, as both gdb and eu-stack succeed.

Oof, I see what we've got wrong:
$ pystack -v remote --native-all 6611 2>&1 | egrep 'tid|thread'
INFO(process_remote): Trying to stop thread 6611
INFO(process_remote): Waiting for thread 6611 to be stopped
INFO(process_remote): Fetching Python threads
INFO(process_remote): Constructing new Python thread with tid 6610
INFO(process_remote): Detaching from thread 6611

That 6610 on the 2nd to last line is the parent process's pid/tid, not the child process's. Since we're inside of fork at this point, we seem to be finding a structure somewhere that still holds the old pid/tid, rather than the new one that we've got after fork. And then unwinding is failing because we're asking libdw to unwind a thread that doesn't exist in this process.


License of code?

Hi!
Thanks a lot for the nice code and paper :)! Really cool work!
I was wondering if I can use parts of the code?
Do you plan to add a license to ease code usage?
Best :)
Felix

Thanks for the comment.  An MIT license has been added.

Great, thanks!


addin getStateUsing() to the docs

pls explain the getStateUsing() in docs :
https://filamentphp.com/plugins/pxlrbt-excel

Not sure whether that really needs explaining. It's the same concept and method name that Filament uses.


Is there a version for RTX3070 with cuda11.1 and pytorch1.7.1

thanks for your work, but when I run your code, I got the problem that the version of my pytorch is not suitable for this program.

@HystericalHilb
Hello, I am also 3090, you have solved the compilation problem

有解决办法吗？我现在也是cuda11，pytorch1.7.1。无法运行！
Do yo solve this problem? I also tried the cuda10.2 and cuda10.1 but compilation still reports errors

有解决办法吗？我现在也是cuda11，pytorch1.7.1。无法运行！

我在3080上复现了，可以参考一下https://blog.csdn.net/dtjun_sjtu/article/details/120577987?spm=1001.2014.3001.5501

有解决办法吗？我现在也是cuda11，pytorch1.7.1。无法运行！

我在3080上复现了，可以参考一下https://blog.csdn.net/dtjun_sjtu/article/details/120577987?spm=1001.2014.3001.5501 I have reappearanced the code on device 3080, the block blog maybe help you. https://blog.csdn.net/dtjun_sjtu/article/details/120577987?spm=1001.2014.3001.5501

Thanks, mate. Although I cannot speak chinese, google translator works good enough.

有解决办法吗？我现在也是cuda11，pytorch1.7.1。无法运行！

我在3080上复现了，可以参考一下https://blog.csdn.net/dtjun_sjtu/article/details/120577987?spm=1001.2014.3001.5501 I have reappearanced the code on device 3080, the block blog maybe help you. https://blog.csdn.net/dtjun_sjtu/article/details/120577987?spm=1001.2014.3001.5501

but some errors still occur,
g++: error: /home/data/cxy/PointRCNN-master/pointnet2_lib/pointnet2/build/temp.linux-x86_64-3.6/src/pointnet2_api.o: no such file or directory
g++: error: /home/data/cxy/PointRCNN-master/pointnet2_lib/pointnet2/build/temp.linux-x86_64-3.6/src/sampling.o: no such file or directory
g++: error: /home/data/cxy/PointRCNN-master/pointnet2_lib/pointnet2/build/temp.linux-x86_64-3.6/src/ball_query.o: no such file or directory
..........
error: command 'g++' failed with exit status 1


Nightly K8s Matrix CI 2023-06-11: Failed

action url: https://github.com/spidernet-io/spiderpool/actions/runs/5237308710

call_k8s_matrix(v1.24.4)

----- check gorouting leak in kube-system/spiderpool-controller-5779c7d9f6-hzd69
maybe goroutine leak, found 302 goroutines in kube-system/spiderpool-controller-5779c7d9f6-hzd69 , which is bigger than default 300

The other e2e case failure reason is the IP GC scan all not works.
Reference issue: https://github.com/spidernet-io/spiderpool/issues/1882

https://github.com/spidernet-io/spiderpool/pull/1883
solved


Change Product Model: Change model on the back end.

At present, the Product model in the front end has changed. Therefore, I need to modify the Product model on the back end to match the front-end input format and meet the client's requirements.

This issue will be redirected to #59.


Deleting / Invalidating Access Tokens

Is there a way to delete access tokens? If an admin blocks a user account through an API, the API should also call a delete_access_token function in Kong, using the authenticated_user_id.
This way, since Kong will immediately block all requests with an invalid token, only the login method in the API will need to check if the account is blocked or not before issuing a new access token.

+1

In this case we delete the consumer credential or we update the ACL for the API.

The idea is that a user could decide to revoke only HIS access tokens. In that case, we don't want to delete the consumer or change the ACL

Also, the user should be able to revoke access tokens for a specific consumer (e.g. A malicious third party service)

:+1: . I think this could a pretty cool feature. Right now I'm thinking of a way to invalidate all access token for an user when he changes a password and a way to invalidate access token based on authenticated_user_id would be super handy.

This will be released in 0.6.0, and the route would be /oauth2_tokens/:id. Methods supported are GET, PATCH, DELETE.

Adding a note to myself to support PUT, and that will likely land into 0.6.1.

Nice!  :rocket:

I confirm PUT support has been implemented and will land in 0.6.1

Are there any plans to allow one to delete tokens through an endpoint that isn't the admin API (ie. one can access /oauth2/token and /oauth2/authorize on any api with OAuth enabled), yet it seems that it isn't possible to delete access/refresh tokens on a normal endpoint. Also, is it possible to delete based on authenticated_userid yet?


image urls relative to page not js

I've tried it  out on a css file containing links to images, but it seems the images try to get loaded relative to the current page and not the js file it loads from.
For example
style.css contains link to image.png. You embed and put in file.js with the r.js optimizer. Now you access www.example.com/foo/bar which loads up the file.js from media.example.com/file.js
The request for image.png is going to www.example.com/foo/image.png and not media.example.com/image.png which is where file.js (and all the other statics) are hosted.

Hi,
i have the same issues. Are there any solutions?


Link demo page in readme

:)

Hi ri0t, thanks for your suggestion. I've added a link to the demo page in the README. In fact I even created a small gh-pages demo page that now shows all the details and is correctly linked.


Don't double JSON-encode the request

This PR should fix #19
Guzzle provides a JSON middleware which is activated by using the json parameter in the request options. That parameter takes an array and then automatically converts it to json (by calling json_encode()).
By removing the extraneous calls to json_encode(), the put() and patch() pass an array to Guzzle which then converts it to valid JSON which is sent to Cloudflare's API endpoints. By having these extra json_encode()s, the string get's "double-JSON'ed" and thus becomes invalid as discovered by some excellent debugging by @CodeBradley.
Let me know if you'd like me to make any changes!

I'm aware the two relevant test cases are failing - here's why: before Guzzle assumed the whole json parameter was just one string and thus returned the body as a string. Since the parameter is now an array and is then transformed into valid JSON, the returned body is also already in JSON.
The way I see it, there are two options:

Adapt the code to be able to work with JSON responses i.e. remove json_decode() wherever necessary.
Change the put() and patch() methods in the adapter i.e. add json_encode() to the return value (only to then call json_encode() again at a later time).

@limenet - The first option seems the most elegant. Providing all the Endpoint classes work fine with objects as responses, I'm happy for you to alter the adapter tests as necessary.

@IcyApril I agree with you, option 1 is more elegant.
Just to double-check: that option would also require a lot of code in the Endpoints namespace (removing json_decode($response->getBody())) to be changed, as $response->getBody() is now already a JSON object (and not a string anymore). I'd be happy to do that.
Furthermore, the Cloudflare\API\Adapter\Guzzle::get() method is now the only method which doesn't return a JSON object but a string. Do you also want me to change that for consistency?

Absolutely happy for you to make these changes @limenet. Your logic is clear, so happy to trust your judgement in this.

@IcyApril thank you for your kind words :)
Turns out, I made a mental mistake when I wrote https://github.com/cloudflare/cloudflare-php/pull/24#issuecomment-334064013 -- all HTTP verb methods (get(), post(), put(), patch(), delete()) in the Guzzle adapter return a ResponseInterface as defined by the Adapter interface (and neither JSON as a string nor as an object as I incorrectly assumed).
(The whole response is only needed for GuzzleTest and the endpoints only use the body and then call json_decode() on it.)
The tests are passing now and I feel comfortable giving this PR the green light from my side -- I didn't have to make any "weird" changes and all the end-user-facing changes are according to the Guzzle docs (as described in the PR's initial description).
What are your thoughts on this?


why this website auto link in logseq will have bug?

{:height 840, :width 748}

this is the link ------{:height 840, :width 748}


[core] Add the usage tracker package

Adds a no-op package to track usage of @mui/material and @mui/joy, and, using this data be able to figure out the usage of @mui/base alone.
As discussed in https://www.notion.so/mui-org/Define-a-one-year-goal-for-MUI-Core-07-2022-06-2023-d7a69c1f6a1c4f4aafc4c57061e6dbb0.

This will remain no-op and just be used for install tracking i.e. anything that npm already does? You might want to add explicit docs for that in the package readme. Anything "tracking" will trigger privacy alarms otherwise

Good point, thanks

considering that the version of this package won't be bumped

It will be. The --force-publish flag makes sure the version of this package is updated regardless of changes detected in the package.


Add FMA Unit and DivSqrter with fflags

This PR includes following changes:

Add FMA and DivSqrter with fflags.
Add test targets for F-extension in riscv-compliance

This PR will close #84, #92, and #93.


Middlewares, like graphql-shield, are catching global errors

When adding a middleware to either graphql-yoga or to apollo-server, such as graphql-shield, and throwing an error on purpose in one of the resolvers, the middleware catches the Error and the original error is not being thrown/shown.
Reproduction

Starting off with the blog example in the prisma-nexus repo
Adding graphql-shield

yarn add graphql-shield
Adding it to the array of middlewares to graphql-yoga middlewares: [shield({})] - with or without any permissions)

Add a throw new Error('message') in one of the resolvers

Ex: adding throw new Error('custom error message') to the first line of the blog query resolver method

Making a request to the modified resolver

Ex: In graphql playground, executing the following query { blog(id: 1) {id} } will raise an error with the message being "Not Authorised!" instead of "custom error message"

Originally posted by @BenJeau on https://github.com/prisma/prisma2/issues/1680

Afaik that is the case specifically with graphql-shield and documented as such.
https://github.com/maticzav/graphql-shield/blob/master/README.md#custom-errors

Ohh, I didn't know about that. It's weird that before upgrading to Prisma2, I didn't need to make adjustments to the way I was throwing the custom errors.
By making those changes, it now works as expected, thank you!

Can we close this, @pantharshit00  ?

I will leave that to @jasonkhurt


Use default config and partial overrides

Description of proposed changes

Refactoring the way Snakemake configuration is handled in this workflow to be more consistent with the ncov workflow.
Related issue(s)

Prompted by https://github.com/nextstrain/docs.nextstrain.org/pull/164#discussion_r1294800635

Testing

[x] Checks pass

Hmm, I don't like having an extra default config file which makes it more difficult to trace where a particular config value comes from.
PR #171 reworks things a little anyways. I'll add a default profile which specifies a default config file so things can be run as snakemake.


Idva6 542 create association

Short description outlining key changes/additions
New endpoint to create association
JIRA Ticket Number
IDVA6-542
Type of change

[ ] Bug fix
[x] New feature
[ ] Breaking change
[ ] Infrastructure change

Pull request checklist

[x] I have added unit tests for new code that I have added
[x] I have added/updated functional tests where appropriate
[x] The code follows our coding standards

An exhaustive list of peer review checks can be read here

CI: No security warnings found


How to suppress [warn] wkhtmltopdf executable was not found on your system?

Hi!
I have added use_chrome: true as well as raise_on_missing_wkhtmltopdf_binary: false to config.exs, however, I still always get the warning [warn] wkhtmltopdf executable was not found on your system.
Could someone please let me know how to remove this warning?
Thanks!

Hi @ryanzidago ,
Thanks for reporting. Right now, there's no way to suppress the warning but I'll happily remove in the case of raise_on_missing_wkhtmltopdf_binary being set to false


Create Skeleton of RunnerData Class

This should just have a dictionary where the keys in the dictionary would be the names of the runners and the values would be the LivesplitData object for the data associated with that runner.
We can then write functions on top of that. THIS MUST BE DONE BEFORE OTHER VIZ FUNCTIONS CAN BE WRITTEN!!!

Added very barebones skeleton but things that need to happen from here:

Figure out better error handling (do we even need to do more error handling? or if a key is not present in a dictionary is the Python error that will naturally get thrown just good enough?
We need a way to create some sort of data frame containing a combination of all Runner's data. Not sure how this should be stored, similar to the LivesplitData class...

Potentially a table where each row is a runner and the columns are Personal Best, Best Segments, Average Segments, etc.
If we care about this at the split level, then there would also be tables for each type (Personal Best, Best Segments, etc.)


Couldn't find package<EMAIL_ADDRESS>required by "availity-reactstrap-validation" on the "npm" registry.

Hi, i wanted to try this library but while installing it the console gave me this error:
error Couldn't find package<EMAIL_ADDRESS>required by "availity-reactstrap-validation" on the "npm" registry.
Does it still works with that error? Thanks for your help.

The package does exist, both with that exact version and with newer versions within the range allowed:

Try npm doctor (https://docs.npmjs.com/cli/doctor.html) to make sure you are connecting to the right registry.

@TheSharpieOne yes i have installed it using this yarn add moment and it works. Thanks.


privacyIDEA: 3.5.2 -> 3.6

Motivation for this change
New release: https://github.com/privacyidea/privacyidea/releases/tag/v3.6
Details

c022e2d (python3Packages.sqlsoup: fix build)
This doesn't work with sqlalchemy 1.4. Yes, this project seems mostly
dead, but it's still needed by privacyidea. I already reported the
problem to upstream[1].
[1] privacyidea/privacyidea#2790

e220c59 (privacyIDEA: 3.5.2 -> 3.6)
ChangeLog: https://github.com/privacyidea/privacyidea/releases/tag/v3.6
Unfortunately we have to use sqlalchemy at 1.3 for sqlsoup. As
sqlalchemy is required by a lot of packages, I decided to move this
package out of pythonPackages itself and instantiate a new
pythonPackages inside the expression where sqlalchemy points to
sqlalchemy_1_3.

Also deployed this to my self-hosted privacyIDEA without any problems.
Things done

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

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

[x] 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 nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg eval


Idle state in Firmware Object, resource State

Hello,
regardint to OMA-TS-LightweightM2M-V1_0-20151030-C, in Firmware Object, resource State, values must start from 0 to 2, but in mbedClient it still from 1:
typedef enum {
Idle = 1, // Note, that in new OMA spec should be 0.
Downloading,
Downloaded
}

ARM Internal Ref: IOTCLT-466

Thanks for your finding. We will fix this in future releases.


Revert "Move IncreaseFrameIndex to prior to Update to make it consist…

…ent across platforms"
This reverts commit 81eae3e47960ee0624de073d5d702005b0de9e0e.
This commit causes inconsistent frame index for input events, causing
issue #182 and likely some other problems we haven't caught yet.

We need to figure out a more proper fix for this, but for now this will mitigate the regression from the bad commit.

Superceded by an upcoming @kusma PR :)


Removing self clone on referenced functions

This PR is part of our series of breaking change updates coming with 0.4.
It is bad practice to clone self in a function taking &self. This PR resolves #91 and similar situations.

Here is a list of the exposed functions which now consume self:

mat.eigenvalues()
mat.eigendecomp()
mat.lup_decomp()
mat.solve(x)
mat.inverse()
mat.det()

It's quite a hefty list and I think people may question needing to consume the matrix for some of these operations. However, I think it is better to have any shortcomings of the library very visible. Hopefully we can provide alternatives in the future that are less efficient but do not require cloning or consuming the matrix.


Ubuntu 20 AArch64 image from gallery can't boot on Apple M1 "BdsDxe: failed to load Boot0001"

I figured out a workaround, see below
Describe the issue
Followed directions from gallery to install Ubuntu 20 AArch64. Resulted in this error:
(Note, I had same result trying to install Fedora 33 AArch64 in the same way)
BdsDxe: failed to load Boot0001 "UEFI misc device" [...]

Eventually goes to this screen

Configuration

UTM Version: v2.0.22 (have also tested v2.0.21, v2.0.15, same result)
OS Version: macOS 11.1 (since upgraded to 11.2.1, same result)
Intel or Apple Silicon? Apple M1 (Air, 16GB RAM)

Crash log
N/A
Debug log
debug.log
Upload VM
config.plist.txt

Same issue, same hardware.

Same here

Same here, can also confirm this happens on other arm64 virtual machines

@scubachristopher @F4zii I was able to overcome this issue by:

Disabling the network adapter temporarily to remove the step of waiting for PXE boot timeout
Typing exit at the UEFI shell and then navigating to the USB boot device manually

See attached video for the sequence that worked for me.
https://user-images.githubusercontent.com/7576968/109203157-d1373c80-7771-11eb-91aa-d8dc24969b66.mov

@djwhatle  -- you're the man!

...or you can spam esc on boot to go into the boot manager and choose QEMU USB Harddisk

Nice! that works, but now im just stuck at this screen

In Drives, change the Interface from VirtIO to NVMe. I think there might be a problem in the EFI drivers. I'll look more into it.

In Drives, change the Interface from VirtIO to NVMe. I think there might be a problem in the EFI drivers. I'll look more into it.

I actually tried this, I don't think the drive was recognized at that point.

EDIT: oh this is before installing Ubuntu? So it's failing to boot from the ISO?

Yes, failing to boot from ISO unless you manually select the USB drive for boot through boot manager.
For some reason after I got Ubuntu installed finally (by following these steps), default network connection wasn't working. I tried to swap it out for an intel network adapter but that failed to start the VM.

Nice! that works, but now im just stuck at this screen
I got past this screen by waiting a few seconds, but YMMV.

So the winning combination for me that resulted in Ubuntu 20 installed with internet working:

Follow all instructions in gallery
Don't disable the network connection
Mash ESC at startup
Use boot maanger -> USB to boot from ubuntu image.

Seems to be working

I think the problem is at some point I updated the OVMF to a newer version that broke support for -boot order=d argument. Or -boot order=d never worked in OVMF and we got lucky before in an older version of QEMU which happened to make the USB disk drive default. Either way I'll have to update the arguments to use bootorder directly which should be more stable.

Reopening because after testing on a M1 mac, the error persists even after the fix. Even weirder, I went back to 2.0.15, which was used to create the guide and I'm now getting the same error there as well! But on Intel Macs, there's no issue. On M1 Mac with force emulation, it's still broken!
Even weirder, I go into EFI shell and use bcfg boot dump and see that on Intel Macs, I see both the virtio and usb devices in the right order. On M1 Macs, the usb device is missing. I honestly don't know what's going on... As bizarre as it sounds, I have to guess that macOS 11.1 or newer had something that broke this even though it's something within the emulator...
Does anyone have a M1 mac running macOS 11.0? That's the version I was on when the guide was created.

I updated the guide for a workaround: https://mac.getutm.app/gallery/ubuntu-20-04#troubleshooting
In the meantime I will continue to investigate why the emulated USB disk drive is not seen as a boot device on ARM64 builds of QEMU.

The EFI stub issues always persist; it will take a while, but it will boot. This happens on all ARM Linux distributions. I tested with Manjaro, Debian (.UTM package), and Ubuntu
PS: USB gets pushed to the end of the list, with UEFI Misc Device (1/2) in the way.

I am able to boot an aarch64 VM from a USB CD drive on my iPad Pro, however I am using a custom compiled OVMF EFI. I've attached it here. The files are named "High Res" because I modified the resolutions available in the OVMF configuration to include up to 8K.
OVMF High Res.zip
To use this EFI image as your VM's firmware, attach the …EFI file as first disk, …VARS file as second disk. Set both interfaces to pflash/ PC System Flash.

I was able to debug the failure by logging from EDK2. There is a race condition in QEMU's (emulated) USB device reset and OVMF enumerating the boot options. M1 macs are too fast and can enumerate the boot options before QEMU sets up the device. This race condition is why it occurs for some people and not others and also why it stops appearing if you enable debug logging.
Without thinking too hard how to prevent the race, the hack around is to have a 1 second wait between the device enumeration and boot option enumeration.
https://github.com/utmapp/edk2/commit/bca86ecf2e1124c8a931b0dbfc276c7280df35c7

Is this patch in UTM 2.0.25 ? (since my network isn't working, I think not)

This issue isn’t about network?

In Drives, change the Interface from VirtIO to NVMe. I think there might be a problem in the EFI drivers. I'll look more into it.
EDIT: oh this is before installing Ubuntu? So it's failing to boot from the ISO?

It's happened to me after installing. I changed from VirtIO to NVMe and it worked!

Hi - followed the instructions in the troubleshooting section and when I enter fs0:\efi\boot\bootaa64.efi into the  UEFI Interactive Shell (and the mapping table says SF0: Alia(s) :CD0D0A::blk1:), the Shell responds with Command Error Status: Unsupported.
M1 Mac mini running macOS Big Sur 11.4, and pointing to the Ubuntu Server download from the support article at https://mac.getutm.app/gallery/ubuntu-20-04
What am I missing?

I ran into the same issue when installing Kali Linux on host Macbook M1, Big Sur.
Apparently, boot sequence was looking for the missing file startup.nsh.
At EFI cli, you can type fs0:\efi\[your_OS]\grubx64.efi to boot. You can use tab completion to figure out the directory.
In my case: fs0:\efi\kali\grubx64.efi.
When on the OS, hope onto root and create the file startup.nsh manually.
echo '\EFI\kali\grubx64.efi' > /boot/efi/EFI/kali/startup.nsh"(change the name accordingly)

Thanks @hva314 for this solution, however just to make sure: are you using the ARM version of Kali or the x86_64 version? The ARM bootloader file is bootaa64.efi, not grubx64.efi.

Hi - followed the instructions in the troubleshooting section and when I enter fs0:\efi\boot\bootaa64.efi into the UEFI Interactive Shell (and the mapping table says SF0: Alia(s) :CD0D0A::blk1:), the Shell responds with Command Error Status: Unsupported.
M1 Mac mini running macOS Big Sur 11.4, and pointing to the Ubuntu Server download from the support article at https://mac.getutm.app/gallery/ubuntu-20-04
What am I missing?

I went through the installation process from scratch for what I think is the third time, and this time did not get dumped into UEFI Interactive Shell, and it proceeded to function properly. Wish I could identify what I did differently, but I can't.

Hi - followed the instructions in the troubleshooting section and when I enter fs0:\efi\boot\bootaa64.efi into the UEFI Interactive Shell (and the mapping table says SF0: Alia(s) :CD0D0A::blk1:), the Shell responds with Command Error Status: Unsupported.
M1 Mac mini running macOS Big Sur 11.4, and pointing to the Ubuntu Server download from the support article at https://mac.getutm.app/gallery/ubuntu-20-04
What am I missing?

I went through the installation process from scratch for what I think is the third time, and this time did not get dumped into UEFI Interactive Shell, and it proceeded to function properly. Wish I could identify what I did differently, but I can't.

Does it continue to work after you’ve shut it down once? (Close the VM window and start it again with the Play button)
That’s usually when the auto-boot breaks, if it is dependent on EFI NVRAM variables.

Does it continue to work after you’ve shut it down once? (Close the VM window and start it again with the Play button)
That’s usually when the auto-boot breaks, if it is dependent on EFI NVRAM variables.

Yes, it works consistently after shutdown.

UTM I was able to install on my new MacBook M1 pro, but ultimately it comes down to this screen

And I am unable to exit from it since it does not recognize my Keyboard or trackpad.
Any help please?

@scubachristopher @F4zii I was able to overcome this issue by:

Disabling the network adapter temporarily to remove the step of waiting for PXE boot timeout (not sure about this step, seems I don't have internet connectivity after install even when adding network adapter later)
Typing exit at the UEFI shell and then navigating to the USB boot device manually

See attached video for the sequence that worked for me.
successful_boot.mov

Tried the same but the screen pops and closes within a second not sure whats the issue

Hi - followed the instructions in the troubleshooting section and when I enter fs0:\efi\boot\bootaa64.efi into the UEFI Interactive Shell (and the mapping table says SF0: Alia(s) :CD0D0A::blk1:), the Shell responds with Command Error Status: Unsupported.
M1 Mac mini running macOS Big Sur 11.4, and pointing to the Ubuntu Server download from the support article at https://mac.getutm.app/gallery/ubuntu-20-04
What am I missing?

I have the same problem. Did you solve it?

Hello, I had the case for the installation of kali linux arm for mac m1 download on download site, you have to go to the uefi settings and manually launch the launch file, launch> echap bios> boot maintenance manager > boot for files, find the file to install on the hard drive in the location "grubaa64.efi"
thanks google trad, Regards henrb.

@Henrb just to expound on your answer, once the vm is booted and you are presented with the Shell>, you can type exit to get back to the menu that shows the Boot Maintenance Manager then Boot from File.
From here you can navigate to kali/grubaa64.efi as mentioned.

@scubachristopher @F4zii I was able to overcome this issue by:

Disabling the network adapter temporarily to remove the step of waiting for PXE boot timeout (not sure about this step, seems I don't have internet connectivity after install even when adding network adapter later)
Typing exit at the UEFI shell and then navigating to the USB boot device manually

See attached video for the sequence that worked for me.
successful_boot.mov

GOD!!

I'm trying to do this on my MB Pro with a M1 pro and i can't manage to do it. Every time i click on the file to boot it simply opens a black screen and instantly comes back to the menu. Is anyone having the same error?

I think I am having the same error, @tiagovalePT . I'm guessing it's the problem that @osy mentioned and linked to a solution. I'm too much of a newb to understand how to execute that code in this context.

@djwhatle
I met a similar issue and fail to install Ubuntu20.04 in a VM/KVM on Raspberry Pi 3. I plan to install Ubuntu 20.04 Server in KVM on Raspberry Pi3. I follow the instructions and video but the issue can't be resolved.  Besides, there is no FS0.
##Can't start the Ubuntu installation process
https://user-images.githubusercontent.com/61045849/142564327-bca0286c-a68a-4d1a-bd1f-da59e6992ec9.mp4

Here are the conditions and environment:

HW: Raspberry Pi 3 with Ubuntu 20.04 Server OS
OS iso installed in KVM: ubuntu-20.04.3-live-server-arm64.iso

Does anyone meet the same issue?? how to fix it??
Thanks for help very much

@scubachristopher @F4zii I was able to overcome this issue by:

Disabling the network adapter temporarily to remove the step of waiting for PXE boot timeout (not sure about this step, seems I don't have internet connectivity after install even when adding network adapter later)
Typing exit at the UEFI shell and then navigating to the USB boot device manually

See attached video for the sequence that worked for me.
successful_boot.mov

Does anyone meet the same issue?? how to fix it??

Same issue here

@richlife98
I'm facing the same problem here, did you've found the solution?

In case it's helpful to anyone else:  I had mistakenly been trying to use the wrong iso. I was trying to install the AMD version of Ubuntu, when it's the ARM version that's required. A silly mistake, but thankfully an easy one to correct.

this video helped me resolve the issue. For me the problem was also the wrong iso version. The one linked in the description solved my problem.

Hi all,
I am getting the same issue as the header. Please let me know, if there is a fix other than the previous comments in this loop. Please see the attached picture of error.

Hi all,
I am getting the same issue as the header. Please let me know, if there is a fix other than the previous comments in this loop. Please see the attached picture of error.

I have same problem.

@ShilvySusan @tinywolf3
I was having the same problem in my case, but after about 5 minutes i got out from that screen and its working well.

Hi all,
I am getting the same issue as the header. Please let me know, if there is a fix other than the previous comments in this loop. Please see the attached picture of error.

same problem here, ive tried waiting but it doesnt get past this screen
it was working for a while on kernel version 5.04.0-99 but the newer kernel versions > 5.04.0-100 doesnt seem to work
i read in a different thread that this could be due to force stopping the VM causes drive corruption maybe ?

I suggest a permanent fix in #4002

I suggest a permanent fix in #4002

This is work for me! see more: https://linuxhint.com/use-uefi-interactive-shell-and-its-common-commands/

Does anyone meet the same issue?? how to fix it??

Same issue here

Same problem here. From one of the other day, all VMs (Ubuntu 20.04 on Mac M1) stopped working. They run properly on console mode, but not on Full Graphics. Did not update mac nor UTM. They stopped working since I tried to launch them while mac was not connected to a docking station.

I solved the issue with downloading Ubuntu Server 22.04 for ARM, it seems that I either was trying to install amd version or the iso just not compatible for now.

I spent 4 hr try to solve this problem.
Finally I success!
I use wrong Ubuntu install iso file, apple m1 ARM need to install another vision
download link as follow:
m1 download
hope can help you guys!

Anyone have this other problem? I do not have a fs0

Nice! that works, but now im just stuck at this screen

Hi,
I also met this problem. AND STUCK ON THIS PAGE.
Do you have any suggestions for solving this?
Best

UTM I was able to install on my new MacBook M1 pro, but ultimately it comes down to this screen

And I am unable to exit from it since it does not recognize my Keyboard or trackpad.
Any help please?

Hi, were you able to get past this? I'm having the same problem

I am fed up facing problems in Mac. I also have the same problem!!!

have you try use the install file as follow?
download link as follow:
m1 download

install m1 download

I solved the issue with downloading Ubuntu Server 20.04

https://cdimage.ubuntu.com/releases/20.04/release/
download iso file : ubuntu-20.04.5-live-server-arm64.iso

I solved this problem on arm architecture.follow this steps,it's worked for me.

You need to mount iso as usb file,add part like this when you execute 'virsh edit "virtualmachine"'

You can try to execute boot manually with command 'fs0:\efi[osname]\bootaa64.efi',but usually failed with permission.
You need type exit to use bios,in bios use "Device Manager" -> "Secure Boot" to close secure boot.

in first step,xml like


[Test] Add v1.56.0 release of grpc-go to interop matrix

Add grpc-go v1.56.0 to interop matrix

Failed test says timeout. Could that be a flake?

Closing this out since this PR overrides this diff


Allow authenticated users who used their quota to make cached requests

check_can_use currently prohibits this:
    def make_request(self, auth: Authentication, request: Request) -> RequestResult:
        """Actually make a request to an API."""
        # TODO: try to invoke the API even if we're not authenticated, and if
        #       it turns out the results are cached, then we can just hand back the results.
        #       https://github.com/stanford-crfm/benchmarking/issues/56

        self.accounts.authenticate(auth)
        model_group = get_model_group(request.model)
        # Make sure we can use
        self.accounts.check_can_use(auth.api_key, model_group)

        # Use!
        request_result: RequestResult = self.client.make_request(request)

        # Only deduct if not cached
        if not request_result.cached:
            # Count the number of tokens used
            count: int = self.token_counter.count_tokens(request, request_result.completions)
            hlog(f"{request.model_organization}: {count} tokens")
            self.accounts.use(auth.api_key, model_group, count)

        return request_result

Haven't gotten any user requests for this (and also we may be getting out of the playground API business). Closing.


Unescaped expressions

Emblem.js compiles two = into Handlebars triple-stash expressions
==  -> {{{}}}
Currently, these are being converted to {{}}

Thanks for the bug report!  I've just released version 1.1.1, which fixes this.

Actually, it seems that hasn't fully fixed the issue, as the indentation processor will turn the triple-stache back into a double stache.  Reopening and attempting the other half of the fix.

OK, think I've got this one nailed down this time.  Version 1.1.2 released.  Sorry for the churn.


Applying less to specific dialogs

Hi
.s-Form label.caption {
    margin-bottom: 2px;
    text-align: left;
    flex-basis: 100%;
}

.flex-layout .field {
    flex-wrap: wrap;
}

I would like to apply the following less for specific forms but not all forms.
Currently it affects all the forms.

Thanks

you can customize specific dialog like this:
.s-Orders-CustomizedQsDialog {
max-width: 900px;
> .size {
    width: 900px;
}

.caption {
    width: 80px !important;
}

.s-DialogToolbar {
    height: 15px;
}

.s-Toolbar {
    min-height: 15px;
}

.button-inner {
    font-size: 10px;
}

}


Breaking: Split up dependencies with package extensions

This PR make ArchGDAL, NCDatasets, CoordinateTransformations, and HDF5 weak dependencies.
It gets @time using Rasters down under a second.
The rationale is:

Very few people use rotated rasters, so should not have to pay for loading CoordinateTransformations (and StaticArrays)
Often workflows using netcdf and gdal  are mutually exclusive
The SMAP HDF5 loading is extremely niche, and good to get out of everyones way.
RasterDataSources and the web download/unzip stack are also not used in lots of workflows, there is no need to pay the load time

The downside is now we need to do:
using Rasters, ArchGDAL

or
using Rasters, NCDatasets

etc.
@tcarion, again this is going to mash your PR. But maybe not so much? the shared backend can probably live in sources if CommonDataModel.jl is light enough for extensions not to be worthwhile. Then the extensions for NCDatasets.jl and GRIBDatasets.jl will likely be pretty small.

I think, that is a good idea. We should make sure, that people get a meaningful hint which package to load, when the Raster call fails.

Codecov Report

Merging #450 (cf1d610) into main (026d161) will decrease coverage by 0.11%.
The diff coverage is 73.78%.

@@            Coverage Diff             @@
##             main     #450      +/-   ##
==========================================
- Coverage   81.03%   80.93%   -0.11%
==========================================
  Files          41       47       +6
  Lines        4055     4070      +15
==========================================
+ Hits         3286     3294       +8
- Misses        769      776       +7

Impacted Files
Coverage Δ

ext/RastersArchGDALExt/reproject.jl
82.00% <ø> (ø)

ext/RastersArchGDALExt/resample.jl
91.22% <ø> (ø)

ext/RastersHDF5Ext/smap_source.jl
0.00% <0.00%> (ø)

ext/RastersMakieExt.jl
0.00% <ø> (ø)

src/Rasters.jl
100.00% <ø> (ø)

src/lookup.jl
75.51% <ø> (-5.74%)
:arrow_down:

src/show.jl
88.46% <ø> (-1.54%)
:arrow_down:

src/sources/sources.jl
60.00% <0.00%> (-15.00%)
:arrow_down:

ext/RastersRasterDataSourcesExt.jl
26.66% <16.66%> (ø)

src/extensions.jl
25.00% <25.00%> (ø)

... and 10 more

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

Yeah I have error messages saying what to load. Tgere should beca ExtensionMissingErrir in base to standardise it tho

Thats great, lets keep it as a dep


Make it available as Library?

Hi,
would you please consider making AlphaWallet available as Android Library and pushing to i.e. jitpack, so that it can be easily used as part of other projects?

Hi @minarja1 we are in the process of creating a core Token engine for AlphaWallet which will work on both Android and iOS. This won't be ready for a while.
What part of AlphaWallet would you like to be able to use as a library? I presume it's just the Token engine part, where Tokens are discovered and kept updated.

Honestly it would be nice if the whole thing was usable. I would like to mostly use the existing parts "as is" (with just minor changes) but also add other project-specific functionalities.
Publishing it as a library would make this possible while being able too keep it up to date.

Facinating. I hadn't considered using it like that, but it makes sense. To be honest I have no idea of the best way to make eg the Activity classes into a library. This would make a lot of sense for us down the line as we're developing a sort of token interface programming language.
Is there an existing precedent for anything doing something like this? I have seen the pure Android module coding, but this isn't really that useful in this case.

The very correct way to do this would probably be making the whole project modular and exposing each module as a public library while keeping the App Module as thin as possible. This would, however, require a change in the app's architecture and I suppose this is not something you have time or manpower to do.
The other and much simpler solution would be just turning the current App Module into a library and publishing it as is. For this, please refer to this part of the article I've sent in my original message (In theory, it is a matter of changing 1 line in the build.gradle file. In practice, it would definitely require more work, but it should not be too difficult). You would then, need to create a new App Module for the standalone AlphaWallet app, which could literally just depend on the newly created library and only use its classes (including View layer classes like Activities and Fragments).
There is absolutely no problem in having Activities or any other UI elements as part of a Library module. Just keep in mind whenever you are working on pretty much anything, that someone else might need to build on it and extend it. In practice, this means keeping your classes open (by default in Java, not in Kotlin) and just generally changing your mindset a little bit.
A change like this would make it immensely easier to use AlphaWallet as a building stone for other apps or just incorporating parts of it. Because in its current form it is just an open source standalone app, not something you can easily use in other projects.


Discord link expired

Could you please add a new link to the discord?

@ironic833 https://discord.gg/XwywRhe7Qn


This page is useless and contains misleading information.

The current versions of compass and Azure Cosmos DB are incompatible since Azure Cosmos DB doesn't support connectionStatus Command.

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

ID: 3ae63b0b-8c13-36da-c5c9-d126ffbc7077
Version Independent ID: 17b87fc6-88ad-959b-9b11-452844ee2279
Content: Connect to Azure Cosmos DB using Compass
Content Source: articles/cosmos-db/mongodb-compass.md
Service: cosmos-db
Sub-service: cosmosdb-mongo
GitHub Login: @LuisBosquez
Microsoft Alias: lbosq

@danmi20 Thanks for the question. We will update you shortly.

@danmi20 Thank you for reaching out to us.
The instructions on the page are still relevant to customers using MongoDB version 3.2 with Compass.
We will update the documentation to call out the version compatibility

@LuisBosquez I have submitted a PR to call out the version compatibility.

@danmi20 I have updated the doc accordingly. The changes are live.
We will proceed to close this issue now.


support of heatmats

Are heatmaps still possible with the current version? Where can I find an example?

I'm afraid I removed it from the current version because it was so janky. I'm not sure what the best way to go about doing ternary heatmaps would be.

ok.
I found some examples with the GMT.jl.
There, however, I cannot specify my own function (e.g. a Distribution) but need to generate a grid which will then be interpolated. I share my code for the grid construction. Maybe it can be useful, as well as the code in GMT.jl.
"""
    simplex_grid(m,n=3)

Create a grid across the n-dimesional unit simplex with m points on each dimension.
If `unit=false` then return an Integer grid ranging from 0 to (m-1).

"""
function simplex_grid(m,n=3; unit=true)
    n < 2 && error("n needs to be at least 2 but got ", n)
    m < 2 && error("m needs to be at least 2 but got ", m)
    L = num_compositions(m-1,n)
    A = Array{Int}(undef, L, n)
    simplex_grid!(A,m-1,n; L)
    unit ? A ./(m-1) : A
end

# number of cases for simples_grid
num_compositions(mstep,n) = binomial(n+mstep-1, n-1)

"""
Update matrix A with positions of simplex grid with msteps, i.e. mstep+1 records
for all other dimesnions being 0
"""
function simplex_grid!(A, mstep, n; L=num_compositions(mstep,n))
    if n==2
        A .= cat(0:mstep,  mstep:-1:0; dims=2)
    else
        istart0 = 0
        for im = 0:mstep
            Lsub = num_compositions(mstep-im, n-1)
            i = istart0.+(1:Lsub)
            A[i,1] .= im
            # update the remaining columns recursively with decreased mstep
            B = @view A[i, 2:n]
            simplex_grid!(B, mstep-im, n-1; L=Lsub)
            # keep track where to update the next rows
            istart0 = istart0 + Lsub
        end
    end
    nothing
end


Help adding DISH adobe support

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.01.29. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[ x] I've verified and I assure that I'm running youtube-dl 2017.01.29

Before submitting an issue make sure you have:

[ x] At least skimmed through README and most notably FAQ and BUGS sections
[x ] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

Description of your issue, suggested solution and other information
Ive been trying to add dish support for past few days on and off.  I cant give login creditials out as
there my sisters. So im forced to try to get it working on my own :(
Anyway here is as much info as I have.
ive added to adobepadd.py
'Dish': {
    'name': 'DISH',
    'username_field': 'username',
    'password_field': 'password',
},

url of redirect is similar to xfinity as its a redirect not a popup like most of rest
https://sp.auth.adobe.com/adobe-services/authenticate?requestor_id=syfy&no_iframe=false&mso_id=Dish&domain_name=syfy.com&redirect_url=http%3A%2F%2Fwww.syfy.com%2Fkilljoys%2Fvideos%2F1%2F2616
which redirect too:
https://identity1.dishnetwork.com/saml/module.php/sociallogin/login.php?AuthState=_e1a33b890e60fbe4ae431ca47b642708b1f18a02c7%3Ahttps%3A%2F%2Fidentity1.dishnetwork.com%2Fsaml%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Fsaml.sp.auth.adobe.com%26cookieTime%3D1485809534%26RequesterID%3D%255B%2522syfy%2522%255D%26NameIDFormat%3Durn%253Aoasis%253Anames%253Atc%253ASAML%253A2.0%253Anameid-format%253Atransient
on this page there are 3 form elements.....1 of which is remember me button.
Online ID:
<input placeholder="Online ID" class="input" id="username" type="text" name="username" value="" tabindex="1" autocapitalize="off" autocorrect="off" required="">`
Password:
<input placeholder="Password" class="input" id="password" type="password" name="password" value="" tabindex="2" autocapitalize="off" autocorrect="off" required="">
Remember me check box:
<input type="checkbox" name="remember_me" value="yes" tabindex="4" checked="checked">
and login button:
<button id="login" type="submit" name="source_button" value="authsynacor_identity1.dishnetwork.com" class="login" tabindex="3">
Log In
</button>
after that I ran make......
issued command
./youtube-dl -v --ap-mso Dish --ap-username PRIVATE --ap-password PRIVATE --list-formats http://www.syfy.com/killjoys/videos/110-escape-velocity
and it hangs at:
[Syfy] 2877726: Downloading Provider Login Page
If I let it sit for like 5 minutes......it eventually gives ssl error time......
Now im running this on a remote vps so dont think its an internet issue but just to be sure.....I tried my login credentials on Direct tv and it errors out invalid credentials.
So Im thinking it just geting to page and timing out......but I cant figure out why.
Any help or steps I can do to resolve this would be greatly appreciated.
here is output up till hang:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--ap-mso', u'Dish', u'--ap-username', u'PRIVATE', u'--ap-password', u'PRIVATE', u'--list-formats', u'http://www.syfy.com/killjoys/videos/110-escape-velocity']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.28
[debug] Python version 2.7.12 - Linux-4.4.0-59-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 2.8.10-0ubuntu<IP_ADDRESS>, avprobe 2.8.10-0ubuntu<IP_ADDRESS>, ffmpeg 2.8.10-0ubuntu<IP_ADDRESS>, ffprobe 2.8.10-0ubuntu<IP_ADDRESS>, rtmpdump 2.4
[debug] Proxy map: {}
[Syfy] 110-escape-velocity: Downloading webpage
[Syfy] 2877726: Downloading Provider Redirect Page
[Syfy] 2877726: Downloading Provider Login Page
^C
ERROR: Interrupted by user
Thanks for your time

I've been trying to add Dish APO as well.  However, the error I'm getting is "ERROR: Unable to extract post url;" and I'm getting it on this page too.  I have a Dish login and when I try to view this video in my browser, it tries to load for a few seconds, then stops as if the video has finished playing.

if your using firefox that happened to me today also.  Tried it in chrome and worked perfectly though

Can you try your command with the --dump-pages option?  I want to see what you're getting vs. what I'm getting.

as of right now it hanging at [Syfy] 2877726: Downloading Provider Login Page and I dont see any additional info......is there a syntax I should be using?

I'm getting further, but when I get to the login confirmation, and I submit the form, I think it presses the Cancel button.
    <fieldset class="buttons">
      <legend>Sign in to DISH Online ID using your account?</legend>
      <input type="submit" value="Sign In" class="submit button selected" id="allow">

        <input class="submit button" id="cancel" name="cancel" type="submit" value="Cancel">

    </fieldset>

Anyone have any ideas how to submit the form by pressing the Sign In button instead of the Cancel button?

Here's what I have so far:
'Dish': {
    'name': 'Dish',
    'username_field': 'username',
    'password_field': 'password',
},

...
elif mso_id == 'Dish':
authstate_page_res = post_form(
provider_redirect_page_res, 'Downloading AuthState Page')
authstate_page, urlh = authstate_page_res
form_data = self._hidden_inputs(authstate_page)
provider_login_page_res = self._download_webpage_handle(
urlh.geturl(), video_id, 'Downloading Provider Login Page', query=form_data)
mvpd_confirm_page_res = post_form(provider_login_page_res, 'Logging in', {
mso_info.get('username_field', 'username'): username,
mso_info.get('password_field', 'password'): password,
})
mvpd_confirm_page, urlh = mvpd_confirm_page_res
post_form(mvpd_confirm_page_res, 'Confirming Login')

...or maybe it's during the login process that it's choosing the wrong form?

Enter your DISH Online ID and PasswordOnline IDPassword
                Log In

                Remember Me
              Forgot Online ID?Forgot Password?Create Online IDOr log in using:FacebookGoogleTwitter

So many hoops to jump through!  I've made it this far:
                elif mso_id == 'Dish':                     authstate_page_res = post_form(                         provider_redirect_page_res, 'Downloading AuthState Page')                     authstate_page, urlh = authstate_page_res                     form_data = self._hidden_inputs(authstate_page)                     provider_login_page_res = self._download_webpage_handle(                         urlh.geturl(), video_id, 'Downloading Provider Login Page', query=form_data)                     provider_login_page, urlh = provider_login_page_res                     post_url = self._html_search_regex(                         r'<form id="syn_login_form"[^>]+action="(?P<url>.+?)">',                         provider_login_page, 'post url', group='url')                     mvpd_confirm_page_res = self._download_webpage_handle(                         post_url, video_id, 'Logging in', data=urlencode_postdata(login_info),                         headers={                             'Content-Type': 'application/x-www-form-urlencoded',                         })                     mvpd_confirm_page, urhl = mvpd_confirm_page_res                     confirm_redirect_url  = self._html_search_regex(                         r'content="0;\s*url=([^\'"]+)',                         mvpd_confirm_page, 'meta refresh redirect')                     confirmation_page_res = self._download_webpage_handle(                                 confirm_redirect_url,                                 video_id, 'Confirming Login')                     confirmation_page, urlh = authstate_page_res                     form_data = self._hidden_inputs(confirmation_page)                     provider_login_page_res = self._download_webpage_handle(                         urlh.geturl(), video_id, 'Redirecting', query=form_data)
But this last page is just this:
`

Redirecting...

`
Now where do we go from here?  I'm still getting ERROR: Unable to download webpage: HTTP Error 401: Unauthorized (caused by ); after it starts to retrieve session.

[Syfy] 110-escape-velocity: Downloading webpage
[Syfy] 2877726: Downloading Provider Redirect Page
[Syfy] 2877726: Downloading AuthState Page
[Syfy] 2877726: Downloading Provider Login Page
[Syfy] 2877726: Logging in
[Syfy] 2877726: Confirming Login
[Syfy] 2877726: Redirecting
[Syfy] 2877726: Retrieving Session
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--ap-mso', 'Dish', '--ap-username', 'PRIVATE', '--ap-password', 'PRIVATE', 'http://www.syfy.com/killjoys/videos/110-escape-velocity', '-s', '-v']
[debug] Encodings: locale cp1252, fs utf-8, out cp1252, pref cp1252
[debug] youtube-dl version 2017.01.10
[debug] Git HEAD: 3a407e707
[debug] Python version 3.6.0 - Windows-10-10.0.14393-SP0
[debug] exe versions: ffmpeg 3.2.2, ffprobe 3.2.2
[debug] Proxy map: {}
ERROR: Unable to download webpage: HTTP Error 401: Unauthorized (caused by <HTTPError 401: 'Unauthorized'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "C:\python36\lib\youtube-dl\youtube_dl\extractor\common.py", line 406, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "C:\python36\lib\youtube-dl\youtube_dl\YoutubeDL.py", line 2001, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "C:\Python36\lib\urllib\request.py", line 532, in open
    response = meth(req, response)
  File "C:\Python36\lib\urllib\request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python36\lib\urllib\request.py", line 570, in error
    return self._call_chain(*args)
  File "C:\Python36\lib\urllib\request.py", line 504, in _call_chain
    result = func(*args)
  File "C:\Python36\lib\urllib\request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

FYI: In many cases 401 is caused by insufficient information. --print-traffic and --write-pages can help for debugging login problems. Note that --print-traffic works better with Python 2 than Python 3.

So here's the route it takes:
http://www.syfy.com/killjoys/videos/110-escape-velocity
https://sp.auth.adobe.com/adobe-services/authenticate/saml
https://identity1.dishnetwork.com/saml/saml2/idp/SSOService.php
https://identity1.dishnetwork.com/saml/module.php/authbypass/firstbookend.php?AuthState=_dfc77e6b0735bbb913f30b01811c4d930eb4094fb9%3Ahttps%3A%2F%2Fidentity1.dishnetwork.com%2Fsaml%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Fsaml.sp.auth.adobe.com%26cookieTime%3D1486048938%26RequesterID%3D%255B%2522syfy%2522%255D%26NameIDFormat%3Durn%253Aoasis%253Anames%253Atc%253ASAML%253A2.0%253Anameid-format%253Atransient&id=bf25e17312&coeff=1
https://identity1.dishnetwork.com/saml/module.php/sociallogin/login.php?AuthState=_dfc77e6b0735bbb913f30b01811c4d930eb4094fb9%3Ahttps%3A%2F%2Fidentity1.dishnetwork.com%2Fsaml%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Fsaml.sp.auth.adobe.com%26cookieTime%3D1486048938%26RequesterID%3D%255B%2522syfy%2522%255D%26NameIDFormat%3Durn%253Aoasis%253Anames%253Atc%253ASAML%253A2.0%253Anameid-format%253Atransient
https://identity1.dishnetwork.com/saml/module.php/authSynacor/DiscoveryAssociationsResume.php?AuthState=_dfc77e6b0735bbb913f30b01811c4d930eb4094fb9%3Ahttps%3A%2F%2Fidentity1.dishnetwork.com%2Fsaml%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Fsaml.sp.auth.adobe.com%26cookieTime%3D1486048938%26RequesterID%3D%255B%2522syfy%2522%255D%26NameIDFormat%3Durn%253Aoasis%253Anames%253Atc%253ASAML%253A2.0%253Anameid-format%253Atransient
https://identity1.dishnetwork.com/saml/module.php/authbypass/firstbookend.php?AuthState=_dfc77e6b0735bbb913f30b01811c4d930eb4094fb9%3Ahttps%3A%2F%2Fidentity1.dishnetwork.com%2Fsaml%2Fsaml2%2Fidp%2FSSOService.php%3Fspentityid%3Dhttps%253A%252F%252Fsaml.sp.auth.adobe.com%26cookieTime%3D1486048938%26RequesterID%3D%255B%2522syfy%2522%255D%26NameIDFormat%3Durn%253Aoasis%253Anames%253Atc%253ASAML%253A2.0%253Anameid-format%253Atransient&id=bf25e17312&coeff=1
And finally,  (which I assume is back to the main video)
So, looking at the traffic, I don't see any insufficient information, but is it because it's not redirecting to the original page?

Dunno. Maybe Cookies or User-Agent that's causing the failure.
First, could your reproduce all requests necessary for logging in?

I think I'm there, though I'm not entirely sure it's the cleanest method.  I got it work, anyway.
    'Dish': {
        'name': 'Dish',
        'username_field': 'username',
        'password_field': 'password',
    },

...
                elif mso_id == 'Dish':
                    authstate_page_res = post_form(
                        provider_redirect_page_res, 'Downloading AuthState Page')
                    authstate_page, urlh = authstate_page_res
                    form_data = self._hidden_inputs(authstate_page)
                    provider_login_page_res = self._download_webpage_handle(
                        urlh.geturl(), video_id, 'Downloading Provider Login Page', query=form_data)
                    provider_login_page, urlh = provider_login_page_res
                    post_url = self._html_search_regex(r'<form id="syn_login_form"[^>]+action=(["\'])(?P<url>.+?)\1', provider_login_page, 'post url', group='url')
                    mvpd_confirm_page_res = self._download_webpage_handle(
                        post_url, video_id, 'Logging in', data=urlencode_postdata({
                            mso_info.get('username_field', 'username'): username,
                            mso_info.get('password_field', 'password'): password,
                            'login_type': 'username&password',
                            'source': 'authsynacor_identity1.dishnetwork.com',
                            'source_button': 'authsynacor_identity1.dishnetwork.com',
                            'remember_me': 'no',
                        }), headers={
                            'Content-Type': 'application/x-www-form-urlencoded',
                    })
                    mvpd_confirm_page, urlh = mvpd_confirm_page_res
                    redirect_url = self._html_search_regex(
                        r'content="0;\s*url=([^\'"]+)',
                        mvpd_confirm_page, 'meta refresh redirect')
                    confirm_page_res = self._download_webpage_handle(
                        redirect_url,
                        video_id, 'Redirecting')
                    authstate_page, urlh = authstate_page_res
                    form_data = self._hidden_inputs(authstate_page)
                    redirect_page_res = self._download_webpage_handle(
                        urlh.geturl(), video_id, 'Reloading AuthState Page', query=form_data)
                    redirect_page, urlh = redirect_page_res
                    confirm_url = urlh.geturl()
                    confirm_url = confirm_url.replace('firstbookend', 'lastbookend')
                    confirm_page_res = self._download_webpage_handle(
                        confirm_url,
                        video_id, 'Finishing Login')
                    post_form(confirm_page_res, 'Confirming Login')

just tried it out......assuming your putting conditions code after comcost code but before non comcast code........and its hanging at [Syfy] 2877726: Downloading AuthState Page

I wish I could tell you why yours is hanging.  Have you tried using the --print-traffic option?

yup.......I think problem is that is causing you to see something usefull and all I see is the encoded crap after the url like I posted in pastebin above...........your welcome to an account on my vps and see if you can get it working lol

@gkoelln Basically that's the correct workflow. If you have made it working, it's ready for a pull request.

would love for this to get merged but unfortunately I cant give out my sisters login :(

So is this working? How do I get it to work on my end ('Dish' is not on the list of MSO's right now)

There is a commit listed but flag tv provider login needed. So its stalled till they can verify it works. As i said before i cant provide my sisters login credentials........hell i even asked her if i could and she said no.
If you can so they can verify its working it would help me and others be able to use dish.

So all you need is a login credential?
sigh.
I've had a few site support requests get tagged with account needed. When I've asked about supplying one, I've been told that if someone gets to the point of writing code and needing it, I'd be contacted.
For some reason, I'm not even seeing email when a reply comes here -- that one from 9 days ago, I just saw now.
I'd have no problem giving you access. Just let me know when, I'll set up a dummy password for you, and when you've had a chance to test and verify, I'll reset my password back.

My pull request works as far as I can tell.  Feel free to test it and let me know if there's a site on which it doesn't work. #12000

Ok, can you tell me how to test it?
Step 1: Clone youtube-dl:
keybounceMBP:youtube-dl michael$ git remote -v
origin  https://github.com/rg3/youtube-dl.git (fetch)
origin  https://github.com/rg3/youtube-dl.git (push)
keybounceMBP:youtube-dl michael$
Step 2: ??? I have no idea how to bring your pull request in for testing.

Seeing that the pull request is on rg3, and fetching that SHA from there, does not work.
Finding out that it is named "Dish" on your repository, and fetching that, does work.
Now, I have a new repository, with your code merged; how do I run it?

Run it like you would run the youtube-dl command line, but using "python main.py" instead of "youtube-dl."

Merged the code indicated by the comment "gkoelln  commented on Feb 3" into a git clone pulled 2017-07-11 on the master branch.  Compiled and executed successfully.

Yep. I've been commenting directly on the pull request #12000
It's been working fine for me for a while. I had a little problem with one site, briefly, but those went away.

Will Dish be added to the main code soon?

Will Dish be added to the main code soon?

Would one of the contributors or developers please volunteer to complete this request? I have a dish.com login if needed for testing and debugging. If no one wants to do it, then I request that it be closed and tagged as "won't fix".


GORA-652 Enable tests by default for redis/couchdb/aerospike datastore

Since Docker containers seems to be available on Apache Jenkins (see comments on #206) I would like to enable tests on other datastore which also use testcontainers:

gora-aerospike
gora-couchdb
gore-redis

Steps :

Remove skipTests=true option on default profile
Remove aerospike-with-test, couchdb-with-test, redis-with-test profiles
Fix issues on CouchDB container handling

@drazzib Apologize for the delay caused to have a look on this PR. Will you be able to update the PR?

Hi @djkevincr !
I've updated this PR (ie. merged back latest origin/master). You could resume your review :)
AFAIK, master pr build Github action - which perform a full build - seems successful.

@drazzib Thank you for taking over this. :) PR looks good I will merge it to the master.


update linear region

noticed that the large changes to EKF states for params learner were occuring when releasing the wheel at large steering angles.
I believe this is outside the "linear-region" so these are invalid readings causing issues with the learned values.
I originally just changed the "if angle < 45deg or not steerPressed*" to just check the angle and not enable at higher angles.
however I still got large swings in values when the learner re-enabled returning to 3 or 4 deg.
I added logic to lockout the learner until after the steering returns to center after being outside of the "linear region"
I also updated it based on steering ratio (from car params) for the vehicle to be ~3deg of tire steering instead of 45deg of steering wheel. as that region differs based on vehicle.

Hey!
Most of the work for a localizer or params_learner change (except for obvious bugs) is in validation and making sure the change does not have long-tail regressions. So, more than a PR, it would be extremely useful to have an issue, with a specific undesirable behaviour (along with the segment logs uploaded), and any ideas for improvement. We could discuss the extent of the issue and figure out what the regression analysis might look like.

Stock OP doesn't work on my vehicle but I'm hoping this falls under obvious bugs.
I noticed that the learner was active at high steering angles like 250 deg. is the learner able to learn valid data outside of the 3deg tire steering?
The effects of this issue was the sudden jumps in values in the learner.  These seemed nearly entirely mitigated when locking it out until hitting 0 deg.

We're very interested in fixing bugs, but proposed changes like this need to start with an actual, specific issue they're addressing. This process should start with a high quality bug report. What specifically doesn't work on your car? I checked a couple of your branches, but the diff was massive. Looking into non-stock routes is difficult, and most of the time it ends up being a waste of time.

I could make a more straight forward branch / diff. my personal is comma3 atm
most of the diff is probably martinl/subaru-community.
This is the biggest issue.
https://github.com/commaai/openpilot/pull/23530
also DM crops the top of my head off now on the C3 and doesn't work. (sent a log a while back)
I wasn't really thinking this part needed to look at any logs though.
in_linear_region = abs(self.steering_angle) < 45 or not self.steering_pressed
this line lets the learner make observations at any steering angle.

this line lets the learner make observations at any steering angle.
It only allows the learner to input observations when the angle is < 45 deg or when not steering_pressed (i.e op driving), right?
I'm not sure I follow how the filter learns at ~250 degrees. Are you saying this condition breaks sometimes?

Two things, yes, assisting turns over 45deg but also the spikes occur when resuming. Even waiting until 0deg steering
I took out the lockout because it only reduces the jump in values.
I'm not sure why there's not a spike when leaving the linear region and only on making observations after re entering.

Figured out why there was such large jumps in values. https://github.com/commaai/openpilot/pull/24315
EKF was too confident on estimates for the un-modeled values when not making observations.

Added logs/routes to the other PR showing the issues on stock + stock without "patches"

I've made an issue (https://github.com/commaai/openpilot/issues/24566). The solution here is not quite right as we want to learn the parameters even when OP is not engaged. I'll look at the aggregate data and quantify the issue soon. We can see what to do then. This might become very relevant with e2e-long doing high YR banked turns.


Add another way for the GitHub Action installation

I don't think I have capability to update the README.中文.md too.

Nice, merged!


Proposal: Strawberry decorator

Add make_strawberry_decorator function to create decorators that can be applied to resolvers.
I'm creating this as draft PR to see if this approach seems like a viable one. If people are happy with it then I can add some documentation as well.
Description
Being able to apply decorators to resolver functions is a valuable feature because it allows the developer to encapsulate common logic that needs to be applied across multiple resolvers. It also solves most of the use cases for directives in SDL based GraphQL libraries. However, because Strawberry uses dependency injection to determine what arguments to pass to the resolver function, a plain decorator implementation would only have access to the arguments that the resolver function defines. This unnecessarily couples the decorator and the resolver function.
This PR introduces a new function make_strawberry_decorator that decorates a decorator function (functional programming ftw) and wraps up the required logic so that the decorator function body can have access to the source and info arguments even if the resolver doesn't require them.
For example:
from strawberry.decorator import make_strawberry_decorator

@make_strawberry_decorator
def upper_case(resolver, source, info, **kwargs):
	result = resolver(**kwargs)
    return result.upper()

@strawberry.type
class Query:
	@strawberry.field
    @upper_case
    def greeting() -> str:
    	return "hi"

schema = strawberry.Schema(query=Query)
result = schema.execute_sync("query { greeting }")

assert not result.errors
assert result.data == {"greeting": "HI"}

Note: in the PR I also hoisted the get_func_args call to init time rather than runtime. This probably means the cache on get_func_args can be removed but I haven't done that as part of this change because I'm not sure what other implications that would have.
Extra note: this is an aside but IMO using decorators replaces the need to have specific permissions support on strawberry.field because it could be replaced with a decorator like this:
class IsAuthenticated(BasePermission):
	message = "User is not authenticated"

    def has_permission(self, source, info):
    	return False

def requires_permissions(permission_classes):
	@make_strawberry_decorator
	def wrapped(resolver, source, info, **kwargs):
		for permission_class in permission_classes:
            permission = permission_class()

            if not permission.has_permission(source, info, **kwargs):
                message = getattr(permission, "message", None)
                raise PermissionError(message)

		return resolver(**kwargs)

	return wrapped

@strawberry.type
class Query:
	@strawberry.field
	@requires_permissions([IsAuthenticated])
    def user(self, info) -> str:
    	return "patrick"

Types of Changes

[ ] Core
[ ] Bugfix
[x] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver,so make sure to pick the appropriate type. If in doubt feel free to ask :)

On naming, maybe as_resolver_decorator, or to_resolver_decorator or even just resolver_decorator?

Extra note: this is an aside but IMO using decorators replaces the need to have specific permissions support on strawberry.field because it could be replaced with a decorator like this:

Could this also be used to implement a @deprecated decorator/directive?

On naming, maybe as_resolver_decorator, or to_resolver_decorator or even just resolver_decorator?

Or even more simply: just strawberry.decorator Do we anticipate needing custom decorator support for anything other than resolvers?

On naming, maybe as_resolver_decorator, or to_resolver_decorator or even just resolver_decorator?

Or even more simply: just strawberry.decorator Do we anticipate needing custom decorator support for anything other than resolvers?

I feel like being explicit about the use case is a good idea. I can't think of any further use cases, but that doesn't negate my main reasoning here.

Extra note: this is an aside but IMO using decorators replaces the need to have specific permissions support on strawberry.field because it could be replaced with a decorator like this:

Could this also be used to implement a @deprecated decorator/directive?

In GraphQL terms, deprecated isn't actually a directive, it's just represented as one in the SDL. Given Strawberry doesn't lean on the SDL, it doesn't feel right to parrot that misunderstanding

Actually, scrub that. As long as it's clear in the docs that decorators != directives, a deprecated decorator feels like a good idea, it'd be quite ergonomic. Worth spiking out?

Actually, scrub that. As long as it's clear in the docs that decorators != directives, a deprecated decorator feels like a good idea, it'd be quite ergonomic. Worth spiking out?

How would the decorator mark the field as deprecated? The decorator gets applied before the @strawberry.field decorator so it can't influence the field generation.

Extra note: this is an aside but IMO using decorators replaces the need to have specific permissions support on strawberry.field because it could be replaced with a decorator like this [...]

I like the sound of this, but how can we replicate the same behaviour with simple fields, like this:
@strawberry.type
class User:
    email: str = strawberry.field(permission_classes=[])

?

Extra note: this is an aside but IMO using decorators replaces the need to have specific permissions support on strawberry.field because it could be replaced with a decorator like this [...]

I like the sound of this, but how can we replicate the same behaviour with simple fields, like this:
@strawberry.type
class User:
    email: str = strawberry.field(permission_classes=[])

?

What about exposing graphql-core's default resolver (https://github.com/graphql-python/graphql-core/blob/3359fe60d9940b174270426438a89d629b6cc6e2/src/graphql/execution/execute.py#L1224), then you can just wrap it.
@strawberry.type
class User:
    email: str = strawberry.field(resolver=permission_classes([a,b,c])(strawberry.default_resolver))

or
@strawberry.type
class Query:
   name: str = strawberry.field(resolver=upper_case(strawberry.default_resolver))

But if it becomes a common use case, maybe provide a little sugar:
@strawberry.type
class Query:
   name: str = strawberry.field(resolver_decorators=[permission_classes([a,b,c]), upper_case)])

But the latter could be done in user-land by wrapping strawberry.field anyway.

Extra note: this is an aside but IMO using decorators replaces the need to have specific permissions support on strawberry.field because it could be replaced with a decorator like this [...]

I like the sound of this, but how can we replicate the same behaviour with simple fields, like this:

Good point, I hadn't considered that. Exposing the default resolver (as @AndrewIngram suggested) makes sense to me. Replacing the permission_classes argument is not a core part of this proposal though and I think the proposal still adds value. It's probably worth discussing in another setting.

Good point, I hadn't considered that. Exposing the default resolver (as @AndrewIngram suggested) makes sense to me. Replacing the permission_classes argument is not a core part of this proposal though and I think the proposal still adds value. It's probably worth discussing in another setting.

Yup, didn't try to dismiss the proposal, I was curious about the plain field usecase, I think it is worth discussing it now as well, since this decorator pattern can change how we do things (for the better) :)

So @patrick91 @AndrewIngram I've spent some time trying to get decorators working for simple fields and it's turned out to be much harder than I expected. Exposing the default resolver is not that straightforward since the resolver needs to know the name of the current field which is not available when the decorator is called. It could probably be done with lots of special casing but I don't think it's worth it.
That has lead me to this API instead:
@strawberry.type
class Query:
   name: str = strawberry.field(decorators=[upper_case])

What do you think?

@jkimbo what did the code look like where you needed the field but didn't have it?

@AndrewIngram like this:
@strawberry.type
class Query:
   name: str = strawberry.field(resolver=upper_case(strawberry.default_field_resolver))

@AndrewIngram like this:
@strawberry.type
class Query:
   name: str = strawberry.field(resolver=upper_case(strawberry.default_field_resolver))

I'm still not seeing why this needs to know the field, isn't the default resolver just a function that looks at the info object when it's executed? What's not working at the time you're wrapping the function?

Because strawberry camel cases the field name you can't rely on the name on the info object to get the right attribute. I guess we could un-camel-case it to try and get the correct attribute...

What if we did something along the lines of this:
class StrawberryDecorator:
    def __init__(self, func: Callable, *args, **kwargs):
        self.func = func

    def __call__(self, field: StrawberryField) -> StrawberryField:
        wrapped_resolver = lambda: self.func(field.resolver)
        field.resolver = wrapped_resolver
        return field

#######

upper_case = StrawberryDecorator(lambda string: string.upper())

@strawberry.type
class Query:
    @upper_case
    @strawberry.field
    def name() -> str:
        return "blah"

    other_name: str = upper_case(strawberry.field())

@BryceBeagle hmm that might be a better option. I'd have to play around to see if it's possible.

@jkimbo what if, at type generation we replace the default resolver with something that had the field name in it like partial(default_resolver, field_name='abc')? 🤔

@patrick91 I tried that but the issue is that the decorator function calls the resolver so it needs to know the field name when it's created (i.e. when strawberry.field(resolver=upper_case()) is evaluated. The only way around it I can think of is if the resolver can gain access to the field object somehow but I think that would get quite messy.

Where did we land on this? I’d love to use this for some auth decorators and it looks pretty  good to me :)

Where did we land on this? I’d love to use this for some auth decorators and it looks pretty good to me :)

@benwis we are working on some refactoring before landing this, can't commit to a timeline yet, but it shouldn't take too long.
In the meanwhile I'll rebase the PR later today so it's easier to merge it in future :)

@jkimbo @BryceBeagle I've rebased and broken this PR. Will try to fix it over the weekend

I love this feature and have already started using it based on this PR. If you guys can point me in the right direction, I'm happy to try my hand at creating some docs/tests to get this merged in.

I love this feature and have already started using it based on this PR. If you guys can point me in the right direction, I'm happy to try my hand at creating some docs/tests to get this merged in.

hey @benwis I think you should be able to use decorators already (based on the tests), I think we might want to provide our own version of functools.wraps that know how to deal with the info parameter, but you can already use decorators, as long as you always pass info :)

I love this feature and have already started using it based on this PR. If you guys can point me in the right direction, I'm happy to try my hand at creating some docs/tests to get this merged in.

hey @benwis I think you should be able to use decorators already (based on the tests), I think we might want to provide our own version of functools.wraps that know how to deal with the info parameter, but you can already use decorators, as long as you always pass info :)

That's great news. Saves me a lot of trouble. Still willing to help write tests or docs if that's helpful!

+1 for this feature, really looking forward as we need it in our prod setup. Would be glad to help out

Closing at this was implemented by @erikwrede in #2567


WIP #36. Install Laravel Dusk. Setup Dusk for Travis-CI based on Dusk…

… documentation.
Trash - just testing travis

Added Snyk to analyze dependencies automatically and alert to issues

Added Codacy integration (as I'm sure is evident from the chatty bot above) to help enforce code styles. Expect this to require many tweaks to configuration but be a long-term benefit to the project and improve the quality of code reviews.


Implement commit protocol

Related #9 #19.

When a round is completable and we precommitted we start a commit timer and start accepting commit messages;
When we receive a commit message if it targets a block higher than what we've finalized we validate it and import its precommits if valid;
When our commit timer triggers we check if we've received any commit message for a block equal to what we've finalized, if we haven't then we broadcast a commit.

Also fixed some unrelated issues with the existing tests.

I think this is ready for another review.


pyproj support

*.pyproj project file support as per my comments on issue #70.
Tests are passing from what I see. I used the subsequent output of the build in a local project, and it populated the *.pyproj file appropriately.
I did not write specific tests for this, as it is pretty basic support. Let me know if that is highly desired. I just needed to get Paket to recognize *.pyproj files as a file type that needed to be updated with the installed packages.

cool. thanks


How to set cart name dynamically?

I want to set different carts for different vendors. How can I set a different cart name dynamically? Will have to call setName on each call? Please help.

use Overtrue\LaravelShoppingCart\Cart;

// just update name
ShoppingCart::name('newName');

// If you want create different instance:
$cart1 = new Cart(app('session'), app('events'))->name('cart1');
$cart2 = new Cart(app('session'), app('events'))->name('cart2');
// ...


After run Blazor project i see empty browser window

There are that i see:

But as i understand empty project after "Loading..." label should show something
Also, when i tried to run any sample projects written in Blazor, i got the same thing
Also, i have installed VS 2017 of earlier edition on my PC.

What does ”dotnet —version” give you?

2.1.300-preview1-008174

I had the same issue when I forgot to install .NET Core 2.1 Preview 1 SDK.

I think you should install version 2.1.300-preview2-008533.

@cmc19 See here.
https://blogs.msdn.microsoft.com/webdev/2018/04/17/blazor-0-2-0-release-now-available/

It works, thanks!

I have everything mentioned above, but I'm still just getting a blank page. There's app tag with an empty router tag.

@asprich Could you please open a separate issue with the details of your project and environment so that we can investigate?


[Bugfix] Fix available_kv_cache_memory

Maybe result.baseline_memory_in_bytes should be removed from memory_for_current_instance?

memory_for_current_instance and baseline_memory_in_bytes are irrelevant.


(Documentation) Need to add a Rationale/Why comment to each entity

Although most of the documentation is to be written in Doxygen code in the .dox file of each entity for the user-end and regular comments in the implementations for the developer-end, we do need a simple quick rationale of why each entity exists in the library. It should be extremely short.

Essentially, you just need to add a multi-line comment at the top of each _dec file:
/*
    the_primate_entity_in_this_file:
        This entity exists for this reason.
        Here is a little bit more information regarding why you would use it.
*/


Setup.py for pip install

Create a simple Setup.py to allow installing from pip.
Command to install from branch:
$ pip install 'git+https://github.com/kktse/OpenTire.git@pipInstallable#egg=opentire&subdirectory=code'

This looks great! I'll test it later this week!

This looks great! I'll test it out later this week!

Fixed error importing submodules (like the TireModel). The submodules should get automatically resolved in the new setup.py


preserve column sorting in patients list, frontend

address TN-248
https://jira.movember.com/browse/TN-249
preserving column sorting in patients list
CANNOT MERGE YET UNTIL PR #1525
is merged.
@OptimusRhine Adam, if you have a minute, do you mind having a look at my changes?
I decided that calling API on the "on sort" event seems safer than calling it when the browser page is unloaded.  I found that the call is not reliably made when window is unloaded in some browsers (e.g. in IE).

@OptimusRhine Adam, thank you for looking at my changes. I had forgotten about the filter fields - I had meant to work on those and then was distracted.  I will add the changes.

@OptimusRhine Adam, I added the changes to preserve the filtering selection.  Be nice if you can have another look?


Add test against cda cluster to validate sfc behavior

/test make-e2e-test

Nice!
/lgtm

/retest ci/prow/make-fast-e2e-test

/test ci/prow/make-fast-e2e-test

Could you add a README (or a comment somewhere) how such a test can run?
Obviously, it depends on the ipu_deploy target. Which turns the request into how to run the ipu_deploy target.
Since the CDA config in hack/cluster-configs/config-dpu.yaml reads the google-spread sheet, it seems clear that it can only work on machines from that spread sheet. If not, how to run the target on another system. If yes, which machines exactly (also considering that some of those machines are hooked up to CI, it's not clear which can be taken for manual testing -- if any).
Point being: please explain this somewhere (a README would be good).

/test make-e2e-test

/lgtm

/test make-e2e-test

/lgtm

/test make-e2e-test

/test make-e2e-test

/lgtm

/lgtm


Discussion: Backport criteria for 1.2

We have seen some fantastic work around endpoint regeneration in terms of:

Reduction of resource usage
Visibility into how resources are spent

It is tempting to aggressively backport this to have the tooling available in the 1.2.x series in user clusters.
Option 1:
Backport almost all of the endpoint regeneration changes.
Pros:

Simple, conflict-free  backports
Ability to identify performance problems based on user logs

Cons:

Potential to introduce regressions

Option 2:
Very selective backport (Identify candidates in testing cluster in master, backport low risk commits
Pros:

Less potential of regressions

Cons:

More merge conflict
Increased need for testing

Option 3:
Extremely selective backports. Only backport what is 100% reviewable.
Pros:

Less testing needed

Cons:

We give up on performance gains in 1.2.x

I'm for the third option. I'm of the belief that release branches need to converge upon stability - this implies that bugs, not inefficiencies, that are discovered should only be the things fixed in the branch. Thus, unless there was a huge regression with performance from say 1.1 to 1.2, we should not backport performance improvements. Performance improvements make great "features" for 1.3 as well ;)

I think enough time has passed for people to raise concerns and comment.
Summary of discussion in development meeting:

We will be conservative with backports.
The endpoint generation improvements will be made available in 1.3 unless the fix has a major impact on 1.2.
Visibility into endpoint regeneration durations may be nominated for backport if the need arises.


Update activate-using-key-management-service-vamt.md

Added retail link for activating Windows 10.
Added markdown for Notes.
Corrected a nested list error, which incorrectly indented a numbered list item.
Modified spacing inside numbered list so that text is rendered as author seemed to intend.

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


Cannot install libpng12-dev

Environment

Tesseract Version: 4.0.0
Commit Number:
Platform: ubuntu 17.04

Current Behavior:
I cannot install libpng12-dev. After I run sudo apt-get install libpng12-dev. I will get such error information
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libpng12-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libpng12-0

E: Package 'libpng12-dev' has no installation candidate

But the command sudo apt-get install libpng-dev can run normally. If I have install libpng-dev succussfully. Have I to install the libpng12-dev still?

Installing libpng-dev is fine. You don't need libpng12-dev.

If it is fine, I think the document should have an aside for other user

If it is fine, I think the document should have an aside for other user

I already edited the wiki.

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libpng12-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Unable to locate package libjasper-dev
E: Package 'libpng12-dev' has no installation candidate


(CLOUD-220) Expose actions on cloutwatch alarms to puppet resource

@garethr cloudwatch, not cloutwatch

@Iristyle ha, fixed in the commit message.


Add ability to write csv stats files

I started reviewing https://github.com/locustio/locust/pull/445 but found that it had enough problems that it'd be just easier to rewrite the entire PR.
This:

Ability to write csv files for both the requests and distribution csv as a command line flag
Refactored the logic in the web handler to reuse this csv generation for better portability

I also fixed #598 because that issue has been annoying me for a while.

Hi, as I understand one row will write in csv per 2 seconds? Why not per one second? It will be great for some TSDB like InfluxDB.

@mambusskruj I copied the interval here: https://github.com/locustio/locust/blob/master/locust/stats.py#L519
I'd actually be more inclined to decrease the frequency given that it's blocking IO for locust and on slower systems that might affect your loadtest performance.

@aldenpeterson-wf well, if locust used with master-slave mod, this is not a big issue I think.

@mambusskruj I could make it a user defined option but I'm not sure that it's worth the added complexity.
I'd be curious what other people think. I could also define the time at the module level so anyone who really wanted to could set the timeframe for both the printing/csv save.

I could make it a user defined option but I'm not sure that it's worth the added complexity.

I think 2 secs for a writing interval sounds good for the initial implementation.  Once we gauge impact of this change on performance, we can revisit or make it configurable.
First pass at a review LGTM, but I haven't tested it.  Also, can something be added to the docs or README that describes stats output?

@cgoldberg will update the docs.
I also might just make the sleep time to be constants in that file, so someone can change them it if they want since.. python.

I'm not 100% sure where to put this in the docs. There's not really a good section detailing all the flags but I added them, given activity on GH it seems an option like this would be very commonly used.
Also @mambusskruj I added the ability to easily customize how frequently the stats CSV is written.

@cgoldberg this is updated and ready for review

@cgoldberg bump :)


Add support for multi speed pumps

Breaking change. This changes the pumps to type fan, but does not delete the old pump switches. You will need to manually delete them with MQTT explorer or disable them in HA. This will break any pump automations you have.
There's quite a bit going on here. I'm happy to explain or add more comments to the code. Summary of changes:

Modified generateFanAdJSON so it can be leveraged by the blower and multi-speed pumps.
I'm using a pointer to pass the options in because the options change at run time. I wonder if we should change select and light to use the same approach?
Added additional json value for pump mode (manual or auto) - only displayed for pumps with auto and more than one other speed setting. I.e. existing single speed auto pumps are still ignored as they only have one speed (4 - auto).
Added supporting functions to decode pump install state codes. As we need to do this often.
Pump auto discovery moved to a loop to avoid code repetition.
MQTT Callback logic for pumps updated to handle all pumps to avoid code repetition.

Note: Testing identified sending 2 set the multi-speed pumps to high. But then the spa reported pump state 3. Likewise sending 3 to the spa set the pumps to low, and then the spa reported pump state 2. This doesn't feel right, so maybe we're missing something, but it appears to work correctly.

Note: I have created the PR to master, due to merge conflicts with the Multi-speed-pump branch. I think this is ready to be included into master. I think this is technically a breaking change, but unlikely to cause much consternation, as automations are unlikely to be, being used for pumps. I suppose some dashboards will need to be updated.


Re-added private profile feature

What

fixed the privacy row as per GDPR requirements and visual sign off from Danny

Why

We accidentally removed the feature.

See

 Private Profile in Privacy Settings


Connection should support backpressure/load shedding/throttling

Backpressure is currently available on a per client basis since we use GenServer.call. However, spawning a million processes and having them all queue up queries might be a disaster.
Putting a cap on the number of outstanding pipelined requests would probably be a good idea. There should be separate caps for active queries and passive queries (like change feeds).
If the limit has been reached, the response to the client should be {:error, :pipeline_limit_reached}.
In early testing, 100 active concurrent queries is not a problem, so the cap can probably be pretty large.

I think the only thing to be done here is put a cap on outstanding requests. This should be easy enough, especially since we store pending as a map and therefore have constant time size lookup.

Added to master.


Word wrap link/long text so it doesn't overflow its parent's width.

Thanks.

cheers! keep up the good work
exactly the light weight lib I was looking for
using it here http://kevincobain2000.github.io/

wow! nice work :)