Support retrieving the current resolver's Info anywhere

Instead of adding the Info explicitly to the resolver's arguments, it is now possible to retrieve it anywhere with strawberry.get_info().
While using the argument is fine if the info is used locally in the resolver, the new approach saves a lot of plumbing if the info is accessed in a separate function that is called everywhere.
This is particularly useful when acessing context information, like current user, database connection, etc: These are now available immediately anywhere in the code -- Which is why I also added a get_context() function
Types of Changes

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

Checklist

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

Thanks for adding the RELEASE.md file!

Here's a preview of the changelog:

Support retrieving the current resolver's Info without relying on arguments.
Instead of adding the Info explicitly to the resolver's arguments, it is now possible to retrieve it
anywhere with strawberry.get_info().

Here's the preview release card for twitter:

Here's the tweet text:
🆕 Release (next) is out! Thanks to Paulo Costa for the PR 👏

Get it here 👉 https://github.com/strawberry-graphql/strawberry/releases/tag/(next)

@paulo-raca sorry for the late reply on this 😊
I'll close since we settled for keeping info as parameter for resolvers, hope that's ok 😊


ArduCAM Rev C+ OV7670 and OV7675 error

Hello,
I am using ArduCAM Rev C+ in conjunction with Arduino UNO R3 for testing several image sensors from OmniVision (OV7675, OV7670, OV2640).
I have uploaded the corresponding ArduCAM_XXXXXX_Camera_Playback sketch of the latest version of ArduCAM library and tested the setup with different results:
-With OV7675 and OV7670 stores corrupted BMP files to the SD card (see attached image).
-With OV2640 stores valid QVGA images to the SD.
The sensor boards and ArduCAM rev C+ have been purchased at one of your european distributors (botland).
Any ideas of what I am doing wrong? Anything to check?

(Note that the file has been converted to PNG in order to upload it to GitHub)
Thank you

@rsprat, Sorry for my late reply.
Did you enable the OV7675 or OV7670 camera module in the memorysaver.h file? If not the camera will not initialize properly.

Thanks! That was the issue!


QUESTION: Could speculative decoding be used with vLLM?

Hi, vLLM has high throughput and speculative decoding has low latency. So could both be used in xinference? Could you please give a demo for it? Thanks.

Hello! That's an excellent question. Speculative decoding can be applied to vLLM, and the performance is expected to be promising. The vLLM community is actively working on this feature. And we will continue to monitor the progress and aim to implement this feature once it is released.

So does the vLLM community has any plan on when to release this feature? Can't wait to try it.

Another question: The impl of Speculative Decoding in Xinference is based PyTorch backend. Does the feature support mult-batching, as mult-batching is common in online case.


Add ability to specify the configurationPath

Implements https://github.com/brandonweiss/discharge/issues/70

Thanks so much for making a PR! ❤ I’m going to close this until there’s a clear path for #70.


Ensure softwareTokenMfaConfiguration is not set when not enabled on cognito user pool

Fixes #5022

I have tested here and looks good

Thanks @thelegendtubaguy!
Made a minor change to handle args.softwareToken being false.


clarify naming

It is not clear from the README if version 3.0.0 is "Neon3" or still "Neon2".
Please clarify.

@rettinghaus Sorry for the delay. Currently version 3.0.0 can be considered Neon2. However to avoid this kind of ambiguity in the future the software currently called Neon2 will be renamed to Neon and all references to Neon2 or Neon3 will be changed to this, including in the name of the repository. Version numbers will continue to be the same as they are currently.

Thanks! Was confused, mainly because you presented "Neon2" and showed Neon3 features.

Yeah the trouble is we used Neon2 to refer to both the project itself and the version 2 release of Neon.


HttpOverrides support for WebSocket

This PR fixes WebSocket.connect not using any HttpClient provided by HttpOverrides. Currently the HttpClient used for WebSocket connections is initialised in a static field. Consequently any HttpClient set in HttpOverrides after the first initialisation is not taken into account for WebSocket connections. This is changed by initialising a new HttpClient for each WebSocket connection.
As it is currently possible to set the user agent for the HttpClient used for the websocket request, the current behaviour is retained:

If a custom HttpClient is provided in the connect call, the userAgent field is not used.
If no custom HttpClient is provided in the connect call and the userAgent field was not set, the userAgent of the default HttpClient is not set.
If no custom HttpClient is provided in the connect call and the userAgent field was set, the userAgent of the default HttpClient is set.
This is accomplished by adding the private field _overrideUserAgent and setting it the first time the userAgent field ist set. This extra field is necessary, as null is a valid value for the userAgent property of a HttpClient and it is not possible to distinguish between _userAgent being initialised to null or it being set to null otherwise.

Two tests are included which provide two different overrides and verify that these lead to results for the same WebSocket.connect call.

[x] I’ve reviewed the contributor guide and applied the relevant portions to this PR.

I left some feedback here:
https://dart-review.googlesource.com/c/sdk/+/305620/2/sdk/lib/_http/websocket_impl.dart#b992
This is a potentially breaking change which needs to follow the Dart SDK breaking change process.
Would you like for me to deal with that bureaucracy?

First of all, sorry for the slow response. I wrongly assumed, that I would get a notification from google source / copybara would relay comments to github. But apparently that did not happen 😅 and I was on vacation once the github comment appeared. Thank you for the review. I will address the comments in dart-review.

Would you like for me to deal with that bureaucracy?
That would be amazing!!

@brianquinlan are you taking over this? Should this PR be closed?

@tauu
I have a proposed set of simplified tests: https://dart-review.googlesource.com/c/sdk/+/305620/7/tests/standalone/io/http_override_websocket_test.dart
Let me know what you think.

Unfortunately, I don't think that this change is viable because it will break existing code. For example, flutter test uses HttpOverrides to replace HttpClient with a mock but using that mock in WebSocket will take away the ability to talk to VM services. See https://github.com/dart-lang/sdk/commit/1b8382b14d5cf24d6d5ebe3a2d74fba286c45a12

@brianquinlan could not we just fix the tests by undoing the override? These tests starting to fail is in spirit of the change / flutter test - we have discovered tests which are using actual network connection instead of a mocked connection. Test should be explicit about that.

@mraleph I'm not sure that I understand your question.
flutter_test defines its own HttpOverrides that disables all HTTP requests and installs it globally
The tests were failing because the test infrastructure itself uses WebSocket, which will end up using the _MockHttpClient.
I can probably fix flutter_test but I'm worried about other code out there that consumes VM services and will be broken by this change.


How to specify the "llama_model" in minigpt4/configs/models/mplug_owl2_llama2.yaml?

For mPLUG，I have modified 'eval_configs/mplug-owl2_eval.yaml', but I found that the config will be merged with 'minigpt4/configs/models/mplug_owl2_llama2.yaml'. Then there is a setting about "llama_model".
Should I use the same model path as 'Download mPLUG-Owl2 7B pretrained weights and specify it at [Line 14] of eval_configs/mplug-owl2_eval.yaml.'?

Thank you for your interests in HALC.
Yes, using the same model path should work. Have you successfully run MPLUG with HALC?


write new Vector(x,y)

close #391

I see that some conflicts appear in that branch,
Could I ask you to re-create branch with that exercise ?
Looks like it because you have created branch before I've merged pre-hook, so you have two ways to solve this issue:
Merge that branch with exercise branch
Re-create branch from exercise and copy your code there


invalid API queries result in the Anilist Homepage

Since the API is queried by a program, delivering the Anilist Homepage is not helpful. Instead of lots of HTML a plain text message would be preferable.

Invalid requests return a 404 Not Found or other appropriate status codes. I understand that displaying the home page isn't ideal, but the status code should be more then enough for your client to work out if the request was successful or not.

Fair enough. I will check that.


AuthManager->getRolesByUser($userId) not working

