Change 'viewbox' to 'viewBox' in transform.py

In the height and width setters in transform.py, shouldn't viewbox read viewBox?
https://developer.mozilla.org/en/docs/Web/SVG/Attribute/viewBox
clearly shows the correct name to be viewBox.
This matters particularly for old browsers which do not understand viewbox but do understand viewBox.

You are right. I have not realised that svg attributes are case-sensitive.


*: Refine include of TiDB.h to speedup re-compiling

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/6233
Problem Summary:
Changing TiDB.h will make about 600 files being re-compile, which cost too much time.
What is changed and how it works?
*: Refine include of TiDB.h to speedup re-compiling

Split TiDB_fwd.h, TiDBTypes.h
Include TiDB.h, TypeMapping.h in .cpp files instead of .h files as possible to reduce the re-compiling involve files

After these changes, the re-compile files down from 600 to 300
Check List
Tests

[ ] Unit test
[ ] Integration test
[x] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

Good job.


Issue exists on Firefox but not in chrome

Can't reproduce on firefox 98, can you tell me your firefox version please? thanks

98.3.0
*couldn't post video here
https://youtu.be/E5DSzDbV2kU

Do you have any extension installed?

Yes i had but unistalling them makes no change 🤔🤔 should i reinstall Firefox? 😵😵😵 All my data and log ins 🚮
Nope won't dare to do that.....

Installing firefox nightly or some other....

https://user-images.githubusercontent.com/34002411/160478679-a4719c5b-73c1-43fb-85ee-5ccc25ff891b.mp4
Fresh installed ff nightly (v 100) still issue exists

Hmm the problem might be specific for your phone resolution/dpi, can you tell what's is your phone?

Realme 5i (developer mode disabled)


Simplify adding photos by removing 2 of the 4 steps

Current behaviour:

Screen to take a photo
OK / Retry dialog (not sure if that's the app or the camera, hopefully we can disable it in any case..)
Crop interface
Retry / Edit / Confirm dialog

Suggestion:
Merge 2. 3. and 4. into a single Crop interface (same as today's + a Retry button). I don't think we need an extra confirmation step, we can submit the image as soon as the user hits "ok" on the crop screen.

@stephanegigandet My remarks:

I have never seen screen 2
in screen 3 you can crop, and it's a standard crop operation (i.e. that any user can understand) (and that we can replace with any crop tool if needed)
in screen 4 you see the result of your crop (cropped image is now full size on screen)
if you merge screens 3 and 4, we need to upgrade our users so they can understand in the same screen the crop operation and the retake pic and ok (is that "ok for the crop" or "ok send the image"?)

I've just double checked with whatsapp:

I took a picture in my gallery
clicked on "share", and selected whatsapp
now on whatsapp on the "send image" screen, there are several tools
if we talk about the crop tool, you go to the crop tool, crop, click cancel or ok, and go back to the "send image" screen
same for us

"send image" screen
crop tool

For us it's a bit different: when we add a new product, we want to add 3 or 4 pictures, we don't have filters, stickers etc. We just want to upload pictures as quickly as possible. So I think it makes sense to remove confirmation steps that don't really bring value.
I'm guessing that step 2. is somehow added by Samsung, but maybe there's a way to disable it, and ask for the camera to not require a confirmation.
For step 3/4, I think we can merge them with clearer buttons.
e.g.

change the title from "Edit image" to "Crop the image"
have 3 buttons : "Take another picture", "Rotate", "Send".

@stephanegigandet So if I compact it my way, could we say:

in Smoothie, you click on "add a picture"
it opens the camera (or the gallery, whatever)
you take the picture
you land directly on the crop screen, with 3 buttons "cancel", "rotate", "send"
actually I don't like the "take another picture" label, it sounds like "take an additional picture" rather than "cancel your current choice and replace it with another picture"
and we need a way to cancel anyway, don't we? So a cancel button makes sense; you will land back on the page where you could take a picture.

That said, it won't be exactly the same with an existing picture. In that case you need to be able to take another picture (and also to cancel). That would mean 4 buttons: "change picture", "cancel", "rotate", "send". That's a lot.
There's no way you can get rid of "cancel", "rotate", "send". Or, if we rely on the "X" in the title, users may cancel with it.
That would mean:

"X" on top cancels whatever in going on
"change/replace/camera/gallery", "rotate", "send/confirm/ok" in all cases (existing and non-existing image)

Do we agree on that?

Could we also get rid of the Profile / Search / History button bar on this screen?

That would seem appropriate, but I'm not sure if this can be done easily. Creating a new issue about it...

Now we're in a sort of collision between expected behaviors.
Today, when we click on an image in the product page P ("Product"), we go to page M ("Main") with the main 4 images.
If we click on one image on page M, we go to page F ("Full") with the image full screen, and a button to edit it that goes to page E ("Edit").
On page E, we can take another picture, crop or confirm the picture.
If we crop the picture, we go to page C ("Crop"), that returns to page E when done.
The collision is here:

with #3129 @omkarChend1kar would make it possible to swipe between images on page F
with the current issue @stephanegigandet would like to merge pages F, E and C

If we do both at the same time, that means that on page C, we can

take another picture
swipe to another image
cancel
click ok
crop the image

Looks a bit too much to me, like a Welsh card game.
Especially when the purpose was to simplify the UX.

Let alone the fact that some day we'll have to deal with "other" images.
I'm afraid we have to get rid of one the suggested behaviors, and I would say the swipe effect should be forgotten.
@stephanegigandet @teolemon @omkarChend1kar Your views on the subject?

Now we're in a sort of collision between expected behaviors.
Today, when we click on an image in the product page P ("Product"), we go to page M ("Main") with the main 4 images. If we click on one image on page M, we go to page F ("Full") with the image full screen, and a button to edit it that goes to page E ("Edit"). On page E, we can take another picture, crop or confirm the picture. If we crop the picture, we go to page C ("Crop"), that returns to page E when done.
The collision is here:

with Allow to swipe between product images on the full screen image view #3129 @omkarChend1kar would make it possible to swipe between images on page F
with the current issue @stephanegigandet would like to merge pages F, E and C

If we do both at the same time, that means that on page C, we can

take another picture
swipe to another image
cancel
click ok
crop the image

Looks a bit too much to me, like a Welsh card game. Especially when the purpose was to simplify the UX.
Let alone the fact that some day we'll have to deal with "other" images.
I'm afraid we have to get rid of one the suggested behaviors, and I would say the swipe effect should be forgotten. @stephanegigandet @teolemon @omkarChend1kar Your views on the subject?

Yeah, Right. Instead of simplifying the process, Swiping effects complicates it.

https://github.com/openfoodfacts/smooth-app/discussions/3338

This is the current behavior if someone wants to change an image...

1) product page
2) clicked on single image

3) clicked on single image (again)
4) clicked on modify

5) clicked on modify (again)
6) clicked on OK

clicked on confirm: same as 3)
went back: same as 2)
went back: same as 1)

This is what I suggest:

1) product page
2) clicked on single image

clicked on "confirm": same as 1.

A bit faster, isn't it?
If ever you want to go the other 3 images, we can imagine a navigation from top bar:

some arrow
other arrows

Well we probably should not assume that the intent of people clicking on the top photos is to change them. If I had to guess, I would think the most common intent is going to be to see the picture in full scale (especially since we hide the bottom of the part of the pictures thumbnails with the top of the product card (which I personaly find very annoying but that's another story)).
So the current behaviour that lists the 4 pictures and then opens them in full screen is ok I think.
Then we could have fewer edit screens indeed.
Screen 3 could be : show image + Take another button + Edit button
Then next screen is taking the picture (if take another button) or directly the screen with "Take another, crop, send" (edit button, or just after taking a new picture).

What about this?

immediate READ access to the full picture from product page (1)
possible swipe between full images (2)
single image edit page (3)
simplification/less steps for image editing
potential language selector to be added on page 2

@stephanegigandet @teolemon @omkarChend1kar Your opinion?

1) product page
2) clicked on single image
3) clicked on "edit"

What about this?

immediate READ access to the full picture from product page (1)
possible swipe between full images (2)
single image edit page (3)
simplification/less steps for image editing
potential language selector to be added on page 2

@stephanegigandet @teolemon @omkarChend1kar Your opinion?

product page	2) clicked on single image	3) clicked on "edit"

@monsieurtanuki Somewhat like this only, I had imagined except skipping gallery view, But was concerned about how we are going to switch between swiping and allowing to edit a current image being shown https://github.com/openfoodfacts/smooth-app/pull/3325#issuecomment-1325323377

@monsieurtanuki Somewhat like this only, I had imagined except skipping gallery view, But was concerned about how we are going to switch between swiping and allowing to edit a current image being shown #3325 (comment)

@omkarChend1kar My remarks:

personally I hate this gallery view for several reasons (1. when I click on an image I want to see this image, 2. that's an unnecessary step, 3. we know there are only 4 images but we're not able to display them bigger), but that's a matter of choice. If you want to keep it, why not, later I'll code a PR without the gallery to check how different it is with/without
As far as I'm concerned we are not going to switch between swiping and editing - on each swipable image page there will be an explicit button that opens the related crop page. Good enough is good enough.

What about this?

@monsieurtanuki:  I like it a lot, great idea! :)
I'm not sure if there's enough room, but it would great in step 3 to very clearly say that we are modifying the photo for the ingredients, or the nutrition facts etc. Maybe "Ingredients photo" instead of "Modifier la photo"? It's clear it's an edit screen anyway. One thing we might do is that if people click on "Confirm" when there are no changes (no new photo, no changed crop / rotation), we just close without changing anything.

I'm not sure if there's enough room, but it would great in step 3 to very clearly say that we are modifying the photo for the ingredients, or the nutrition facts etc. Maybe "Ingredients photo" instead of "Modifier la photo"? It's clear it's an edit screen anyway.

Good point.

One thing we might do is that if people click on "Confirm" when there are no changes (no new photo, no changed crop / rotation), we just close without changing anything.

The reverse should be true too: changing and going back should trigger a "do you want your changes to be saved?" dialog.

