Add a hill-climbing algorithm as an Optuna sampler

Motivation
Hill climbing is a local search algorithm commonly used for optimization problems. The sampler based on the hill-climbing algorithm aims to provide a simple yet effective way to explore the hyperparameter space and find good solutions.
Description
For simplicity, this hill-climbing sampler will only support the discrete case, where hyperparameters are represented as integers or categorical values.
The key components of the hill-climbing sampler will include:

Initialization: This sampler will start from a random point in the hyperparameter space using RandomSampler of Optuna
Lists neighboring points: The sampler will maintain two lists: one for neighboring points to be evaluated and another for those that have been evaluated.
Move: This sampler will move in the direction of steepest ascent based on the current point and the neighboring points
Restart: This sampler will restart the search when no neighboring points improve objective values

Alternatives (optional)
No response
Additional context (optional)
No response

Hi @toshihikoyanase , could I take up this issue?

Hi @csking101 .
Thank you for your interest. Please go ahead!

Hey, so I wanted to share my approach, and get feedback for the same:

I will implement a Sampler from the BaseSampler
I will store the following variables in that - evaluated_points(list), remaining_points(list), best_points(list)
My search space is a discretized version of space in the respective distribution, so I will take a point and its neighbours will be the all the points offset from the current_point in all the distributions (so for d dimensions, there will be 2*d neighbours). Is this correct for the relative sampling method?
The rest of the algorithm remains the same, I will consider which neighbour gives the best value as per the objective, and make that my current_point, I will repeat this until there is no improvement
When this happens, I will start a new trial from another random point, with no relation to the previous trials (however, I will store the previous best points from the trials). Should I give some maximum limit for the number of trials?

Is this the right path?

@csking101 Thank you for sharing the design of the sampler.

I will implement a Sampler from the BaseSampler

Yes, you can use BaseSampler. Alternatively, you may use SimpleBaseSampler, which simplifies the implementation. This tutorial provides the usage of SimpleBaseSampler.

I will store the following variables in that - evaluated_points(list), remaining_points(list), best_points(list)

Sounds good. evaluated_points might not be necessary since Study holds all evaluated points as Study.trials.

My search space is a discretized version of space in the respective distribution, so I will take a point and its neighbours will be the all the points offset from the current_point in all the distributions (so for d dimensions, there will be 2*d neighbours). Is this correct for the relative sampling method? So pretty much we move one direction at a time, or should it be considering multiple axes' points at a time?

Please move a single axis at a time because this issue targets straightforward hill climbing.
As you mentioned, this approach can involve evaluating a large number of neighbours, it should remain manageable for simple problems.

The rest of the algorithm remains the same, I will consider which neighbour gives the best value as per the objective and make that my current_point, I will repeat this until there is no improvement

Sounds reasonable.

When this happens, I will start a new trial from another random point, with no relation to the previous trials (however, I will store the previous best points from the trials).

Sounds good! Please restart from a randomly chosen point.

Should I give some maximum limit for the number of trials?

There's no need to set a limit within the sampler, as users can specify the maximum number of trials via Study.optimize.

Thank you for the reply, I will open a PR shortly!


Update the README to give a basic description of the Council and the purpose of the repo

While I have quite a few ideas of what would be useful to have on the README, I'd like to start with the basics.
To get consensus on this PR, I'd like to borrow the process we used in the governance RFC working group which is just checkboxes in the PR description. We'll probably want to improve this process over time including potentially using something like RFC bot.
Checkboxes:

[ ] @carols10cents
[x] @eholk
[x] @ehuss
[x] @jackh726
[ ] @khionu
[ ] @Mark-Simulacrum
[x] @m-ou-se
[x] @rylev
[x] @theJPster

It's probably useful if this readme has a link to our #council Zulip channel and team page on the website.

I checked my box. Please consider that durable, and feel free to merge subsequent edits without an explicit signoff from me.

I second Mara's suggestion

I agree with @m-ou-se's comment, but eventually I'd like for us to establish clearer procedures for how to interact with the Council depending on what the person in question is trying to achieve. While it's great for us to have a way to "come by and chat", this might not always be the best course of action. For example, I imagine we'll have a way to request the Council to make a decision on something, and I think it would best to document the best way for folks to do this that isn't "just use Zulip".
All that is to say, I'll add the Zulip link, and then separately do some thinking about additional communication channels.

I pushed a commit that tries to address all the feedback. Please uncheck your checkbox if you're unhappy with the result (I'm treating the checkboxes as durable since the changes are small and all of this is very easy to reverse if something undesirable sneaks in).
Once we get ✅ from the remaining reps, I'll merge.

Merging with all 9 ✅


dead link for eventhub listkeys

The link to listKeys for Microsoft.EventHub/namespaces/authorizationRules is invalid/nonexistant
https://docs.microsoft.com/en-us/rest/api/eventhub/namespaces/listkeys

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

ID: 0551fca9-d710-15d1-9141-baf2121a4ab1
Version Independent ID: cc554f24-a13d-d3ab-a3c6-c610f4d0b461
Content: Template functions - resources - Azure Resource Manager
Content Source: articles/azure-resource-manager/templates/template-functions-resource.md
Service: azure-resource-manager
Sub-service: templates
GitHub Login: @mumian
Microsoft Alias: jgao

@pmozbert Thanks for your comment.We will review the issue and get back to you.

@mumian Can you please review the feedback and update the document accordingly?

the link is also dead for Microsoft.EventHub/namespaces/eventhubs/authorizationRules

@pmozbert - thanks for this feedback. It seems like the reference docs for some of the Event Hub operations have been removed. I am trying to find out why they were removed.

@pmozbert - the links have been fixed to go to an overview page for Event Hubs REST API. The operations are still usable. When Event Hubs has republished its REST API docs, the links will get updated again.

#please-close


Add Arduino file extension (C/C++)

I noticed that gogs wasn't recognizing the syntax of my Arduino sketches because of the .ino file extension, since Arduino code is essentially C/C++, this fixes it.

That file should have only a single entry per MIME type, so you should add the extension to the "C" entry instead.

@marijnh Got it, added the extension under C.

Thanks. Merged as b045bfa7


Feature Request: Add event triggers to beforeChange and afterChange events to determine how the change event occured

I'd like to be able to detect whether the user initiated advancing the slide using the arrows / dots or whether the slide advanced automatically.  I tried to add an event listener to the arrows but the results were mixed; i also can't extend changeSlide to broadcast its event because I believe it's a private function.
use case:
I need to allow auto-playing sliders play "as is," but would like to set focus on slides that are advanced manually by the user.
Adding a focus event on afterChange occurs regardless of how the slide was advanced, and adding the focus event on a separate handler for the buttons / dots sometimes resulted in the slide advancing too far (perhaps a race condition).

maybe this is a misrepresentation of the purpose of the  feature request.
it's born out of the following scenario:

the slider's track uses aria-live="polite" which will tell screen readers that this content can change on the page. When the slide advances, the screen reader will describe content inside the new, current slide.
This is fine theoretically, except that in practice, it's misleading when 1. there are more than one auto-playing sliders on the page, or  2. the slideshow is at the bottom of the page, and the user is at the top
** in this case, the screen-reader will go from reading, say, the top navigation, to the updated slide content towards the bottom of the page

To mitigate this, I:

Removed aria-live="polite" after the slideshow initializes with JS, but i still need to have the slideshow describe the current slide when the user interacts with the slide on purpose..

This can be done by setting focusing on the current slide after the user clicks "next," "previous", or a dot.
However, i can only do this when it's the user who has advanced the slide, not the auto-play, and afterChange does not distinguish that.

+1
This is a must for proper web analytics.

I needed this immediately so I made some changes to make it work for my project. Unfortunately, I do not have time to create the required jsbin for a PR. But, if it helps anyone wants to take a look at what I did, the changes are here:
https://github.com/kandizzy/slick/commit/ec63e3b85bb39df6cc6da924142e7d1e74cb28cd

@kandizzy: Thanks, that works perfectly!


Update performance_utils.py

Some cosmetics raised by our linter

Could you explain the motivation here a bit? It looks quite similar.

Could you explain the motivation here a bit? It looks quite similar.

They look like minor readability changes. LGTM.


Brandfolder proposal/extensions/firestore biquery import script

Hello!
I was working through your extension, and when I came to the backfill script, I didn't see any place to update the GCP project id used for BigQuery, which is a configurable parameter when installing the extension via firebase (as seen by parameter Project Id).
This pr adds the functionality to specify a BigQuery instance located within a separate GCP project from the Firebase instance. I'm by no means a pro at typescript (I work primarily in python), and mostly pattern matched to add this functionality, so if there's any issues with the code feel free to edit. I have tested that this works successfully for me though.
Thanks!

I will need to test it out before we release it but lgtm!

@cabljac Feel free to look at the issues thread here, as it seems the solution I submitted could be made more robust?

Hey! @jwerner08 This PR looks great, apologies for the delay.
As a lot of refactoring has been added since this PR, we have a few options:

Could you resolve the conflicts.
Create a fresh PR and re-add the updates to ensure that you retain credit for this fix.
Alternatively, i'm happy to do this and add you as a co-collaborator.