What steps will reproduce the problem?
Calling Yii::$app->authManager->getRolesByUser($userId);
gives ALL system roles rather than just that assigned to user.
What is the expected result?
Only role assigned to the user to be returned.
(I have checked and in the auth_assignment table, only one record exists for my user 'admin' => user_id=3
What do you get instead?
All roles are returned. (Have double-checked the user ID is being passed correctly to the function)
Additional info
This is happening after running composer update (in which yiisoft package was updated to 2.0.12)

Q
A

Yii version
2.0.12?

PHP version
5.4

Operating system
Ubuntu

Do you have any default roles configured?

Hi Alex
Yes I have three configured in my config.
They not supported anymore?
On 5 Jul 2017 12:45 pm, "Alex-Code"<EMAIL_ADDRESS>wrote:
Do you have any default roles configured?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yiisoft/yii2/issues/14393#issuecomment-313068303, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH_Ctj4U2Z-6w24VpnA8xLHT3dytNmdDks5sK2lVgaJpZM4OOJnd
.

Since this commit https://github.com/yiisoft/yii2/commit/3a4505ac08997b8b9c7a5c63d549fa9cc4201da6 default roles are included in the results of getRolesByUser.

Oh I see thanks Alex.
Is there a way to not have them included?
I guess I can see why a default role is included. Perhaps I don't need
these default roles at all.. trying to think what purpose they serve
really...
On 5 Jul 2017 2:04 pm, "Alex-Code"<EMAIL_ADDRESS>wrote:
Since this commit 3a4505a
https://github.com/yiisoft/yii2/commit/3a4505ac08997b8b9c7a5c63d549fa9cc4201da6
default roles are included in the results of getRolesByUser.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yiisoft/yii2/issues/14393#issuecomment-313083338, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH_CtvOELq-My0aE9JsPPR9lB_-DmQ46ks5sK3vPgaJpZM4OOJnd
.

Not with the way it's currently done.
You'd need to extend the DbManager class.

Thank you Alex...
Maybe I can just remove default roles from my config, any potential issues
there?
On 5 Jul 2017 2:17 pm, "Alex-Code"<EMAIL_ADDRESS>wrote:

Not with the way it's currently done.
You'd need to extend the DbManager class.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yiisoft/yii2/issues/14393#issuecomment-313086048, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH_CthHVIo--opfqQSfncpeVxBnlZE2Yks5sK37sgaJpZM4OOJnd
.

Have removed it, seems OK. thanks for the help

Btw this is not mentioned in the documentation
On 5 Jul 2017 2:48 pm, "Gert Van Tonder"<EMAIL_ADDRESS>wrote:

Thank you Alex...
Maybe I can just remove default roles from my config, any potential issues
there?
On 5 Jul 2017 2:17 pm, "Alex-Code"<EMAIL_ADDRESS>wrote:

Not with the way it's currently done.
You'd need to extend the DbManager class.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yiisoft/yii2/issues/14393#issuecomment-313086048,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AH_CthHVIo--opfqQSfncpeVxBnlZE2Yks5sK37sgaJpZM4OOJnd
.

@gvanto can you say more concrete what is missing form the docs? If possible even send a pull request that adds what you are missing?

I'd say it's that http://www.yiiframework.com/doc-2.0/yii-rbac-managerinterface.html#getRolesByUser()-detail doesn't mention any default roles set in the config are also returned.

added a note, thanks!


Question regarding get_socket error reporting

The Nano Connect has a shorter range than some other boards I use and I sometimes have connection failures only because my office is at the edge of it's range from the access point. Recently while testing connection_manager this error was raised during a connection_manager.get_socket call:
Traceback (most recent call last):
  File "/lib/adafruit_connection_manager.py", line 301, in get_socket
  File "/lib/adafruit_connection_manager.py", line 65, in connect
  File "adafruit_esp32spi/adafruit_esp32spi_socket.py", line 88, in connect
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 819, in socket_connect
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 715, in socket_open
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 341, in _send_command_get_response
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 297, in _wait_response_cmd
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 206, in _wait_for_ready
TimeoutError: ESP32 not responding

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 23, in <module>
  File "adafruit_requests.py", line 591, in get
  File "adafruit_requests.py", line 525, in request
  File "/lib/adafruit_connection_manager.py", line 312, in get_socket
RuntimeError: Error connecting socket: ESP32 not responding

It's not really practical for me to test this since the range connection issues are hard to reproduce and when they occur throw exceptions at different points in the process, however this error stood out to me because it suggested something other than a typical connection difficulty. In looking at the code I see that get_socket tries twice to make the connection and I think, at least with the ESP32SPI hardware, if the first connection attempt fails the hardware is left in an unresponsive state which would explain the error message. I suppose it's possible there is a way to reset and try again but I don't think that's worth it, especially if we could display a more appropriate message. I'm thinking that the error returned from the first attempt might be better so I was wondering what you thought about only setting the last_exc variable on the first try?
Given the difficulty testing this and that I could be wrong about exactly what's happening in this case, I'm not convinced a change makes sense, but figured I'd bring it up, just in case you look it over and say "Oh yea, that makes perfect sense" :grin:

@RetiredWizard interesting timing... On another thing Dan is working on, he pointed out the requests does a double check on failure, and pointed to some code that would cause it. But it actually was the double hit in connection_manager Info here: https://github.com/adafruit/Adafruit_CircuitPython_Requests/issues/191
I think catching that ESP32 not responding and not trying again also makes sense...

Closed by #13


Fix Passing in Data to the Scene via Add

This PR (delete as applicable)

Fixes a bug

Describe the changes below:
Data was not being passed in to the scene manager when adding a scene via add.

👍


Issue with Fullscreen API

When using fullscreen API, the z-index is too low (only tested in Firefox) so that the overlay and the wrapper both sit underneath the "fullscreened" element.
I have manually adjusted the z-index, this works in Firefox:
.remodal-overlay {
z-index:<PHONE_NUMBER>;
}
.remodal-wrapper {
z-index:<PHONE_NUMBER>;
}
But I think that is outside the typical z-index scope that is causing problems in other browsers.

If anyone's interested, the reason what I was fullscreening a div inside the body called ".wrap", by default Remodal appends it's HTML at the end of the body (outside of my .wrap div) which was causing the z-index issue. My solution was to change the first line of the Remodal function to append to my div instead of document.body. Might be an idea to create an option for "appendToElement" or something that allows you to drop it somewhere other than the document.body?


Update sbt-mdoc to 2.2.15

Updates org.scalameta:sbt-mdoc from 2.2.14 to 2.2.15.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "sbt-mdoc" } ]

labels: sbt-plugin-update, semver-patch

Pull back to 0.21.

Pull back to 0.21.

Nope, this one is Dotty incompatible.

Nope, this one is Dotty incompatible.

Superseded by #4228.

Superseded by #4228.


Cannot read property 'el' of undefined when imported via require

I am getting the following error when initializing the form:

It seems this is undefined inside of the callback, due to not providing a context to the _.each function

Actually, I think #295 is about this, but not merged yet.

#295 is now merged. Can you confirm that this resolves your issue ?

Yes, this is fixed now. Thank you very much!


Animation Flicker since update

Hi, since the update, one of the animation is not behaving as smooth as before. I have three elements which get animated during the transition, a username and an avatar image (which work perfectly) and a header bar (which doesn't work smoothly anymore -> See AniGif).
I have tried all possible modifiers on the header but can't get it to work smoothly... any help?

The header in the first View is a simple View with BackgroundColor, the second header is a custom view where things get drawn (draw: rect)...
Any hint highly appreciated, this library is awesome and brings apps to life ;)

Can I play around with this project somehow? It might be that the view's isOpaque property is set to true, and Hero is assuming that the view isn't transparent.

@lkzhao is your email correct in your github profile?

@lkzhao just tried to set the isOpaque to false on both views and it transitions smoothly again. Does that mean that we do have to set it to false by default in the future?

Yes, thats my email.
If your view has transparent element, then you should set isOpaque to false, Hero will do a cross fade if any of the source/destination view is not opaque. Otherwise, Hero will overlay the destination view on top of the source view. Since the destination view is opaque, it should completely cover the source view after the transition finishes. This also eliminates the temporary see-through effect when crossfading.
Your case requires crossfading because one of you view cannot fully cover the other.

OK that kinda makes sense, although it's weird it only happened after the update. But anyway as long as I can circumvent this by switching the opacity, I'm the happiest chap ;) thanks @lkzhao again for your fast response...
PS: Unfortunately the app is already very advanced and connected to a backend with OAuth. In order to share this project with you I'd have to recreate a backend with individual credentials so you play around with it. If it is important to you to be able and test, let me know, I'd for the sake of your great library  spend the time and efforts ;)

That change was made in 0.1.9 I think, before most of the views are crossfading.
Sorry for the trouble. I have been making a lot of changes to the library lately. So it might not be very stable. 0.1.7 was more a stable version to be used.
Thank you for testing these out. Definitely let me know if you encountered other issues.

No need to apologize @lkzhao, you're not causing any troubles, in contrary you're contributing greatly to us building great apps! It's up to us to thank you for that...


Using sdb with Emacs GUD

Hi,
I would like to use sdb together with Emacs (25.1.1) in GUD mode. When I run sdb on the command line, the debugger starts up fine. However, when I start GUD with sdb as command, I see the following exception:
Welcome to the Mono soft debugger (sdb 1.5.6151.25963)
Type 'help' for a list of commands or 'quit' to exit

(sdb)
Unhandled Exception:
System.DivideByZeroException: Attempted to divide by zero.
  at Mono.Terminal.LineEditor.UpdateHomeRow (System.Int32 screenpos) [0x00007] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Terminal.LineEditor.Render () [0x00091] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Terminal.LineEditor.InitText (System.String initial) [0x00023] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Terminal.LineEditor.Edit (System.String prompt, System.String initial) [0x0004a] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Debugger.Client.CommandLine.Run (System.Version ver, System.Boolean batch, System.Boolean rc, System.Collections.Generic.IEnumerable`1[T] commands, System.Collections.Generic.IEnumerable`1[T] files) [0x00188] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Debugger.Client.Program.Main (System.String[] args) [0x0014c] in <a502775e267945eaa32716c6aef8ad60>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.DivideByZeroException: Attempted to divide by zero.
  at Mono.Terminal.LineEditor.UpdateHomeRow (System.Int32 screenpos) [0x00007] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Terminal.LineEditor.Render () [0x00091] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Terminal.LineEditor.InitText (System.String initial) [0x00023] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Terminal.LineEditor.Edit (System.String prompt, System.String initial) [0x0004a] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Debugger.Client.CommandLine.Run (System.Version ver, System.Boolean batch, System.Boolean rc, System.Collections.Generic.IEnumerable`1[T] commands, System.Collections.Generic.IEnumerable`1[T] files) [0x00188] in <a502775e267945eaa32716c6aef8ad60>:0
  at Mono.Debugger.Client.Program.Main (System.String[] args) [0x0014c] in <a502775e267945eaa32716c6aef8ad60>:0

Debugger exited abnormally with code 1

Unfortunately, there is not much information out there documenting this setup. Is there any way to make sbd and Emacs play nice with each other?
Thanks,
Karsten

SDB only falls back to Mono.Terminal.LineEditor if libedit.so.2 can't be found. So I would suggest making sure you have it installed. It's more likely to play nice with Emacs than Mono.Terminal.LineEditor.

@alexrp thank you, that solved the problem!

@krgn Do you have any emacs config needed for this? I've been meaning to get this set up for ages but never got around to it.

@nosami not yet :)
I only got sdb to build on NixOS today, so I have just been running M-x sdb and that's it. Would be cool to have it nicely integrated with fsharp-mode eventually!

Yeah.. I did look into how other debuggers were set up with GUD around a couple of years ago but gave up on it. Happy to share efforts on this.

I'll look at how this works later tonight. Might not be all that hard, now that it doesn't crash on my anymore.