@omkarChend1kar Please do finish #3325 without any change to the gallery. Let's do it step by step, PR by PR (as a reviewer, I would appreciate that).

@omkarChend1kar Please do finish #3325 without any change to the gallery. Let's do it step by step, PR by PR (as a reviewer, I would appreciate that).

As per intended behavior required by #3129 ,It's already finished as mentioned in https://github.com/openfoodfacts/smooth-app/pull/3325#issuecomment-1322361299 ,Please review it @monsieurtanuki

@omkarChend1kar Please solve the conflicts.

@omkarChend1kar Please solve the conflicts.

@monsieurtanuki Yeah right, My bad, Please check now.

Actually it's a bit tricky to do that now because:

this impacts the crop page
there are recent changes about the crop page - we used to use a pub.dev package, and we switched to a custom made package in 2022-10-16, with a possibility to switch back to the old version if needed from dev mode
the impacts induced by the current issue mean changing the crop page - and today that would mean both the new and the old crop page

The first part of the issue is going to be changing the new crop page:

change the title to match the image type
add a "new picture" button

Once the old crop page is definitely removed, we can go to the second step:

remove the current "pre-edit" page (if we do so now, we won't be able to add a new picture with the old crop page)

And whenever we want, there's the optional bonus step:

remove the image gallery

Problem already suggested by @stephanegigandet: if we put an extra "camera" button, we have a bottom bar of 3 items, which looks a lot similar to the navigation tabs

Done: it took 7 clicks to change an existing photo from the product page, and with #3402 it takes only 4 clicks.
For other improvements regarding images, cf. #766.


Hover effect on buttons

There are not any hover effects on the buttons of "Start free trial", Read more, view all courses.
I would like to work on this issue.

Go Ahead!

Hi , can you assign me this task .

please assign me this task

Can you assign me this task.


Where is the ''Denoise'' function implemented? Please help me.

auto denoised_frame = denoiser_->Denoise( audio_for_encoding.subspan(t, denoiser_->SamplesPerHop()) );

Currently there is no denoiser (please see lyra_components), so the Denoise function is never called. That is just an interface to potentially insert denoisers in the future.

OK，Thank you!|･ω･｀)


ui: reset disksize param on offering change in scale vm

Description
Fixes #6627
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6636 (SL-JID-2134)

The problem is still present on Cloudstack <IP_ADDRESS>.
Sometime it works, sometines not, and i can't reproduce a test scenario where it always work or always fail :
'https://cs.pa.bso.cloud/client/api/?id=38a18b83-5583-4a8f-85a6-58ab45ec8c88&serviceofferingid=93fa5ed3-58e1-4d8d-9e34-573b1239215e&automigrate=true&command=scaleVirtualMachine&response=json
. The rootdisksize


Need more SighashCache doc/API improvements

We've been asked repeatedly (on IRC and recently on StackExchange) how to compute transaction sighashes. Our current SighashCache is not very accessible.
There are two specific improvements we should make:

Provide functionality to compute the script_code from input scriptpubkeys or addresses. In particular for segwit p2pkwh the scriptcode is surprising and weird.
Provide a complete example of a sighash computation for a legacy, segwit and taproot pubkey transaction. Maybe for p2sh, p2wsh, and tapscript as well. (We may want to just write an examples.rs and link to it in the docs.)

Looking forward to it! Also would be helpful to see the examples for different sighash input flags: SIGHASH_ALL, SIGHASH_SINGLE, etc.

Heh, I think this is similar to what I complained about - stuff for cookbook.

@apoelstra I created a GitHub repo https://github.com/panicfarm/multisig-test/ with the examples. It's currently lacking P2TR examples. If needed, I can create a PR.

@panicfarm at first glance those look great! If you are offering to PR them to this repo, that would be very welcome.

@panicfarm at first glance those look great! If you are offering to PR them to this repo, that would be very welcome.

@apoelstra
Yes, I'd be happy to!  Is this the most appropriate dir https://github.com/rust-bitcoin/rust-secp256k1/tree/master/examples ?
Or maybe since these examples verify pubkeys/sigs, not just show how to compute sighashes , maybe it's better for https://github.com/rust-bitcoin/rust-bitcoin/tree/master/bitcoin/examples ?

The examples depend on rust-bitcoin so they should be in https://github.com/rust-bitcoin/rust-bitcointree/master/examples.

Or if you are feeling super game, you could patch the new cookbook

https://rust-bitcoin.org/book/
https://github.com/rust-bitcoin/www.rust-bitcoin.org/tree/master/cookbook

@panicfarm at first glance those look great! If you are offering to PR them to this repo, that would be very welcome.

@apoelstra Submitted a PR https://github.com/rust-bitcoin/rust-bitcoin/pull/1776 . I am planning to add the P2TR examples soon.
@tcharding I would be happy to contribute them to the book along with explanations, particularly when the P2TR examples are added. At present, the book appears to be empty.  Once you have written a chapter or two, I could contribute and match your desired writing style.

No worries, thanks man.


Homepage content renewal

This PR intends to make the content of our homepage up to date for the next application cycle.
Changes

Menu bar

Projects -> Research. I'm debating between fa-code vs fa-lightbulb for the icon. Feel free to suggest something better. https://fontawesome.com/v5/search?o=r&m=free
Removed Wiki. The Wiki is an internal thing.
Added Join us. The menu bar seems slightly short without the Wiki, and the Join us sentence in the front page may not be enough. People might decide to join while looking at the research tab, too!
Preview:

Content

Reflects what we finalized in the Google Doc.

Misc

Removed duplicate image source/projects/image/latency_domain.png. Invoking diff between that and assets/latency_domain.png returns 0.

Before merging:

[ ] Update the number of open positions in the Join us form.

Closes #144.

LGTM.
Lightbulb sounds good; would be better if the bulb had some dashes around showing light coming out though

Yeah that one is a paid icon haha. Then code vs lightbulb?

code is fine then

Oh okay. Then feel free to merge whenever the form is ready.

I've removed the number of open positions altogether from the form and added an optional transcripts upload box in the form.


Q: Is this PDB meant to be combined with source files (with line numbers) or is it matched to Ghidra decompilation somehow?

Q: Is this PDB meant to be combined with source files (with line numbers) or is it matched to Ghidra decompilation somehow?

This does not support source line symbols for now. Most of my work is done without access to source code so it's a bit harder to add. In theory this can be done, but would require dumping the whole applications decompilation to disk, and everytime you modified something on ghidra it would need to potentially decompile large subsets of the application again, which would be extremely slow for anything non-trivial. Could also look at trying to support partial line symbols, but would need to test tooling support for it (eg windbg).
Short answer is it's not implemented, and it's too much work for me to add it without a personal need for it, at least for now.

So am I correct to think the PDB is used to annotate the Disassembly view in Visual Studio? If so does it draw symbol names from the Ghidra project?

I use this primarily for debugging binaries I do not have source for, mainly with windbg. I would expect the generated pdb would work in visual studio, but i haven't tried it. It does use the symbol names from ghidra. Both function and global variables. It also adds the data types from ghidra so you can use windbg's 'dt type address' command.


Making //test/integration:hds_integration_test less flaky

In https://github.com/envoyproxy/envoy/issues/4135, //test/integration:hds_integration_test failed 7/100 times. I changed it such that the upstreams  are allowed to unexpectedly disconnect, and the timeouts are longer.
Testing:
I run the test locally, and it passed 1000/1000 times.
Risk Level:
Low
This work is for https://github.com/envoyproxy/envoy/issues/1310.

@mattklein123 we can go over the timeout robustness tomorrow, should we merge this to reduce test flakes meanwhile?


fix: Auth DS re-authorise issue fixed

Description
This PR fixes:
Issue with disabled save and authorise button on authenticated API datasource page. When authenticated API is created for authentication type OAuth2, we can see save and authorise button at the bottom of datasource configuration page. When editing existing Auth API datasource, if we do not make any changes in datasource config, button is disabled and user is unable to simply re-authorise their datasource.

Add a TL;DR when description is extra long (helps content team)

Fixes #19933

if no issue exists, please create an issue and ask the maintainers about this first

Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manual
Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/ok-to-test sha=c0b1d26

/ok-to-test sha=e44d1e9

/ok-to-test sha=6254cc7

/ok-to-test sha=77f88ce


vNext Task Update Core namespaces

Overview
The SDK namespaces are all in the format: Microsoft.MixedReality.Toolkit.SDK..
Core namespaces are Microsoft.MixedReality.Toolkit.Internal..
To make our structure easier to understand, we should replace Internal with Core.
Requires
Search/replace of Internal with Core in namespaces throughout Core and SDK files.
Acceptance criteria

[ ] Nothing breaks :)

Pre or post alpha?

Pre or post alpha?

I currently have it post-alpha to reduce churn as we wrap it up.

Let's also move the systems into the final locations we decide as well when we implement this change.

Starting on this now...


Remove egress rules when destroying a security group

VPC spindown failed when destroying security group due to reference of the security group ID in an egress rule of another security group. Old code was only removing ingress rules from a security group before destroying it. This fix will remove egress rules as well.

Build triggered. sha1 is merged.

Build triggered. sha1 is merged.

Build triggered. sha1 is merged.


e2e: Reduce abstraction and fix teardown edge cases

Before this commit, the e2e code used a level of abstraction that significantly
obfuscated the fixture logic around create/teardown. This commit removes the
abstraction and brings the platform specific logic closer together to aid in
reader comprehension. As we get more experience with dealing with multiple
platforms, the emergent patterns should inform what abstractions make sense.
Right now we're only dealing with two, and they don't seem to differ in enough
ways to justify so much indirection.
As part of the refactor, this commit also fixes some teardown edge cases which
were only apparent after bringing the code closer together:

Cluster dumps during initial cluster teardown which failed but which
succeeded on retry used to incorrectly fail the test. Now if the dump eventually
suceeds, the test can succeed.

The cluster dump that occurs after test namespace teardown failure was
happening when the test failed for any reason. This is fixed so the dump only
happens if the namespace teardown fails.

thanks! this make sense to me