Let me know what you think. Thanks!

@dackers86
Hey!
I've completed a rebase of my branch to incorporate the latest changes from next. Before doing so I also added this commit, which was necessary to ensure non-interactive CLI execution works correctly. I didn't encounter any conflicts during my rebase, which leaves me a bit puzzled about that discrepancy. I've double-checked and made sure that my local branch is fully up-to-date with next.
If it simplifies matters, I'm definitely willing to create a new pull request, else I hope the "This branch has conflicts that must be resolved" is just a false positive?
Thanks!

Hey, the import script had some refactoring done recently and this is probably most of the conflicts. I'm going to try and make sense of things and resolve them, i've opened a PR to track this -  https://github.com/firebase/extensions/pull/1799/files

I think your fork is quite far behind next

Today I will replay your commits on the latest next and make sure it's attributed correctly, with you as main author

closing in favour of https://github.com/firebase/extensions/pull/1800 for now


Audit cask language locales

[x] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Fixes https://github.com/Homebrew/homebrew-cask/issues/81802

This depends on a function in https://github.com/Homebrew/brew/pull/7690/files for the test so that will have to be merged before


[Upgrade] packages

Description
Followed by #69, upgrade more packages.
Related Issues
#69
Checklist
Before you create this PR confirms that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the [CLA].
[x] Run yarn test or yarn test -u if you need to update snapshot.
[x] Run yarn lint
[x] I am willing to follow-up on review comments in a timely manner.

Closed via #91


fix: update spec reference for issuer cert pem

@emjunior258 , please merge
the button is grayed out for me.


Expose a way to explicitly set the quiet zone

I'm using this in a project at work and felt that this crate could use a way to set the quiet zone explicitly. I'm not versed in the ins-and-outs of qrcode, so hopefully I'm not introducing any bugs here 😄.

But why can't you set it when calling Renderer::new?

Coverage remained the same at 93.406% when pulling fcfdb1df0ceadb0f1bf0540c1874b8271543b088 on davidarmstronglewis:expose-explicit-quiet-zone into 6001dc883d6b2090717b6c42f815743800f0cb36 on kennytm:master.

In my application I'm not using the Renderer, just the builder pattern that the QRCode exposes. I guess I could build my own Renderer, but it just feels easier to expose this option directly.


go.mod: update dependencies and tidy

Summary
Update project dependencies to latest versions.
This includes a security update for go-ethereum.
Docker images

Dependency
Previous
New

golang (alpine)
1.22.2-alpine
1.22.5-alpine3.20

golang (debian)
1.22.2-bookworm
1.22.5-bookworm

postgres
16
16.3-alpine3.20

Go modules
Direct

Dependency
Previous
New
Type

toolchain
go1.22.2
go1.22.5
Patch

github.com/btcsuite/btcd
v0.24.0
v0.24.2
Patch

github.com/btcsuite/btcd/btcec/v2
v2.3.2
v2.3.3
Patch

github.com/decred/dcrd/dcrec/secp256k1/v4
v4.2.0
v4.3.0
Patch

github.com/docker/docker
v25.0.5+incompatible
v27.1.1+incompatible
Major

github.com/ethereum/go-ethereum
v1.13.5
v1.14.7
Minor

github.com/go-test/deep
v1.1.0
v1.1.1
Patch

github.com/prometheus/client_golang
v1.18.0
v1.19.1
Minor

github.com/sethvargo/go-retry
v0.2.4
v0.3.0
Minor

github.com/testcontainers/testcontainers-go
v0.28.0
v0.32.0
Minor

golang.org/x/sys
v0.17.0
v0.23.0
Minor

Indirect

Dependency
Previous
New
Type

github.com/Microsoft/go-winio
v0.6.1
v0.6.2
Patch

github.com/Microsoft/hcsshim
v0.11.4
v0.11.5
Patch

github.com/cespare/xxhash/v2
v2.2.0
v2.3.0
Minor

github.com/containerd/containerd
v1.7.13
v1.7.18
Patch

github.com/containerd/errdefs
N/A
v0.1.0
New

github.com/distribution/reference
v0.5.0
v0.6.0
Minor

github.com/golang/protobuf
v1.5.3
v1.5.4
Patch

github.com/holiman/uint256
v1.2.3
v1.3.0
Minor

github.com/moby/docker-image-spec
N/A
v1.3.1
New

github.com/pmezard/go-difflib
N/A
v1.0.0
New

github.com/prometheus/common
v0.47.0
v0.48.0
Minor

github.com/stretchr/objx
N/A
v0.5.2
New

github.com/stretchr/testify
N/A
v1.9.0
New

go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
v0.48.0
v0.49.0
Minor

go.opentelemetry.io/otel
v1.23.1
v1.24.0
Minor

go.opentelemetry.io/otel/metric
v1.23.1
v1.24.0
Minor

go.opentelemetry.io/otel/trace
v1.23.1
v1.24.0
Minor

golang.org/x/crypto
v0.19.0
v0.22.0
Minor

golang.org/x/exp
v0.0.0-20240213143201-ec583247a57a
N/A
Removed

golang.org/x/mod
v0.15.0
N/A
Removed

golang.org/x/tools
v0.18.1-0.20240311201521-78fbdeb61842
N/A
Removed

gopkg.in/yaml.v3
N/A
v3.0.1
New

Reverted github.com/btcsuite/btcd/btcec/v2 v2.3.4 to github.com/btcsuite/btcd/btcec/v2 v2.3.3 because they broke their API (in a patch...): https://github.com/btcsuite/btcd/pull/2211
We can likely bump this again once we can update github.com/ethereum/go-ethereum/crypto to a version that includes this fix: https://github.com/ethereum/go-ethereum/pull/30181 (https://github.com/ethereum/go-ethereum/issues/30188)

Add a header and block cache.

Add a header and block cache.

Add a header and block cache. This branch has conflicts that must be resolved


Support For Compressed Textures

While some corresponding constants are there (but not all!), glow doesn't appear to expose compressedTexImage2D, compressedTexImage3D, compressedTexSubImage2D or compressedTexSubImage3D.
This means that you can't use compressed images with glow.
A complication there is that the types of compressed images supported is highly dependent on the platform and underlying GPU, so it availability of the corresponding OpenGL extension has to be checked somehow. I don't know how glow is handling things like this.

We don't really handle optional features/extensions very well yet. I just added a supports_debug function that shows how we might begin to expose optional features.
Initially the plan is to request the extension as early as possible (i.e. during WebGL context creation) and always expose the relevant functions on both native and web. Then we can add something like fn supports_compressed_texture_s3tc_srgb(&self) -> bool for users to check whether certain features are supported. If supports_compressed_texture_s3tc_srgb returns false but the user tries to use a S3TC texture somewhere, then the function can panic.


bazel_configure.py discover version function support debian

bazel_configure.py discover version function support debian

Looks good. Would you please accept the CLA as described here:
http://twitter.github.io/heron/docs/contributors/community/

@billonahill  I have accepted the CLA.

Thanks @castomer!


Add --tree-shake-icons documentation to "Reducing app size" recommendations

--tree-shake-icons has been available since v1.15.1.  If we consider it stable enough, add to "Reducing app size" documentation.

This is enabled by default on release builds, FWIW

https://github.com/flutter/flutter/pull/56633 is in 1.19.0-1.0.pre.  I was remembering that the flag is hidden but present in current stable, unhidden with https://github.com/flutter/flutter/pull/56934 (1.19.0-2.0.pre, on beta).
The kernel panic fix didn't get cherry-picked to stable, the flag was just hidden on stable.  So never mind, we need to wait until that fix makes it to stable.  And at that point, it will be on by default.
Closing.


compilation fails under KDE neon

KDE neon is not supported by the installation/compilation script and you get the following error when you run it:
$ ./cibuild.sh --target CoreCLR
Installing dotnet cli...
Restoring BuildTools version 1.0.27-prerelease-00927-05...
Initializing BuildTools...
Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'neon.16.04-x64'. Possible causes:
1. The project has not been restored or restore failed - run `dotnet restore`
2. The project does not list one of 'neon.16.04-x64' in the 'runtimes' section.
3. You may be trying to publish a library, which is not supported. Use `dotnet pack` to distribute libraries.
ERROR: An error occured when trying to initialize the tools. Please check '/home/tobias/Sources/msbuild/msbuild/init-tools.log' for more details.1