@nosami it seems like defining commands to send to the debugger is quite easy, but I there are many details that I have no clue how they work (fringe bp's for instance). This discussion should probably happen somewhere else though :)


Address feedback from internal test

Works fine for me still - i added a couple more cosmetic changes

Same here. I added a few more changes in README to further clarify usage options.


License link?

The Readme contains a "free software" item with a dead link.
The license is BSD, right? Maybe you should say that more explicitly somewhere. Or add a badge.

There is a badge but it seems to render rather randomly

ah. And it is not at the top, where I was looking for it.


Out-Default -Transcript only suppresses the display of the success output stream

The purpose of Out-Default -Transcript is to record its input in the transcript only, without also printing it to the host (console). [Update: At least that's the inferred purpose, based on its behavior with success output].
Given that all output streams are transcribed, it would make sense to also suppress host output for all streams. However, only the success output stream is currently silenced.
Steps to reproduce
$file = [IO.Path]::GetTempFileName()
Start-Transcript $file

Get-Item /, /NoSuch | Out-Default -Transcript

Stop-Transcript
Remove-Item $file

Expected behavior
The Get-Item command should produce no output.
Actual behavior
Only  Get-Item success output is silenced, but the error message still displays:
Get-Item: Cannot find path '/NoSuch' because it does not exist.

Environment data
PowerShell Core 7.0.0-preview.5

Windows PowerShell is equally affected.

Note that this and the other related issues are likely due to exactly how Out-Default is utilized by the host.  Whatever PSHost is currently in control of the REPL loop typically takes the typed string and creates a merged output Command from it.  Out-Default is then added to the pipeline.
Here is more or less how both PowerShellEditorServices and pwsh's ConsoleHost handle pipeline creation:
using namespace System.Management.Automation
using namespace System.Management.Automation.Runspaces

function Invoke-HostLikePipeline {
    param([string] $InputString)
    end {
        $command = [Command]::new(
            <# command:       #> $InputString,
            <# isScript:      #> $true,
            <# useLocalScope: #> $false)

        $command.MergeMyResults(
            <# myResult: #> [PipelineResultTypes]::All,
            <# toResult: #> [PipelineResultTypes]::Output)

        $ps = $null
        try {
            $ps = [powershell]::Create([RunspaceMode]::CurrentRunspace)
            $null = $ps.Commands.
                AddCommand($command).
                AddCommand('Out-Default')

            $ps.Invoke()
        } finally {
            if ($null -ne $ps) {
                $ps.Dispose()
            }
        }
    }
}

I imagine you can also just do a standard redirect, I'm not sure if there would be any behavioral differences:
# "$null =" because -Transcript also works similar to PassThru
$null = (Get-Item DoesNotExist) *>&1 | Out-Default -Transcript

Thanks, @SeeminglyScience, that's helpful background information.
Re:
$null = (Get-Item DoesNotExist) *>&1 | Out-Default -Transcript

Unfortunately, this workaround still doesn't manage to silence the display of all streams, which is the intent here: the error still prints.
That -Transcript shouldn't pass streams through is the reason for creating this issue.
If you omit the $null = , *>&1 then causes all streams other than the success streams to produce duplicate host output.
PS> Write-Verbose -Verbose hi *>&1 | Out-Default -Transcript
VERBOSE: hi
VERBOSE: hi

The only scenario in which the *>&1 workaround is effective is for external programs (no $null =  needed):
PS> cmd /c 'echo hi & nosuch' *>&1 | Out-Default -Transcript
# No output, as intended (but the output was transcribed)

Tbh I thought that parameter was meant to be used by application hosts, not necessarily for scripts.  Do you know of a place that this use case is documented?
FWIW: It seems very purposeful that the other streams are not affected:
https://github.com/PowerShell/PowerShell/blob/2c8955eaebfa147e6973e24ef8495afc6d6ef104/src/System.Management.Automation/FormatAndOutput/out-console/ConsoleLineOutput.cs#L310-L338

No, the Out-Default help topic is woefully terse.
Thanks for the source-code link; yes, it looks like it's intentional, but I think that behavior is problematic for:

(a) conceptually, its asymmetry: if all streams are being transcribed, why would you only display-silence one of them?

(b) the inability to display-silence the other streams even with workarounds.

Do you know how application hosts use it, and if changing the behavior to display-silence all streams would be more than a hypothetical breaking change?
Of course, one way to resolve this would be to document the limitation and move on...

P.S.: It's perfectly possible that -Transcript was never designed for the use case I have in mind - again, documentation would help.

No, the Out-Default help topic is woefully terse.
Thanks for the source-code link; yes, it looks like it's intentional, but I think that behavior is problematic:

(a) conceptually, for its asymmetry: if all streams are being transcribed, why would you only display-silence one of them?

I presume it's because they're displaying the output stream in a different way.  Like I said -Transcript also works like -PassThru does for most cmdlets.
Lets say there is a host application that displays output in a table, sorta like Out-GridView.  In order for it to do that it would need the objects returned as they are. Typically, when the host is told to write output lines, it's already been transformed into strings by the format engine.  With this switch, it can write the output to the transcript as if it were a normal console, while still displaying the results how it wants to.
In that scenario, the host is very unlikely to actually want a full ErrorRecord, it's probably perfectly happy just writing that error message out in a box somewhere in the same format it would be written to the console.

(b) due to the inability to display-silence the other streams even with workarounds.

Well sorta.  The example I gave would still work if you added | Where-Object { $_ -isnot [ErrorRecord] } and etc for the other streams.

Do you know how application hosts use it, and if changing the behavior to display-silence all streams would be more than a hypothetical breaking change?

Yeah probably.  I don't think that parameter was meant to be used by anything other than hosts.  In my opinion, it only makes sense for hosts because the intent is that the output is displayed some other way.  A transcript is meant to be a recording of a session, purposefully avoiding that seems counter to the point of it to me.  Are you trying to use transcripts for script logging?

Of course, one way to resolve this would be to document the limitation and move on...

Honestly I'd say throw DontShowAttribute on it, assuming that my understanding of it's purpose is correct.  If this parameter doesn't make sense for any consumer other than a host application, maybe it shouldn't show up in tab completion.

Yeah, the use case I inferred is definitely unusual, and arguably it's at odds with the idea of a transcript, as you indicate.

With this switch, it can write the output to the transcript as if it were a normal console

Note, however, that success output is silenced - which is what made me infer the silence-all-display-output-and-transcribe-only behavior.
PS> 'hi' | Out-Default -Transcript
# NO output

@SteveL-MSFT, can you or a subject-matter expert shed light on the purpose of -Transcript?
Is excluding it from tab completion and documenting it as not for use by end users the right way to go?

Yeah, the use case I inferred is definitely unusual, and arguably it's at odds with the idea of a transcript, as you indicate.

With this switch, it can write the output to the transcript as if it were a normal console

Note, however, that success output is silenced - which is what made me infer the silence-all-display-output-and-transcribe-only behavior.
PS> 'hi' | Out-Default -Transcript
# NO output

Yeah because that's the only stream it actually returns:
$a = 'hi' | Out-Default -Transcript
$a
# outputs normally

That's what makes the example I gave work.  You take responsibility for displaying the output stream, but you still write to the transcript as if it were displayed normally.

Just to be perfectly clear though, I've never once used it nor have I ever even seen it used.  I'm realizing my wording may have implied differently.  This is all just what I'm inferring based on it's behavior of the switch and the design of transcripts.

Some context: when we were designing the console host experience we realized that we had a problem. With split streams, displaying them individually (I.e. separated) meant that you wouldn't get errors in context which was bad for a console experience. To solve this we added a feature in the pipeline processor to merge the error output from all of the prior commands into the output stream. Then we created Out-Default to take the merged output, demultiplex the records and render them appropriately. This cmdlet was really only intended to be used by the host. I assume (but don't know) since everything went through Out-Default this was the natural place to insert  transcription.
(Note: none of this applied to native commands in the terminal position in a pipeline. In that case, the subprocess received the console host io handles allowing them to write directly to a console. This was necessary so that things like vim.exe could work from PowerShell.exe. This also meant that output from native commands in this situation was not captured in the transcript.)

Taking a step back:
#11134 and this issue are ultimately (also) about asking the following questions:

(a) Does it ever make sense to call Out-Default directly?
(b) If so, under what circumstance, with what parameters, specifically?

And to then properly document the findings in the Out-Default help topic: see https://github.com/MicrosoftDocs/PowerShell-Docs/issues/5131
It seems that (b) can be answered for parameter-less use of Out-Default: do not use it as an end user - the primary reason it exists as a user-callable cmdlet is so you can override it with a custom implementation.
Additionally, we need to establish whether it makes sense for end users to call Out-Default with -Transcript (its only cmdlet-specific parameter):

I had inferred  the purpose of -Transcript as allowing end users to write to the transcript only, without also printing to the host.

You can use it that way, but only for the success output stream.
Based on my assumption about the purpose, I asked for all streams to be host-silenced, to better embody that purpose.

@SeeminglyScience provided an alternative explanation, which sounds more plausible to me: that -Transcript is really meant for use by application hosts; to quote him: "You take responsibility for displaying the output stream, but you still write to the transcript as if it were displayed normally."

Therefore, @SteveL-MSFT  and @BrucePay: Can you confirm that @SeeminglyScience's interpretation is correct or clarify the true purpose of -Transcript, so we can guide users properly in the documentation?
If we find that direct calls to Out-Default never make sense, we can close this issue; unfortunately, #11134 remains an issue either way, because it also affects Out-Host, for which there are legitimate uses.

@BrucePay

none of this applied to native commands in the terminal position in a pipeline.

It does apply to native commands in the context of transcribing, however, as evidenced by stderr output by default properly showing up in transcripts.
In other words: while transcribing, the direct-to-host behavior is intentionally disabled so as to be able to capture all output in the transcript.
Another way of demonstrating that is to start a transcript and then try to invoke vim; what you'll see is the following warning (on macOS), followed by a blank line:
Vim: Warning: Output is not to a terminal

(Type :q<Enter> to exit Vim or buy

).
As an aside: Note that after exiting Vim in this scenario the PSReadline bindings (arrow keys) don't work until you run cls.

@mklement0 the PSReadLine issue should be fixed in PSRL 2.0.0-beta6
From the source code:
        /// <summary>
        /// Determines whether objects should be sent to API consumers.
        /// This command is automatically added to the pipeline when PowerShell is transcribing and
        /// invoked via API. This ensures that the objects pass through the formatting and output
        /// system, but can still make it to the API consumer.
        /// </summary>
        [Parameter()]
        public SwitchParameter Transcript { get; set; }

Thank you, @SteveL-MSFT - embarrassingly, it hadn't even occurred to me to look there.
So it sounds like @SeeminglyScience was correct.
Regarding updating the Out-Default help topic: Do you agree that we should therefore say:

Out-Default is used internally and should not be called directly.

The only reason it exists as a public cmdlet is so you can override it with a custom implementation.

Out-Default is used internally and should not be called directly.

I wouldn't use the term internally.  It's intended to be used by host applications. They do not have to be made internally for it's use to be considered supported.

Good point, @SeeminglyScience: How about:

Out-Default is only meant to be used by applications that implement a PowerShell host, including the hosts that are built into PowerShell itself.

Yeah something like that.  Maybe borrow some wording from the remarks section of this:
https://github.com/PowerShell/PowerShell/blob/8d944fdec28652625d1bb4dadb32d2a581cb8121/src/System.Management.Automation/engine/MshMemberInfo.cs#L1526-L1533

Thanks, @SeeminglyScience.
I've updated the suggested wording at https://github.com/MicrosoftDocs/PowerShell-Docs/issues/5131, and I invite y'all to take a look.
Time to close this issue.


Calculate SpotPrice with Ratios and SigFigs

Closes: #1155
Description

Calculates SpotPrice with ratios to prevent trailing digits from giving incorrect results
Utilizes constant in x/gamm/types to determine how many significant figures we calculate SpotPrice to (other functions can also use this SigFigs constant now)
Added a test to show a circumstance in which the 9th digit is greater than 5, and with 8 sigfigs set should remove the 9th digit however still round the 8th digit up
Added comment to explain why this change was added

Should I modify all the tests that failed to utilize the 8 sigfigs now?

I basically would just need to change this test here
https://github.com/osmosis-labs/osmosis/blob/main/x/pool-incentives/keeper/keeper_test.go#L96
and here
https://github.com/osmosis-labs/osmosis/blob/main/x/gamm/keeper/keeper_test.go#L95
Just lmk what you would like and I will change accordingly

Test modified to include sigfigs, now pass


Enhance rules tests.

Description
Homogenization of the tests.
The naming of cases is not perfect for stripPrefixRegex_test but it is more maintainable.
Use r.Header.Add("MY-HEADER", value) instead of  r.Header["MY-HEADER"] = []string{value}.
Bonus:

we can use Git branch name with / like foo/bar.

@timoreimann It's fixed!


Check when renaming a heading

It'd be great if I could rename a heading, and the plugin would find and fix any links in other files that previously referenced the heading.

Instead of (just) auto-fixing can we have a report of broken block links across the vault?
Some form of log with all breaks, applied fixes (to double check them) and errors trying to fix would give author more control and confidence and reduce need for re-reading all to check.


Added LessDotPHP filter

Leafo's LessPHP is dead, and cannot parse newer syntax (e.g. it'll break on &.extends).
https://github.com/oyejorge/less.php is meant to replace it, and it's pretty much a drop-in replacement, minor alterations only. This is a filter wrapper for it. Additionally, might be useful to remove the old filter and to no longer recommend its installation, because the classes of these two filters will clash anyway if both are installed.

Whoops, fixing.

@markstory if you're still keeping an eye on this, would love it if you could take a look and merge.

I'm :+1: for deprecating LessPHP if leafo/lessphp has been abandoned.

@markstory pushed the suggest change. Sorry this took a while, had other stuff to take care of.
Is it OK to merge now?

Thanks :+1:


Implement Digital Signature peripheral

Description
A Digital Signature is used to verify the authenticity and integrity of a message using a cryptographic algorithm.
This can be used to validate a device’s identity to a server, or to check the integrity of a message.
The Digital Signature (DS) module provides hardware acceleration of messages’ signatures
based on RSA. It uses pre-encrypted parameters to calculate a signature. The parameters are encrypted using
HMAC as a key-derivation function. In turn, the HMAC uses eFuses as an input key. The whole process happens
in hardware so that neither the decryption key for the RSA parameters nor the input key for the HMAC key
derivation function can be seen by the users while calculating the signature.
Support
If a cell contains am em dash (—) this means that the particular peripheral is not present for a chip. A check mark (✓) means that some driver implementation exists. An empty cell (  ) means that the driver hasn't been implemented for the chip yet.

ESP32
ESP32-C2
ESP32-C3
ESP32-C6
ESP32-H2
ESP32-S2
ESP32-S3

—
—

Additional information
Here's an example of how the peripheral is used inside esp-idf to accelerate signatures for mbedtls
https://github.com/espressif/esp-idf/blob/master/components/mbedtls/port/esp_ds/esp_rsa_sign_alt.c

With this functionality, these devices can implement some form of 2FA or act as a HSM which would be a huge bonus. I'm a cryptographer myself, and would be more than willing to give writing a Rust-compatible challenge-response library utlising these features.
I only have access to ESP32-S3's (as they're my favourite), but I'll pick up a few other suitable chips in order to validate things across more devices in due course.


Vibration.vibrate() is not working after I setState

This doesn't work for me:
this.setState({foo: 'bar'}, ()=> Vibration.vibrate());

However this does:
componentDidUpdate() {
  Vibration.vibrate();
}

I'm running into a similar issue after reading state.
  handleTalkStart() {
    if (!this.state.ready) { return; }
    Vibration.vibrate(); // I reach this call but nothing happens
  }

  handleTalkStart() {
    Vibration.vibrate(); // I reach this call and it works
  }

Same for me. Any workarounds?

This is still an issue in the latest version.

  Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, it does not seem like there has been any traction on this issue for some time.

  The issue is being copied over to our feature request tracker at Canny: https://react-native.canny.io/admin/board/feature-requests/p/vibrationvibrate-is-not-working-after-i-setstate

  There you can upvote issues that are important to you. This will help contributors identify the issues that the community cares about.

  If you think this issue should definitely remain open here in the issue tracker and not on Canny, let us know.

Hi there! The issue does still seem to exists.
Environment
Environment:
OS: macOS High Sierra 10.13.2
Node: 8.9.0
Yarn: 1.3.2
npm: 5.6.0
Watchman: 4.7.0
Xcode: Xcode 9.2 Build version 9C40b
Android Studio: 2.3 AI-162.3764568
Packages: (wanted => installed)
react: 16.0.0 => 16.0.0
react-native: 0.50.3 => 0.50.3
Target Platform: iOS (10.2)
Testing platform: Expo app ion iOS
Steps to Reproduce
Call Vibration.vibrate() after setting state like this:
this.setState({foo: 'bar'}, ()=> Vibration.vibrate());

Whereas the following seems to work fine:
componentDidUpdate() {
  Vibration.vibrate();
}

Expected Behavior
The iPhone should vibrate when Vibration.vibrate() is called.
Actual Behavior
The phone does not vibrate at all and any further calls to Vibration.vibrate(), even not after setting state, also fail.
Please note that we are testing this on the expo app.
Thanks.

vibration not working


Module order problem

I have a single board hosting 4 MAX7219 chips and LED matrices, using this driver is much faster BUT the order in which the modules is addressed through scrolling text in your marquee example, addresses module[0] as the first to draw the text (as it is brought into display), module[1] is the next to be drawn on and so on... the result is as you can imagine; you get a scroll on number one, as it disappears it appears on the next one from the wrong side.  To resolve this, it should start drawing on module[3], then [2] and so on.
How do I address and resolve this problem using your driver?

I'm away from my computer at the moment but there's the address calculation
in setPixel method. There's the 7 - (x & 7) expression. Changing it to x &
7 may fix the problem. There's no other way to change the behaviour at the
moment. I may add a define for it if needed.

Thanks for replying so quicklyt! :)
I'll try your change soon; it looks like I need to rotate my display 180
degrees but thats perfectly fine :)
Regards,
James Gohl
*Are you cyber streetwise?*https://www.cyberaware.gov.uk/
On Fri, 8 Feb 2019 at 19:41, Bartosz Bielawski<EMAIL_ADDRESS>wrote:

I'm away from my computer at the moment but there's the address calculation
in setPixel method. There's the 7 - (x & 7) expression. Changing it to x &
7 may fix the problem. There's no other way to change the behaviour at the
moment. I may add a define for it if needed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bartoszbielawski/LEDMatrixDriver/issues/21#issuecomment-461922265,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtJb2VJXqCwRIkx6bbYdjrZAFaxQLGaks5vLdLTgaJpZM4axMGz
.

Yes, rotation may also be needed. In general it's hard to hardcore all the
ways the PCBs can be done... So the addressing itself can be changed to
bend it the way you need it. :)

I honestly feel like I have bought a board, which the chinese would have created as a "joke" putting everything backwards, the original arduino ledcontrol driver has this setRow() function, faster because it can set the LEDs using a single byte, if you use setCol() it is ridiculously slow.  But surely you would want to setCol if you are scrolling...

I'm actually buffering all the writes. The original version writes the
whole row every time you update a single pixel.
The order of modules and orientation can be truly random :)

yes I noticed, good job!  The key is understanding the hardware :)
Perhaps this driver should have some orientation options which are exposed to instatiation method, instead of just the scroll function :)

The problem is that if I pass an enumeration specifying layout it will
execute the switch for each of the pixels while it can't really change. I'd
prefer to configure this during compilation. Maybe an address translation
function...
You can also check what is available in the API from Adafruit GFX base
class.

Well, in fairness you're not going to do up or down so a simple
optional*/nullable boolean "reverse" direction would suffice, true would
just remove the "7 - " operator.
I am humble in my suggestions... not a lot of people will provide feedback
on your driver if it doens't work for them... this might make your driver
more popular :)
Regards,
James Gohl
*Are you cyber streetwise?*https://www.cyberaware.gov.uk/
On Fri, 8 Feb 2019 at 20:37, Bartosz Bielawski<EMAIL_ADDRESS>wrote:

The problem is that if I pass an enumeration specifying layout it will
execute the switch for each of the pixels while it can't really change. I'd
prefer to configure this during compilation. Maybe an address translation
function...
You can also check what is available in the API from Adafruit GFX base
class.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bartoszbielawski/LEDMatrixDriver/issues/21#issuecomment-461938947,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABtJb7g7LzzNrEK2h-t7Iqb8CeYDfYfZks5vLeAbgaJpZM4axMGz
.

I'm away from my computer at the moment but there's the address calculation in setPixel method. There's the 7 - (x & 7) expression. Changing it to x & 7 may fix the problem. There's no other way to change the behaviour at the moment. I may add a define for it if needed.

Ok, so added bool modRev to globals and changed setPixel and getPixel...
	uint8_t* p = _getBufferPtr(x,(modReverse) ? 7 - y : y);
	if (!p)
		return;

	uint16_t b = (modReverse) ? (x & 7) : 7 - (x & 7);			//bit

Globals as in member or real global?
The most important question - does it work as intended?

Globals as in member or real global? The most important question - does it work as intended?
Yes it works perfectly, by default it works the same way as it was out of the box and by passing true I get the results I need.

in the .cpp file...

LEDMatrixDriver::LEDMatrixDriver(uint8_t N, uint8_t ssPin, bool modRev_, uint8_t* frameBuffer_):
#ifdef USE_ADAFRUIT_GFX
	Adafruit_GFX(N*8, N),
#endif
	N(N),
	spiSettings(5000000, MSBFIRST, SPI_MODE0),
	modRev(modRev_),
	frameBuffer(frameBuffer_),
	selfAllocated(frameBuffer_ == nullptr),
	ssPin(ssPin)
{...

In the header file...
altered definition for LEDMatrixDriver function...
	public:
		//with N segments and ssPin as SS,
		//an already allocated buffer can be provided as well
		LEDMatrixDriver(uint8_t N, uint8_t ssPin, bool modReverse = false, uint8_t* frameBuffer = nullptr);

modRev definition:
	private:
		uint8_t* _getBufferPtr(uint16_t x, uint16_t y) const;
		void _sendCommand(uint16_t command);
		void _displayRow(uint8_t row);

		const uint8_t N;
		SPISettings spiSettings;
		**bool modRev;**
		uint8_t* frameBuffer;

I'm busy this weekend so maybe you could make a patch and a pull request?
If not I will do it maybe Sunday :)
On Sat, 9 Feb 2019, 12:36 James<EMAIL_ADDRESS>wrote:

Globals as in member or real global? The most important question - does it
work as intended?
Yes it works perfectly, by default it works the same way as it was out of
the box and by passing true I get the results I need.
in the .cpp file...
LEDMatrixDriver::LEDMatrixDriver(uint8_t N, uint8_t ssPin, bool modRev_, uint8_t* frameBuffer_):
#ifdef USE_ADAFRUIT_GFX
Adafruit_GFX(N*8, N),
#endif
N(N),
spiSettings(5000000, MSBFIRST, SPI_MODE0),
modRev(modRev_),
frameBuffer(frameBuffer_),
selfAllocated(frameBuffer_ == nullptr),
ssPin(ssPin)
{...
In the header file...
altered definition for LEDMatrixDriver function...
public:
//with N segments and ssPin as SS,
//an already allocated buffer can be provided as well
LEDMatrixDriver(uint8_t N, uint8_t ssPin, bool modReverse = false, uint8_t* frameBuffer = nullptr);
modRev definition:
private:
uint8_t* _getBufferPtr(uint16_t x, uint16_t y) const;
void _sendCommand(uint16_t command);
void _displayRow(uint8_t row);
  const uint8_t N;
  SPISettings spiSettings;
  **bool modRev;**
  uint8_t* frameBuffer;

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/bartoszbielawski/LEDMatrixDriver/issues/21#issuecomment-462036957,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD2sEC6YuVVN14wb66bMx7hHT3dNnLYLks5vLrLNgaJpZM4axMGz
.

although I feel inclined to have a separate function call to set this, since code which uses this driver before this change may pass values to frameBuffer.

I wouldn't add it as a separate function. I'd just use another constructor.
With C++11 you can call one c-tor from the other. No code broken, no extra
functions.

Very well... I'll implement a delegating constructor :)

works beautifully...
// delegating constructor : to set module reverse boolean option LEDMatrixDriver::LEDMatrixDriver(uint8_t N, uint8_t ssPin, bool modRev_, uint8_t* frameBuffer_): 	LEDMatrixDriver(N, ssPin, frameBuffer_) { modRev = modRev_; }

Yup, that's what I wanted to have.
Can you make a pull request with these changes?

Yup, that's what I wanted to have.
Can you make a pull request with these changes?

Done :)

Merged, thanks :)


nativescript installation issue

Hi,
I am new to Nativescript development. I am using mac mini.i have 2 mac mini.
I am trying to install Nativescript on 1 of My Mac mini and its installed successfully. And works perfectly
Now I am also installing nativescript on my other mac mini and following same commands as earlier and installed successfully.
And now when I close terminal and restart it and fire tns command then it gives me error of
"-bash: tns: command not found"
I have uninstall and Reinstall node and nativescript both but getting same issues every time.
Please help me here.

This issue was moved to NativeScript/NativeScript#3914


Combine code for heatmaps and logtailing

Especially, and at least, the search handling.

Rough outline of what needs to be done:

Create parsing function that returns dictionary array from a given line, provided log type
Single function that produces array of dictionary lines with searching, that works for both heatmap and tables
Single function to return table from array
Single function to compute and return heatmap from array


Combination

If you can combine with this screenshot snipaste software is more perfect..

Sinpaste by liulex? That is actually a little out of scope.

Sorry, that's out of the scope of this project.


[ENG-2070] Fix Admin app 'edit embargo' functionality

Purpose
Currently the admin app creates orphaned embargoes, this PR addresses that.
Changes

some admin app logic changes and added tests.

QA Notes
Use the admin app to add an embargo date or modify an existing one.
Documentation
🐞 fix, no docs.
Side Effects
None that I know of.
Ticket
https://openscience.atlassian.net/browse/ENG-2070

LGTM!! 🎆

covered in upcoming admin app fixes


[Question] Would M5 StickC Plus2 be supported flawlessly?

Hi Frank,
Thank you for developing this repository. I'm curious whether you have experimented with Plus2, an enhanced version of M5StickC Plus2, notably featuring an expanded battery and increased flash storage.
Following the steps outlined in INSTRUCTIONS.md, I successfully compiled and uploaded to Plus2 using PlatformIO. Despite this, the screen remains unlit and there's no response from the device. Could you advise on a suitable approach to begin troubleshooting this issue? I would assume the issue came from the new dependencies used in the Plus2 library, involving the M5Unified. Your assistance would be greatly appreciated.
Best regards,
Sark

I see that the LCD's pins have changed, original pins
#define TFT_MOSI 15
#define TFT_SCLK 13
#define TFT_CS   5   // Chip select line for TFT display on Shield
#define TFT_DC   23  // Data/command line for TFT on Shield
#define TFT_RST  18  // Reset line for TFT is handled by seesaw!

new pins
#define TFT_MOSI 15
#define TFT_SCLK 13
#define TFT_CS   5   // Chip select line for TFT display on Shield
#define TFT_DC   14  // Data/command line for TFT on Shield
#define TFT_RST  12  // Reset line for TFT is handled by seesaw!

can you try making this change inside https://github.com/frank26080115/alpha-fairy/blob/main/arduino_workspace/libraries/M5StickC-Plus/src/utility/In_eSPI_Setup.h and try again?

Did this work for you @sarkrui ? Coz I also have the StickC Plus2, and did the changes @frank26080115 you mentioned, the screen stays off. Could you check again once?

I'd also be interested in getting this going. Tried the above with no luck.
Attempted to start swapping to the M5Unified library but it looked like it was going to require quite a few changes. Might continue it later.

@frank26080115 is it possible for you to provide the micrpython version? It might be easier to port that to the new plus2.

#define TFT_MOSI 15
#define TFT_SCLK 13
#define TFT_CS   5   // Chip select line for TFT display on Shield
#define TFT_DC   14  // Data/command line for TFT on Shield
#define TFT_RST  12  // Reset line for TFT is handled by seesaw!
#define TFT_BL   27
that works for me

@clopoff Thanks with the above, the display comes on now! However, it goes back to sleep quickly. Do you also see this behaviour? So it is still quite far away from its proper working.

Yep. Buttons dont work correctly

I purchased one, it's coming from M5Stack/China so it'll take a while.
I think I can put in an ugly piece of code to check if the device is a PICO-D4 or a PICO-V3 and act accordingly
so I'm puzzled, I don't see this product anywhere else, but plenty of the older versions on Amazons with Prime shipping. is the 2nd generation actually a popular product or is it dead? I have stuff being manufactured with the PICO-D4 still and it's not like there's a stock shortage, it's not EoL or anything.

recently bought the "wrong" version, also interested in some kind of port to the M5StickCPlus2

I'm currently working very bad on the code and found "[E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263" in serial terminal. I think it's the AXP192 library, because they ditched on this part for GPIO38 TIMER POWER.

https://github.com/platformio/platform-espressif32/issues/1492
platformio is not building thing correctly, for example, I cannot access the webpage like I used to on PLUS year ago. Exploring better toolchain to port to PLUS2.

btw, the main benefit of port to PLUS2 is to be able to have enough RAM/Flash to run a Bluetooth stack, which don't have very complicated camera ver compatibility issue. And a bit more stable (maybe)

#40
folks, try this out for PLUS2, almost the same experience except:
batt info not implemented
turn off logic is a bit different, but I don't think it's too much different.

platform espressif built non working binary with v6.9.0 so used 5.3.0, it seems that 6.3.0 might also work. Note that nowadays espressif arduino core have updated to 3.x however platform espressif still points to the old 2.x ver. There is a fiasco about esp not paying pio enough https://github.com/platformio/platform-espressif32/issues/1225 so pio refuse to take community contribution (for free). The same fiasco happed to RPi Pico as well https://github.com/maxgerhardt/platform-raspberrypi/issues/73. So ppl start to use their own fork https://github.com/pioarduino/platform-espressif32. However, porting THIS project to 3.x requires lots of effort: switch SPIFFS to LittleFS (I;ve done it), adopt new wifi api (time consuming w/o debugger), new ledc api, etc. Also move ino to cpp is a huge undertake since the modules are really highly coupled together..
for the board definition file 2.x esp-ardu use m5stick-c. 3.x esp-ardu use m5stack-stickc. The only useful thing about this is just to introduce the 'pin-def.h' file. But we are defining our pins by ourself anyways.
TODO that I will try to finish:

[ ] enable PSRAM on PLUS2 and don't crash the pngle
[ ] enable BLE and impl Bluetooth shutter. https://github.com/coral/freemote

TODO that anyone can help:

[ ] add adc read for PLUS2 for batt voltage etc.


Write a test to check backend extension registration

In backend repo, let's write a test which checks if a backend extension is registered into ONE-vscode extension.
This is t test https://github.com/Samsung/ONE-vscode/issues/440#issuecomment-1094600618

Situation
Let's assume that Backend has following functions.
function register(backend: Backend)
{
   onevscodeAPI.registerBackend(backend);
}

function checkIfRegistered(backend: Backend) : boolean
{
   return onevscodeAPI.checkIfRegistered(backend.name());
}

We need to check if registration works well.
In backend repo
We should install ONE-vscode vsix file after downloading vscode by @vscode/test-electron inside runTests.ts.
Then calls
let backend = FooBackend();
register(backend)

assert.isTrue(checkIfRegister(backend));  // this eventually calls function defined in ONE-vscode.vsix

I wrote a draft in backend repo and worked well.
Backend Test-Backend was registered into ONE-vscode.
    ✔ Registration
  1 passing (3ms)

draft was done in backend repo.


change artifact name regex

~Having an issue with tests, but opening this for discussion in the meantime.~
The PR adds support for uppercase letters and _. I decided against support for . because there are some restrictions around how it can be used in git refs.
Related: https://github.com/iterative/dvc/issues/9821
TODO:

[x] Tests
[ ] DVC PR
[ ] DVCLive PR to improve warning
[ ] Docs PR

@aguschin Do you mind reviewing when you have a chance?

Codecov Report
Patch coverage is 100.00% of modified lines.

Files Changed
Coverage

gto/constants.py
100.00%

:loudspeaker: Thoughts on this report? Let us know!.


Compactor: Stream compaction and downsampling from Object Storage

It would be amazing to skip disk writes/reads and allow Compactor to be fully streaming from object storage.
In order to do compaction streaming, we need to redesign index format a bit (e.g store postings and series in different files).
This is something being explored during the Prometheus Storage Working Group.
cc @brancz @codesome @pracucci