/hold cancel
/test e2e-kubevirt-all

Looks much better now :)

@alvaroaleman can you re-tag?

One of the machines in the claimed cluster failed to come up
WaitingForMachines: Waiting for cluster machines to start. Some machines are not yet running: i-0cd7e11ea1eae2f71 (step 1/4)

/retest


[RFE] Consoleanimation generation (.gif) should have a uniform size of the console

Current situation
Many of the .gif console animations have different width and height
Impact
When browsing through the manuals and guids it looks cluttered when all the animations have different sizes.
Furthermore when Browsers are automatically rescaling the .gif animation, the textsize could change and readability suffers.
Also the contributor shouldn't have to think about the width and height of its own console so much when generating the animations
Ideal future situation
When generating the animations, the width and height should be set globally somewhere (probably in the Makefile)
Maybe the height should remain variable, but there sould be standards for short, long, ... console windows.

Fixed by https://github.com/inspektor-gadget/inspektor-gadget/pull/1039.


Data migration from one instance to another

Hi, I might have missed something obvious, but is there a way to export all data from one kanboard instance and then import to another kanboad using a different storage backend?
SQL dumps might probably work, but I am wondering if there is some other way, especially with regards to user mapping. In my case the new instance would use LDAP and the old instance is not.
I do see a couple of other plugins, which allow importing from 3rd party services but haven't seen plugins related to kanboard -> kanboard data migration.
Thanks a lot,
Johannes

If you want to migrate from Sqlite to Mysql or Postgres there are probably some command line tools, but the reliability of this operation is not guaranteed to work correctly. (search in the closed issues, some people already tried that).

The most relevant related to this issue is #1740

I have disclosed a script for migrating SQLite database to MySQL: https://github.com/oliviermaridat/kanboard-sqlite2mysql
It generates a SQL dump of Kanboard data. It can be used for export / import.

How would I migrate from one server to another, both having mysql. Is it just a matter of export/import to the db?

@thob Yes, you can use mysqldump for example


⚠ Bofrost.be has degraded performance

In dd23f15, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1498 ms

Resolved: Bofrost.be performance has improved in f812dd7.


Manga Source Request

Source name
Godamanga
Source link
https://godamanga.art/ or https://en.baozimh.org/
Source language
English
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a title with source name.
[X] I have checked that the extension does not already exist on the website extensions list or the app.
[X] I have checked that the extension does not already exist by searching the GitHub repository and verified it does not appear in the code base.
[X] I will fill out all of the requested information in this form.

We don't manage Tachiyomi extensions here, make an issue on Tachiyomi's github page instead


Infinite recursion (max. call stack size exceeded) in mqt_native_modules

Is this a bug report?
Yes

Have you read the Bugs section of the Contributing to React Native Guide?
Yes

Environment

react-native -v: react-native: 0.46.1
node -v: v8.1.3
npm -v: 5.1.0
yarn --version (if you use Yarn):

Then, specify:

Target Platform (e.g. iOS, Android): Android
Development Operating System (e.g. macOS Sierra, Windows 10): Linux (Fedora 25)
Build tools (Xcode or Android Studio version, iOS or Android SDK version, if relevant):

Steps to Reproduce

Unfortunately, I do not know how to reproduce the issue. When I bundle my project and deploy to a device (in my case, an Android emulator), the app crashes. Note that this does not happen in dev mode; with a debugger attached, it works fine.
The problem first happened with<EMAIL_ADDRESS>upgrading to 0.46.1 did not solve the issue.
Expected Behavior

The app should start.
Actual Behavior

The app crashes. The truncated error message follows:
                                             --------- beginning of system
07-11 12:45:01.094 1659-1673/system_process I/ActivityManager: Start proc 3379:com.android.deskclock/u0a25 for broadcast com.android.deskclock/com.android.alarmclock.DigitalAppWidgetProvider
07-11 12:45:01.116 3379-3379/com.android.deskclock W/System: ClassLoader referenced unknown path: /system/app/DeskClock/lib/x86_64
07-11 12:45:01.121 1659-3051/system_process I/ActivityManager: Killing 2716:com.android.email/u0a29 (adj 15): empty #17
07-11 12:45:02.793 3297-3320/com.elk I/Process: Sending signal. PID: 3297 SIG: 9
07-11 12:45:02.810 1659-3265/system_process E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f6633b0e450
07-11 12:45:02.815 1659-1840/system_process E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 104)
07-11 12:45:02.815 1659-1840/system_process W/InputMethodManagerService: Got RemoteException sending setActive(false) notification to pid 3297 uid 10052
07-11 12:45:02.817 1659-1840/system_process E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 104)
07-11 12:45:02.866 1659-1987/system_process D/GraphicsStats: Buffer count: 5
07-11 12:45:02.876 1659-1986/system_process I/ActivityManager: Process com.elk (pid 3297) has died
07-11 12:45:03.000 1659-1678/system_process W/AppOps: Finishing op nesting under-run: uid 1000 pkg android code 24 time=0 duration=0 nesting=0
07-11 12:45:15.936 1659-1671/system_process I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.elk/.MainActivity bnds=[435,1001][646,1254] (has extras)} from uid 10009 on display 0
07-11 12:45:15.939 1659-1673/system_process W/BroadcastQueue: Permission Denial: receiving Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$GmsExternalReceiver requires com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS due to sender com.android.launcher3 (uid 10009)
07-11 12:45:15.939 1659-1673/system_process W/BroadcastQueue: Permission Denial: broadcasting Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } from com.android.launcher3 (pid=1955, uid=10009) requires com.google.android.launcher.permission.RECEIVE_LAUNCH_BROADCASTS due to receiver com.google.android.gms/.icing.proxy.ApplicationLauncherReceiver
07-11 12:45:15.939 1659-1673/system_process W/BroadcastQueue: Permission Denial: broadcasting Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } from com.android.launcher3 (pid=1955, uid=10009) requires com.google.android.launcher.permission.RECEIVE_LAUNCH_BROADCASTS due to receiver com.google.android.googlequicksearchbox/com.google.android.search.core.icingsync.ApplicationLaunchReceiver
07-11 12:45:15.950 1659-1840/system_process I/ActivityManager: Start proc 3393:com.elk/u0a52 for activity com.elk/.MainActivity
07-11 12:45:15.956 3393-3399/? I/art: Debugger is no longer active
07-11 12:45:15.960 3393-3393/? V/fb-UnpackingSoSource: locked dso store /data/user/0/com.elk/lib-main
07-11 12:45:15.960 3393-3393/? I/fb-UnpackingSoSource: dso store is up-to-date: /data/user/0/com.elk/lib-main
07-11 12:45:15.960 3393-3393/? V/fb-UnpackingSoSource: releasing dso store lock for /data/user/0/com.elk/lib-main
07-11 12:45:15.977 1286-2001/? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x933 imply creation of host color buffer

                                                 [ 07-11 12:45:15.986  1659: 1678 D/         ]
                                                 HostConnection::get() New Host Connection established 0x7f661fda6840, tid 1678
07-11 12:45:15.990 3393-3393/? I/art: Thread[1,tid=3393,Native,Thread*=0xf40f4500,peer=0x7504e258,"main"] recursive attempt to load library "/data/app/com.elk-1/lib/x86/libfb.so"
07-11 12:45:16.009 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupViewManager
07-11 12:45:16.010 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupShadowNode
07-11 12:45:16.010 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeViewManager
07-11 12:45:16.011 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTShapeShadowNode
07-11 12:45:16.011 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextViewManager
07-11 12:45:16.011 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextShadowNode
07-11 12:45:16.011 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTGroupShadowNode
07-11 12:45:16.012 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTTextShadowNode
07-11 12:45:16.012 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDialogPickerManager
07-11 12:45:16.012 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDialogPickerManager
07-11 12:45:16.013 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.uimanager.LayoutShadowNode
07-11 12:45:16.014 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.uimanager.LayoutShadowNode
07-11 12:45:16.016 1286-2265/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
07-11 12:45:16.016 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.drawer.ReactDrawerLayoutManager
07-11 12:45:16.017 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.picker.ReactDropdownPickerManager
07-11 12:45:16.017 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
07-11 12:45:16.017 3393-3410/? D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
07-11 12:45:16.018 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ReactProgressBarViewManager
07-11 12:45:16.019 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactHorizontalScrollViewManager
07-11 12:45:16.019 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ReactProgressBarViewManager
07-11 12:45:16.020 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ProgressBarShadowNode
07-11 12:45:16.020 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.progressbar.ProgressBarShadowNode
07-11 12:45:16.022 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactScrollViewManager
07-11 12:45:16.022 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.scroll.ReactScrollViewManager
07-11 12:45:16.023 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager
07-11 12:45:16.025 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.slider.ReactSliderManager$ReactSliderShadowNode
07-11 12:45:16.026 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager
07-11 12:45:16.027 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.switchview.ReactSwitchManager$ReactSwitchShadowNode
07-11 12:45:16.027 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.toolbar.ReactToolbarManager
07-11 12:45:16.029 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.webview.ReactWebViewManager
07-11 12:45:16.029 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager
07-11 12:45:16.030 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTSurfaceViewManager
07-11 12:45:16.031 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.art.ARTSurfaceViewShadowNode
07-11 12:45:16.032 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageViewManager
07-11 12:45:16.032 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageViewManager
07-11 12:45:16.032 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageShadowNode
07-11 12:45:16.032 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.image.ReactImageManager
07-11 12:45:16.033 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.frescosupport.FrescoBasedReactTextInlineImageShadowNode
07-11 12:45:16.033 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.image.ReactImageManager
07-11 12:45:16.034 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ReactModalHostManager
07-11 12:45:16.034 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ReactModalHostManager
07-11 12:45:16.035 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ModalHostShadowNode
07-11 12:45:16.035 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactRawTextManager
07-11 12:45:16.035 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.modal.ModalHostShadowNode
07-11 12:45:16.035 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactRawTextManager
07-11 12:45:16.036 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactTextShadowNode
07-11 12:45:16.037 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactTextShadowNode
07-11 12:45:16.038 3393-3408/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.textinput.ReactTextInputManager
07-11 12:45:16.039 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.textinput.ReactTextInputManager

                                                                     [ 07-11 12:45:16.045  3393: 3410 D/         ]
                                                                     HostConnection::get() New Host Connection established 0xec438740, tid 3410