I tried just adding it to the msbuild/packages/Microsoft.DotNet.BuildTools/1.0.27-prerelease-00927-05/lib/tool-runtime/project.json
I ended up with the following errors:
error: System.Text.Encoding.CodePages 4.0.1-rc3-24128-00 provides a compile-time reference assembly for System.Text.Encoding.CodePages on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Diagnostics.FileVersionInfo 4.0.0-rc3-24128-00 provides a compile-time reference assembly for System.Diagnostics.FileVersionInfo on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.IO.Pipes 4.0.0-rc3-24109-00 provides a compile-time reference assembly for System.IO.Pipes on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Diagnostics.TraceSource 4.0.0 provides a compile-time reference assembly for System.Diagnostics.TraceSource on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Diagnostics.Process 4.1.0 provides a compile-time reference assembly for System.Diagnostics.Process on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: Microsoft.Win32.Registry 4.0.0 provides a compile-time reference assembly for Microsoft.Win32.Registry on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: Microsoft.Win32.Primitives 4.3.0-beta-24506-02 provides a compile-time reference assembly for Microsoft.Win32.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Collections 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Collections on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Console 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Console on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Diagnostics.Debug 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Diagnostics.Debug on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Diagnostics.Tools 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Diagnostics.Tools on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Diagnostics.Tracing 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Diagnostics.Tracing on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Globalization 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Globalization on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Globalization.Calendars 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Globalization.Calendars on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.IO 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.IO on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.IO.Compression 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.IO.Compression on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.IO.FileSystem 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.IO.FileSystem on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Net.Primitives 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Net.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Net.Sockets 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Net.Sockets on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Reflection 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Reflection on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Reflection.Extensions 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Reflection.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Reflection.Primitives 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Reflection.Primitives on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Resources.ResourceManager 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Resources.ResourceManager on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Runtime 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Runtime on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Runtime.Extensions 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Runtime.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Runtime.Handles 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Runtime.Handles on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Runtime.InteropServices 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Runtime.InteropServices on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Runtime.InteropServices.RuntimeInformation 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Runtime.InteropServices.RuntimeInformation on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Security.Cryptography.Algorithms 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Security.Cryptography.Algorithms on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Security.Cryptography.Encoding 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Security.Cryptography.Encoding on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Security.Cryptography.X509Certificates 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Security.Cryptography.X509Certificates on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Text.Encoding 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Text.Encoding on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Text.Encoding.Extensions 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Text.Encoding.Extensions on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Threading.Tasks 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Threading.Tasks on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: System.Threading.Timer 4.3.0-beta-24506-02 provides a compile-time reference assembly for System.Threading.Timer on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with neon.16.04-x64.
error: One or more packages are incompatible with .NETCoreApp,Version=v1.0 (neon.16.04-x64).

Is there any way to force an installation or to make it use ubuntu.16.04-x64 instead of neon.16.04-x64?

This is probably a remnant of our ancient bootstrap toolchain. When we move to using the .NET SDK like normal projects, this should go away. That's tracked by https://github.com/Microsoft/msbuild/milestone/14 (but it might be a while).
Sorry for the inconvenience. You could probably use a container running Ubuntu 14.04 or 16.04 to work around this.

This should no longer be an issue after switching to a .NET Core SDK 2.x based build. If you see otherwise please let us know and we can take a look.


1.1.4 It seems like something was messed up...

After entering the game using 1.1.4, what comes into view is not the main menu, but the error interface.
Log

should be fixed in 1.1.5

I figured out the problem, neoforge team removed a method so i cant load the config by myself, but it doesn;t matter.
it should be fixed in 1.1.6, i promise


Fix VM provisioning from Services -> Workloads

https://bugzilla.redhat.com/show_bug.cgi?id=1292184

@gmcculloug Please review

@dclarizio Tested changes with valid sysprep inf and xml files as well as invalid file formats and all looks good.  :+1:


Unexpected Exception when SSH is unavailable

Memory acquisition failure with exception'SSHTunnel' object has no attribute 'local_port'.

This is fixed as of 1fcfcb3


go sdk support db (mysql/pg)

Rust sdk already support mysql/pg. But go sdk haven't support db yet.

I'm interest in it.

@adamreese Would the pattern you established with the SQLite SDK fit with our BYO relational API?  If so, would it be reasonably quick to implement?

They're a bit different.  With SQLite a connection to the database is opened and then closed.  MySQL and Postgres don't persist a connection between queries.  The API would need to be implemented in a different way.  We might be able to fake a "connection" and still use Go's database/sql interface.

"BYO relational" is an informal term for "bring your own" databases, specifically Postgres and MySQL, as opposed to the "built in" SQLite database - sorry for the confusing term!
You are correct that the WIT files define the API.  And certainly Go could surface the WIT bindings directly, but they are not very friendly, because they use concepts like discriminated unions that Go doesn't have.  In fact, even the Rust SDK provides a bit of a wrapper over the raw WIT to make it more ergonomic.  Go is an even trickier case because it has a standard database API and the most ergonomic solution would be to adopt that.  @adamreese successfully did that for SQLite but his solution won't work for Postgres or MySQL.
If you're happy to work with the WIT bindings directly, you can try running the wit-bindgen tool, and use the generated code from that directly - it doesn't need to be packaged in the SDK.  Right now, though, I think we have to have wit-bindgen generate C and then use cgo (this is part of why we have been holding off) - if this is of interest then we can provide more detailed information and guidance.  There is work in progress to have wit-bindgen generate Go directly, at which point generating your own client should become a lot more practical.  #1630 is where that work is happening.
(I'm still not sure if we will provide official wrappers after #1630, because an idiomatic SDK is non-trivial for the reasons @adamreese describes, and if we shipped a non-idiomatic one we'd be committing to sticking with it for a potentially long period.)
I hope that clarifies the problems and opportunities - do let us know if you're interested in working something up from the WIT files!

Thanks for your reply! I think I get it. Adopting go's standard database API is cool!! May be I can implement it.

We might be able to fake a "connection" and still use Go's database/sql interface.

This way sounds good.

Implemented in https://github.com/fermyon/spin/pull/1794 and https://github.com/fermyon/spin/pull/1922


option for display min/max on y axis

This should be an option rather than hard-coded one way or the other
Originally posted by @jsoules in https://github.com/magland/spikesortingview/pull/120#discussion_r969828466

@jsoules while this should be an optional props parameter, I don't think we should at it to the GUI (as a toggle button) until there is a request in one of the widgets. Do you concur?

I agree with that. I just don't want to lose the code, and to make sure that it can be turned on from the python if we want it.


Complete Charity Trustee Declaration Forms

Here's the form: https://www.oscr.org.uk/guidance-and-forms/forms-and-templates/trustee-declaration-form

[x] Noon
[x] Gala
[x] Marco

-- Edit:
The application form asks if we have all read and understood this page - https://www.oscr.org.uk/guidance-and-forms/being-a-charity-in-scotland
-- Double Edit: I realise, of course, that these documents are likely to have personal information on them, so I take back my idea that it would be fun to include them in this repository 😅

Before completing this, of course you should be satisfied with #19

this has been done.


Request feature: a (jQuery) 'Load more...' button

Hi, I'd like to add a 'Load more...' button. eg. display '10' tweets with a more button below the tweets to display the next '10', ideally with the button disappearing once all the results of the query have been displayed. Any advice would be welcomed  - thanks!

Just make your button supply a value for the widget's page option; the default value is 1, so if you reload the widget with page: 2, it should do the right thing. (Note that this won't work correctly unless the values of the count and fetch options are identical, which is also the default.)

BTW, there's no direct way to detect when there are no more pages available, but you can bind a handler to the "loaded" event of the widget in which you count the <li> elements inside the widget, and hide the "next page" button if there are fewer <li> elements than the number you supplied for the count option.

Awesome thanks - will check it out.

Hi, for the example: http://tweet.seaofclouds.com/#10, once you page forward to the end, the widget doesn't page back.
I'm trying to add a 'more' button like the one in this example: http://www.mudaimemo.com/p/twit/. Appreciate any ideas/help - thanks.

That example with the "more" button is much less sophisticated, because it simply fetches a large number of tweets, and only displays the first few until the "more" button is clicked. You could probably just do something like the following to get the same effect with jquery.tweet.js:
$(".widget").tweet({username:"whatever", count:20}).bind("loaded", function() { $(this).find("li").slice(0, 5).hide(); });
$("a.more").click(function() { $(".widget li").show(); });