Actually, downsampling streaming would be extremely easy (: Help wanted!

Yes, this is still needed. We run our compactor with a 2TB volume just to prevent it from running out of disk.

Yes, this is still needed. We run our compactor with a 2TB volume just to prevent it from running out of disk.

My understanding of the problem is :
cmd/thanos/downsample.go has the processDownsampling function which calls block.Download, that downloads the Block directory locally, which is then read by tsdb.OpenBlock and then the returned object is passed to Downsample.
We need a helper function, which, instead of downloading, streams blocks one by one from object store to Downsample here
https://github.com/thanos-io/thanos/blob/master/cmd/thanos/downsample.go#L253-L278
Thoughts ? @bwplotka

My understanding of the problem is :
cmd/thanos/downsample.go has the processDownsampling function which calls block.Download, that downloads the Block directory locally, which is then read by tsdb.OpenBlock and then the returned object is passed to Downsample.
We need a helper function, which, instead of downloading, streams blocks one by one from object store to Downsample here
https://github.com/thanos-io/thanos/blob/master/cmd/thanos/downsample.go#L253-L278

Correct me if I am wrong, but block.Download returns a single directory, which would be used by tsdb.OpenBlock to iterate through the contents. I think currently, we could only open tsdb block, and then iterate through the chunks(and further iterate the contents). I am not sure, if tsdb provides an API to iterate through the contents of blocks(or something like tsdb.OpenChunks which does not exist) so how would we be able to stream data?

My understanding of the problem is :
cmd/thanos/downsample.go has the processDownsampling function which calls block.Download, that downloads the Block directory locally, which is then read by tsdb.OpenBlock and then the returned object is passed to Downsample.
We need a helper function, which, instead of downloading, streams blocks one by one from object store to Downsample here
https://github.com/thanos-io/thanos/blob/master/cmd/thanos/downsample.go#L253-L278

Correct me if I am wrong, but block.Download returns a single directory, which would be used by tsdb.OpenBlock to iterate through the contents. I think currently, we could only open tsdb block, and then iterate through the chunks(and further iterate the contents). I am not sure, if tsdb provides an API to iterate through the contents of blocks(or something like tsdb.OpenChunks which does not exist) so how would we be able to stream data?

Yes, I was a little confused regarding whether we'll read a block, downsample it and delete it later, but that is what is already implemented in the codebase. So the other alternative is to stream chunks and downsample on the way. In the most atomic scale, downsample works on Blocks, so I guess we'd need some more discussion before figuring out an approach, because even if we are able to stream chunks, we'll have to change the code for downsample.

We already stream chunks and do index lookup in streamed way in pkg/store/bucket.go (see func Series(..) so we can use that as inspiration for reads.

Simplest solution would be to stream chunk files as blobs.


Game clients fail to dispose after exiting from regular connected session with a headless server

I know we've had active disposal issues from time to time, but they tend to take some sort of unusual condition to trigger like the server itself crashing or the client failing to cleanly disconnect etc. Search for "dispose" or "disposal" here in the issues to find some related issues.
Right now I simply ran a local headless server + two regular clients from IntelliJ, connected the two clients, then exited the game shortly after entering. Neither client fully exited and just stalled with the last few lines of the log like so:
21:46:09.466 [main] INFO  o.t.logic.console.ConsoleImpl - [NOTIFICATION] Player "Cerv1" has left the game
21:46:26.197 [main] INFO  o.terasology.engine.TerasologyEngine - Shutting down Terasology...
21:46:26.229 [main] INFO  o.t.n.internal.NetworkSystemImpl - Network shutdown
21:46:29.825 [main] WARN  o.t.rendering.nui.asset.UIFormat - Field 'emptyIcon' not recognized for interface org.terasology.rendering.nui.UIWidget in {"type":"UIIconBar","id":"breathBar","icon":"engine:icons#bubble","family":"breathBar","emptyIcon":"engine:icons#burstBubble","halfIconMode":"shrink","spacing":2,"maxIcons":10,"layoutInfo":{"use-content-width":true,"use-content-height":true,"position-left":{"target":"CENTER"},"position-right":{"target":"RIGHT","widget":"healthBar"},"position-bottom":{"target":"TOP","widget":"healthBar","offset":1}}}
21:46:29.825 [main] WARN  o.t.rendering.nui.asset.UIFormat - Field 'crosshairIcon' not recognized for interface org.terasology.rendering.nui.UIWidget in {"type":"UICrosshair","id":"crosshair","crosshairIcon":"engine:gui#crosshair","layoutInfo":{"use-content-width":true,"use-content-height":true,"position-horizontal-center":{},"position-vertical-center":{}}}

Pretty sure the disposal issues haven't been that blatant lately, so maybe we made something worse. Would be good if somebody else could confirm the issue and/or do a little bug hunting.

Additional quick test: Running two clients with one hosting did not cause the issue. Exited with the pure client first, disposed fine, exited the host client, also exited fine. So may be specific to headless? Or higher player count?

Cannot reproduce anymore, will close this as probably just a quirk from the small assortment of disposal issues that come up from time to time.


Install faust~ on Win64

Hi @pierreguillot !
Great stuff here!
I don't understand very good from the readme if the LLVM binaries would work for Win64 to. If not where i can find the sources and the how-to for building?
best!
ps. you're really givin' PD some serious gold! better said diamonds!

Thanks 😄
Yes, in fact for the moment LLVM binaries work only for Windows 64 bits with Pd 64 bits. I have difficulties to compile the proper LLVM/faust libraries for Pd 32 bits on my 64 bits machine. Anyway, you can already try the pre-release external if you want: releases.
Cheers

thanks pierre. So let me understand i only need to install the stuff inside the release .zip? Or do i have to install this  http://releases.llvm.org/5.0.2/LLVM-5.0.2-win64.exe before?

You don't need to install anything (normally), just unzip the folder and open the help file

Maybe there's no guard check if the object is instantiated without specifing a .dsp file?

Yes, indeed. I will fix this!

Fixed, now [faust~]is valid but does nothing - you must give a valid file.


Added reference to Crocks ADT library

crocks is a collection of popular Algebraic Data Types (ADTs) that are all the rage in functional programming. The main goal of crocks is to curate and provide not only a common interface between each type (where possible of course), but also provide all of the helper functions needed to hit the ground running.

Lgtm


Use llvm-symbolizer with Sanitizer

Sanitizer errors are impossible to debug without line and file info. Setting ASAN_SYMBOLIZER_PATH to the llvm-symbolizer path enables this as shown here
I did this recently with an error and it worked great. This will always enable it with docker and clang sanitizer builds so we should also see it in our output logs in the CI system

Codecov Report

Merging #296 into master will decrease coverage by 0.7%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #296      +/-   ##
==========================================
- Coverage   95.75%   95.05%   -0.71%
==========================================
  Files          60       55       -5
  Lines        3582     3071     -511
==========================================
- Hits         3430     2919     -511
  Misses        152      152

Impacted Files
Coverage Δ

packages/Search/src/details/DTK_DetailsBox.hpp
84.21% <0%> (-15.79%)
:arrow_down:

...kages/Search/src/details/DTK_DetailsAlgorithms.hpp
89.36% <0%> (-10.64%)
:arrow_down:

...es/Search/src/details/DTK_DetailsTreeTraversal.hpp
98.18% <0%> (-0.31%)
:arrow_down:

packages/Search/src/DTK_LinearBVH_decl.hpp
100% <0%> (ø)
:arrow_up:

packages/Search/test/tstLinearBVH.cpp
100% <0%> (ø)
:arrow_up:

...earch/test/tstDetailsDistributedSearchTreeImpl.cpp

...kages/Search/src/DTK_DistributedSearchTree_def.hpp

packages/Search/test/tstDistributedSearchTree.cpp

...c/details/DTK_DetailsDistributedSearchTreeImpl.hpp

...ages/Search/src/DTK_DistributedSearchTree_decl.hpp

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2bf567c...f2b639b. Read the comment docs.


FileTable should migrate to persistant storage

Whether its MySQL or writing to an actual file or whatever, we should make it so that in case if Reno ever shuts down (maintenance, something crashes) we don't lose access to all the files saved in our database.
We currently save all this information in memory. That also poses a problem if we have a lot of files being saved.

Both FileTable and JailCellAccess should be backended by an SQL database

Finished


⚠ Avatar API Endpoint has degraded performance

In aa87a77, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 1668 ms

Resolved: Avatar API Endpoint performance has improved in 13a8fbf after 9 minutes.


[CLOSED] Only publish Finder if it has a content id

 Issue by tommyp
Tuesday 27 January 2015 at 10:33 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/398

As we work on some Finders, we may not want them to be public. This commit changes the Finder Publisher to only publish a Finder (and it's matching signup page) if it has a content id for the Finder present in the metadata file.

tommyp included the following code: https://github.com/alphagov/specialist-publisher/pull/398/commits

 Comment by jamiecobbett
Tuesday 27 January 2015 at 10:39 GMT

No tests? Also, will the user get any feedback that it hasn't been published?

 Comment by tommyp
Tuesday 27 January 2015 at 10:41 GMT

Chatted with @KushalP on Slack and doing it now. The User doesn't get any feedback as this all happens in a post deploy hook. I'll update the rake task to say what finder it's published as it happens.


Add binding error message for volumeMode:Block unsupported case

This PR adds a binding error message for volumeMode:Block
unsupported case.
With this message, users can understand why PV is not bound to
PVC on dynamic provisioning.
fixes: #59942
Special notes for your reviewer:
/cc @mtanino
/sig storage

@mkimuram do we still need this, saw the kube fix has merged?


ARROW-16484: [Go][Parquet] Update parquet writer version

This updates the default Created By string of the Go Parquet Writer, and updates the release script to correctly update that string with releases in the future.

@emkornfield can you or someone who knows Ruby better than I help me out and figure out what I'm doing wrong here so I can get the test to pass? Thanks!

@kou do you have a minute to look at the ruby issue?

Sure. I'll push a fix to this branch.


Update to latest patch release of Ceph for CVE fixes

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I've tested this out locally using the ceph image directly and rebuilding the rook-ceph image. I updated the ceph image in the CephCluster for an existing 1.0.4 install, and updated the rook-ceph-operator deployment with the new rook-ceph image.
Rebuilding rook-ceph was necessary to update the client so it could talk to the server after also running ceph config set mon auth_allow_insecure_global_id_reclaim false.
I'd need help with the rest of the steps in https://github.com/replicatedhq/kURL/blob/master/addons/rook/1.0.4/build-images/README.md.

It's not yet clear to me whether new installs need to set mon_warn_on_insecure_global_id_reclaim_allowed = false.

Resolved by  #1726 and #1742


Design how to drill into the details (notes field) of the history pages

One possible way is to have a page that lists the full details of the events on that day; navigated to by clicking on the day in the respective calendars.
A Tooltip that show the notes on hovering the displayed event is also an option, but doesn't work well on mobile.
Another option would be to list the notes above the calendar when you click on the shown event, this seems good because it is more fluid than having to back out of each individual summary page, but it may cause jumpyness in the location of the calendar.

Should consider issue #34


[SPARK-6767][SQL] Fixed Query DSL error in spark sql Readme

Fixed the  following error
query.where('key > 30).select(avg('key)).collect()
:43: error: value > is not a member of Symbol
query.where('key > 30).select(avg('key)).collect()

Can one of the admins verify this patch?

Merging in master & branch-1.3. Thanks.


Taxon Constraint for His-Purkinje system in fish

Request review for taxon constraint for HIs-Purkinje GO terms
GO:0060933
GO:0060934
GO:0060933
GO:0003168
GO:0086054
GO:0086055
GO:0086028
GO:0086073
GO:0086078
never_in_taxon  Actinopterygii  7898, Coelacanthiformes  7894, Dipnoi  7878
PMID: 12626327  PMID: 21234997
Thank you
GOC:MR

You want to add these constraints, correct?

?Yes Tanya,
Thank you

Michael E. Rice AgBase biocurator
School of Animal and Comparative Biomedical Sciences
Thomas W. Keating Bioresearch Building
1657 E. Helen St.
Tucson, AZ 85721
The College of Agriculture and Life Sciences
The University of Arizona
520 955-2745
mrice<EMAIL_ADDRESS>
From: Tanya Berardini<EMAIL_ADDRESS>Sent: Thursday, May 19, 2016 6:03 PM
To: geneontology/go-ontology
Cc: Rice, Michael E - (mrice); Author
Subject: Re: [geneontology/go-ontology] Taxon Constraint for His-Purkinje system in fish (#12451)
You want to add these constraints, correct?

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/geneontology/go-ontology/issues/12451#issuecomment-220492323

Your list:

[ ] GO:0060933, His-Purkinje system cell development
[ ] GO:0060934, His-Purkinje system cell fate commitment
[ ] GO:0060932, His-Purkinje system cell differentiation
[ ] GO:0003168, Purkinje myocyte differentiation
[ ] GO:0086054, bundle of His cell to Purkinje myocyte communication by electrical coupling
[ ] GO:0086055, Purkinje myocyte to ventricular cardiac muscle cell communication by electrical coupling
[ ] GO:0086028, bundle of His cell to Purkinje myocyte signaling
[ ] GO:0086073, bundle of His cell-Purkinje myocyte adhesion involved in cell communication
[ ] GO:0086078, gap junction channel activity involved in bundle of His cell-Purkinje myocyte electrical coupling

What about GO:0003164, His-Purkinje system development ?  There are 34 terms that contain the word 'Purkinje', 20 that contain 'bundle of His'.   Do you mean to add the taxon restrictions to all of these (some will inherit the restriction by parentage) or just the specific subset that you put in your original request?

Tanya,
all of the terms containing His and Purkinje should be covered by the restriction. sorry, when I saw how many there are I did not finish the list thinking it would be covered by the review process. Thanks for working on this.
Mike

Michael E. Rice AgBase biocurator
School of Animal and Comparative Biomedical Sciences
Thomas W. Keating Bioresearch Building
1657 E. Helen St.
Tucson, AZ 85721
The College of Agriculture and Life Sciences
The University of Arizona
520 955-2745
mrice<EMAIL_ADDRESS>
From: Tanya Berardini<EMAIL_ADDRESS>Sent: Friday, May 20, 2016 9:29 AM
To: geneontology/go-ontology
Cc: Rice, Michael E - (mrice); Author
Subject: Re: [geneontology/go-ontology] Taxon Constraint for His-Purkinje system in fish (#12451)
Your list:

GO:0060933, His-Purkinje system cell development
GO:0060934, His-Purkinje system cell fate commitment
GO:0060932, His-Purkinje system cell differentiation
GO:0003168, Purkinje myocyte differentiation
GO:0086054, bundle of His cell to Purkinje myocyte communication by electrical coupling
GO:0086055, Purkinje myocyte to ventricular cardiac muscle cell communication by electrical coupling
GO:0086028, bundle of His cell to Purkinje myocyte signaling
GO:0086073, bundle of His cell-Purkinje myocyte adhesion involved in cell communication
GO:0086078, gap junction channel activity involved in bundle of His cell-Purkinje myocyte electrical coupling

What about GO:0003164, His-Purkinje system development ? There are 34 terms that contain the word 'Purkinje', 20 that contain 'bundle of His'. Do you mean to add the taxon restrictions to all of these (some will inherit the restriction by parentage) or just the specific subset that you put in your original request?

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/geneontology/go-ontology/issues/12451#issuecomment-220654022

Hi Mike - With the giant number of open Github tickets and the relatively small amount of ontology editors' time, the best chance for getting things done quickly is to provide as much detail in the request as possible.  :)    Thanks for the clarification.

?
ok, thanks
sorry for the incompleteness.

Michael E. Rice AgBase biocurator
School of Animal and Comparative Biomedical Sciences
Thomas W. Keating Bioresearch Building
1657 E. Helen St.
Tucson, AZ 85721
The College of Agriculture and Life Sciences
The University of Arizona
520 955-2745
mrice<EMAIL_ADDRESS>
From: Tanya Berardini<EMAIL_ADDRESS>Sent: Friday, May 20, 2016 9:54 AM
To: geneontology/go-ontology
Cc: Rice, Michael E - (mrice); Author
Subject: Re: [geneontology/go-ontology] Taxon Constraint for His-Purkinje system in fish (#12451)
Hi Mike - With the giant number of open Github tickets and the relatively small amount of ontology editors' time, the best chance for getting things done quickly is to provide as much detail in the request as possible. :) Thanks for the clarification.

You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/geneontology/go-ontology/issues/12451#issuecomment-220659813

Looked into this issue a little further:

We need to import Coelacanthiformes 7894, Dipnoi 7878 into taxa used for GO.
It's probably cleaner to place the restriction on the UBERON terms instead and have the related GO terms inherit those taxon restrictions.

@michaelerice: Can you figure out which terms in UBERON are the most appropriate to restrict to the taxa that you requested?
Here's a search I did for His-Purkinje using AmiGO
http://amigo.geneontology.org/amigo/search/ontology?q=his-purkinje&fq=source:"uberon"&sfq=document_category:"ontology_class"
I was thinking this one:
http://amigo.geneontology.org/amigo/term/UBERON:0004146
@cmungall - you might be interested in this ticket
blocked on #12223

I am very interested
We have grouped the teleost (and thus Actinopterygii) distal conduction system in with His-Purkinje system
The evidence may have been weak. E.g. ZFA uses "His-Purkinji network" as an exact syn. This was an early merge in uberon
What is the relationship between these structures? Haven't had time to read the references.
Summoning homology and comparative fish anatomy people: @ANiknejad @mellybelly @ybradford @cerivs

Ah OK, so the original ZFA entry was a mistake, it has been obsoleted:
[Term]
id: ZFA:0005071
name: distal conduction system
namespace: zebrafish_anatomy
is_obsolete: true
consider: ZFA:0005059  ! trabecular layer
comment: Appears to be mammalian due to exact synonym His-Perkinje system, which doesn't have an exact analog in fish (or frogs). PMID:22984480 PLoS One. 2012;7(9):e44231.
synonym: "HPS" EXACT []
synonym: "His-Purkinje system" EXACT []
synonym: "His-Purkinji network" EXACT []
xref: TAO:0005071

From a skim of the refs it seems that lower vertebrates have a functional analog but is histologically different; the functional analog is the trabecular layer

OK, I think the representation of the analogous tissue in uberon has a lot of gaps I'd like to fill, but we should take that over to the uberon tracker
For now I will add the required TC, and we'll call this ticket closed
btw, I am going be bold and rewrite the TC as only-in tetrapoda (the 3 negative constraints as originally stated leaves open the possibility of the HPS being in Chondrichthyes, or even in cyclostomes, but this seems biologically unlikely based on the 3 papers here)


Failed to resolve component

Do NOT ignore this template or your issue will have a very high chance to be closed without comment.

Describe the bug
Main.ts

I don't know why. Can you help me?
Reproduction
Please provide a link to a repo that can reproduce the problem you ran into.
A reproduction is required unless you are absolutely sure that the the problem is obvious and the information you provided is enough for us to understand what the problem is. If a report has only vague description (e.g. just a generic error message) and has no reproduction, it will be closed immediately.
System Info

required vite version:
required Operating System:
required Node version:
Optional:

npm/yarn version
Installed vue version (from yarn.lock or package-lock.json)
Installed @vue/compiler-sfc version

Logs (Optional if provided reproduction)

Run vite or vite build with the --debug flag.
Provide the error log here.

I'm sorry. I made a mistake


Remove whitespace before period in post excerpt

I've noticed that when a sentence finishes with a closing HTML tag before the period the excerpt will display a whitespace before the period.
For example:
on a virtual private server.
will result in the excerpt:
on a virtual private server .
The code change will replace every ' .' with '.'
Do you think this is a clean solution for the problem?

Looks good, @marcusficner. Should be in next release.

Awesome, thanks @hellogerard.


Export private key from Zap?

how export Private key from Zap?

Is it possible to find out private keys from your Zap wallet? Let's say my address for accepting bitcoin is 31rvH4y7Skqr3UHCxSJYeRMyYx5vxnFjHn! How can I find out my private key from this wallet? I tried to return 24 words in the Electrum program! Do not get it!

@AzerChainToken you can use your 24 word seed to restore your wallet in the app in which you created the wallet initially. If you created it in Electrum then you should use Electrum to restore the wallet.

@AzerChainToken you can use your 24 word seed to restore your wallet in the app in which you created the wallet initially. If you created it in Electrum then you should use Electrum to restore the wallet.

I creat wallet on ZAP!  I can restore this on Electrum ?  i need a accesing to the private keys

@AzerChainToken Zap doesn't allow exporting the private key as far as I'm aware. Why do you need the private key? In most cases the raw private key is not needed. If you absolutely need to export a private key, you can send your funds from Zap to Electrum and export the private key from Electrum.

@AzerChainToken Zap doesn't allow exporting the private key as far as I'm aware. Why do you need the private key? In most cases the raw private key is not needed. If you absolutely need to export a private key, you can send your funds from Zap to Electrum and export the private key from Electrum.

I want to store funds in a ZAP wallet! But at the same time and have access to the Elektrum!

@AzerChainToken this may not work as Electrum uses its own modified way or generating a seed phrase. You should stick with either Zap or Electrum. If you require more advanced functionality which Zap doesn't offer yet, use Electrum. You can also file a request to add ability to export a private key to Zap but this feature may not come anytime soon.

@AzerChainToken this may not work as Electrum uses its own modified way or generating a seed phrase. You should stick with either Zap or Electrum. If you require more advanced functionality which Zap doesn't offer yet, use Electrum. You can also file a request to add ability to export a private key to Zap but this feature may not come anytime soon.

Electrum not support lightning technology((((

@AzerChainToken next version of Electrum will have Lightning Network support. They have all the code merged into their master branch already. It's just a matter of time before they release it.

@AzerChainToken next version of Electrum will have Lightning Network support. They have all the code merged into their master branch already. It's just a matter of time before they release it.

yeah. im waiting for 4.0.0 version of electrum with ln)

Closing this issue as it's been discussed that Zap and Electrum are different types of wallet with different seed formats.

Worst case scenario: What if the ZAP wallet disapears and not being able to use it again. Is there any other hardware wallet we can use to recover?

^ happening to me now

Same for me, i funded my newly created wallet, then i'm unable to access it now.
Unable to recover the wallet on another app due to the incompatibility mentioned above.
If zap is no longer maintained but anyway still available for download and use, i think many other users will lose funds :(

I successfully recovered funds using instructions from a crypto recovery person. Their exact comment was as follows:
If it's the on-chain stuff then recovery should be straightforward, thought likely uses aezeed, not BIP39 for seeds.
The basic process you need is outlined here
[https://github.com/openoms/lightning-node-management/blob/en/technicals/restorelndonchainfundsinelectrum.md]
But BE WARNED - I successfully recovered access, but because it was a new hot wallet with a small amount of funds, I didn't take proper security measures, and I exposed the mnemonic somehow (not sure where the leak happened yet, PC infected, or website infected, or man in the middle, etc). So the small funds were sent to an address I don't recognise.
The encryption/decryption websites can apparantly be used offline - so do that and maybe you will avoid the fate I had.

Finally i recovered my funds using bluewallet which, fortunately, is compliant with the used P2SH wallet. Thanks for the advice anyway !


Conditional jump or move depends on uninitialised value(s)

Caught using valgrind:
valgrind --leak-check=full --show-leak-kinds=all ./build/run-test262 -m -c test262.conf -a
==44768== Memcheck, a memory error detector
==44768== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==44768== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info
==44768== Command: ./build/run-test262 -m -c test262.conf -a
==44768==
==44768== Conditional jump or move depends on uninitialised value(s)
==44768==    at 0x128ABC: find_line_num.isra.0 (quickjs.c:6387)
==44768==    by 0x139799: build_backtrace (quickjs.c:6510)
==44768==    by 0x13A053: JS_ThrowError2 (quickjs.c:6616)
==44768==    by 0x13A66B: JS_ThrowTypeError (quickjs.c:6653)
==44768==    by 0x13C073: __JS_ThrowTypeErrorAtom (quickjs.c:6677)
==44768==    by 0x13C073: JS_ThrowTypeErrorInvalidClass (quickjs.c:6799)
==44768==    by 0x13C073: JS_GetOpaque2 (quickjs.c:9844)
==44768==    by 0x13C073: js_array_buffer_get_byteLength (quickjs.c:48668)
==44768==    by 0x16D75F: js_call_c_function (quickjs.c:14380)
==44768==    by 0x12C22D: JS_CallInternal (quickjs.c:14561)
==44768==    by 0x135E5F: JS_CallFree (quickjs.c:17008)
==44768==    by 0x12DA2E: JS_CallInternal (quickjs.c:15830)
==44768==    by 0x12BDAC: JS_CallInternal (quickjs.c:14933)
==44768==    by 0x12C80E: JS_CallInternal (quickjs.c:14969)
==44768==    by 0x135E5F: JS_CallFree (quickjs.c:17008)
==44768==
==44768== Conditional jump or move depends on uninitialised value(s)
==44768==    at 0x128ABC: find_line_num.isra.0 (quickjs.c:6387)
==44768==    by 0x139799: build_backtrace (quickjs.c:6510)
==44768==    by 0x131DBD: JS_CallInternal (quickjs.c:16953)
==44768==    by 0x12BDAC: JS_CallInternal (quickjs.c:14933)
==44768==    by 0x135E5F: JS_CallFree (quickjs.c:17008)
==44768==    by 0x12DA2E: JS_CallInternal (quickjs.c:15830)
==44768==    by 0x12BDAC: JS_CallInternal (quickjs.c:14933)
==44768==    by 0x12C80E: JS_CallInternal (quickjs.c:14969)
==44768==    by 0x135E5F: JS_CallFree (quickjs.c:17008)
==44768==    by 0x19F244: JS_EvalFunctionInternal (quickjs.c:32039)
==44768==    by 0x19F514: __JS_EvalInternal (quickjs.c:32195)
==44768==    by 0x1A0096: JS_EvalInternal (quickjs.c:32213)
==44768==    by 0x1A0096: JS_EvalThis (quickjs.c:32244)
==44768==    by 0x1A0096: JS_Eval (quickjs.c:32252)
==44768==

By the look of it, the value of pc_value passed to find_line_num is the one not initialized.

Now we have the source:
.....................................-..==2683== Conditional jump or move depends on uninitialised value(s)
==2683==    at 0x12939E: find_line_num.constprop.0 (quickjs.c:6387)
==2683==    by 0x13D8B8: build_backtrace (quickjs.c:6510)
==2683==    by 0x13E2C3: JS_ThrowError2 (quickjs.c:6616)
==2683==    by 0x13E902: JS_ThrowTypeError (quickjs.c:6653)
==2683==    by 0x140279: __JS_ThrowTypeErrorAtom (quickjs.c:6677)
==2683==    by 0x140279: JS_ThrowTypeErrorInvalidClass (quickjs.c:6799)
==2683==    by 0x140279: JS_GetOpaque2 (quickjs.c:9844)
==2683==    by 0x140279: js_array_buffer_get_byteLength (quickjs.c:48668)
==2683==    by 0x1733E4: js_call_c_function (quickjs.c:14380)
==2683==    by 0x12D6D2: JS_CallInternal (quickjs.c:14561)
==2683==    by 0x13A0AF: JS_CallFree (quickjs.c:17008)
==2683==    by 0x12FBAD: JS_CallInternal (quickjs.c:15830)
==2683==    by 0x12D26D: JS_CallInternal (quickjs.c:14933)
==2683==    by 0x12E187: JS_CallInternal (quickjs.c:14969)
==2683==    by 0x13A0AF: JS_CallFree (quickjs.c:17008)
==2683==  Uninitialised value was created by a stack allocation
==2683==    at 0x12CE70: JS_CallInternal (quickjs.c:14487)

Do you remember at what commit that is?

Current tip of tree, you can check here: https://github.com/quickjs-ng/quickjs/actions/runs/8364487250

Do you mean sf->cur_pc? Does zeroing it out fix the warning?

Yeah that's the one. I haven't tested it yet, hope to do that tonight! 🥃

zeroeing the stack frame adds overhead to every function call.  It would be preferable to investigate by filling the structure with invalid data such as 0xCC to make the problem occur more systematically and figure what condition causes an exception to be thrown without a valid pointer in cur_pc.

I have found the smallest repro case!
"use strict";

ArrayBuffer.prototype.byteLength;

This is the smallest change I could come up with, which fixes it: https://github.com/quickjs-ng/quickjs/pull/328
I couldn't quite follow what path lead to it not being set :-( However, since we initialize the stack frame there, I guess it makes sense to set cur_pc to a sensible value...

I couldn't quite follow what path lead to it not being set :-( However, since we initialize the stack frame there, I guess it makes sense to set cur_pc to a sensible value...

The scenario is this:

the stack frame has an invalid cur_pc until explicitly set by an opcode handler.
the byte code evaluated is OP_get_field to get the byteLength property.
this property is a getter, so the c function is called (an interpreter getter would have the same problem).
this getter throws an exception for an invalid class error.
the Error constructor walk the stack frames and uses the invalid cur_pc to determine the line number and crashes.

It is quite surprising that this problem has not surfaced before.
To fix this problem, sf-.cur_pc should always be a valid pointer or a null pointer for all active stack frames.
Also note that the stack dump construction is supposed to be delayed until it is needed for display or debugging and this bug shows that it is not the case since build_backtrace construct the complete stack trace in the JS_ThrowError2 call.
The stack trace cannot be built only when accessed because the stack frames would have been discard by that time, yet the call stack could be stored incrementally in the alternate return path along the call chain (in the exception: code for JS_CallInternal).
This would produce a more precise stack trace with the actual cur_pc values, without the need to set sf->cur_pc = pc; explicitly as is done in the OP_call_method handler.
On the other hand, to prepare for a much needed debugger that would need an exact stack trace at time the error constructor is called, this incremental approach is inappropriate.
Conclusion:

sf->cur_pc must be valid or null for all active stack frames.
All opcodes that may throw an exception must set sf->cur_pc = pc before the potential error.
This must be added to OP_get_field, OP_get_field_ic and many other opcode handlers whenever an Error may be thrown.  This should be done carefully to try and minimize the overhead.

Thanks for the explainer! I shall try to judiciously place those.

To fix this problem, sf-.cur_pc should always be a valid pointer or a null pointer for all active stack frames.

Not sure I fully get this. When set it means it's not an active stack frame?

Also note that the stack dump construction is supposed to be delayed until it is needed for display or debugging and this bug shows that it is not the case since build_backtrace construct the complete stack trace in the JS_ThrowError2 call.

In JS_ThrowError I can see:
    /* the backtrace is added later if called from a bytecode function */
    sf = rt->current_stack_frame;
    add_backtrace = !rt->in_out_of_memory &&
        (!sf || (JS_GetFunctionBytecode(sf->cur_func) == NULL));
    return JS_ThrowError2(ctx, error_num, fmt, ap, add_backtrace);

But when I check build_backltrace I can see the function does seem to have bytecode? (that's the path that leads to the error). I suppose this is the stack frame related to the code in my JS file and not the actual array bytelength function.

The stack trace cannot be built only when accessed because the stack frames would have been discard by that time, yet the call stack could be stored incrementally in the alternate return path along the call chain (in the exception: code for JS_CallInternal).

Not sure I understand what you mean here 😅 I do see cur_pc being set to pc in the exception label, but it looks like it might be too late, in case an exception which needs to generate a backtrace happens beforehand...
I'm updating the PR with the cases I found thanks for Valgrind, and I'm also making it possible to run Valgrind against a specific branch so we can know some more.
I am a bit out of my depth here, so I appreciate the guidance @chqrlie !

To fix this problem, sf->cur_pc should always be a valid pointer or a null pointer for all active stack frames.

Not sure I fully get this. When set it means it's not an active stack frame?

An active stack frame is one that is in a call chain.  sf->cur_pc is null for functions that are not bytecoded.

Also note that the stack dump construction is supposed to be delayed until it is needed for display or debugging and this bug shows that it is not the case since build_backtrace construct the complete stack trace in the JS_ThrowError2 call.

In JS_ThrowError I can see:
    /* the backtrace is added later if called from a bytecode function */
    sf = rt->current_stack_frame;
    add_backtrace = !rt->in_out_of_memory &&
        (!sf || (JS_GetFunctionBytecode(sf->cur_func) == NULL));
    return JS_ThrowError2(ctx, error_num, fmt, ap, add_backtrace);

Yes, this delays the construction for most errors triggered from the bytecode to after the goto exception, yet if the call from JS_CallInternal indirectly calls a byte-coded function, the calling stack frame will not have the correct cur_pc and this will cause a problem when this recursive call does its own goto exception for the error it triggers.

But when I check build_backtrace I can see the function does seem to have bytecode? (that's the path that leads to the error). I suppose this is the stack frame related to the code in my JS file and not the actual array bytelength function.

The stack trace cannot be built only when accessed because the stack frames would have been discarded by that time, yet the call stack could be stored incrementally in the alternate return path along the call chain (in the exception: code for JS_CallInternal).

Not sure I understand what you mean here 😅 I do see cur_pc being set to pc in the exception label, but it looks like it might be too late, in case an exception which needs to generate a backtrace happens beforehand...

Yes it would be too late if the backtrace has already been generated.  We could build the backtrace incrementally as recursive calls get unwound, or at least the source locations could be stored incrementally.
This would remove the need to set sf->cur_pc before each call with a potential recursion, but it would not allow for a debugger to explore the call stack from a breakpoint or at the time an exception is thrown.


Pin GitHub Versions

Pull Request
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

#53  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite

Merge activity

Oct 22, 7:24 AM EDT: Graphite rebased this pull request as part of a merge.