07-11 12:45:16.048 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.textinput.ReactTextInputShadowNode
07-11 12:45:16.049 3393-3410/? I/OpenGLRenderer: Initialized EGL, version 1.4
07-11 12:45:16.049 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactTextViewManager
07-11 12:45:16.049 3393-3410/? W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
07-11 12:45:16.049 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.view.ReactViewManager
07-11 12:45:16.050 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.viewpager.ReactViewPagerManager
07-11 12:45:16.051 3393-3407/? W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class com.facebook.react.views.text.ReactVirtualTextViewManager
07-11 12:45:16.059 1286-1307/? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer
07-11 12:45:16.071 1286-2001/? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer
07-11 12:45:16.077 1286-2001/? D/gralloc_ranchu: gralloc_alloc: format 1 and usage 0x900 imply creation of host color buffer
07-11 12:45:16.105 3393-3393/? W/unknown:DialogModule: onHostResume called but no FragmentManager found
07-11 12:45:16.183 1659-1678/system_process I/ActivityManager: Displayed com.elk/.MainActivity: +243ms
07-11 12:45:16.192 1955-2194/com.android.launcher3 E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f6633a2c850
07-11 12:45:16.302 3393-3415/? E/ReactNativeJS: Maximum call stack size exceeded.
07-11 12:45:16.368 3393-3415/? E/ReactNativeJS: undefined is not a function (evaluating 'this._lazyCallableModules[e]()')
07-11 12:45:16.376 1659-1678/system_process D/gralloc_ranchu: gralloc_unregister_buffer: exiting HostConnection (is buffer-handling thread)

                                                              --------- beginning of crash
07-11 12:45:17.080 3393-3416/com.elk E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
                                                       Process: com.elk, PID: 3393
                                                       com.facebook.react.common.JavascriptException: Maximum call stack size exceeded., stack:
                                                       <unknown>@11:346
                                                       <unknown>@11:346
                                                       <unknown>@11:346
                                                       <unknown>@11:346
                                                       <unknown>@11:346

(line repeats a total of 229 times)
Reproducible Demo

We need a list of steps to reproduce the issue. It sounds like you're able to get this to happen reliably. Can you expand your original post with specific steps? Something like disable dev mode, then expand on how exactly you're adding this to AVD, etc.

Well…my steps are basically
react-native bundle --verbose --platform android --dev false --entry-file index.android.js --bundle-outputandroid/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
pushd android
./gradlew assembleRelease
popd
adb install -d -r android/app/build/outputs/apk/app-release.apk

Unfortunately, I can’t really share the code for the RN app in question, as it’s proprietary. Given that, I’m not sure how helpful the above is. I do not currently have any kind of minimal example. I wonder if there’s any way to at least get a more useful stacktrace from the Android logs?

Not sure if this is related but during our upgrade, we found that dependency loops in which the dependency was accessed in the initialization path caused a crash very similar to this only in the hot module reloading case.

I'm having the exact same issue. Here are some relevant details:
react-native-cli: 2.0.1
react-native: 0.53.0
node -v: v8.9.1
npm -v: 5.6.0
yarn --version: 1.3.2

package.json
"dependencies": {
    "antd-mobile": "next",
    "axios": "^0.17.1",
    "babel-plugin-transform-async-to-generator": "^6.24.1",
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-polyfill": "^6.26.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react-native-stage-0": "^1.0.1",
    "babel-preset-stage-2": "^6.24.1",
    "geolocation-utils": "^1.0.0",
    "loglevel": "^1.6.0",
    "mobx": "^3.4.1",
    "mobx-react": "^4.3.5",
    "moment": "^2.20.1",
    "react": "16.2.0",
    "react-native": "0.53.0",
    "react-native-actionsheet": "^2.3.0",
    "react-native-elements": "^0.18.5",
    "react-native-fs": "^2.9.7",
    "react-native-geocoding": "^0.2.0",
    "react-native-image-crop-picker": "^0.19.1",
    "react-native-intercom": "^9.0.0",
    "react-native-maps": "^0.19.0",
    "react-native-modal-datetime-picker": "^4.13.0",
    "react-native-modal-selector": "0.0.24",
    "react-native-modalbox": "^1.4.2",
    "react-native-slider": "^0.11.0",
    "react-native-storage": "^0.2.2",
    "react-native-vector-icons": "^4.5.0",
    "react-navigation": "^1.0.0-beta.26",
    "react-swipeable-views-native": "^0.12.9"
  }

Error in Android Studio:
02-05 17:42:17.570 9224-9262/? E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
                                                 Process: com.appname, PID: 9224
                                                 com.facebook.react.common.JavascriptException: Maximum call stack size exceeded., stack:
                                                 <unknown>@11:410
                                                 <unknown>@11:410
                                                 <unknown>@11:410
                                                 ..... above line repeats many times ....
02-05 17:42:17.992 9224-9261/? E/ReactNativeJS: Module AppRegistry is not a registered callable module (calling unmountApplicationComponentAtRootTag)

Battling similar issue. Fails only on release builds.

I've been battling with the exact same issue for days now. Does anyone have a solution to this?


Real world use case: Virtualizarring CMIP6 data

[!NOTE]
All of this is currently based on a dev branch which represents a merge of main into #67