Ok, thanks - appreciate your response. What I'm looking to achieve isn't to slice the loaded tweets but to load page 2 under under page 1 and load page 3 under page 2 and so on until there are no more pages (or the query has reached it's limit). And then to hide the 'load more' button when there are no more pages.
Any ideas/help would be awesome - thanks.

Hmm, right - that's not currently easy to do, because the widget explicitly clears itself before reloading. I'll have a think about what could be done to avoid this.


[WIP]: Running read_csv tests multiple times for CI

Hello @kozlov-alexey! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/tests/test_io.py:

Line 52:1: E402 module level import not at top of file
Line 53:1: E302 expected 2 blank lines, found 0
Line 60:1: W293 blank line contains whitespace
Line 243:1: E305 expected 2 blank lines after class or function definition, found 1


Add support for minimum randomness generation interval.

Adds back deferral for randomness-using tx arriving in commits for which randomness is not generated.

Just curious, will there still be randomness-only checkpoints?

Just curious, will there still be randomness-only checkpoints, or it will be another discussion / change?

Yes there are still randomness checkpoints. I don't follow what other discussion you're asking about?

Just curious, will there still be randomness-only checkpoints, or it will be another discussion / change?

Yes there are still randomness checkpoints. I don't follow what other discussion you're asking about?

I mean with < 5/s randomness rounds and potentially ~10/s normal checkpoints, there seem to be less latency benefit for separate randomness checkpoints. I imagine there will be plan or discussion on if / how / when we would make changes to the randomness checkpoint logic.

Just curious, will there still be randomness-only checkpoints, or it will be another discussion / change?

Yes there are still randomness checkpoints. I don't follow what other discussion you're asking about?

I mean with < 5/s randomness rounds and potentially ~10/s normal checkpoints, there seem to be less latency benefit for separate randomness checkpoints. I imagine there will be plan or discussion on if / how / when we would make changes to the randomness checkpoint logic.

Yes it's something that could be addressed separately, when code is written to coalesce pending checkpoints. At least it doesn't make as much of a difference either way after this change because we'll only have max 5/s extra and not 2x.


[From_CTB] fasta descriptions confound extract-partitions.py

Transferring ctb#11 opened on 08-May-2012
I got this error trying to follow the partitioning instructions:
python /Users/jmeppley/tmp/tools/diginorm/khmer/scripts/extract-partitions.py all_pe.p32 all_pe.fasta.part
---
reading partitioned files: ['all_pe.fasta.part']
outputting to files named "all_pe.p32.groupN.fa"
min reads to keep a partition: 5
max size of a group file: 1000000
partition size distribution will go to all_pe.p32.dist
---
Traceback (most recent call last):
  File "/Users/jmeppley/tmp/tools/diginorm/khmer/scripts/extract-partitions.py", line 177, in <module>
    main()
  File "/Users/jmeppley/tmp/tools/diginorm/khmer/scripts/extract-partitions.py", line 81, in main
    for n, name, pid, seq in read_partition_file(filename):
  File "/Users/jmeppley/tmp/tools/diginorm/khmer/scripts/extract-partitions.py", line 26, in read_partition_file
    name, partition_id = name.rsplit('\t', 1)
ValueError: need more than 1 value to unpack

It looks like the code that created the partition-labelled fasta did not account for descriptions in the fasta header. Because the first line in my partition file looks like this:
>M00180:26:000000000-A0JVV:1:1:14959:1511.1 1:N:0:0 2

But the extract-partitions script is trying to parse the partition number out of the name.
I made this change to fix the problem:
diff --git a/scripts/extract-partitions.py b/scripts/extract-partitions.py
index 3c00538..9107791 100755
--- a/scripts/extract-partitions.py
+++ b/scripts/extract-partitions.py
@@ -23,7 +23,10 @@ DEFAULT_THRESHOLD=5
 def read_partition_file(filename):
     for n, record in enumerate(screed.open(filename)):
         name = record.name
-        name, partition_id = name.rsplit('\t', 1)
+        if '\t' in name:
+            name, partition_id = name.rsplit('\t', 1)
+        else:
+            description, partition_id = record.description.rsplit('\t',1)
         yield n, name, int(partition_id), record.sequence

 ###

I am going to try to resolve this issue

I am going to write a test for this case - it seems to be fixed but I'll confirm that and add the test. I'm being coached by @mr-c who is visiting our lab :-)

Working backwards @lexnederbragt and I are unable to reproduce this issue with any version of khmer released during my employment (0.5...1.3)

And I can't find a download for an older version of khmer than v0.5. Seeing as that was released a year and a half after this issue was originally reported I am going to mark this issue as fixed once we have merged Lex's test.

Well, its probably in version control somewhere. And it might (likely) depend on screed.  But if it�s fixed it�s fixed :)

@ctb Right-o, I didn't try versions of screed older than v0.7.1

Tested in #979

(thumbs-up)
Cheers,
B

On Apr 23, 2015, at 8:40 AM, Michael R. Crusoe<EMAIL_ADDRESS>wrote:
Tested in #979 https://github.com/ged-lab/khmer/pull/979
—
Reply to this email directly or view it on GitHub https://github.com/ged-lab/khmer/issues/175#issuecomment-95573032.

Bob Freeman, Ph.D.
Research Computing Facilitator
XSEDE Campus Champion
FAS Research Computing
Harvard University
38 Oxford Street, Rm 117
Cambridge, MA  02138
617/495.8824, vox
@DevBioInfoGuy
About: http://bit.ly/1m8n0se


Adding docs/RN for all versions

The stable/unmaintained labels should be removed because of how our versions are structured. E.g. For 2.6.x, the docs are either all maintained or all unmaintained, but it wouldn't be the case we maintain 2.6.8, but not earlier because our setup doesn't differentiate. So it doesn't make sense to use the stable/maintained labels.
I've added examples of showing the how the known portions of the URLs will be formatted. Those will need to be updated for each entry.
Another column we could link to is the Support Matrix. Thoughts on adding that?

Great idea on the support matrix; I'll add those.


Test minimum runtime requirements

Description
Currently only numpy==1.23.5 is tested, while other requirements are always the latest versions.
This PR defines, and enables testing with, the following minimum runtime dependencies:

Python 3.10
numpy==1.24.4
matplotlib==3.7.5
pandas==2.0.3
scipy==1.11.4
scikit-image==0.20.0
scikit-learn==1.2.2
xarray==2023.4.0
tifffile==2024.8.30
lfdfiles==2024.5.24
sdtfile==2024.5.24
ptufile==2024.7.13

This list is roughly following the recommendation of SPEC 0 — Minimum Supported Dependencies.
The file reader libraries are all pinned to the currently latest versions.
Release note
Summarize the changes in the code block below to be included in the
release notes:
Test minimum runtime requirements

Checklist

[ ] The pull request title, summary, and description are concise.
[ ] Related issues are linked in the description.
[ ] New dependencies are explained.
[ ] The source code and documentation can be distributed under the MIT license.
[ ] The source code adheres to code standards.
[ ] New classes, functions, and features are thoroughly tested.
[ ] New, user-facing classes, functions, and features are documented.
[ ] New features are covered in tutorials.
[ ] No files other than source code, documentation, and project settings are added to the repository.

Hi @bruno-pannunzio : can you check if these requirements work with Google Colab, which still uses Python 3.10 I think?

Hi @cgohlke I tried installing and running this branch and it worked, this is what phasorpy.versions returned:
Python-3.10.12 phasorpy-0.1.dev numpy-1.26.4 tifffile-2024.8.30 imagecodecs-n/a lfdfiles-n/a sdtfile-n/a ptufile-n/a matplotlib-3.7.1 scipy-1.13.1 skimage-0.23.2 sklearn-1.3.2 pandas-2.1.4 xarray-2024.6.0 click-8.1.7 pooch-v1.8.2
But when I tried cloning and installing dependencies in requirements_min.txt I got this error:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. albumentations 1.4.14 requires scikit-image>=0.21.0, but you have scikit-image 0.20.0 which is incompatible. google-colab 1.0.0 requires pandas==2.1.4, but you have pandas 2.0.3 which is incompatible. pandas-stubs <IP_ADDRESS>227 requires numpy>=1.26.0; python_version < "3.13", but you have numpy 1.24.4 which is incompatible.
I am not sure why this happens, but by installing this branch of phasorpy I can run it correctly. I don't know if this was what you meant with testing the runtime requirements, if it's not, please let me know.

Thank you. requirements_min.txt is just for testing, pinning minimum versions. It's OK for normal installations to resolve higher versions. Specifically, google-colab requires pandas==2.1.4, which has its own requirements. On a newly installed Python 3.10, there are no conflicts for the minimum versions and all tests pass.

Great Christoph! Then I think this can be merged if you believe is ready. If more testing is needed, please let me know.


doc: updated copyright

Re: #69
Goal
Approach

Updated copyright.

Signed-off-by: Roderick Monje<EMAIL_ADDRESS>

This already seems to be in place, so can be closed?

Ah, I was looking in the wrong location, this looks good!


Setting callbacks order, including default callbacks

A minor issue, admittedly, but is there a builtin way to set the call order of a model's callbacks (on_epoch_end, on_batch_begin and so on)? I assume the callbacks follow the input list's ordering, but what about the defaults. Specifically ProgbarLogger, since it seems to be called last, the output gets wonky in case any other callback also prints to stdout during on_epoch_end.

I actually think that this issue could/should trigger a callback rework.  I've been overriding callback instantiations with:
        self.history = cbks.History()
        callbacks = [cbks.BaseLogger()] + callbacks + [self.history]
        if verbose and all([not isinstance(cbk, cbks.ProgbarLogger) for cbk in callbacks]):
            callbacks += [cbks.ProgbarLogger()]
        callbacks = cbks.CallbackList(callbacks)

because I want to input my own progbar.  Maybe the CallbackList could be exposed as an optional input, so you can get more fine-grained control.  then you could do something like
if callback_list_input is None:
    ### default behavior

A much better way would be to use factories but that doesn't seem common in Python.
A fast and silly solution would be to allow the callbacks parameter to be either a list or a dictionary with optional priority, and maybe just have the defaults accessible through documented keys and letting -1 represent "never call". It would be completely backwards compatible but ugly.
 I just needed it work quickly.

so, idea list:

allow callbacks to be input into model.fit(...)
decorator? not sure I fully understand what you mean.  Do you mean the __call__ ability of containers?

possible 3, just to elucidate a full range of options:
What if it became fully functional and Callbacks were functional as well?
some_callbacks = [History(), Whatever()]
callbacks = Callbacks(some_callbacks, option='something')
model = Model(...)
model = callbacks(model) ## callbacks __call__ just modifies model and returns the model