Motivated to come up with a proof of concept until tomorrow for the ESGF conference I am at right now, I am trying to test Virtualizarr on real world CMIP6 data on s3 (a complex example for #61)
I am running the following:
from virtualizarr import open_virtual_dataset
import xarray as xr
files = [
    's3://esgf-world/CMIP6/CMIP/CCCma/CanESM5/historical/r10i1p1f1/Omon/uo/gn/v20190429/uo_Omon_CanESM5_historical_r10i1p1f1_gn_185001-186012.nc',
    's3://esgf-world/CMIP6/CMIP/CCCma/CanESM5/historical/r10i1p1f1/Omon/uo/gn/v20190429/uo_Omon_CanESM5_historical_r10i1p1f1_gn_187101-188012.nc',
]
vds_list = []
for f in files:
    vds = open_virtual_dataset(f, filetype='netCDF4',indexes={})
    vds_list.append(vds)
combined_vds = xr.combine_nested(vds_list, concat_dim=['time'], coords='minimal', compat='override')
combined_vds.virtualize.to_kerchunk('combined.json', format='json')

This works until here, which is really phenomenal. Thanks for the great work here.

But when I try to read from the reference file
import fsspec

fs = fsspec.filesystem("reference", fo=f"combined.json")
mapper = fs.get_mapper("")

combined_ds = xr.open_dataset(mapper, engine="kerchunk")

I get this error:

---------------------------------------------------------------------------
ClientError                               Traceback (most recent call last)
File [/srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py:113](https://leap.2i2c.cloud/srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py#line=112), in _error_wrapper(func, args, kwargs, retries)
    112 try:
--> 113     return await func(*args, **kwargs)
    114 except S3_RETRYABLE_ERRORS as e:
File /srv/conda/envs/notebook/lib/python3.11/site-packages/aiobotocore/client.py:408, in AioBaseClient._make_api_call(self, operation_name, api_params)
407     error_class = self.exceptions.from_code(error_code)
--> 408     raise error_class(parsed_response, operation_name)
409 else:
ClientError: An error occurred (InvalidAccessKeyId) when calling the GetObject operation: The AWS Access Key Id you provided does not exist in our records.
The above exception was the direct cause of the following exception:
PermissionError                           Traceback (most recent call last)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/asyn.py:245, in _run_coros_in_chunks.._run_coro(coro, i)
244 try:
--> 245     return await asyncio.wait_for(coro, timeout=timeout), i
246 except Exception as e:
File /srv/conda/envs/notebook/lib/python3.11/asyncio/tasks.py:452, in wait_for(fut, timeout)
451 if timeout is None:
--> 452     return await fut
454 if timeout <= 0:
File /srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py:1125, in S3FileSystem._cat_file(self, path, version_id, start, end)
1123         resp["Body"].close()
-> 1125 return await _error_wrapper(_call_and_read, retries=self.retries)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py:142, in _error_wrapper(func, args, kwargs, retries)
141 err = translate_boto_error(err)
--> 142 raise err
File /srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py:113, in _error_wrapper(func, args, kwargs, retries)
112 try:
--> 113     return await func(*args, **kwargs)
114 except S3_RETRYABLE_ERRORS as e:
File /srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py:1112, in S3FileSystem._cat_file.._call_and_read()
1111 async def _call_and_read():
-> 1112     resp = await self._call_s3(
1113         "get_object",
1114         Bucket=bucket,
1115         Key=key,
1116         **version_id_kw(version_id or vers),
1117         **head,
1118         **self.req_kw,
1119     )
1120     try:
File /srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py:362, in S3FileSystem._call_s3(self, method, *akwarglist, **kwargs)
361 additional_kwargs = self._get_s3_method_kwargs(method, *akwarglist, **kwargs)
--> 362 return await _error_wrapper(
363     method, kwargs=additional_kwargs, retries=self.retries
364 )
File /srv/conda/envs/notebook/lib/python3.11/site-packages/s3fs/core.py:142, in _error_wrapper(func, args, kwargs, retries)
141 err = translate_boto_error(err)
--> 142 raise err
PermissionError: The AWS Access Key Id you provided does not exist in our records.
The above exception was the direct cause of the following exception:
ReferenceNotReachable                     Traceback (most recent call last)
Cell In[17], line 6
3 fs = fsspec.filesystem("reference", fo=f"combined.json", anon=True)
4 mapper = fs.get_mapper("")
----> 6 combined_ds = xr.open_dataset(mapper, engine="kerchunk")
File /srv/conda/envs/notebook/lib/python3.11/site-packages/xarray/backends/api.py:573, in open_dataset(filename_or_obj, engine, chunks, cache, decode_cf, mask_and_scale, decode_times, decode_timedelta, use_cftime, concat_characters, decode_coords, drop_variables, inline_array, chunked_array_type, from_array_kwargs, backend_kwargs, **kwargs)
561 decoders = _resolve_decoders_kwargs(
562     decode_cf,
563     open_backend_dataset_parameters=backend.open_dataset_parameters,
(...)
569     decode_coords=decode_coords,
570 )
572 overwrite_encoded_chunks = kwargs.pop("overwrite_encoded_chunks", None)
--> 573 backend_ds = backend.open_dataset(
574     filename_or_obj,
575     drop_variables=drop_variables,
576     **decoders,
577     **kwargs,
578 )
579 ds = _dataset_from_backend_dataset(
580     backend_ds,
581     filename_or_obj,
(...)
591     **kwargs,
592 )
593 return ds
File /srv/conda/envs/notebook/lib/python3.11/site-packages/kerchunk/xarray_backend.py:17, in KerchunkBackend.open_dataset(self, filename_or_obj, drop_variables, storage_options, open_dataset_options)
8 def open_dataset(
9     self,
10     filename_or_obj,
(...)
14     open_dataset_options=None
15 ):
---> 17     ref_ds = open_reference_dataset(
18         filename_or_obj,
19         storage_options=storage_options,
20         open_dataset_options=open_dataset_options,
21     )
22     if drop_variables is not None:
23         ref_ds = ref_ds.drop_vars(drop_variables)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/kerchunk/xarray_backend.py:51, in open_reference_dataset(filename_or_obj, storage_options, open_dataset_options)
48 if open_dataset_options is None:
49     open_dataset_options = {}
---> 51 m = fsspec.get_mapper("reference://", fo=filename_or_obj, **storage_options)
53 return xr.open_dataset(m, engine="zarr", consolidated=False, **open_dataset_options)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/mapping.py:249, in get_mapper(url, check, create, missing_exceptions, alternate_root, **kwargs)
218 """Create key-value interface for given URL and options
219
220 The URL will be of the form "protocol://location" and point to the root
(...)
246 FSMap instance, the dict-like key-value store.
247 """
248 # Removing protocol here - could defer to each open() on the backend
--> 249 fs, urlpath = url_to_fs(url, **kwargs)
250 root = alternate_root if alternate_root is not None else urlpath
251 return FSMap(root, fs, check, create, missing_exceptions=missing_exceptions)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/core.py:395, in url_to_fs(url, **kwargs)
393     inkwargs["fo"] = urls
394 urlpath, protocol, _ = chain[0]
--> 395 fs = filesystem(protocol, **inkwargs)
396 return fs, urlpath
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/registry.py:293, in filesystem(protocol, **storage_options)
286     warnings.warn(
287         "The 'arrow_hdfs' protocol has been deprecated and will be "
288         "removed in the future. Specify it as 'hdfs'.",
289         DeprecationWarning,
290     )
292 cls = get_filesystem_class(protocol)
--> 293 return cls(**storage_options)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/spec.py:80, in _Cached.call(cls, *args, **kwargs)
78     return cls._cache[token]
79 else:
---> 80     obj = super().call(*args, **kwargs)
81     # Setting _fs_token here causes some static linters to complain.
82     obj.fs_token = token
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/implementations/reference.py:713, in ReferenceFileSystem.init(self, fo, target, ref_storage_args, target_protocol, target_options, remote_protocol, remote_options, fs, template_overrides, simple_templates, max_gap, max_block, cache_size, **kwargs)
709             self.fss[protocol] = fs
710 if remote_protocol is None:
711     # get single protocol from references
712     # TODO: warning here, since this can be very expensive?
--> 713     for ref in self.references.values():
714         if callable(ref):
715             ref = ref()
File :880, in iter(self)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/mapping.py:155, in FSMap.getitem(self, key, default)
153 k = self._key_to_str(key)
154 try:
--> 155     result = self.fs.cat(k)
156 except self.missing_exceptions:
157     if default is not None:
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/implementations/reference.py:917, in ReferenceFileSystem.cat(self, path, recursive, on_error, **kwargs)
915 new_ex.cause = ex
916 if on_error == "raise":
--> 917     raise new_ex
918 elif on_error != "omit":
919     out[k] = new_ex
ReferenceNotReachable: Reference "i/0" failed to fetch target ['s3://esgf-world/CMIP6/CMIP/CCCma/CanESM5/historical/r10i1p1f1/Omon/uo/gn/v20190429/uo_Omon_CanESM5_historical_r10i1p1f1_gn_185001-186012.nc', 47078, 1440]

To me this indicates that somehow the required storage_options={'anon':True} is not properly passed.
Adding
fs = fsspec.filesystem("reference", fo=f"combined.json", remote_options={'anon':True})

gets around that error but the opening never works. After waiting for 10 minutes I get this trace:

---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
File :6
File /srv/conda/envs/notebook/lib/python3.11/site-packages/xarray/backends/api.py:573, in open_dataset(filename_or_obj, engine, chunks, cache, decode_cf, mask_and_scale, decode_times, decode_timedelta, use_cftime, concat_characters, decode_coords, drop_variables, inline_array, chunked_array_type, from_array_kwargs, backend_kwargs, **kwargs)
561 decoders = _resolve_decoders_kwargs(
562     decode_cf,
563     open_backend_dataset_parameters=backend.open_dataset_parameters,
(...)
569     decode_coords=decode_coords,
570 )
572 overwrite_encoded_chunks = kwargs.pop("overwrite_encoded_chunks", None)
--> 573 backend_ds = backend.open_dataset(
574     filename_or_obj,
575     drop_variables=drop_variables,
576     **decoders,
577     **kwargs,
578 )
579 ds = _dataset_from_backend_dataset(
580     backend_ds,
581     filename_or_obj,
(...)
591     **kwargs,
592 )
593 return ds
File /srv/conda/envs/notebook/lib/python3.11/site-packages/kerchunk/xarray_backend.py:17, in KerchunkBackend.open_dataset(self, filename_or_obj, drop_variables, storage_options, open_dataset_options)
8 def open_dataset(
9     self,
10     filename_or_obj,
(...)
14     open_dataset_options=None
15 ):
---> 17     ref_ds = open_reference_dataset(
18         filename_or_obj,
19         storage_options=storage_options,
20         open_dataset_options=open_dataset_options,
21     )
22     if drop_variables is not None:
23         ref_ds = ref_ds.drop_vars(drop_variables)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/kerchunk/xarray_backend.py:51, in open_reference_dataset(filename_or_obj, storage_options, open_dataset_options)
48 if open_dataset_options is None:
49     open_dataset_options = {}
---> 51 m = fsspec.get_mapper("reference://", fo=filename_or_obj, **storage_options)
53 return xr.open_dataset(m, engine="zarr", consolidated=False, **open_dataset_options)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/mapping.py:249, in get_mapper(url, check, create, missing_exceptions, alternate_root, **kwargs)
218 """Create key-value interface for given URL and options
219
220 The URL will be of the form "protocol://location" and point to the root
(...)
246 FSMap instance, the dict-like key-value store.
247 """
248 # Removing protocol here - could defer to each open() on the backend
--> 249 fs, urlpath = url_to_fs(url, **kwargs)
250 root = alternate_root if alternate_root is not None else urlpath
251 return FSMap(root, fs, check, create, missing_exceptions=missing_exceptions)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/core.py:395, in url_to_fs(url, **kwargs)
393     inkwargs["fo"] = urls
394 urlpath, protocol, _ = chain[0]
--> 395 fs = filesystem(protocol, **inkwargs)
396 return fs, urlpath
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/registry.py:293, in filesystem(protocol, **storage_options)
286     warnings.warn(
287         "The 'arrow_hdfs' protocol has been deprecated and will be "
288         "removed in the future. Specify it as 'hdfs'.",
289         DeprecationWarning,
290     )
292 cls = get_filesystem_class(protocol)
--> 293 return cls(**storage_options)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/spec.py:80, in _Cached.call(cls, *args, **kwargs)
78     return cls._cache[token]
79 else:
---> 80     obj = super().call(*args, **kwargs)
81     # Setting _fs_token here causes some static linters to complain.
82     obj.fs_token = token
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/implementations/reference.py:713, in ReferenceFileSystem.init(self, fo, target, ref_storage_args, target_protocol, target_options, remote_protocol, remote_options, fs, template_overrides, simple_templates, max_gap, max_block, cache_size, **kwargs)
709             self.fss[protocol] = fs
710 if remote_protocol is None:
711     # get single protocol from references
712     # TODO: warning here, since this can be very expensive?
--> 713     for ref in self.references.values():
714         if callable(ref):
715             ref = ref()
File :880, in iter(self)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/mapping.py:155, in FSMap.getitem(self, key, default)
153 k = self._key_to_str(key)
154 try:
--> 155     result = self.fs.cat(k)
156 except self.missing_exceptions:
157     if default is not None:
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/implementations/reference.py:892, in ReferenceFileSystem.cat(self, path, recursive, on_error, **kwargs)
883 # merge and fetch consolidated ranges
884 new_paths, new_starts, new_ends = merge_offset_ranges(
885     list(urls2),
886     list(starts2),
(...)
890     max_block=self.max_block,
891 )
--> 892 bytes_out = fs.cat_ranges(new_paths, new_starts, new_ends)
894 # unbundle from merged bytes - simple approach
895 for u, s, e, p in zip(urls, starts, ends, valid_paths):
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/asyn.py:118, in sync_wrapper..wrapper(*args, **kwargs)
115 @functools.wraps(func)
116 def wrapper(*args, **kwargs):
117     self = obj or args[0]
--> 118     return sync(self.loop, func, *args, **kwargs)
File /srv/conda/envs/notebook/lib/python3.11/site-packages/fsspec/asyn.py:91, in sync(loop, func, timeout, *args, **kwargs)
88 asyncio.run_coroutine_threadsafe(_runner(event, coro, result, timeout), loop)
89 while True:
90     # this loops allows thread to get interrupted
---> 91     if event.wait(1):
92         break
93     if timeout is not None:
File /srv/conda/envs/notebook/lib/python3.11/threading.py:629, in Event.wait(self, timeout)
627 signaled = self._flag
628 if not signaled:
--> 629     signaled = self._cond.wait(timeout)
630 return signaled
File /srv/conda/envs/notebook/lib/python3.11/threading.py:331, in Condition.wait(self, timeout)
329 else:
330     if timeout > 0:
--> 331         gotit = waiter.acquire(True, timeout)
332     else:
333         gotit = waiter.acquire(False)
KeyboardInterrupt:

I might be misinterpreting this but this looks exactly like the trace of the 'pangeo-forge-rechuning-stall' issue (can't find the original issue right now).
I am def too tired to dig deeper but I am wondering a few things:

Once this is written as a zarr, will the need to pass storage options go away?
Is there a way to not use fsspec to use the reference files at the moment?

Super happy to keep working on this!

Oh I got it! (this is from @mgrover1 s notebook)
ds = xr.open_dataset("reference://",
                     engine="zarr",
                     backend_kwargs={
                         "consolidated": False,
                         "storage_options": {
                             "fo": 'combined.json',
                             "remote_protocol": "s3",
                             "remote_options":{'anon':True},
                         },

                     }
                    )
ds

works brilliantly!

Honestly no clue what is happening here, but also not that important in the long term I guess hehe.

To me this indicates that somehow the required storage_options={'anon':True} is not properly passed.

That might well be the case.
I actually forgot we hadn't merged #67 yet - it would be great to have that tested and merged.

Once this is written as a zarr, will the need to pass storage options go away?

Once it's written using the chunk manifest specification, and zarr-python implements the same ZEP, then it will be read from S3 however zarr-python implements it. Which I think will be using the rust object-store crate. I don't know anything about what options have to be passed to that.

Is there a way to not use fsspec to use the reference files at the moment?

You need fsspec to understand the reference files if they written out following the kerchunk format.

@jbusecke nice! If that works but engine='kerchunk' doesn't work then presumably there is a bug with kerchunk's xarray backend...
I would double-check that you can load this data and that the values are as you expect (watch out for subtleties with encoding)...

Ok I tried this for loading:
from dask.diagnostics import ProgressBar
import xarray as xr

ds = xr.open_dataset("reference://",
                     engine="zarr",
                     chunks={},
                     backend_kwargs={
                         "consolidated": False,
                         "storage_options": {
                             "fo": 'combined.json',
                             "remote_protocol": "s3",
                             "remote_options":{'anon':True},
                         },

                     }
                    )
with ProgressBar():
    da_plot = ds.uo.mean(['time', 'lev']).load()
da_plot.plot()

That seems totally fine to me on the loading side.
Do you have recommendations how to check the encoding in a comprehensive manner?

That seems totally fine to me on the loading side.

Great!

Do you have recommendations how to check the encoding in a comprehensive manner?

Well the source of truth here would be to open the files directly using xarray without using kerchunk, i.e. open_mfdataset on the raw netCDFs.

Very cool to see a real world example @jbusecke!


Attribute buffer handling bug fixes

Change List

Fix a bug in SolidPolygonLayer indices buffer update (broken tesselation when layer data is updated)
Fix PathLayer attribute transition crash
Fix attribute transition test app

Coverage increased (+0.006%) to 62.952% when pulling 63f9c7a692638866ce9ccd71ff19186b18b568cd on x/attribute-transition-fix into 3edc6391243471f3020dee0e9a49d6f2f99360bc on master.


Formatter for default filetype ["*"] when no formatter is specified

I previously used lukas-reineke/format.nvim and it had the option to specify a default formatter for any filetype.
Specifically, I'd like to use it to remove trailing whitespace:
require "formatter".setup {
    filetype = {
        ["*"] = {
            function()
                return {
                    -- remove trailing whitespace
                    exe = "sed",
                    args = {"-i", "'s/[ \t]*$//'"},
                    stdin = false
                }
            end
        }
    }
}

You can do that with an autocommand and it will work on every filetype:
    augroup TrimTrailingWhiteSpace
        au!
        au BufWritePre * %s/\s\+$//e
        au BufWritePre * %s/\n\+\%$//e
    augroup END

You can do that with an autocommand and it will work on every filetype:
    augroup TrimTrailingWhiteSpace
        au!
        au BufWritePre * %s/\s\+$//e
        au BufWritePre * %s/\n\+\%$//e
    augroup END

Thanks, that's really nice. There's a lifetime of discoveries to be made in every part of vim.

While yes, in this case you can use solve it with a substitution from within Vim, I still think it would be a good feature to have.

Providing a default formatter will make the config of autocmd to be easier:
augroup FormatAutogroup
  autocmd!
  autocmd BufWritePost * FormatWrite
augroup END

@nanozuki you can use this config right now - just suppress errors
augroup FormatAutogroup
  autocmd!
  autocmd BufWritePost * silent! FormatWrite
augroup END

id like to make a pr after #144 gets merged so waiting on that a bit

please check out #144 - it adds this feature as originally requested by @mgnsk

I've got a use case where we're running a formatter across all file types and look for certain markers (as structured comments) and the formatter only runs on the content between the markers.
Is the idea here to have a fallback formatter if no other formatter runs or to have a wildcard formatter which could also run before all other formatters but formatters configured later in the ordered list can and will still run?

I've tried this out and it doesn't appear to work for me. The issue seems to be that, unless I specify at least one formatter for a file type, the * formatters don't get run.
If I have this configuration the no whitespace is stripped:
require('formatter').setup({
  filetype = {
    ['*'] = { require('formatter.filetypes.any').remove_trailing_whitespace, },
  },
})

If I have any empty array defined for a file type then the same result, e.g.:
require('formatter').setup({
  filetype = {
    javascript = {},
    ['*'] = { require('formatter.filetypes.any').remove_trailing_whitespace, },
  },
})

However, if I define a single formatter defined for the filetype then I get whitespace stripped, e.g.:
require('formatter').setup({
  filetype = {
    javascript = { function() return nil end, },
    ['*'] = { require('formatter.filetypes.any').remove_trailing_whitespace, },
  },
})

My lua skills are near zero but I think this line ends up an array that contains nil as the first element in the first two cases. And then, I think, this line fails because it's trying to call nil(). I am probably wrong with that though.
Is this a bug? Or PEBKAC?

@mattdenner That's an extremely good catch for someone that doesn't know lua. I tried this with luajit and it seems you nailed the heart of the problem:
> a = {}
> b = { 1 }
> c = { unpack(a), unpack(b) }
> print(#c)
2
> print(c[1])
nil
> print(c[2])
1

However, it works as you would expect if the empty array is last:
> a = {}
> b = { 1 }
> c = { unpack(b), unpack(a) }
> print(#c)
1
> print(c[1])
1
> print(c[2])
nil

I'll make a PR resolving this and post it here in a bit.


Angular AOT error when having a component within a library

Hi,
Not sure if this an issue, or requires some changes within webpack in order to get it work, perhaps someone else already seen this issue as it should be quite common I would say.
When adding a library such as Angular Material, or even I created a simple component within a library to narrow this down, and building the app as AoT, we get the following error:
    ERROR in<EMAIL_ADDRESS>    Module parse failed<EMAIL_ADDRESS>Unexpected token (11:25)
    You may need an appropriate loader to handle this file type.
    | import * as i0 from '@angular/core';
    | import * as i1 from<EMAIL_ADDRESS>    | const styles_XyzComponent:any[] = ([] as any[]);
    | export const RenderType_XyzComponent:i0.RendererType2 = i0.ɵcrt({encapsulation:2,styles:styles_XyzComponent,
    |     data:{}});
     @ ./$$_gendir/ClientApp/app/areas/home/home.component.ngfactory.ts 9:0-104
     @ ./$$_gendir/ClientApp/app/app.module.browser.ngfactory.ts
     @ ./ClientApp/boot-browser.ts

The following is a simple component which doesn't work
import { Component } from "@angular/core";

@Component({
	selector: "odn-xyz",
	template: `<h1>Xyz5</h1> <button>a button</button>`
})
export class XyzComponent {

}

These are the conditions when it doesn't work.

when built with aot (without AoT it works fine)
and in a separate library (as a vendor)
and library contains a component

It sounds like the third-party package you're using wasn't built in a way that's compatible with AoT. I don't think they should have included the *.ngfactory.ts files in the NPM package, as they are meant to be built when the application is built.
If you want to pursue getting a fix for this, can you report it to the package author?

@SteveSandersonMS well the thing is the libraries I'm using one is Angular Material the official, so I doubt it's not built correctly with AOT and the other as I stated it's my library, and I just checked both and they don't have  *.ngfactory.ts generated.
Just to let you know we have been investigating this around 2 days already, wasn't too hasty to open the issue.
I think there's either a problem with the @ngtools/webpack (perhaps I should open an issue there) or with the setup as it is now.

OK, thanks for the update. It's entirely possible there's some limitation in @ngtools/webpack, or possibly in the way AoT is configured in your project, or possibly in the way AoT is set up in the template. I'm not sure what version of the templates you're starting from - you have boot-browser.ts rather than boot.browser.ts so it must not be the absolute latest (but it might be close enough not to make a difference).
If you do manage to track this down and believe there's a bug in the code in this repo, could you please let us know the details? Thanks!

@SteveSandersonMS sure if I have any findings regarding this I will reply to this one; as its quite a headache and it's crucial, thanks.

Just a slight update, I created a repo with a fresh dotnet new angular and added material and it has the same error
https://github.com/stephenlautier/aot-comp-error
If anyone wants to give it a go:

git clone https://github.com/stephenlautier/aot-comp-error.git
npm i
npm run build:rel

Thanks for posting the repro info.
I think the problem is on this line in webpack.config.js:
{ test: /\.ts$/, include: /ClientApp/, use: isDevBuild ? ['awesome-typescript-loader?silent=true', 'angular2-template-loader'] : '@ngtools/webpack' },

The include: /ClientApp/ setting means that it won't compile any .ts files in other locations. This causes problems with AoT because the AoT loader generates temporary .ts files in a different directory during the build. Ultimately you end up with the error You may need an appropriate loader... because Webpack doesn't know what to do with the .ts files generated by the AoT loader.
The fix is therefore trivial: just remove include: /ClientApp/ from your webpack.config.js.
I will look at making this the default in the template. Unfortunately it's too late for this change to be included in the .NET Core 2.0 SDK so people will have to discover for themselves the need to remove this in certain AoT scenarios, depending on what third-party packages they use.

@SteveSandersonMS thank you soooo much!
Being not too familiar with webpack didn't help, at least it wasn't just my issue.
Thanks again.

The fix is now in the dev branch so it will be included in the next SDK.

I had the same issue with angular2-markdown package, removing  include: /ClientApp/ fixes the problem.

I changed my wepack.config.js to
{ test: /.ts$/, include: /ClientApp/, use: ['awesome-typescript-loader?silent=true', 'angular2-template-loader'] },


Update to latest ACK version to make the pipeline work again

Description of your changes
After a few fixes in code-generator that make the Crossplane integration work again (thanks @AaronME  and @haarchri  !) , https://github.com/crossplane/provider-aws/pull/992 and a few fixes in the first commit of this PR, we are able to update code-generator to the latest version.
Note to reviewers, only the first commit contains handwritten changes.
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
make reviewable

Closing this in favor of @AaronME 's https://github.com/crossplane/provider-aws/pull/920 . I swear I looked for that PR and couldn't find it but then saw it while I was looking for https://github.com/crossplane/provider-aws/issues/876 . The PR is exactly the same I believe, so same review comments apply there as well.


Dupliacate data

I get  some duplicate items when i use the lib to paging

I don't think this would be the issue. Can you add screenshot of duplicate items including id? May be you have duplicate data in your collection?

Hello was your issue resolved? If you like the package please don't forget
to star it. Thank you.
On Tue, May 5, 2020 at 8:50 AM HaoLe<EMAIL_ADDRESS>wrote:

I get some duplicate items when i use the lib to paging
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gobeam/mongo-go-pagination/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEIU3SIESM2HDJB4DG6IKEDRP567XANCNFSM4MZHHX6A
.

--
Roshan Ranabhat,
Full Stack Developer.
*Facebook: *https://www.facebook.com/
https://www.facebook.com/me.innocent01roshan.ranabhat.01
*Linkedin: *https://np.linkedin.com/in/roshan-ranabhat
https://np.linkedin.com/in/roshan-ranabhat-4b5552118

thank you but i did not use this lib anymore i write myself
On Thu, May 7, 2020, 20:09 Roshan Ranabhat<EMAIL_ADDRESS>wrote:

Hello was your issue resolved? If you like the package please don't forget
to star it. Thank you.
On Tue, May 5, 2020 at 8:50 AM HaoLe<EMAIL_ADDRESS>wrote:

I get some duplicate items when i use the lib to paging
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gobeam/mongo-go-pagination/issues/3, or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AEIU3SIESM2HDJB4DG6IKEDRP567XANCNFSM4MZHHX6A
.

--
Roshan Ranabhat,
Full Stack Developer.
*Facebook: *https://www.facebook.com/
https://www.facebook.com/me.innocent01roshan.ranabhat.01
*Linkedin: *https://np.linkedin.com/in/roshan-ranabhat
https://np.linkedin.com/in/roshan-ranabhat-4b5552118
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gobeam/mongo-go-pagination/issues/3#issuecomment-625245390,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOYAVMGJH6HIIX7R5KNKNLRQKXKBANCNFSM4MZHHX6A
.

Since @thienhaole92 didn't use this package I'm going to close this issue.


Count Inversion

INTERVIEW QUESTIONS only accepts .md files

You can also move this to ALGORTIHMS section

Solved in #133


Inappropriate translation: "Walkie Talkie" - "トランシーバーie" in Japanese

"Walkie Talkie" is translated as "トランシーバーie" in Japanese page, but it must be "トランシーバー".
https://docs.microsoft.com/ja-jp/MicrosoftTeams/walkie-talkie
Also, when its URL is pasted in Teams, its title is translated "internet explorerのトランシーバー アプリケーション" as below.

It is a mistranslation of "ie".

ドキュメントの詳細
⚠ このセクションを編集しないでください。 docs.microsoft.com で必須です ➟ GitHub の問題のリンク。

ID: d91ddefc-3722-8bc2-bd9b-4a90ede28944
Version Independent ID: 35e56a9d-a01c-4126-3750-aae1ed984f55
Content: Microsoft Teams での internet explorer のトランシーバーアプリケーション - Microsoft Teams
Content Source: Teams/walkie-talkie.md
Service: msteams
GitHub Login: @MicrosoftHeidi
Microsoft Alias: heidip

@git188 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@officeglobal Could you please help with this issue? Thanks!

@git188 Thank you for reporting this issue. It appears to be a problem with our machine translation tool. I sent the article to be human translated.
@officeglobal, please let us know when the updated article is published.

@git188 , @TinaMcN the article was HumantTranslated and published live

@TinaMcN  Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


FAB-16697 remove linters

go lint is not run. Remove go lint.
go fmt and goimports do the same thing. goimports is more powerful due
to import reordering, so rely only on goimports. Remove go fmt.
The build cache is not the build cache we use for building a binary,
so we end up building everything multiple times instead of using the
cache. Remove the cache definition.
go vet is intelligent and ignores the vendor directory on it's
own. Take it out of the loop and invoke it once at the top level.
Change-Id: Ieb057298f6ecd83b67607de29c24572a4c35018a
Signed-off-by: Morgan Bauer<EMAIL_ADDRESS>

Agree with removing gofmt, since goimports does the same thing.
Instead of removing golint, should we add it to the list? My understanding it is about code style and is different from go vet.

I have mixed feelings on golint. Most of the work required right now is for "XYZ must have godoc" which I am not going to complete as part of this. We should make a JIRA.
FYI, golint is also not turned on in fabric core repo.

as an automated process, that branch update thing is terrible.


Still getting npx failures on cert generation with version 25.1.1

Hi there,
First - appreciate this action, in general we find it super helpful.
We've been suffering from cert creation issues for some time, so I was super excited to the fix @danmichaelo mentioned in the latest release. Unfortunately after upgrading to version 25.1.1 of the action we're still seeing the same failure:
Error! We were unable to generate a certificate Error: The process '/usr/local/bin/npx' failed with exit code 1
Even more unfortunate, it used to be 1-2 times a week lately it's 1-2 times/day. Vercel support hasn't been much help.
Any ideas, or anything we could do to test, debug or help try and resolve this?
Thanks in advance! 🙏

Hi @pnwstevan, we're also still getting this error every now and then, so seems like retrying didn't help much after all. I've been able to reproduce the problem using the vercel cli locally on my computer several minutes after the error happened in CI. Once it even lasted for hours.
Reminds me that I should follow up on a Vercel support case that I forgot about. Let me know if you make progress with Vercel support, I'll do the same.
In any case, it seems like there is not much vercel-action can do about this.


Timezone not applying to makeTime

Is this expected behavior? I'm sure I'm doing something silly but If I set up a time_t element it prints without timezone adjustment.
The default timezone works, deconstructing t shows the hour as 21 and the epoch time is correct.
#include <ezTime.h>
#include <WiFi.h>
Timezone myTZ;

void setup() {
  Serial.begin(115200);
  WiFi.begin("", "");
  waitForSync();

  myTZ.setLocation(F("gb"));
  myTZ.setDefault();
  Serial.print("TimeZone: "); Serial.println(dateTime());
  Serial.print("epoch myTZ : "); Serial.println(myTZ.now());

  time_t t = 0;
  t = makeTime(21, 45, 00, myTZ.day() , myTZ.month(), myTZ.year());
  Serial.print("Test: "); Serial.println(myTZ.dateTime(t));

  Serial.print("epoch Test : "); Serial.println(t);

  tmElements_t tmTest;
  breakTime(t, tmTest);
  Serial.print("Hour: "); Serial.println(tmTest.Hour);
}

void loop() {

}

TimeZone: Friday, 26-Oct-2018 21:45:27 BST
epoch myTZ :<PHONE_NUMBER>

Test: Friday, 26-Oct-2018 20:45:00 BST
epoch Test :<PHONE_NUMBER>

Hour: 21

makeTime is timezone-agnostic on purpose: it just converts between two ways of writing time. So yes, it would represent in UTC. Not sure what the bigger-picture things is you are trying to accomplish, but you can use tzTime to convert epoch seconds in one timezone to another.


Kustomization failed: too many fields within: _rbac.authorization.k8s.io

I upgraded Flux to v2. And now Kustomizations can't reconcile. The error is: too many fields within: squad_analyze_rbac.authorization.k8s.io
In logs: 2023-06-27T00:33:20.849Z error Kustomization/staging-1-eu-west-1.flux-system - Reconciliation failed after 3.327154408s, next try in 1m0s too many fields within: squad_analyze_rbac.authorization.k8s.io
flux get sources git shows that it synchronized
I've already renamed all squad_analyze to squad-analyze

Have you looked at this comment on a similar issue?

A workaround for this error is to remove an underscore from the names of your resources .

Have you looked at this comment on a similar issue?

A workaround for this error is to remove an underscore from the names of your resources .

It helped. Thank you!


Application start date in 2000

just got an application with a start date in 2000

I'm getting this on all new applications for the past week or so. Could we get this fixed? Or at least remove it from the email being sent to applicants?


Snapshot summaries can be made even more delightful

After performing a test run jest always shows a Snapshot Summary as follows:

It would be really nice to have some more information about which test created the snapshot. The same goes for obsolete snapshots, it simply shows "1 obsolete snapshot found", I think it is really useful to have some more information such as the name of the obsolete snapshot for example to prevent users from accidentally deleting snapshots during refactoring for example.
I think that adding some more information to the summary can make the snapshot experience even more awesome!
What do you guys think?
If you feel that this feature is a worthy addition to Jest then I would be happy to work on it:)

I am using snapshots to test complex objects and arrays, not only react components.
When I run tests for the first time and I always must find them in the snap file and verify.
It would be great if the console output can provide more information.
For example: mapping between the line number and the test name.
btw
There is also another problem. All snapshots are always sorted alphabetically in the snap file. Is it possible to match the same order from the test.js file?

I agree that this could be improved, for large snapshot files I also find myself searching for the specific snapshot. If you have some ideas that you would like to contribute here then I encourage you to create a PR!
I created a PR #3660 to try and solve the issue I highlighted, would be great to hear your feedback

Is it possible to add an option to disable creating new snapshots?
I started developing in this way:

Create a dummy snapshot.

describe('sample', () => {
  it('foo', () => {
    expect('').toMatchSnapshot();
  });
});

It will create a new snapshot with empty string.
Implement code
Update the test

describe('sample', () => {
  it('foo', () => {
    const component = shallow(
      <Foo />
    );
    expect(something).toMatchSnapshot();
  });
});

Check if the test diff looks good.
Press u.

When using this approach I don't need to find the code in snapshot files, but I think 1. step could be omitted.
There is already --ci flag that doesn't create new snapshots, but it doesn't output the result.

See #3693

+1 for configuring the order that snapshot files are generated. When I test react saga's, it would be very nice to be able to read the snapshot in the order the steps occur rather than alphabetical. The way it works now, it groups all of my dispatch tests together, all of my selector tests together, etc. because of alphabetical sorting "it should dispatch", "it should select"...
It would be nice to have it sort in the same order as the test file, so I could put the snapshot file side by side with the test file and make sure everything is coming out properly.

Will be in Jest 21


Unable to use EventInput for detectIntent

I'm having some trouble trying to trigger an event using the EventInput input for the QueryInput. Has anyone gotten this to work? :
try {
            $textInput = (new TextInput())
                ->setText($input)
                ->setLanguageCode($this->assistant->languageCode);
            $value = new Value;
            $value->setStringValue($input);
            $struct = new Struct();
            $struct->setFields([
                'any' => $value
            ]);

            $queryParams = new QueryParameters();
            $queryParams->setPayload($struct);
            $eventInput = (new EventInput)
                ->setName($intent)
                ->setParameters($struct)
                ->setLanguageCode($this->assistant->languageCode);

            $queryInput = (new QueryInput())
                ->setEvent($eventInput);
            $response = $this->getClient()->detectIntent($this->clientFormattedSession, $queryInput, [
                'queryParams' => $queryParams
            ]);
        } finally {
            $this->getClient()->close();
        }

This is the response I get:
{
    "responseId": "9d5644cd-d36a-41c4-81a9-d9b1f371ca9e",
    "queryResult": {
        "queryText": "assistant:get-goal-time-needed",
        "languageCode": "en-us",
        "action": "input.unknown",
        "parameters": "",
        "allRequiredParamsPresent": true,
        "fulfillmentText": "One more time?",
        "fulfillmentMessages": [
            {
                "text": {
                    "text": [
                        "Can you say that again?"
                    ]
                }
            }
        ],
        "intent": {
            "name": "projects\/solidariti-a3936\/agent\/intents\/f77d9681-5331-44ed-b557-5f474e34114a",
            "displayName": "Default Fallback Intent"
        },
        "intentDetectionConfidence": 1,
        "diagnosticInfo": ""
    }
}

I notice your setting the event.name to $intent is your intent and event named the same thing?

Yes they are @nnegrey

Ok, so I've set up a pseudo intent with an Google Assistant Event: actions_intent_get_joke
Try doing it without the params first.
$eventInput = (new EventInput)
   ->setName('actions_intent_get_joke')
   ->setLanguageCode('en-US');

$queryInput = (new QueryInput())->setEvent($eventInput);
 $response = $sessionsClient->->detectIntent($session, $queryInput);
print($response);

Should get you something like what I got for my custom intent.
query_result {
  query_text: "actions_intent_get_joke"
  action: "welcome.custom"
  parameters {
    fields {
      key: "name"
      value {
        string_value: ""
      }
    }
  }
  all_required_params_present: true
  fulfillment_messages {
    text {
      text: ""
    }
  }
  intent {
    name: "projects/PROJECT_ID/agent/intents/INTENT_ID"
    display_name: "welcome.custom"
  }
  intent_detection_confidence: 1.0
  language_code: "en"
}

fields {
  key: "name"
  value {
    string_value: ""
  }
}

<class 'str'>


Clickhouse DATETIME conversion invalid format

What happened?
Clickhouse can not convert ISO format using the TIMESTAMP operator.
PRQL input
prql target:sql.clickhouse
from foo | filter (time_listed | in ..@2023-03-01T00:00:00Z)

SQL output
SELECT
  *
FROM
  foo
WHERE
  time_listed <= TIMESTAMP '2023-03-01T00:00:00Z'

Expected SQL output
SELECT
  *
FROM
  foo
WHERE
  time_listed <= TIMESTAMP '2023-03-01T00:00:00'

MVCE confirmation

[X] Minimal example
[X] New issue

Anything else?
SELECT parseDateTime32BestEffort('2023-03-01T00:00:00Z')
┌─parseDateTime32BestEffort('2023-03-01T00:00:00Z')─┐
│                               2023-03-01 00:00:00 │
└───────────────────────────────────────────────────┘

SELECT toDateTime('2023-03-01T00:00:00Z')
Received exception from server (version 23.10.4):
Code: 6. DB::Exception: Received from localhost:19000. DB::Exception: Cannot parse string '2023-03-01T00:00:00Z' as DateTime: syntax error at position 19 (parsed just '2023-03-01T00:00:00'): While processing toDateTime('2023-03-01T00:00:00Z'). (CANNOT_PARSE_TEXT)

SELECT toDateTime('2023-03-01T00:00:00')
┌─toDateTime('2023-03-01T00:00:00')─┐
│               2023-03-01 00:00:00 │
└───────────────────────────────────┘

I don't think that stripping the timezone would be good — '2023-03-01T00:00:00Z' has a different meaning to '2023-03-01T00:00:00'.
A really complete approach would be to preemptively know that ClickHouse didn't support timezones, and raise an error. Getting to that level of support across language features & dialects would be nice, but require lots of investment.
So for the moment, is it reasonable to just use ..@2023-03-01T00:00:00) in the PRQL query? That then passes on the '2023-03-01T00:00:00' value and the query should work.

Yes, I can work around this. Just created this issue as an FYI for discussion for a full solution.

OK great.
Let's leave it open for a bit to see if others have thoughts.
My initial inclination is that this level of detail in the compiler is probably some distance away, unless a contributor has a specific interest in clickhouse datetimes. So we could mark as postponed.

Marking as postponed. Thanks for the suggestion @ukclivecox.


The zwave platform for the climate integration does not support platform setup.

The problem

Environment

Home Assistant release with the issue: 0.105.3
Last working Home Assistant release (if known): 0.104 (maybe?)
Operating environment (Hass.io/Docker/Windows/etc.): virtual environment using raspbian Linux 4.19.75-v7l+ and Python 3.7.3
Integration causing this issue: z-wave
Link to integration documentation on our website:
https://www.home-assistant.io/integrations/zwave/#climate

Problem-relevant configuration.yaml

climate:
  - platform: zwave

Full config at https://github.com/austinmroczek/Home-AssistantConfig
Traceback/Error logs

The zwave platform for the climate integration does not support platform setup. Please remove it from your config.
February 14, 2020, 4:59 PM helpers/entity_platform.py (ERROR)

Additional information
I remove the yaml listed above from my configuration and restarted.  The error message did not appear, but my Climate item is still available in the user interface.
Perhaps I missed a change notice in the release notes, and https://www.home-assistant.io/integrations/zwave/#climate was not updated?

Zwave is only configurable via the integration panel or via zwave: configuration.  The docs are a bit out of date here.  What is the actual issue here?  Or is it missing?

I guess the issue is that I'm getting a "error" in my log when properly configured according to the documentation.  When I am set up according to the zwave documentation
climate:
  - platform: zwave

it gives the error listed above.
This should turn into an issue to update the documentation.  Do I close this issue and start a new one for documentation, or is there a way to "convert" the issue?

It might be faster to start a new issue on the docs side.  I am not sure how to move issues :)


Update package.json to support node 8

This package is working well with Node 8, why expecting a version superior to 8 instead of including the actually LTS version with is 8 and work well with this package?

Of course, you're 100% right, no need to require Node 9. Probably it works right down to much older version of Node, but I will leave it >=8 until somebody complains
Thanks @Tuizi for your contribution 🙇

I've used for the first time np tool for publishing (https://github.com/sindresorhus/np) - maybe because of that.
I've released 0.3.2.
Thanks so much for raising that! @Tuizi
<EMAIL_ADDRESS>


Adjust guzzle dep to 1.1.1

According to https://github.com/php-http/guzzle6-adapter/compare/v1.1.1...master there's nothing in master branch that isn't available in 1.1.1.

Is this ok @sminnee ?

Looks good to me! I'll merge and then try installing locally again.

Installed!


USB detect - D1 Mini

Thanks so much for all your work.
When I plug an FTDI adapter into the USB port, Proxmox identifies it and allows me to assign the device and assign it to my Hassos VM. It doesn't do this for the D1 mini. To allow my standalone Windows PC to identify the D1 mini I had to install CH340G drivers. Is there a way to add these drivers to Proxmox?

Upon bare metal re-install of Proxmox, this problem went away and the D1 Mini is now recognised and passes along to Hassio without issue. I suspect that the 'fix' was installing all the latest available updates.
If anybody else experiences a similar issue I'd recemmend they check that all available updates are installed - this may well fix the problem.


fix: update check for GSheet where condition

Description

Earlier GSheet plugin had check based on null value that would ignore empty where conditions. However, due to a recent change the client has now started to return empty string instead of null value against empty input fields of where clause. This PR updates the previous check to now rely on the following condition to ignore where condition: (1) all column names are empty (2) all operators are empty. In case both the conditons are not met simultaneously then an error is shown to the user if the configuration is found to have missing column name or operator.

Fixes #12701
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

JUnit TC
Manual

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=e875297