on calling model.fit or some other method, it would internally check to see if it had any callbacks added, and if not, then put in the defaults.
for short code, I have a compose function
def compose(*layers):
    def func(x):
        out = x
        for layer in layers[::-1]:
            out = layer(out)
        return out
    return func

and then do things like
        F_alignlex = compose(RepeatVector(repeat_N),
                             Dropout(p_mlp),
                             Dense(mlp_size, activation='relu'),
                             concat)

so then, you could do:
callbacks = Callbacks([some_callback, etc])
optimizer = Adam(...)
compose(callbacks, optimizer)(model)

In this way, you could allow for the full range of customization without having to muck with the internals of Model.  It resembles the visitor design pattern

On a different note, that compose function looks neat. I think it should be used to deprecate Sequential() entirely and have everyone use the functional API.

It makes sense to have it, given function composition is a major point of this API.   And the repeatable composed functions are easier to read (fuller example):
        F_multiword = compose(F_attend,
                              F_embedword)
        F_singleword = compose(Fix(),
                               F_embedword)
        F_alignlex = compose(RepeatVector(repeat_N),
                             Dropout(p_mlp),
                             Dense(mlp_size, activation='relu'),
                             concat)
        children = F_multiword(child_in)
        parent = F_singleword(parent_in)
        grandparent = F_singleword(grandparent_in)

        lexical_context = F_alignlex([children, parent, grandparent])


Layout::height seems too short

The following example, adapted from swash_render, fails on my machine (Windows 11)

Code
//! A simple example that lays out some text using Parley, rasterises the glyph using Swash
//! and then renders it into a PNG using the `image` crate.

use image::codecs::png::PngEncoder;
use image::{self, Pixel, Rgba, RgbaImage};
use parley::layout::{Alignment, Glyph, GlyphRun, Layout, PositionedLayoutItem};
use parley::style::{FontStack, FontWeight, StyleProperty, TextStyle};
use parley::{FontContext, InlineBox, LayoutContext};
use peniko::Color;
use std::fs::File;
use swash::scale::image::Content;
use swash::scale::{Render, ScaleContext, Scaler, Source, StrikeWith};
use swash::zeno;
use swash::FontRef;
use zeno::{Format, Vector};

fn main() {
    // The text we are going to style and lay out
    let text = String::from("Sample Text");

    // The display scale for HiDPI rendering
    let display_scale = 1.0;

    // The width for line wrapping
    let max_advance = Some(400.0 * display_scale);

    // Colours for rendering
    let text_color = Color::rgb8(0, 0, 0);
    let bg_color = Rgba([255, 255, 255, 255]);

    // Padding around the output image
    let padding = 1;

    // Create a FontContext, LayoutContext and ScaleContext
    //
    // These are all intended to be constructed rarely (perhaps even once per app (or once per thread))
    // and provide caches and scratch space to avoid allocations
    let mut font_cx = FontContext::default();
    let mut layout_cx = LayoutContext::new();
    let mut scale_cx = ScaleContext::new();

    // Setup some Parley text styles
    let font_stack = FontStack::Source("Inter");

    let mut layout = {
        // TREE BUILDER
        // ============
        let root_style = TextStyle {
            brush: text_color,
            font_stack,
            line_height: 1.0,
            font_size: 40.0,
            ..Default::default()
        };

        let mut builder = layout_cx.tree_builder(&mut font_cx, display_scale, &root_style);
        builder.push_text(&text);

        // Build the builder into a Layout
        // let mut layout: Layout<Color> = builder.build(&text);
        let (layout, _text): (Layout<Color>, String) = builder.build();
        layout
    };

    // Perform layout (including bidi resolution and shaping) with start alignment
    layout.break_all_lines(max_advance);
    layout.align(max_advance, Alignment::Start);

    // Create image to render into
    let width = layout.width().ceil() as u32 + (padding * 2);
    let height = layout.height().ceil() as u32 + (padding * 2);
    let mut img = RgbaImage::from_pixel(width, height, bg_color);

    // Iterate over laid out lines
    for line in layout.lines() {
        // Iterate over GlyphRun's within each line
        for item in line.items() {
            match item {
                PositionedLayoutItem::GlyphRun(glyph_run) => {
                    render_glyph_run(&mut scale_cx, &glyph_run, &mut img, padding);
                }
                PositionedLayoutItem::InlineBox(inline_box) => {
                    for x_off in 0..(inline_box.width.floor() as u32) {
                        for y_off in 0..(inline_box.height.floor() as u32) {
                            let x = inline_box.x as u32 + x_off + padding;
                            let y = inline_box.y as u32 + y_off + padding;
                            img.put_pixel(x, y, Rgba([0, 0, 0, 255]));
                        }
                    }
                }
            };
        }
    }

    // Write image to PNG file in examples/_output dir
    let output_path = {
        let path = std::path::PathBuf::from(file!());
        let mut path = std::fs::canonicalize(path).unwrap();
        path.pop();
        path.pop();
        path.pop();
        path.push("_output");
        let _ = std::fs::create_dir(path.clone());
        path.push("swash_render.png");
        path
    };
    let output_file = File::create(output_path).unwrap();
    let png_encoder = PngEncoder::new(output_file);
    img.write_with_encoder(png_encoder).unwrap();
}

fn render_glyph_run(
    context: &mut ScaleContext,
    glyph_run: &GlyphRun<Color>,
    img: &mut RgbaImage,
    padding: u32,
) {
    // Resolve properties of the GlyphRun
    let mut run_x = glyph_run.offset();
    let run_y = glyph_run.baseline();
    let style = glyph_run.style();
    let color = style.brush;

    // Get the "Run" from the "GlyphRun"
    let run = glyph_run.run();

    // Resolve properties of the Run
    let font = run.font();
    let font_size = run.font_size();
    let normalized_coords = run.normalized_coords();

    // Convert from parley::Font to swash::FontRef
    let font_ref = FontRef::from_index(font.data.as_ref(), font.index as usize).unwrap();

    // Build a scaler. As the font properties are constant across an entire run of glyphs
    // we can build one scaler for the run and reuse it for each glyph.
    let mut scaler = context
        .builder(font_ref)
        .size(font_size)
        .hint(true)
        .normalized_coords(normalized_coords)
        .build();

    // Iterates over the glyphs in the GlyphRun
    for glyph in glyph_run.glyphs() {
        let glyph_x = run_x + glyph.x + (padding as f32);
        let glyph_y = run_y - glyph.y + (padding as f32);
        run_x += glyph.advance;

        render_glyph(img, &mut scaler, color, glyph, glyph_x, glyph_y);
    }
}

fn render_glyph(
    img: &mut RgbaImage,
    scaler: &mut Scaler,
    color: Color,
    glyph: Glyph,
    glyph_x: f32,
    glyph_y: f32,
) {
    // Compute the fractional offset
    // You'll likely want to quantize this in a real renderer
    let offset = Vector::new(glyph_x.fract(), glyph_y.fract());

    // Render the glyph using swash
    let rendered_glyph = Render::new(
        // Select our source order
        &[
            Source::ColorOutline(0),
            Source::ColorBitmap(StrikeWith::BestFit),
            Source::Outline,
        ],
    )
    // Select the simple alpha (non-subpixel) format
    .format(Format::Alpha)
    // Apply the fractional offset
    .offset(offset)
    // Render the image
    .render(scaler, glyph.id)
    .unwrap();

    let glyph_width = rendered_glyph.placement.width;
    let glyph_height = rendered_glyph.placement.height;
    let glyph_x = (glyph_x.floor() as i32 + rendered_glyph.placement.left) as u32;
    let glyph_y = (glyph_y.floor() as i32 - rendered_glyph.placement.top) as u32;

    match rendered_glyph.content {
        Content::Mask => {
            let mut i = 0;
            for pixel_y in 0..glyph_height {
                for pixel_x in 0..glyph_width {
                    let x = glyph_x + pixel_x;
                    let y = glyph_y + pixel_y;
                    let alpha = rendered_glyph.data[i];
                    let color = Rgba([color.r, color.g, color.b, alpha]);
                    img.get_pixel_mut(x, y).blend(&color);
                    i += 1;
                }
            }
        }
        Content::SubpixelMask => unimplemented!(),
        Content::Color => {
            let row_size = glyph_width as usize * 4;
            for (pixel_y, row) in rendered_glyph.data.chunks_exact(row_size).enumerate() {
                for (pixel_x, pixel) in row.chunks_exact(4).enumerate() {
                    let x = glyph_x + pixel_x as u32;
                    let y = glyph_y + pixel_y as u32;
                    let color = Rgba(pixel.try_into().expect("Not RGBA"));
                    img.get_pixel_mut(x, y).blend(&color);
                }
            }
        }
    };
}

with thread 'main' panicked at examples\swash_render\src/main.rs:197:25: Image index (86, 42) out of bounds (235, 42). It seems that the allocated image isn't tall enough. It does work correctly if I change the text to Samle Text (without the p). It's as if the height calculation didn't take into account the descender of the p.

So the current implementation of computed height computes the height of each line as line_height * font_size (where these are the input styles). This matches how the web / CSS computes line height, and is necessary if you want to match how browsers layout text. (see https://github.com/linebender/parley/pull/84)
However as you have discovered, it does not accurately measure how much space is actually needed for a visual rendering of the text. We do have this information, so we could definitely expose this in addition to the "layout line height". We could also consider making the line height computation (for the purposes of layout) configurable.
In the meantime you might want to consider increasing the line height you are using. 1.2 is the default used by web browsers, and will generally leave enough room for descenders. And anything from 1.3 to 1.5 is often recommended by typographic experts for aesthetic / readability purposes.

I see, this makes sense; in my case I am interested in the pixel bounds of the rendered glyph runs, and not so much about the typographic height, so that I can allocate an image large enough for rendering. But extra padding / line height will do in the meantime.


Can you introduce VIDEO_ENCODING_SIZE 360X640

Can you introduce VIDEO_ENCODING_SIZE 360X640?

Re-requesting feature for next version

Re-requesting feature for next version

Re-requesting feature for next version

You can do it now.
StreamingProfile.setPreferredVideoEncodingSize(int width , int height) is available for v1.4.5.

Great, thanks


CollectionLayer / PolygonLayer - location binding works with array but not object

I have a map:
export default EmberLeaflet.MapView.extend({
  childLayers: [
    SatelliteTileLayer,
    PolygonCollectionLayer
  ],
// snip
});

that defines PolygonCollectionLayer as:
import PolygonLayer from "../layers/polygon";

export default EmberLeaflet.CollectionLayer.extend({
  contentBinding: "controller.formattedPolygonMarkers",
  itemLayerClass: PolygonLayer
});

and defines PolygonLayer as:
export default EmberLeaflet.PolygonLayer.extend(
  EmberLeaflet.PopupMixin, {
  //popupContentBinding: "content.title",
  locations: Ember.computed.alias("content"),
});

where the content is bound to a controller defined as:
export default Ember.Controller.extend({
  markers: Ember.computed.alias("content.markers"),
   // snip
  polygonMarkers: Ember.computed.filterBy("markers", "markerType", "Polygon"),

  formattedPolygonMarkers: function() {
    return this.get("polygonMarkers").map(function(marker) {
      return marker.get("coordinates");
    });
  }.property("polygonMarkers.@each"),
});

This setup works but I'd like to pass along title attributes to be used on the popups. However, when I change PolygonLayer to use  locations: Ember.computed.alias("content.locations"), and change the controller.formattedPolygonMarkers to:
 formattedPolygonMarkers: function() {
    return this.get("polygonMarkers").map(function(marker) {
      return {
        locations: marker.get("coordinates"),
        title: "My title here"
      }
    });
  }.property("polygonMarkers.@each"),

I get the following error:
Uncaught Error: Assertion Failed: Content object or locations property must be array-like

Something similar is working for points for us but there is something different about the PolygonLayer that I'm missing. Any help would be appreciated.
EDIT: perhaps related to https://github.com/gabesmed/ember-leaflet/issues/59

I got it working by doing the following:
export default EmberLeaflet.PolygonLayer.extend(
  EmberLeaflet.PopupMixin, {
  locations: Ember.computed.alias("content.locations"),
  locationsProperty: "locations",
});

locationsProperty was the key.


A way to "queue up" or "chain" audio streams on audio players.

So I wanted to play audio files sequentially without seam. The problem is that all the audio player nodes use physics process to do stuff like firing finished, so it seems impossible to play audio files after each other without seam. User code doesn't run synchronized with the audio system so that's hopeless to do without hitches.
Some way to "chain" or "queue" audio streams to play sequentially immediately would be wonderful.

It's kind of specific but ani nteresting feature.
The only workaround that I see atm is using an AudioStreamSample as continuous ring buffer and sampling your audio into it manually.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


superset db upgrade is returning: psycopg2.errors.DuplicateAlias: table name "sl_columns" specified more than once

I've been using superset in docker environment, last version I used I from 6 months ago (docker image from https://hub.docker.com/r/apache/superset does not have the version number), when I update the version since the model data changed I have to run code superset db upgrade but it returns error. I'm using as superset database PostgreSQL 12, the error appears when a9422eeaae74 (new_dataset_models_take_2) migration is running.
INFO  [alembic.runtime.migration] Running upgrade ad07e4fdbaba -> a9422eeaae74, new_dataset_models_take_2
>> Copy 17 physical tables to sl_tables...
<string>:3: SAWarning: TypeDecorator UUIDType() will not produce a cache key because the ``cache_ok`` attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
>> Copy 57 SqlaTable to sl_datasets...
   Copy dataset owners...
   Link physical datasets with tables...
>> Copy 3,885 table columns to sl_columns...
   Link all columns to sl_datasets...
>> Copy 61 metrics to sl_columns...
   Link metric columns to datasets...
>> Run postprocessing on 3,946 columns
/app/superset/migrations/versions/2022-04-01_14-38_a9422eeaae74_new_dataset_models_take_2.py:732: SAWarning: TypeDecorator UUIDType() will not produce a cache key because the ``cache_ok`` attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
  count = session.query(func.count()).select_from(query).scalar()
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.DuplicateAlias: table name "sl_columns" specified more than once

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

Traceback (most recent call last):
  File "/usr/local/bin/superset", line 33, in <module>
    sys.exit(load_entry_point('apache-superset', 'console_scripts', 'superset')())
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 601, in main
    return super().main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 445, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask_migrate/cli.py", line 149, in upgrade
    _upgrade(directory, revision, sql, tag, x_arg)
  File "/usr/local/lib/python3.8/site-packages/flask_migrate/__init__.py", line 98, in wrapped
    f(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask_migrate/__init__.py", line 185, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "/usr/local/lib/python3.8/site-packages/alembic/command.py", line 294, in upgrade
    script.run_env()
  File "/usr/local/lib/python3.8/site-packages/alembic/script/base.py", line 490, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/usr/local/lib/python3.8/site-packages/alembic/util/pyfiles.py", line 97, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/local/lib/python3.8/site-packages/alembic/util/compat.py", line 184, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/app/superset/extensions/../migrations/env.py", line 126, in <module>
    run_migrations_online()
  File "/app/superset/extensions/../migrations/env.py", line 118, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/usr/local/lib/python3.8/site-packages/alembic/runtime/environment.py", line 813, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/local/lib/python3.8/site-packages/alembic/runtime/migration.py", line 561, in run_migrations
    step.migration_fn(**kw)
  File "/app/superset/migrations/versions/2022-04-01_14-38_a9422eeaae74_new_dataset_models_take_2.py", line 881, in upgrade
    postprocess_columns(session)
  File "/app/superset/migrations/versions/2022-04-01_14-38_a9422eeaae74_new_dataset_models_take_2.py", line 732, in postprocess_columns
    count = session.query(func.count()).select_from(query).scalar()
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2888, in scalar
    ret = self.one()
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2865, in one
    return self._iter().one()
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2903, in _iter
    result = self.session.execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 1696, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.DuplicateAlias) table name "sl_columns" specified more than once

[SQL: SELECT count(*) AS count_1
FROM (SELECT sl_columns.id AS column_id, table_columns.column_name AS column_name, sl_columns.changed_by_fk AS changed_by_fk, sl_columns.changed_on AS changed_on, sl_columns.created_on AS created_on, sl_columns.description AS description, sql_metrics.d3format AS d3format, sl_datasets.external_url AS external_url, sl_columns.extra_json AS extra_json, sl_columns.is_dimensional AS is_dimensional, sl_columns.is_filterable AS is_filterable, sl_datasets.is_managed_externally AS is_managed_externally, sl_columns.is_physical AS is_physical, sql_metrics.metric_type AS metric_type, table_columns.python_date_format AS python_date_format, dbs.sqlalchemy_uri AS sqlalchemy_uri, sl_dataset_tables.table_id AS table_id, coalesce(table_columns.verbose_name, sql_metrics.verbose_name) AS verbose_name, sl_columns.warning_text AS warning_text
FROM sl_columns, (SELECT sl_columns.uuid AS uuid, sl_columns.created_on AS created_on, sl_columns.changed_on AS changed_on, sl_columns.id AS id, sl_columns.table_id AS table_id, sl_columns.is_aggregation AS is_aggregation, sl_columns.is_additive AS is_additive, sl_columns.is_dimensional AS is_dimensional, sl_columns.is_filterable AS is_filterable, sl_columns.is_increase_desired AS is_increase_desired, sl_columns.is_managed_externally AS is_managed_externally, sl_columns.is_partition AS is_partition, sl_columns.is_physical AS is_physical, sl_columns.is_temporal AS is_temporal, sl_columns.is_spatial AS is_spatial, sl_columns.name AS name, sl_columns.type AS type, sl_columns.unit AS unit, sl_columns.expression AS expression, sl_columns.description AS description, sl_columns.warning_text AS warning_text, sl_columns.external_url AS external_url, sl_columns.extra_json AS extra_json, sl_columns.created_by_fk AS created_by_fk, sl_columns.changed_by_fk AS changed_by_fk
FROM sl_columns
 LIMIT %(param_1)s OFFSET %(param_2)s) AS sl_columns JOIN sl_dataset_columns ON sl_dataset_columns.column_id = sl_columns.id JOIN sl_datasets ON sl_datasets.id = sl_dataset_columns.dataset_id LEFT OUTER JOIN sl_dataset_tables ON sl_datasets.is_physical AND sl_dataset_tables.dataset_id = sl_datasets.id JOIN dbs ON dbs.id = sl_datasets.database_id LEFT OUTER JOIN table_columns ON table_columns.uuid = sl_columns.uuid LEFT OUTER JOIN sql_metrics ON sql_metrics.uuid = sl_columns.uuid
WHERE sl_columns.is_physical OR table_columns.verbose_name IS NOT NULL OR table_columns.verbose_name IS NOT NULL OR sql_metrics.verbose_name IS NOT NULL OR sql_metrics.d3format IS NOT NULL OR sql_metrics.metric_type IS NOT NULL) AS anon_1]
[parameters: {'param_1': 100000, 'param_2': 0}]
(Background on this error at: https://sqlalche.me/e/14/f405)

How to reproduce the bug

Run superset db upgrade before a9422eeaae74 migration using PostgreSQL 12 as superset database.

Expected results
Migration must be applied
Actual results
Error
Environment
Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
The error looks like a missing alias on database query when a join is performed to a subquery.

I'm facing the same problem with the latest docker image pulled just now. When will this fix make it to the docker image?
Thanks

Unfortunately we've faced the same issue

I have the same error when I trying to use database from Superset 1.3 in 2.0.0

I've also ran into the same issue, when upgrading using the helm chart from 1.3.0 to 2.0.0 the init-db job fails with
<string>:3: SAWarning: TypeDecorator UUIDType() will not produce a cache key because the ``cache_ok`` attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
/app/superset/migrations/versions/2022-04-01_14-38_a9422eeaae74_new_dataset_models_take_2.py:732: SAWarning: TypeDecorator UUIDType() will not produce a cache key because the ``cache_ok`` attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
  count = session.query(func.count()).select_from(query).scalar()
   Link metric columns to datasets...
>> Run postprocessing on 8 columns
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
psycopg2.errors.DuplicateAlias: table name "sl_columns" specified more than once

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

Traceback (most recent call last):
  File "/usr/local/bin/superset", line 33, in <module>
    sys.exit(load_entry_point('apache-superset', 'console_scripts', 'superset')())
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 601, in main
    return super().main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask/cli.py", line 445, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask_migrate/cli.py", line 149, in upgrade
    _upgrade(directory, revision, sql, tag, x_arg)
  File "/usr/local/lib/python3.8/site-packages/flask_migrate/__init__.py", line 98, in wrapped
    f(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/flask_migrate/__init__.py", line 185, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "/usr/local/lib/python3.8/site-packages/alembic/command.py", line 294, in upgrade
    script.run_env()
  File "/usr/local/lib/python3.8/site-packages/alembic/script/base.py", line 490, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/usr/local/lib/python3.8/site-packages/alembic/util/pyfiles.py", line 97, in load_python_file
    module = load_module_py(module_id, path)
  File "/usr/local/lib/python3.8/site-packages/alembic/util/compat.py", line 184, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/app/superset/extensions/../migrations/env.py", line 126, in <module>
    run_migrations_online()
  File "/app/superset/extensions/../migrations/env.py", line 118, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/usr/local/lib/python3.8/site-packages/alembic/runtime/environment.py", line 813, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/usr/local/lib/python3.8/site-packages/alembic/runtime/migration.py", line 561, in run_migrations
    step.migration_fn(**kw)
  File "/app/superset/migrations/versions/2022-04-01_14-38_a9422eeaae74_new_dataset_models_take_2.py", line 881, in upgrade
    postprocess_columns(session)
  File "/app/superset/migrations/versions/2022-04-01_14-38_a9422eeaae74_new_dataset_models_take_2.py", line 732, in postprocess_columns
    count = session.query(func.count()).select_from(query).scalar()
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2888, in scalar
    ret = self.one()
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2865, in one
    return self._iter().one()
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 2903, in _iter
    result = self.session.execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 1696, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement
    ret = self._execute_context(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception
    util.raise_(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.DuplicateAlias) table name "sl_columns" specified more than once

[SQL: SELECT count(*) AS count_1
FROM (SELECT sl_columns.id AS column_id, table_columns.column_name AS column_name, sl_columns.changed_by_fk AS changed_by_fk, sl_columns.changed_on AS changed_on, sl_columns.created_on AS created_on, sl_columns.description AS description, sql_metrics.d3format AS d3format, sl_datasets.external_url AS external_url, sl_columns.extra_json AS extra_json, sl_columns.is_dimensional AS is_dimensional, sl_columns.is_filterable AS is_filterable, sl_datasets.is_managed_externally AS is_managed_externally, sl_columns.is_physical AS is_physical, sql_metrics.metric_type AS metric_type, table_columns.python_date_format AS python_date_format, dbs.sqlalchemy_uri AS sqlalchemy_uri, sl_dataset_tables.table_id AS table_id, coalesce(table_columns.verbose_name, sql_metrics.verbose_name) AS verbose_name, sl_columns.warning_text AS warning_text
FROM sl_columns, (SELECT sl_columns.uuid AS uuid, sl_columns.created_on AS created_on, sl_columns.changed_on AS changed_on, sl_columns.id AS id, sl_columns.table_id AS table_id, sl_columns.is_aggregation AS is_aggregation, sl_columns.is_additive AS is_additive, sl_columns.is_dimensional AS is_dimensional, sl_columns.is_filterable AS is_filterable, sl_columns.is_increase_desired AS is_increase_desired, sl_columns.is_managed_externally AS is_managed_externally, sl_columns.is_partition AS is_partition, sl_columns.is_physical AS is_physical, sl_columns.is_temporal AS is_temporal, sl_columns.is_spatial AS is_spatial, sl_columns.name AS name, sl_columns.type AS type, sl_columns.unit AS unit, sl_columns.expression AS expression, sl_columns.description AS description, sl_columns.warning_text AS warning_text, sl_columns.external_url AS external_url, sl_columns.extra_json AS extra_json, sl_columns.created_by_fk AS created_by_fk, sl_columns.changed_by_fk AS changed_by_fk
FROM sl_columns
 LIMIT %(param_1)s OFFSET %(param_2)s) AS sl_columns JOIN sl_dataset_columns ON sl_dataset_columns.column_id = sl_columns.id JOIN sl_datasets ON sl_datasets.id = sl_dataset_columns.dataset_id LEFT OUTER JOIN sl_dataset_tables ON sl_datasets.is_physical AND sl_dataset_tables.dataset_id = sl_datasets.id JOIN dbs ON dbs.id = sl_datasets.database_id LEFT OUTER JOIN table_columns ON table_columns.uuid = sl_columns.uuid LEFT OUTER JOIN sql_metrics ON sql_metrics.uuid = sl_columns.uuid
WHERE sl_columns.is_physical OR table_columns.verbose_name IS NOT NULL OR table_columns.verbose_name IS NOT NULL OR sql_metrics.verbose_name IS NOT NULL OR sql_metrics.d3format IS NOT NULL OR sql_metrics.metric_type IS NOT NULL) AS anon_1]
[parameters: {'param_1': 100000, 'param_2': 0}]
(Background on this error at: https://sqlalche.me/e/14/f405)

@hgranillo can i know what is mean the setting up the container image tag?
I'm currently looking for a solution to the same issue.
I want to know whether the image tag is specified in docker-compose or whether the tag is set using docker image tag.
Also, may I know how to solve it?

@hgranillo can i know what is mean the setting up the container image tag?
I'm currently looking for a solution to the same issue.
I want to know whether the image tag is specified in docker-compose or whether the tag is set using docker image tag.
Also, may I know how to solve it?

Means that I'm using apache/superset:2.0.0 as the docker image.
I'm guessing if you are following this document here: https://superset.apache.org/docs/installation/installing-superset-using-docker-compose/
If that is true, then for you this would mean setting TAG=2.0.0 when you run docker compose: TAG=2.0.0 docker-compose -f docker-compose-non-dev.yml pull TAG=1.4.0 docker-compose -f docker-compose-non-dev.yml up

The error is solved by changing the method get_joined_tables in the file 38_a9422eeaae74_new_dataset_models_take_2.py at line 638 by next code:
    def get_joined_tables(offset, limit):
        # Import aliased from sqlalchemy
        from sqlalchemy.orm import aliased
        # Create alias of NewColumn
        new_column_alias = aliased(NewColumn)
        # Get subquery and give it the alias "sl_colums_2"
        subquery = session.query(new_column_alias).offset(offset).limit(limit).subquery("sl_columns_2")

        return (
            sa.join(
                subquery,
                dataset_column_association_table,
                # Use column id from subquery
                dataset_column_association_table.c.column_id == subquery.c.id,
            )
            .join(
                NewDataset,
                NewDataset.id == dataset_column_association_table.c.dataset_id,
            )
            .join(
                dataset_table_association_table,
                # Join tables with physical datasets
                and_(
                    NewDataset.is_physical,
                    dataset_table_association_table.c.dataset_id == NewDataset.id,
                ),
                isouter=True,
            )
            .join(Database, Database.id == NewDataset.database_id)
            .join(
                TableColumn,
                # Use column uuid from subquery
                TableColumn.uuid == subquery.c.uuid,
                isouter=True,
            )
            .join(
                SqlMetric,
                # Use column uuid from subquery
                SqlMetric.uuid == subquery.c.uuid,
                isouter=True,
            )
        )

this query is killing python @snt1017 . Is it working?

The same. It is not working for me.

That doesn't seem to work
Getting the dreaded row error again when bringing the containers up....because SQL alchemy in these images seems to be stuck on version 1.3 instead of the minimum requirement of 1.4
ImportError: cannot import name 'Row' from 'sqlalchemy.engine' (/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/init.py)

We have a docker deployment
In the end, we had to follow the advice up above which was to fix the python function

fixed get_joined_tables function
rebuild the superset image (docker-compose build - after adding the word "build" inside the docker-compose file)
docker-compose up

The database upgrade didn't work out of the box either (from 1.4 to 2.0), so we had to go into the superset_app container and run:
superset db upgrade
Sample from our docker-compose file
superset:
env_file: docker/.env
build: .
# image: *superset-image
container_name: superset_app
command: ["/app/docker/docker-bootstrap.sh", "app"]
restart: unless-stopped
ports:
- 8088:8088
user: *superset-user
depends_on: *superset-depends-on
volumes: *superset-volumes
environment:
CYPRESS_CONFIG: "${CYPRESS_CONFIG}"

@micsbot Thank you!
You code works for me!


kernel: Add K_FOREVER support to k_(u)sleep

Before that change k_sleep(K_FOREVER) was expiring immediately
and that was against user intention. Changed behavior of
k_sleep and k_usleep to sleep for longest possible period when
called with K_FOREVER.
Added assert to k_sleep and k_usleep to not accept negative
numbers (except K_FOREVER).
Fixes #19748.
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

@ioannisg what kind of test you would think of? i can create a thread, sleep forever there and check in other context that after arbitrary period of time (1second) thread is still sleeping. Something like that? It's hard to test that it actually sleeps forever (max amount of ticks). that could block CI.

@ioannisg what kind of test you would think of? i can create a thread, sleep forever there and check in other context that after arbitrary period of time (1second) thread is still sleeping. Something like that? It's hard to test that it actually sleeps forever (max amount of ticks). that could block CI.

Yeah something like that; I am not the best person to suggest something cooler; but i wanted the functionality to be covered in the tests, that's all.

Can we get this in today and then add the test during the 2.1 stabilization period @ioannisg ?

I intended to add coccinelle support for detecting this, and fix the in-tree uses, during the stabilization phase.

@ioannisg test cases added.

I intended to add coccinelle support for detecting this, and fix the in-tree uses, during the stabilization phase.

That is great Peter! Thanks for that, this will be most useful.

@pabigot

I intended to add coccinelle support for detecting this, and fix the in-tree uses, during the stabilization phase.

Which cases do you mean? Use of negative (other than K_FOREVER) values? I thought that in #19748 it was stated that k_sleep(K_FOREVER) should be supported.

Which cases do you mean? Use of negative (other than K_FOREVER) values? I thought that in #19748 it was stated that k_sleep(K_FOREVER) should be supported.

I mean detecting occurrences of k_sleep(K_FOREVER) that are not within a loop.

@andyross could you please take a quick look before feature freeze?

@pabigot done. k_usleep accepts only non-negative values. no k_forever.

@nordic-krch Thanks.
I've removed the closes directive for #19748 because @andrewboie is absolutely correct that in the case of K_FOREVER the thread should be suspended without putting it on a time-based queue.  That requires a different solution that is provided here and by my soon-to-come Coccinelle work.

There is a problem with this test on mps2_an521 platform. Longest timeout that can be set there is 66 ticks. Because of that setting timeout to 0x7fffffff is reduced to 66 ticks, thus k_sleep(K_FOREVER) sleeps for 66 sys ticks. Not sure what to do about it.

There is a problem with this test on mps2_an521 platform. Longest timeout that can be set there is 66 ticks. Because of that setting timeout to 0x7fffffff is reduced to 66 ticks, thus k_sleep(K_FOREVER) sleeps for 66 sys ticks. Not sure what to do about it.

Would enclosing this call in a while(true){} work? That's what @pabigot has done in https://github.com/zephyrproject-rtos/zephyr/pulls

Would enclosing this call in a while(true){} work? That's what @pabigot has done in #20475

Actually #20475 excludes this sort of test from the loop, because the intent is to cut forever off at 1 s.
If k_sleep() returns something useful (which I don't think it does) you could maybe distinguish whether the wakeup was due to k_wakeup() versus the timeout, and use that as a signal to skip out of the loop.

I can confirm this fails on mps2_an385 and mps_an521 when run as part of sanitycheck --all -T tests/kernel/sleep/, but it then passes on retest (unloaded system).  I have suspicions of a problem in cortex_m_systick.
However: Based on https://github.com/zephyrproject-rtos/zephyr/pull/20475#discussion_r344288671  believe @andrewboie is going to take over and fix this properly (suspend the thread without putting it on a scheduling queue), resolving #19748 as a bug, so we won't need this.  (The potential systick timer problem, though, will not be affected, and may well exist in other timer drivers too.  That'll be a different issue.)

please see https://github.com/zephyrproject-rtos/zephyr/pull/20482

please see #20482

@nordic-krch can you rebase this now that #20482 is merged?

As #20482 got merged this PR narrows down to API clarification and assert on wrong values. Are we trying to get that for 2.1? Imo, yes because it clarifies the behavior that changed recently (for some cases of negative arguments)

so what we do about it? 2.1 is out. Can we get that in?


The latest release seems to be corrupt (?)

M1 Pro -  Macbook Pro 16" with Montery 12.4

Hmm. I'm not sure what's causing this, and I'll have to dig into it…

The tool this app relied on, Nativefier, is no longer maintained.
This app is therefore no longer maintained, and I'm archiving this repository.


cost insights: update icon

Hey, I just made a Pull Request!

Please add this icon to microsite, and replace current cost insights plugin icon with this one.
https://github.com/backstage/backstage/blob/master/microsite/pages/en/plugins.js
:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

Every time I open Terminal and try to create the new branch, it's not working. Can someone help me?

(This is for me to include the signoff for DCO)

@AlleyWei I made #5515 to add this file and wire it up 😄  Should be able to close this one.


getting in "undefined is not an object (evaluating '_reactNativeDocumentPicker.DocumentPicker.show') " in IOS

react-native link was not working so I manually linked the module by following steps

Added RNDocumentPicker.xcodeproj to the library
Added  libRNDocumentPicker.a to Build Phases -> Link Binary With Libraries

Here is my Code:
import React, { Component } from 'react';
import {AppRegistry,StyleSheet,Button,View} from 'react-native';
import { DocumentPicker, DocumentPickerUtil } from 'react-native-document-picker';
export default class App extends Component {
render() {
return (

<Button
onPress={() => this.openDocumentPicker()}
title='Open document picker'
/>

);
}
openDocumentPicker() {
DocumentPicker.show({
filetype: [DocumentPickerUtil.images()],
},(error,res) => {
// Android
console.log(
res.uri,
res.type, // mime type
res.fileName,
res.fileSize
);
});
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
});
AppRegistry.registerComponent('App', () => App);
PS this code is working fine with Android, I tried linking multiple time nothing worked,
Badly stuck need help

I had issues of the app crashing before, and it was because I did not add iCloud entitlements as described in readme.

Hi, as i'm working on Windows and i am testing on an Android emulator and, with Expo, on an iOS device,
I have the same problem as @kashifaliquazi on my iOS.
I've executed react-native link and I had this message:

But i still have the same problem when I run the app.
It doesn't work with my iOS but it works with the emulator Android, perhaps because I've also manually linked natives module on Android Studio.
Despite that I cannot have Xcode, is there any way to make DocumentPicker work on iOS or do I absolutely need to use Xcode ?

Even i am facing the same issue. It was tested and working  suddenly its not working now.

Do anybody  fixed this issue? if yes then please provide solution . i am facing same issue. It work good with android but have an issue with ios simulator

delete App from phone and install again using 'react-native run-android'

我用3.2.2也遇到了同样的问题


Challenge http://www.freecodecamp.com/challenges/waypoint-link-to-external-pages-with-anchor-elements has an issue

INconsistency in instructions:
text says to use "cat photos" as anchor text
test says to use "See my cat photos" as anchor text
Both pass

Thanks, fixed!


updated private_docker_setup.md

Proposed changes
Updated private_docker_setup.md
Summarize your changes here to communicate with the maintainers and make sure to put the link of that issue
Added bullets to private_docker_setup.md.
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[ ] New feature (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[ ] I have signed the commit for DCO to be passed.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Special notes for your reviewer:
Improved readability of the document

can you make a signed commit @rjn01

@ksatchit I have made a signed commit, but my DCO is not successful. Can you tell how to pass that?

@ksatchit Since my PR got merged, I have read that there are some swags too 👀