Rust error handling

So far, have gone through and enumerated all things that could be errors.  The Rust library is a bit different from other libraries in the sense that there are more issues that could come up that may need an error that are not problems in other libraries.
Our current error handling logic for application errors (that go back into oso & get checked depending on the current operation) allows some operations to raise errors when invalid attributes or methods are accessed, and others to silently fail.  The idea behind this is to prevent policies with rules that cannot match to fail in a prolog-style (backtrack), instead of blowing up execution.
We've made the call that invalid attribute access (x.attr) should raise an error & be protected by specializers.  Attribute access during a match x matches {attr: y} should not.
Error cases:

External unify on type that does not support it:
x = y

Where one of x or y is an external instance.
In the Rust library, not all types are comparable (do not implement PartialEq), and due to limitations in the class implementation (no generics) we cannot compare mixed types.
In other libraries, a failed unification does not result in an error.  I could see a case for an error in Rust so that the user knows to call ClassBuilder::with_equality_check() to make the equality available to Rust.

Attribute doesn't exist
Raise an error in Rust library & other libraries.

Method does not exist.
Raise error in rust & other libraries.

Class method does not exist
Raise error in Rust & other libraries.

Wrong argument types
Raise type error in Rust library.  In other libraries, the language itself would have this error.

Match with attribute that does not exist.
Fail with backtrack instead (since this is used to detect if a class has an attribute)

Match with non-existent class
Class not found error (not sure what happens for other libraries)

Wrong argument arity for method and constructor
Error in Rust library, language would raise in others

Class does not exist for construction
Class does not exist error

Use of keyword arguments
Not supported, raise unsupported operation.

Operators
Unsupported operation

PR checklist:

[ ] Added changelog entry.

Tests for errors & the error cases listed out above. (No need to look at the code).  Everything is relatively straightforward, besides external unification. I’m not sure whether failed unifications in the Rust library should cause an error or fail with a backtrack like in the other libraries.
In other libraries, if an external unification fails we backtrack.  This seems fine IMO since there is nothing special needed to get that unification to succeed if the equality operation is implemented on the type (in python we just compare).
But, in Rust the user must call ClassBuilder::with_equality_check() or probably add something to the proc macro (when we implement this).  So, it could be easier to have a type you expect to compare equal, but forget this call.
At the same time, having types that can’t be compared throw an exception if unification is attempted could break some behavior…. thinking of a policy like:
allow(actor, action, new PostResource())

for example.
If you called allow with resource as an instance of another type, this unification would fail.  If it caused an exception, it would prevent rules that should actually match from matching, and terminate the query.

Thanks for writing that up, Dave.

On the other hand, having types that can’t be compared throw an exception if unification is attempted could break some behavior…. thinking of a policy like:

The example given kinda feels like a win to have it be a hard error. The workaround would be:
allow(actor, action, res: PostResource) if res = PostResource;

or whatever. I think "Hey! Your policy wanted me to compare a PostResource with a CompletelyDifferentResource and I don't know how to do that!" would be fine.

Implemented above, now unification is passing.  Turns out we only use the polar_core::Polar::application_error function for "InvalidCallErrors" (a type in the Ruby, Java & JS libraries).  InvalidCallError means a method or attribute doesn't exist (I think in Ruby it also means the wrong number of arguments).
ApplicationError sounds like it should mean any error that occurs during execution of an application method, but in reality those errors are just raised directly in other languages (& it looks like maybe TypeErrors and other errors sporadically depending on the language).
I think we need to come back and revisit this.  Even if we keep the mechanism of passing certain errors back into Polar,
we should probably have specific types for those errors so it's clear which ones need to be handled that way.


Update jetty-client, jetty-http, ... to 11.0.0

Updates

org.eclipse.jetty:jetty-client
org.eclipse.jetty:jetty-http
org.eclipse.jetty:jetty-runner
org.eclipse.jetty:jetty-server
org.eclipse.jetty:jetty-servlet
org.eclipse.jetty:jetty-util

from 9.4.35.v20201120 to 11.0.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.eclipse.jetty" } ]

labels: library-update

Jetty 9 is still the recommended production version.  We'll want to start excluding these in the 0.21 filters.

Note: Jetty 10.0.0 is also available (and still on javax.servlet namespace vs the Jetty 11 jakarta.servlet namespace)
https://github.com/eclipse/jetty.project/releases/tag/jetty-10.0.0

Hi, @joakime. Congratulations on the releases!  I've been a fan of Jetty for many years.
Is 10.0 or 11.0 recommended for production yet?  I'm mostly reacting to what's still on the homepage.  We'll definitely leave http4s-0.21 on Jetty 9, but we also need to think about our Servlet 4/5 strategies.
/cc @IndiscriminateCoding, who has been one of our best Jetty advocates

The text on the homepage needs updating, thanks for point that out!
Filed as https://github.com/eclipse/jetty.project/issues/5766
It's a bit early to say it's suitable for production.
We use 10 and 11 in production on our own websites without issue. (we have been, for about a year now).
Just so you know, we'll continue to support Jetty 9 for a few years yet.
So there's no rush/hurry to upgrade to Jetty 10 or 11 with that in mind.

@rossabaker I've already updated jetty4s to use Jetty 11 - wasn't hard at all


Use the truthy value to catch for both null and undefined.

Summary of Changes
In case the metadata service returns 204 for latest_updated_ts, the frontend does not work and crashes. Because below code only checks for null values and not for undefined values.
Tests
N/A
Documentation
N/A
CheckList
Make sure you have checked all steps below to ensure a timely review.

[ ] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[ ] PR includes a summary of changes, including screenshots of any UI changes.
[ ] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public python functions and the classes in the PR contain docstrings that explain what it does

[ ] PR passes all tests documented in the developer guide

@feng-tao could you please review and merge this PR ?

@ttannis is fixing the issue in https://github.com/lyft/amundsenfrontendlibrary/pull/418/files. I think we could merge hers as her pr includes other changes?

Yep #418 covers this. Thanks for also catching this though @verdan, always good to have extra eyes on the code.

😎cool!!!
This is breaking our acceptance instance. Thanks for fixing this.


Reorder resize vs move based on size delta

When setting the size of a window via window_manager_set_window_frame,
either resize before moving, if the window is getting smaller, or
move before resizing, if the window is getting bigger. This avoids
window size conflicts with the system window manager boundaries, like
display edge. If a too-big window is moved to the edge of the screen,
the system display manager will force it to be resized to fit within
the screen dimensions, and the AXUIElementSetAttributeValue API call
issued by yabai to resize it gets ignored.
Potentially fixes #1388.

Waiting to merge until it is confirmed as a proper fix.

Waiting to merge until it is confirmed as a proper fix.

It’s been working for me so far; I’d love anyone else reading this to check it out.

This is the way to go anyways imo, as it reduces the visual flicker on window movement + resize. Before, windows would flicker over the other windows in the grid (being moved at larger size) and only afterwards be resized down to fit the grid again.

There used to be a resize there until I apparently accidentally committed the following local change:
https://github.com/koekeishiya/yabai/commit/1e00a59205409587fd8194d50f004e87118da9a3

I've added back the line that I accidentally removed earlier, but I don't think this is mergeable, because the frame cache guard is not working properly, so relying on that to also perform this shrinking vs not shrinking check is also not reliable.


Changed conda package recipe name to openmoltools-dev

This fixes the inability of travis-ci to upload openmoltools-dev packages to binstar.
See https://github.com/omnia-md/conda-recipes/pull/226#issuecomment-112937973

OK, though I'm also trying to get the "normal" (0.6.8) version of
openmoltools to build. I'm not quite clear on why you need the -dev here?
On Wed, Jun 17, 2015 at 5:04 PM, John Chodera<EMAIL_ADDRESS>wrote:

This fixes the inability of travis-ci to upload openmoltools-dev packages
to binstar.
See omnia-md/conda-recipes#226 (comment)
https://github.com/omnia-md/conda-recipes/pull/226#issuecomment-112937973
You can view, comment on, or merge this pull request online at:
https://github.com/choderalab/openmoltools/pull/127
Commit Summary

Changed conda package recipe name to openmoltools-dev

File Changes

M devtools/conda-recipe/meta.yaml
https://github.com/choderalab/openmoltools/pull/127/files#diff-0 (4)

Patch Links:

https://github.com/choderalab/openmoltools/pull/127.patch
https://github.com/choderalab/openmoltools/pull/127.diff

—
Reply to this email directly or view it on GitHub
https://github.com/choderalab/openmoltools/pull/127.

--
David Mobley
Associate Professor
Department of Pharmaceutical Sciences
Department of Chemistry
3134B Natural Sciences I
University of California, Irvine
Irvine, CA 92697
<EMAIL_ADDRESS>work<PHONE_NUMBER>
cell<PHONE_NUMBER>

We use Travis to automatically build the "dev" snapshots on Linux for
testing the bleeding edge latest commit versions of projects.  These have
the package name suffix -dev, like openmoltools-dev.  The conda recipe in
devtools/conda-recipe has to have the same recipe name as the package name
that is uploaded to binstar.
We use Jenkins to build the official release versions for Linux and OSX,
and appveyor for win.  These recipes are all stored in the
omnia-md/conda-recipes repo.  They have names without the -dev suffix, like
openmoltools.

Presumably the conda-recipes version contains the most up to date version of the recipe, as we've done several successful releases over the past month.  I imagine the sync should favor that recipe.

I'm still not seeing the openmoltools-dev on binstar, unless I'm missing something. https://binstar.org/omnia
(But, thanks for fixing the release version as that's now conda-installable!)

I am still debugging why Travis is not uploading it.  Stay tuned!

Thanks for all your help with this.
On Thu, Jun 18, 2015 at 2:27 PM, John Chodera<EMAIL_ADDRESS>wrote:

I am still debugging why Travis is not uploading it. Stay tuned!
—
Reply to this email directly or view it on GitHub
https://github.com/choderalab/openmoltools/pull/127#issuecomment-113294623
.

--
David Mobley
<EMAIL_ADDRESS>949-385-2436


AngularFire API v. 7.0.0 (released 2021-08-25 for Angular 12) includes Breaking Changes for Chapter 6 Project

The path of least resistance is using the compatibility mode (@angular/fire/* changes to @angular/fire/compat/*).  Alternatively, at an appropriate juncture, code compatible with the new API could be implemented.  The angularfire doc linked below currently warns, "the new API isn't feature complete."
See https://github.com/angular/angularfire/blob/master/docs/version-7-upgrade.md and https://stackoverflow.com/a/68939303.

Thanks a lot, @dchennells for pointing that out 🙏 I just pushed a patch in the GitHub repo that fixes the issue. Let me know if you have any problems upgrading to AngularFire 7.


Function type argument inference indirectly lost with generic function

TypeScript Version:  3.4.0-dev.20190213 (and 3.3.3)

Search Terms: generic function currying ArgumentTypes infer
Code
type ArgumentTypes<F extends Function> = F extends (...args: infer A) => any
  ? A
  : never

const safeCurry = <
  F extends (...args: any[]) => any,
  G extends (fResult: ReturnType<F>) => any
>(
  gFn: G,
  fFn: F
) => (...args: ArgumentTypes<F>): ReturnType<G> => gFn(fFn(...args))

// (x:number) => number
const curried = safeCurry(
  (x: string) => parseInt(x),
  (x: number) => x.toString()
)

// (...args: any[]) => any
const curried2 = safeCurry(
  <T>(x: T) => x,
  (x: number) => x
)

Expected behavior:
the curried2 function should at least have the signature (x: number) => any, at best it would infer (x: number) => number
Actual behavior:
The args to the currried2 function are incorrect.
The reason why this is the case is confusing to me. Despite gFn being generic, and therefore harder for the compiler to understand what its ReturnType should be, the weird part is that this affects what fFn's argument type inference is. The type signature gFn should not affect how fFn is inferred.
Playground Link: playground link
Related Issues:

Found another way to express safeCurry with the same type signature that almost gets there. It correctly discovers the argument type of curried2 now, but the return type is still not inferable.
type ArgumentTypes<F extends Function> = F extends (...args: infer A) => any
  ? A
  : never

const safeCurry = <
  T,
  F extends (...args: any[]) => T,
  G extends (fResult: T) => any
>(
  gFn: G,
  fFn: F
) => (...args: ArgumentTypes<F>): ReturnType<G> => gFn(fFn(...args))

// (x:number) => number
const curried = safeCurry(
  (x: string) => parseInt(x),
  (x: number) => x.toString()
)

// (x: number) => {}
const curried2 = safeCurry(
  <T>(x: T) => x,
  (x: number) => x
)

playground link

Tracking at #30134


warning using LayoutAnimation on 0.43.0-rc.1

Description
After I upgrade RN to 0.43.0-rc.1 I got this waring:
You are manually calling a React.PropTypes validation function for the 'duration' prop on 'LayoutAnimation.configureNext'. This is deprecated and will not work in production with the next major version. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details
Reproduction
...  LayoutAnimation.easeInEaseOut() ...
Additional Information

React Native version: 0.43.0-rc.1
Platform: iOS
Operating System: MacOS

I have this error also!

Duplicate of #12458, working on fixing this now.


feedback: Map editor is so confusing because there's no grid lines... I couldn't figure out what to do after opening it for the first time, and it's also hard to count how many rows/columns there are.

from @maggie-j-liu

Duplicate of this issue.


Scroll down to load more

A la Slack, if youre at the bottom let me bounce the view to see if there are new comments and load them if there is!

Bug Report Dump (Auto-generated)

Version 1.14.0 (1213)
Device: iPhone 6s Plus (iOS 11.2)
TestFlight: true

Does this make sense btw? (For those who don't use slack)
Sent with GitHawk

I feel like it's a bit of overkill. GH Issues / PRs are not as realtime as a chat; when do you really expect to get a reaction where you want to refresh for until you see it?


python38Packages.pulp: 2.4 -> 2.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.pulp is: "PuLP is an LP modeler written in python"
meta.homepage for python38Packages.pulp is: "https://github.com/coin-or/pulp"
meta.changelog for python38Packages.pulp is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

/nix/store/vdwwzd6iyqn0qfxdph072alixnlsv5bm-python3.8-PuLP-2.5.0/bin/pulptest passed the binary check.

/nix/store/vdwwzd6iyqn0qfxdph072alixnlsv5bm-python3.8-PuLP-2.5.0/bin/.pulptest-wrapped passed the binary check.

1 of 2 passed binary check by having a zero exit code.

1 of 2 passed binary check by having the new version present in output.

found 2.5.0 with grep in /nix/store/vdwwzd6iyqn0qfxdph072alixnlsv5bm-python3.8-PuLP-2.5.0

found 2.5.0 in filename of file in /nix/store/vdwwzd6iyqn0qfxdph072alixnlsv5bm-python3.8-PuLP-2.5.0

directory tree listing: https://gist.github.com/62298751fca38d739c7f8e3de57b20cd

du listing: https://gist.github.com/eabe139029adee3e18a87e6870a20d2c

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

20 total rebuild path(s)

5 package rebuild(s)

5 x86_64-linux rebuild(s)
5 i686-linux rebuild(s)
5 x86_64-darwin rebuild(s)
5 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python38Packages.pulp
python38Packages.pyschedule
python39Packages.pulp
python39Packages.pyschedule
snakemake

Instructions to test this update (click to expand)

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

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vdwwzd6iyqn0qfxdph072alixnlsv5bm-python3.8-PuLP-2.5.0
ls -la /nix/store/vdwwzd6iyqn0qfxdph072alixnlsv5bm-python3.8-PuLP-2.5.0/bin

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

5 packages built:

python38Packages.pulp
python38Packages.pyschedule
python39Packages.pulp
python39Packages.pyschedule
snakemake

Maintainer pings
cc @teto for testing.

changelog seems void of build changes https://github.com/coin-or/pulp/blob/2.5.0/HISTORY so merging


Add support for shard duration in retention policies

SHARD DURATION was added in 45b3e61, this adds support to the python
client so it can be modified/added

Can you please rebase your PR? (or just merge master in your branch)
(please GitHub, give me a rebase button like Gerrit)

Can you please fix the corresponding tests?

@aviau Yep.

@oldmantaiter any chance you could please rebase with master and test? This looks solid, and is a good catch.
@aviau this looks good to me, ready to merge.

Wow, missed this update entirely. I'll see what I can do @sebito91 - I'm not using this library anymore so I'll need to do a bit of catchup.

My apologies for not getting back into this, I’ll close this.


Approval Page (WhitelabelApprovalEndpoint) throws Internal Server Error with 'scopes' parameter

A bug with the WhitelabelApprovalEndpoint:

The authorization server throws an unexpected internal server error (java.langString cannot be cast to java.util.Map), when adding the parameter 'scopes' to the /authorize GET request. Shouldn't this parameter be called 'scope' (without the 's') instead?
see for example here: https://www.oauth.com/oauth2-servers/authorization/the-authorization-request/

When passing a 'scope' parameter the approval page does not show  those bullet points for selecting which scopes to approve. I think this is related to 1.

I also encounter this problem.
Did you solve it?

Unfortunately not

Still no answer on this?
These are (at least) 2 bugs:

scope should be scopes
request.getAttribute("scopes") is a space delimited string and cannot be cast to Map<String, String>

I was able to solve it by defining my own Whitelabel endpoint.


JitPack.io support

Hi,
Thank you for this great project.
I would like to suggest another service to be added to shields support (JitPack for JVM packaging)
You can find here, the documentation with the default badge
https://jitpack.io/docs/

Hi, thanks for the suggestion.
Could you make a pull request?

Hi,
I added a pull request
https://github.com/badges/shields/pull/1049


Go functions build not working with 4.44.0

Describe the bug
On Windows local Go function build is not working with amplify-cli version 4.44.0
Amplify CLI Version
4.44.0
To Reproduce
amplify build function GOGunctionName -y
Expected behavior
Function should build normally like it does in 4.42.0
Screenshots
Sorry cannot put the screenshot here.
Desktop (please complete the following information):

OS: Windows
Node Version. 14.15.4
NPM version: 6.14.11

Log output
$ amplify build function MyGoFunction -y Error: Command failed with exit code 1: C:\Users\pcuser\Desktop\aws\testproject\bin\build-lambda-zip.exe -o C:\Users\pcuser\Desktop\aws\testproject\amplify\backend\function\MyGoFunction\dist\latest-build.zip C:\Users\pcuser\Desktop\aws\testproject\amplify\backend\function\MyGoFunction\bin\main failed to compress file: open C:\Users\pcuser\Desktop\aws\testproject\amplify\backend\function\MyGoFunction\bin\main: The system cannot find the file specified.     at makeError (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\node_modules\execa\lib\error.js:59:11)     at handlePromise (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\node_modules\execa\index.js:114:26)     at runMicrotasks (<anonymous>)     at processTicksAndRejections (internal/process/task_queues.js:93:5)     at async winZip (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\node_modules\amplify-go-function-runtime-provider\lib\runtime.js:145:5)     at async Object.packageResource (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\node_modules\amplify-go-function-runtime-provider\lib\runtime.js:133:9)     at async packageFunction (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\node_modules\amplify-category-function\lib\provider-utils\awscloudformation\utils\packageFunction.js:43:27)     at async Object.run (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\node_modules\amplify-category-function\lib\commands\function\build.js:22:13)     at async Object.executeAmplifyCommand (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\node_modules\amplify-category-function\lib\index.js:211:5)     at async executePluginModuleCommand (C:\Users\pcuser\AppData\Roaming\npm\node_modules\@aws-amplify\cli\lib\execution-manager.js:166:5)
Additional context
Go function build is working with 4.42.0. I have not checked in 4.43.0.

This has been fixed in version 4.44.1 of the CLI. Please upgrade to the latest version.


[WIP] Experimental Mastodon API Node

This has some node-specific unit tests that exercise several of the ActivityPubNode API methods. I didn't try to run it with the current AP tests and I expect there will be some issues with that. I needed to make local changes to the tests when I tested an earlier version of the Node.

Overall, I think this is basically what I have in mind. It would be nice if we could manage to do without hard-coding a specific number of actors or having to pre-provision them before the test run because that kinds of limits what kinds of tests we can write. Not sure how realistic it is to programmatically do that, however.
What about we pick a single, simple test as the next target. Say https://github.com/fediverse-devnet/feditest-tests-fediverse/blob/develop/tests/fediverse/follow/leader_accepts_follow_request.py or maybe just send a Note to a previously unrelated other Actor on a different server. And make this work in a fully-automated way on UBOS with two Mastodon instances talking to each other. That would prove the point that we can make it work and expanding it from there should be straightforward?

Overall, I think this is basically what I have in mind. It would be nice if we could manage to do without hard-coding a specific number of actors or having to pre-provision them before the test run because that kinds of limits what kinds of tests we can write. Not sure how realistic it is to programmatically do that, however.

Do you mean "hard-coded" in the provisioning infrastructure (versus the node implementation or configuration)?

What about we pick a single, simple test as the next target. Say https://github.com/fediverse-devnet/feditest-tests-fediverse/blob/develop/tests/fediverse/follow/leader_accepts_follow_request.py or maybe just send a Note to a previously unrelated other Actor on a different server. And make this work in a fully-automated way on UBOS with two Mastodon instances talking to each other. That would prove the point that we can make it work and expanding it from there should be straightforward?

FWIW, in an older version of the framework, I had that test and a few others running with a single manually-provisioned Mastodon providing both actors. This isn't federated behavior, but it tests the Mastodon node functionality.

I think we can do the automatic account and token provisioning, see discussion here: https://matrix.to/#/!uHqAjmOtrLtidOiczC:matrix.org/$_PUyfFvVjG8GaaNpbFAMxr0iAQq24zXU-b-Yow9CMq8 . The API doesn't have a "now create me a new account" factory method right now because I figured that might be difficult, and so currently it only asks for an existing account, but it might be very advantageous if we can do that.

I think we can do the automatic account and token provisioning, see discussion here: https://matrix.to/#/!uHqAjmOtrLtidOiczC:matrix.org/$_PUyfFvVjG8GaaNpbFAMxr0iAQq24zXU-b-Yow9CMq8 . The API doesn't have a "now create me a new account" factory method right now because I figured that might be difficult, and so currently it only asks for an existing account, but it might be very advantageous if we can do that.

I agree it could be useful, where it's possible. I'm thinking this Mastodon node could be used for any server that implements the Mastodon API (at least the methods we need). However, AFAIK, only Mastodon itself implements tootctl.
After we convert the API node into a mixin class and add it to the UBOS node, it's possible the UBOS node driver could do whatever it does to create the actors and add those to the parameters to satisfy the mixin expectations.

Unless you think it might break existing functionality, I'd like to merge the existing Mastodon API node implementation and the test example code in feditest-tests-fediverse. After that, I can convert the node to a mixin class that can be used for both UBOS and non UBOS nodes.


sky.com (possible too add sky spots tennis?)

Source
sky.com
Notes
hi guys is there any chance you could add sky sports tennis too the epg channel list in sky.com, also if there is a way that i could do this at all then im happy to help out :)

Why haven't you curated and completed the repo?

Just add the below to your channel list.
<channel lang="en" xmltv_id="SkySportsTennis.uk" site_id="1284">SkySp Tennis</channel>

thankyou mate, ill add that to the sky.com channel list my side then :D just out of curiosity how does that work, can i pull the site id for any channel and do the same to then ? and if so how do i go about that ? :P
just asking because the channel itself isnt in the sky.com channel list in the repo for sky.com, so when i update the repo it will overwrite it im assuming and id have to add that again or am i wrong there?
many thanks

If you're missing a channel you can get the ID from the sky guide in a web browser. Just select a program, right click the channel icon and open in a new tab. The channel ID is at the end of the URL.
The repo will be updated eventually but for now if you pull it again it will overwrite your changes.
I use a custom channel list where I only download the channels I want, to speed things up. A bonus is that when the repo is pulled from git my custom list stays the same.

If you're missing a channel you can get the ID from the sky guide in a web browser. Just select a program, right click the channel icon and open in a new tab. The channel ID is at the end of the URL.
The repo will be updated eventually but for now if you pull it again it will overwrite your changes.
I use a custom channel list where I only download the channels I want. When the repo is pulled from git my custom list stays the same.

Thats perfect thankyou for that mate ill keep that in mind and add any that come up.
I did try to setup a custom channel list to be honest but i had some issues doing that, it seemed to not pickup any channels from the list at all, so ive ended up using the default lists.

https://github.com/iptv-org/epg/blob/33c14f36da8e71c576caa321290d398c288ee845/sites/sky.com/sky.com.channels.xml#L357


"Username and/or password are wrong" When entering correct credentials using Maturin

Describe the bug
Using Maturin (Rust module) to upload to Pypi gives the error: "Username and/or password are wrong", when the credentials are correct. I'm coming from this issue, orignally opened for that Module: https://github.com/PyO3/maturin/issues/999
They are saying the error is from here
Expected behavior
I use the "maturin publish" command to upload to Pypi. It should create the module and upload it or whatever. (It does not do this)
To Reproduce
1). Write rust module, a quick one to copy is: https://github.com/letsgetrusty/word_counter
2). Open in IDE of choice (For me Pycharm)
3). Go into the IDE terminal (accessing powershell in a venv essentially)
4). Type: maturin publish
5). Enter username & password
6). Error:
⛔ Username and/or password are wrong
💥 maturin failed
Caused by: Username and/or password are wrong
My Platform

Additional context
Again, I'm coming from this issue: https://github.com/PyO3/maturin/issues/999 (Closed as completed by maintainer)
(Which I don't see the original poster made a report)
-My account on Pypi is recently made, and DOES have multi-factor auth & email verification

I haven't been able to get the package to work in any environment that isn't a virtual environment (It's own can of worms)
I entered my password in a few different fashions: Slowly typing 1 by 1, copy & paste, log into site with that password (successful)

The issue here is almost certainly with the client:

if the file already exists, PyPI will respond with a 400 status code and a body "File already exists". https://github.com/pypi/warehouse/blob/f2d6fc455a135b3b3ba72539d5c9f4c4f0d48223/warehouse/forklift/legacy.py#L1223-L1231
if the credentials are incorrect, PyPI will respnod with a 403 status code and a body "Invalid or non-existent authentication information." https://github.com/pypi/warehouse/blob/39daea188d2e1e6494c50753cd48cb5a8da3e8c4/warehouse/accounts/security_policy.py#L101-L105

The client should be able to distinguish between these two responses.

Solved. Created new account with a different password. I won't gaslight myself into thinking that I typed the password wrong 20+ times.
Broken account I guess

Solved. Created new account with a different password. I won't gaslight myself into thinking that I typed the password wrong 20+ times. Broken account I guess

How did you solve the issue? I get this error using password or the token:
🚀 Uploading 1 packages
⛔ Username and/or password are wrong
💥 maturin failed
  Caused by: Username and/or password are wrong

Same issue here

Same issue here. To be explicit, the solution was:
(1) create an API token on PyPI
(2) when prompted, enter __token__ as the username and the API token as the password.

PyPI no longer supports uploading with username/password authentication since our mandatory 2FA policy went into effect: https://blog.pypi.org/posts/2023-12-13-2fa-enforcement/
Similar to the original issue, Maturin seems unable to distinguish between the different types of authentication failures PyPI may produce here.


adding NEARWEEK components

Please move these components into a new folder called NearWeek, and rename each component, dropping the NearWeek prefix.

This is done as requested. Please let us know if you need anything else

@AngelBlock Not a problem at all!  Actually you bring up a good point that's related to a conversation I just had with Gautham We were considering What minimal process should we follow to allow community contributed components to be added into the near.org gateway, and when should components be added into the root near account?
For the goal of getting these new NearWeek components displayed in the near.org gateway, it's not necessary that they be added into the root near account (which is what this PR would accomplish). Rather, they can be added directly into the near.org's ActivityFeed/ExploreWidget component. This would avoid having your components existing in multiple places, and make it clear via the gateway URL and activity feed component, that community contributions are welcome and highlighted.
It will so simply our guidance on when components should be deployed onto the root Near account - when they are a design system or default component of the near.or gateway.
With that in mind, I'm going to revert this PR.  Please follow-up with a new PR which updates ExploreWidgets to reference the appropriate NearWeek news component.

@AngelBlock Not a problem at all! Actually you bring up a good point that's related to a conversation I just had with Gautham We were considering What minimal process should we follow to allow community contributed components to be added into the near.org gateway, and when should components be added into the root near account?
For the goal of getting these new NearWeek components displayed in the near.org gateway, it's not necessary that they be added into the root near account (which is what this PR would accomplish). Rather, they can be added directly into the near.org's ActivityFeed/ExploreWidget component. This would avoid having your components existing in multiple places, and make it clear via the gateway URL and activity feed component, that community contributions are welcome and highlighted.
It will so simply our guidance on when components should be deployed onto the root Near account - when they are a design system or default component of the near.or gateway.
With that in mind, I'm going to revert this PR. Please follow-up with a new PR which updates ExploreWidgets to reference the appropriate NearWeek news component.

Hi, that's what I initially thought would happen. Similar to this page https://near.org/denysk.near/widget/ActivityPage, you would simply include NEARWEEK components on the home page. This would undoubtedly simplify many things and assist with component maintenance. If this can be achieved with a PR (while maintaining the quality of the homepage, of course), it's superb.
I'll review the new process and revert if I have any questions.


Prototype fixes after interview with Paul

[x] Align all the Bitcoin amounts to be in sats! We still have amounts that are in Bitcoin which is super confusing. We noticed a Bitcoin value in the funding flow, but make sure to check the prototype overall.
[ ] After the user traded we display two trades but only one order. This might be confusing. The problem here is that the orders tab content is not scrollable. We can consider enabling that.
[x] The $ sign of Stable Sats wallet is not aligned with the sats of the other wallets. (note: I aligned that already in the prototype)
[ ] There was some confusion because other wallet deposits are not wired anywhere; we should at least wire them to the Not part of your task placeholder screen so it is clear to the user that these components can be clicked but it's not part of the prototype setup.
[ ] Make sure that the values of our position make more sense. Users do focus on these values and if two screens (immediately after each other) don't align we have unnecessary confusion and the user focuses on the wrong things. Notable in the Buy flow we have to make sure that the values align (it's market order, price aligns, ...); the closing should also be somewhat aligned.

Other notes, might need alignment:

[ ] When the user tried to fund the stable sats wallet, the user tried to use the Stable Sats Wallet's quick actions that one sees when clicking the Stable Sats Wallet tile on the home screen. For the Trading Wallet we wired that into the funding workflow, but for the Spending Wallet we did not.
Note: If this is not enabled on purpose, because the user should use Move funds between wallets then we should explicitly state that Otherwise we should allow funding from external.
[ ] Make sure it is more clear that the user has to do a Market order. It's nice to show that Limit orders are possible, but it is somewhat unclear that one cannot do them. Maybe good enough to mention this.

This was feedback on the old prototype and is obsolete now.


Consider removing "Don't save code quality for later!" admonition

I love that Elm focuses on really good error messages. As a result, I find that the "don't save code quality for later!" admonition that accompanies the "Module x is unused" warning to be out of place.
As the person working on my project, I am probably best at determining my priorities, and the compiler perhaps lacks the nuanced reasoning of what I'm trying to achieve now. Repeatedly being admonished by the compiler is annoying, but when the compiler is also wrong it is doubly annoying. It's also a little bit jarring - I'm thinking "I need to do X and Y" but then it pops into my head "Don't save code quality for later!".
I know Elm aims to be a user-friendly and beginner-friendly language, I believe that this is detrimental to those goals. Hope this is helpful.
Elm: 0.18.

Please include evidence of a case where this message does not make any sense. I cannot balance this case against all the others without knowing the actual situation. It should be in a new issue with everything necessary in the first post.


[lightswitch] - Use g.getBgColor for inner bulb when off

What do you think @storm64? Does this look okay to you?

Could either go like this :
} else {
        // backlight off
        g.setColor(g.getBgColor());
      }

Or like this:
} else {
        // backlight off
        let innerColorWhenOff = g.getBgColor();
        g.setColor(innerColorWhenOff);
      }

Either one will make it look more consistent when off between themes where the inner bulb color matches the background.

Example here where the background color was changed, now it matches when the light is off instead of being just a black bulb shape.

g.setColor(g.theme.bg);

Thanks! I forgot about that one.

The problem with using the bg color is on the light themes. In my opinion it is counterintuitive if a white bg should display an off status.
Here the default theme examples from the reedme:

I think we can leave that as is if that's the intended behavior.

Ok, I see what you mean - so I guess we pull out the setBgColor(g.theme.bg) change?

Ok, I see what you mean - so I guess we pull out the setBgColor(g.theme.bg) change?

I think so, I'm not sure how best to implement a new setting right now. Should I still go through with the PR for the rest?

Sounds good. I changed it back.

Looks good - thanks!


Simplify Lnd::new

https://github.com/bennyhodl/lnd-test-util/blob/fa1542f145cad4450ba560cd82879faf49890c56/src/lib.rs#L157
Instead of passing the zmq ports, you should be able to get the zmq port from bitcoind directly now?

Thanks @RCasatta !


Fix the bug that the sprite renderer did not update the position

renderer.position should not be coupled with sprite.texture
Repro code
The default size of sprites is not updated
import {
  AssetType,
  Camera,
  Rect,
  Sprite,
  Texture2D,
  Vector3,
  WebGLEngine,
} from "@galacean/engine";

// Create engine
WebGLEngine.create({ canvas: "canvas" }).then((engine) => {
  engine.canvas.resizeByClientSize();

  const scene = engine.sceneManager.activeScene;
  const rootEntity = scene.createRootEntity();

  const cameraEntity = rootEntity.createChild("Camera");
  cameraEntity.transform.position = new Vector3(0, 0, 50);
  cameraEntity.addComponent(Camera);

  engine.resourceManager
    .load<Texture2D>({
      url: "https://gw.alipayobjects.com/mdn/rms_7c464e/afts/img/A*KjnzTpE8LdAAAAAAAAAAAAAAARQnAQ",
      type: AssetType.Texture2D,
    })
    .then((texture) => {
      const sprite = new Sprite(engine, texture);
      console.log("pre sprite.width", sprite.width);
      sprite.region = new Rect(0, 0, 0.5, 1);
      console.log("aft sprite.width", sprite.width);
    });

  engine.run();
});

An exception is displayed when setting the texture asynchronously
import {
  AssetType,
  Camera,
  Sprite,
  SpriteRenderer,
  Texture2D,
  Vector3,
  WebGLEngine,
} from "@galacean/engine";

// Create engine
WebGLEngine.create({ canvas: "canvas" }).then((engine) => {
  engine.canvas.resizeByClientSize();

  const scene = engine.sceneManager.activeScene;
  const rootEntity = scene.createRootEntity();

  const cameraEntity = rootEntity.createChild("Camera");
  cameraEntity.transform.position = new Vector3(0, 0, 50);
  cameraEntity.addComponent(Camera);

  const sprite = new Sprite(engine);
  const spriteRenderer = rootEntity.addComponent(SpriteRenderer);
  spriteRenderer.sprite = sprite;
  spriteRenderer.width = 10;
  spriteRenderer.height = 10;

  engine.resourceManager
    .load<Texture2D>({
      url: "https://gw.alipayobjects.com/mdn/rms_7c464e/afts/img/A*KjnzTpE8LdAAAAAAAAAAAAAAARQnAQ",
      type: AssetType.Texture2D,
    })
    .then((texture) => {
      sprite.texture = texture;
    });

  engine.run();
});

Codecov Report
Patch coverage: 13.63% and project coverage change: -1.22 :warning:

Comparison is base (3dea701) 41.94% compared to head (6bf573c) 40.72%.

:exclamation: Current head 6bf573c differs from pull request most recent head bea34eb. Consider uploading reports for the commit bea34eb to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##              0.9    #1477      +/-   ##
==========================================
- Coverage   41.94%   40.72%   -1.22%
==========================================
  Files         350      350
  Lines       17847    17909      +62
  Branches     2617     2628      +11
==========================================
- Hits         7486     7294     -192
- Misses       9677     9972     +295
+ Partials      684      643      -41

Impacted Files
Coverage Δ

packages/loader/src/gltf/parser/MeshParser.ts
2.13% <0.00%> (-0.34%)
:arrow_down:

packages/core/src/2d/sprite/SpriteRenderer.ts
31.42% <24.13%> (+0.47%)
:arrow_up:

packages/core/src/2d/sprite/Sprite.ts
36.41% <26.66%> (+0.11%)
:arrow_up:

... and 20 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Fix the problem that the default width and height are not corrected after the sprite modifies the region and other attributes.
const sprite = new Sprite(engine);
// sprite size, undefined, undefined
console.log("sprite size", sprite.width, sprite.height);
engine.resourceManager
  .load<Texture2D>({
    url: "https://gw.alipayobjects.com/mdn/rms_7c464e/afts/img/A*d3N9RYpcKncAAAAAAAAAAAAAARQnAQ",
    type: AssetType.Texture2D,
  })
  .then((texture) => {
    sprite.texture = texture;
    // sprite size, 3.2, 3.2
    console.log("sprite size", sprite.width, sprite.height);
    sprite.region = new Rect(0, 0, 1, 0.5);
    // Did not meet expectations !!!
    // sprite size, 3.2, 3.2
    console.log("sprite size", sprite.width, sprite.height);
  });

SpriteMask is same as suggested SpriteRenderer, No longer！

You need to add a complete unit test to make the coverage of Sprite, SpriteRenderer, and SpriteMask 100%


Thoughts on adding read_delta to pandas

There is an open pandas issue on Delta Lake file format support.
@houqp made this suggestion in the thread:

Perhaps we could add https://pypi.org/project/deltalake/ as an optional extra dependency to pandas itself to make deltalake support work out of the box for pandas users?

pandas already has read_csv, read_excel, read_parquet, etc., so read_delta would be a natural fit.
Some thoughts to brainstorm as a team:

would adding read_delta to pandas be a good idea?  I certainly think so, but interested if there are any objections
Is read_delta a good method name or perhaps read_deltalake?
What method signature would we need?  We'd at least need an optional version keyword argument for time travel 😎

A Pull Request has been submitted to integrate directly deltalake in the code base as an optional external dependency.

Closing this, based on the response from pandas core devs in https://github.com/pandas-dev/pandas/pull/49692


Change keyword color to CYAN instead of BLUE

Depending on the terminal, the blue on black background is hard to read. Change the blue to cyan to make readability easier on most terminals

resolved in a4e33099a0e91a6c6927be30ea3093b9326abb88


Performance slowdown with GINKGO_BUILD_HWLOC=ON

Some applications observe a significant performance decrease with Ginkgo's hwloc functionality enabled. Two applications which have observed this behaviour so far are XGC and MFEM. More investigation is necessary with regard to the source of the issue.

The issue seems to be coming from the binding of the GPU to the closest PU available, done when creating the CUDA executor. This seems to only happen with certain combination of hwloc versions and OpenMPI versions.
The following combinations seem to have issues:

hwloc 2.7.0 + OpenMPI 4.0.5 (On Saturn, ICL)
hwloc 2.7.0 + OpenMPI 4.1.1 (On Saturn with CUDA 11.6 and both GeForce and DGX with V100 SXM2)

while on Horeka, the issue does not exist.

Addressed by #1230.


[dv] Fix AST hdl path

Add a dict attrs in top to contain modules' attr
Update based on new reggen #5564, and close previous fix #5558
Signed-off-by: Weicai Yang<EMAIL_ADDRESS>

@rswarbrick I closed #5558 and make this fix based on your recent update. PTAL

Looks good. I still think the right thing is to move top_uvm_reg.sv.tpl to topgen (and get rid of reggen/top.py, which rather breaks the reggen/topgen split!), but that can happen later.

I don't have strong preference on this. It's top reggen, which can be put in either topgen or reggen.


Odd histogram when using multiple exterior stage thresholds

All of the exterior stages except the default (470.63) show a giant blue square for the histogram.

The default shows a nice histogram:

@rnugent3  I think this is a bug in my code. Removing you from this issue for now.

@rnugent3 I see that you commented that you were assigning this issue to yourself but it is still assigned to me. Is there any action that you would like me to take on this issue?

Let's close this issue. I am confident that the blue square problem has been fixed. With the thresholds of 0 and 999, you were getting back single-valued histograms. All 1s and all 0s. The interior threshold type has not yet been handled, which is why you get back bad results for that threshold.


Alphabetize

Things done:

[ ] Tested via nix.useChroot.
[ ] Built on platform(s): .
[ ] Tested compilation of all pkgs that depend on this change.
[ ] Tested execution of binary products.
[ ] Fits CONTRIBUTING.md.

Keeping long lists in alphabetical order in general helps find stuff more quickly with the eyes.
Do we agree that it's a good thing overall ?
In vim it's fairly easy: Shift-V, select the lines and :sort. Emacs probably has an equally-easy way to do it as well.

:+1: from me.

;+1:

@zimbatm Would you mind setting your real name in Git commits (git config user.name)?

@edolstra I prefer to use my nickname on the Internet in general if I can.

@zimbatm Hm, I'm uncomfortable with pseudonymous contributors with direct commit access. For reasons of accountability, I'd prefer to know who has commit access. Is there a reason why you can't use your real name?

@edolstra it's the first time I've had this issue in the last 15 years so I don't know what to respond. It took me quite a bit of effort to dissociate my online and official identities as I prefer to stay anonymous on the web.
I understand that you want to protect your project and I don't mind sharing my personal information with you. Would it be okay if I sent you a copy of my ID card or some other references of your liking instead ? I also met with a couple of people at NixConf and FOSDEM that can vouch for my real existence.


[DOC] Type Hints Suggestion.

Describe the issue linked to the documentation
Let's see type hints as documentation for the IDE :)
Let me suggest some improvements to some type hints encountered throughout the code.
I will upload this issue alongside my PR.
The goal of this issue is not to discuss design choices and their implications on the hints but to help with minor suggestions.
Type issues:

used of any the python built-on instead of Any the type.

Thank you, looking forward for your PR

sorry as a matter of fact I am quite busy for now.
To close this issue I submitted a PR with a fix for the main misused type hints: any instead of Any.
Very short to read.


Remove comments feature. Redirect users to subsquare if they want to.

[ ] UI Design (@Popoulosss )
[ ] Implement

Figma link
Preview
Empty state

Keep the original comments


Why loss is not decreased in variational autoencoder?

autoencoder.compile(optimizer= optimizer, loss = vae_loss, metrics = ['acc'])
def vae_loss(x, x_decoded_mean):
xent_loss = original_dim * metrics.mse(x, x_decoded_mean)
kl_loss = - 0.5 * K.sum(1 + z_log_var - K.square(z_mean) - K.exp(z_log_var), axis = -1)
loss = K.mean(xent_loss + kl_loss)
return loss
Epoch 1/15
265199/265199 [==============================] - 11s 43us/step - loss: 4.6721 - acc: 0.3227 - val_loss: 4.6551 - val_acc: 0.3275
Epoch 2/15
265199/265199 [==============================] - 12s 44us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6553 - val_acc: 0.3275
Epoch 3/15
265199/265199 [==============================] - 12s 44us/step - loss: 4.5684 - acc: 0.3287 - val_loss: 4.6560 - val_acc: 0.3275
Epoch 4/15
265199/265199 [==============================] - 12s 44us/step - loss: 4.5682 - acc: 0.3287 - val_loss: 4.6550 - val_acc: 0.3275
Epoch 5/15
265199/265199 [==============================] - 11s 43us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6564 - val_acc: 0.3275
Epoch 6/15
265199/265199 [==============================] - 11s 43us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6567 - val_acc: 0.3275
Epoch 7/15
265199/265199 [==============================] - 12s 44us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6545 - val_acc: 0.3275
Epoch 8/15
265199/265199 [==============================] - 12s 44us/step - loss: 4.5682 - acc: 0.3287 - val_loss: 4.6545 - val_acc: 0.3275
Epoch 9/15
265199/265199 [==============================] - 11s 43us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6543 - val_acc: 0.3275
Epoch 10/15
265199/265199 [==============================] - 12s 43us/step - loss: 4.5682 - acc: 0.3287 - val_loss: 4.6550 - val_acc: 0.3275
Epoch 11/15
265199/265199 [==============================] - 11s 43us/step - loss: 4.5682 - acc: 0.3287 - val_loss: 4.6558 - val_acc: 0.3275
Epoch 12/15
265199/265199 [==============================] - 11s 41us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6550 - val_acc: 0.3275
Epoch 13/15
265199/265199 [==============================] - 11s 43us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6557 - val_acc: 0.3275
Epoch 14/15
265199/265199 [==============================] - 12s 43us/step - loss: 4.5682 - acc: 0.3287 - val_loss: 4.6549 - val_acc: 0.3275
Epoch 15/15
265199/265199 [==============================] - 12s 44us/step - loss: 4.5683 - acc: 0.3287 - val_loss: 4.6551 - val_acc: 0.3275
Moreover, how can I know xent_loss and kl_loss vaules without tensor zip?

Please provide the system information asked below. Thanks!
System information:
Have I written custom code (as opposed to using example directory):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
TensorFlow backend (yes / no):
TensorFlow version:
Keras version:
Python version:
CUDA/cuDNN version:
GPU model and memory:
You can obtain the TensorFlow version with:
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
You can obtain the Keras version with:
python -c 'import keras as k; print(k.version)'
Describe the problem:
Describe the problem clearly here. Be sure to convey here why it's a bug in Keras or a feature request.
Source code / logs:
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.


config: add support for etcd2

This fixes https://github.com/coreos/coreos-cloudinit/issues/329.
The list of deprecated options comes from https://github.com/coreos/coreos-cloudinit/pull/313.
Doing a little more testing...

Updated. Depends on https://github.com/coreos/coreos-overlay/pull/1173.

LGTM overall, we need to make a conscious decision whether we error out or warn on deprecated things.

Updated the docs. @philips can you double check my etcd2 configuration?

LGTM, though I wonder if it is worth keeping the old etcd section documented some where, dropping from the main doc seems fair to discourage its use but maybe a new deprecated doc would be useful. Otherwise the old section becomes completely undocumented which feels like a regression doc-wise.

@marineam I re-added the etcd0 docs.

Updated to include both the etcd0 and etcd2 docs.


Ha-Htoe is mistakenly converted to Wa-Swe

In zg12uni51, "Ha-Htoe is mistakenly converted to Wa-Swe"
Test case
assert_equal 'ဘောလုံးကန်တာမှ ကောင်းဦးမယ်', Mmfont::Converter.new.zg12uni51('ေဘာလုံးကန္တာမွ ေကာင္းဦးမယ္')
Expected: "ဘောလုံးကန်တာမှ ကောင်းဦးမယ်"
  Actual: "ဘောလုံးကန်တာမွ ကောင်းဦးမယ်"

@dreamingblackcat Is that fixed in your gem ?

I fixed on my fork java code, bro. All medial Ha are translated to medial wa. I found this issues on such as medial ha, medial wa + ha, zero to Wa Lone fix, digit 7 and YaGauk fix.
And another issues is in ဋ္ဌ > ဋ + virama + ဌ is incorrect order. Check it bro.
And no other spelling check on zawgyi user typed error like double medial wa, double I -  vowel, double U dependent vowel.
Ko ThuRa reply on my issues, take a look bro. There is a rule file we can correct.

@sanlinnaing Calm down. Nobody's arguing anything with you. I have seen the issue on Paytan and just cross referencing. well, the idea is not to fix the generated code but to be fix the rule files. I have checked. If you have fixed the other issues for Paytan, can you just comment under respective issue and send a pull request with changes to the rule files ? Thank you.

I'm not arguing with anyone bro. Why are you so serious? 😃😃. Just information bro. Actually, I am not familiar with python.

I am always serious. This issue is closed. Can we discuss about other
issues on paytan repo ? Thanks.
၂၀၁၅ ဖေဖော်ဝါရီ ၁၇ ၁၄:၁၁တွင် "San Lin Naing"<EMAIL_ADDRESS>ရေးခဲ့:

I'm not arguing with anyone bro. Why are you so serious? 😃😃. Just
information bro. Actually, I am not familiar with python.
—
Reply to this email directly or view it on GitHub
https://github.com/yelinaung/mmfont/issues/1#issuecomment-74628457.


Change class_name to _class_name to prevent KeyError

Before submitting

[X] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).

Description of issue
I tried to download several popular diffusion models with optimum, but they failed with a KeyError in exporters/tasks.py.
Here's an example using runwayml/stable-diffusion-v1-5:
(hf-optimum) % optimum-cli export onnx --framework pt  -m runwayml/stable-diffusion-v1-5 stable-diffusion-v1.5
Traceback (most recent call last):
  File " ... /optimum/exporters/onnx/__main__.py", line 224, in main_export
    task = TasksManager.infer_task_from_model(model_name_or_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "... /optimum/exporters/tasks.py", line 1655, in infer_task_from_model
    task = cls._infer_task_from_model_name_or_path(model, subfolder=subfolder, revision=revision)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File " ... /optimum/exporters/tasks.py", line 1592, in _infer_task_from_model_name_or_path
    class_name = model_info.config["diffusers"]["class_name"]
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^

The correct key is _class_name, not class_name:
(Pdb) data["config"]
{'diffusers': {'_class_name': 'StableDiffusionPipeline'}}

I couldn't find a diffusion model on HF that used class_name in their config.json (although there were lots using _class_name), so I think class_name is just a typo.
After the fix, I was able to successfully download runwayml/stable-diffusion-v1-5 using optimum-cli

@ansley I am sorry about this. I think it was just a coincidence that @JingyaHuang spotted the same problem at a similar time, I reviewed Jingya's PR because it popped in my GitHub notifications. I missed reviewing your PR among the large numbers I have in my notifications and I did not make the connection between the two - ideally yours should have been merged.
I'll see if I can set a template for pull requests so that contributors can ping relevant people for review (in the meantime don't hesitate to ping me).

@fxmarty That would be great! I understand why "request reviewers" is turned off for open-source contributors, but it does make it hard to get visibility. No worries about merging Jingya's PR, though! I don't really care, I was only asking why it happened in case there was something I needed to do differently in the future


Lost connection to MySQL server during query

Hi Team
I installed forseti V2.18 via deployment manager. I noticed that forseti is running since last 24+ hours in production. I checked the stack driver log and found error "MySQLdb._exceptions.OperationalError) (2013, 'Lost connection to MySQL server during query') ".
Please find attached log also.
Forseti Error.txt
How should I take this error? How can i fix? Is still forseti running or stop?
Thanks
Hari

Working with Hari to resolve the problem, seems like the default cloud sql instance is not sufficient for bigger gcp orgs.

It doesn't happen any more after increasing the size of the cloudsql instance.


iOS build problems, help me, I try to fix it two days

Xcode's output:
↳
While building module 'protobuf' imported from /Users/zhangchengmin/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.6.3/ios/gen/Flutterblue.pbobjc.m:13:
In file included from :1:
In file included from /Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Pods/Target Support Files/Protobuf/Protobuf-umbrella.h:28:
In file included from /Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Pods/Protobuf/objectivec/GPBProtocolBuffers.h:44:
/Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Pods/Protobuf/objectivec/GPBWellKnownTypes.h:44:10: fatal error: 'google/protobuf/Any.pbobjc.h' file not found
#import "google/protobuf/Any.pbobjc.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/Users/zhangchengmin/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_blue-0.6.3/ios/gen/Flutterblue.pbobjc.m:13:10: fatal error: could not build module 'protobuf'
#import "GPBProtocolBuffers_RuntimeSupport.h"
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
2 errors generated.
/Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error: 'flutter_blue/FlutterBluePlugin.h' file not found
#import <flutter_blue/FlutterBluePlugin.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Runner/GeneratedPluginRegistrant.m:6:9: note: did not find header 'FlutterBluePlugin.h' in framework 'flutter_blue' (loaded from '/Users/zhangchengmin/AndroidStudioProjects/flutter_app/build/ios/Debug-iphonesimulator/flutter_blue')
1 error generated.
fatal error: lipo: can't open input file: /Users/zhangchengmin/AndroidStudioProjects/flutter_app/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/flutter_blue.framework/flutter_blue (No such file or directory)
fatal error: lipo: can't open input file: /Users/zhangchengmin/AndroidStudioProjects/flutter_app/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/flutter_blue.framework/flutter_blue (No such file or directory)
Failed to extract x86_64 for /Users/zhangchengmin/AndroidStudioProjects/flutter_app/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/flutter_blue.framework/flutter_blue. Running lipo -info:
fatal error: lipo: can't open input file: /Users/zhangchengmin/AndroidStudioProjects/flutter_app/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/flutter_blue.framework/flutter_blue (No such file or directory)
Command PhaseScriptExecution failed with a nonzero exit code
note: Using new build systemnote: Planning buildnote: Constructing build description

my flutter_blue 's version is 0.6.3

[✓] Flutter (Channel stable, v1.9.1+hotfix.6-pre.1, on Mac OS X 10.15 19A602,
locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.39.2)
[✓] Connected device (1 available)

Because Xcode building system try to flat the path of header files, you could change from this below
#import "google/protobuf/Any.pbobjc.h"

to
#import "Any.pbobjc.h"

Because Xcode building system try to flat the path of header files, you could change the path below
#import "google/protobuf/Any.pbobjc.h"

to
#import "Any.pbobjc.h"

I follow your tips and solve some problems, but there is remaining an error in Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Runner/GeneratedPluginRegistrant.m. This is an auto-generated file. The error's detail is below.
Xcode's output:
↳
/Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error: 'flutter_blue/FlutterBluePlugin.h' file not found
#import <flutter_blue/FlutterBluePlugin.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Runner/GeneratedPluginRegistrant.m:6:9: note: did not find header 'FlutterBluePlugin.h' in framework 'flutter_blue' (loaded from '/Users/zhangchengmin/AndroidStudioProjects/flutter_app/build/ios/Debug-iphonesimulator/flutter_blue')
1 error generated.
note: Using new build systemnote: Planning buildnote: Constructing build description
And when I try to delete the flutter_blue/ in  '#import <flutter_blue/FlutterBluePlugin.h>' , it will regenerates.

Then it's another issue, have you tried to clean and rebuild?

Then it's another issue, have you tried to clean and rebuild?

I will try to clean and rebuild after 3 hours. Thank you very much.

Then it's another issue, have you tried to clean and rebuild?

I try to clean and rebuild, but it remains the same error.
Xcode's output:
↳
/Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error: 'flutter_blue/FlutterBluePlugin.h' file not found
#import <flutter_blue/FlutterBluePlugin.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/zhangchengmin/AndroidStudioProjects/flutter_app/ios/Runner/GeneratedPluginRegistrant.m:6:9: note: did not find header 'FlutterBluePlugin.h' in framework 'flutter_blue' (loaded from '/Users/zhangchengmin/AndroidStudioProjects/flutter_app/build/ios/Debug-iphonesimulator/flutter_blue')
1 error generated.
note: Using new build systemnote: Planning buildnote: Constructing build description

Try this: https://github.com/pauldemarco/flutter_blue/issues/406#issuecomment-544501458

Try this: #406 (comment)

Thanks. The example project finally works.

Hi all, I've created a dedicated Discord channel so we can debug these problems more efficiently:
Discord Invite Link

Thank you I had solved my problems. Thank you by the same.
| |
张成敏
|
|
<EMAIL_ADDRESS>|
On 10/24/2019 20:40, Paul DeMarco wrote:
Hi all, I've created a dedicated Discord channel so we can debug these problems more efficiently:
Discord Invite Link
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Compiling flutter_blue on a Swift enabled Flutter project
Flutter projects using Swift for the iOS platform may have trouble compiling with flutter_blue:
While building module 'flutter_blue' imported from
    /Users/paul/my_app/ios/Runner/GeneratedPluginRegistrant.m:10:
    In file included from <module-includes>:1:
    /Users/paul/my_app/build/ios/Debug-iphoneos/flutter_blue/flutter_blue.framework/Headers/fl
    utter_blue-umbrella.h:13:9: fatal error: 'FlutterBluePlugin.h' file not found
    #import "FlutterBluePlugin.h"
            ^~~~~~~~~~~~~~~~~~~~~
    1 error generated.
    /Users/paul/my_app/ios/Runner/GeneratedPluginRegistrant.m:10:9: fatal error: could not
    build module 'flutter_blue'
    @import flutter_blue;
     ~~~~~~~^~~~~~~~~~~~
    2 errors generated.
    note: Using new build systemnote: Planning buildnote: Constructing build description

From your project's root folder:
Clean everything:
rm -rf ios/Pods
rm ios/Podfile
rm ios/Podfile.lock
rm -rf ~/Library/Developer/Xcode/DerivedData/
flutter clean
flutter packages upgrade

Regenerate the Podfile with:
flutter run

Open ios/Podfile and comment the following line:
#use_frameworks!

The project should now run successfully with:
flutter run

I fixed by using local library
Steps:

Download flutter blue version by git tag
Put in beside flutter project
Include flutter into flutter project (pubspec.yaml) with

use   flutter_blue:
    path: ../flutter_blue-version


Expeditions fleet slots

Hello,
I noticed you merged in a few days/week ago the code to be able to do expeditions.
Is this code working for you when calling GetSlots?
I've given it a quick go and this was my result;
   slots := bot.GetSlots()
	 fmt.Println(slots)

{14 14 0 0}
It correctly shows my 14/14 fleet slots in use, but the expedition slots always shows 0/0, the UI shows 1 used of total 3.

Seems to work fine for me. What's the server language on which you play ?

EN.

Are you on discord ?
#2967 agilbert
would be easier to debug.

Fixed here https://github.com/alaingilbert/ogame/commit/050276a180c72269256cb65f695e249121984641

Looks fixed, tested and works. Thank you.


Further break out  integration tests

Feature Request
Desired behaviour

Identify good groupings for tests in dockstore-integration-tests
Use current build stages + Maven profiles setup for inspiration as to how to split up tests (or if a better solution is possible, do that)

I did this with https://github.com/ga4gh/dockstore/pull/1465. Now splits up ITs into 5 jobs.

Seems to be working well


iOS - update various ObservableObjects to be @MainActor isolated

As per Apple's guidelines, all ObservableObjects should be isolated to the main thread via @MainActor.
As a part of this, investigate thread usage and memory usage.
Does high volume of updates coming through a Live Query in an ObservableObject impact UI usability?
Should we recommend something else other than ObservableObjects? Maybe StateObjects? If the answer is moving to Observable, how do we handle lower iOS versions where that is not available?

If unable to get enough volume when testing to show impact, break out a follow up inserting tons of data via HTTP APi to simulate real restaurant lunch rush load.


Refactored entity serialization

Description

Rework of entity serialization with explicit type registration using a macro.

Close #150 (again)
What type of PR is this? (check all applicable)

[x] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

[optional] Minor fixes

Fix Registry.getSystem: It was looking in the storages instances instead of the system instances
Added/updated tests?

[x] New tests written
[x] Existing tests updated
[ ] Tests are not required because this is a documentation update
[ ] I need help with writing tests

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 82.59%. Comparing base (cfc7649) to head (3f96a79).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #163      +/-   ##
==========================================
+ Coverage   82.23%   82.59%   +0.36%
==========================================
  Files          64       64
  Lines        1103     1103
  Branches      353      353
==========================================
+ Hits          907      911       +4
+ Misses        140      135       -5
- Partials       56       57       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Quicktest Mode

Feature
Sometimes you want to just quickly jump in and test things, without pesky save data getting in the way. With Quicktest Mode on (as an option in the config menu), as soon as the game boots up, the game will create a new dummy profile and load it, with whatever system you have set as default. You can set the starting loop number in the config as well, with any loop above 0 starting you with the launch codes. You can also engage Quicktest with a new button in the main menu which appears while you have dev mode on, which will not affect the selected profile's save data.
Context
No response

from your description, this doesnt seem to actually require nh at all (given it just uses whatever default system u have in ur config). therefore, i think this is better suited as a standalone mod.


Behaviour of bool fields with HasDefaultValue option

Hi. I need to clear such situation.
I have an entity Product with bool field:
public bool IsActive{ get; set; }
For that field I made such definition in my DbCOntext:
protected override void OnModelCreating(ModelBuilder modelBuilder)  {             modelBuilder.Entity<Product>()                 .Property(b => b.IsActive)                 .HasDefaultValue(true);  }
So, if I insert the Product with "IsActive=false", the record wor this Product in DB will contain "IsActive=true".
Is it correct EF behaviour?
Because in documentation it says:

The default value of a column is the value that will be inserted if a new row is inserted but no value is specified for the column.

Because I think that "IsActive=false" is a specified value.

Reopening to consider adding a model validation that errors or warns when this scenario is hit.

There seems to be more useful information and discussion now in #7089 so closing this issue as a dupe of that one.

Hello!
This problem is still actual. If there's code like builder.Property(x => x.IsActive).HasColumnName("IsActive").HasDefaultValue(true); in entity's configuration and IsActive value equals TRUE, EF does not generate insert for this column.
Thank you!

I found a solution from stackoverflow post for REQUIRED boolean field and default value
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
        modelBuilder.Entity<MyEntity>()
             .Property(p => p.MyRequiredBooleanField)
             .ValueGeneratedNever()
             .HasDefaultValue(false);
}

Ref


what's leon2ft

what's the difference between leon2 and leon2-ft? how can I get leon2-ft source code ?

LEON2 processor core
LEON2 has the following characteristics:
The GNU LGPL allows a high degree of freedom of intervention on the freely available source code.
Configurability is a key feature of the project,[12] and is achieved through the usage of VHDL generics.[13]
It offers all basic functions of a pipelined in-order processor.
It is a fairly sized VHDL project (about 90 files, for the complete LEON2 distribution, including peripheral IP cores)
LEON2-FT processor core
The LEON2-FT processor is the single-event upset fault tolerant (FT) version of the LEON2 processor. Flip-flops are protected by triple modular redundancy and all internal and external memories are protected by EDAC or parity bits.


TIC for just MS1

Since we switched to using pwiz TIC chromatograms for Skyline, the fact that pwiz includes all spectra in the TIC chromatograms has become an issue. Skyline wants a way to get TICs for only the MS1s.
Almost all the important (to Skyline) formats allow getting TIC per ms level:

Agilent (BDAChromFilter.MsLevelFilter)
Bruker (TIC is built from SQLite files for BAF and TDF, so it's flexible)
Sciex (TIC is always per experiment)
Thermo (using scan filter string)
Waters MassLynx (TIC is always per function)

The Waters UNIFI reader currently doesn't get chromatograms at all: I'm not sure the API supports it.
I can see a few ways to satisfy Skyline (I've bolded the aspects I find most important):

Change the retrieval functions to ignore points from MS levels other than 1 (could be controlled by a Reader::Config option though)

Pro
Con

Simplest to implement
TIC arrays sizes will not be equal to number of spectra

the "TIC" id can stay the same
all spectra are not represented (any other users that want a summary of ALL spectra rather than just MS1s will be out of luck)

Change the APIs so they return multiple chromatograms, one per MS level. The chromatogram ids would change to "TIC MS1", "TIC MS2" etc.

Pro
Con

easiest on downstream code
TIC arrays will not be equal to number of spectra (although they will be equal on a per MS level basis, so that could be an easy way to count spectra per ms level)

all spectra are still represented
changing ids may violate assumptions downstream software may have (Skyline certainly expects to find the plain id "TIC" in several places)

Change the APIs so they return an MS level array as well as times and intensities, and have Skyline filter the arrays to just the MS1 points.

Pro
Con

all spectra are represented
hardest on downstream code

does not change behavior from previous pwiz versions, only adds a new array
must use some non-standard array for the ms level array

chromatogram keeps "TIC" id

I'm leaning toward option 3 because it doesn't change the previous behavior. It'll be totally backward compatible. But so would a Reader::Config option that only Skyline uses (unless @brendanx67 thinks Skyline may at some point want a TIC array for MS2+; in that case option 1 would be wasted effort). What do you think @brendanx67 @bspratt ?

From Nick:

It looks like we still have not fixed the problem where the Total Ion Current area needs to only include MS1 scans.

We do need to fix this before we ship 19.2 because a lot of labs normalize against ChromFileInfo.TicArea.

My guess is that the best thing to do would be to add a value to ReaderConfig which says whether the TIC and BPC should be MS1 only. (option #1)

OK. I'll knock this out.

@nickshulman @brendanx67 What do you want to see for files that have no MS1s? Chromatogram with 0 time points?

Chromatogram with zero points sounds good.
(I think any behavior would be fine).
-- Nick
On Thu, Dec 12, 2019 at 10:43 AM Matt Chambers<EMAIL_ADDRESS>wrote:

@nickshulman https://github.com/nickshulman @brendanx67
https://github.com/brendanx67 What do you want to see for files that
have no MS1s? Chromatogram with 0 time points?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ProteoWizard/pwiz/issues/745?email_source=notifications&email_token=AACKAYYVKGUVM23LNQ7LUNDQYKA5FA5CNFSM4JSMAK6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGXT3UQ#issuecomment-565132754,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKAY5K2ZYI65L3S7RRPZ3QYKA5FANCNFSM4JSMAK6A
.


Enable automatic running of regression tests on new pull requests

Create a .travis.yml file that configures CI for the repository.
Set up this file to trigger the following actions on the Travis build server for each pull request:

Create a suitable Python environment for running our regression tests (see env.sh)
Activate the Python environment
Run our regression tests (python -m unittest discover from the root of the repository)

Make a pull request to the put the file in place.
Make a second test pull request that deliberately breaks a regression test to ensure that the CI is working after the first PR is merged.

See the getting started guide for a walkthrough.

Note: It would be best to push the .travis.yml file to your own personal fork of the the repository and make sure that everything is working ok before working with the admins of this project to put the config file into the root of the master branch.

I think this is complete. I think we could probably close it.


Serverside sorting example

Coverage remained the same at 77.36% when pulling 2dc9683addecbcf93d59415377de02138edd9926 on danielbyun:serverside-sorting-example into b8bee522b0e554522daa34d4cb3a41ffe95bbe03 on gregnb:master.

Hi, added empty string for the props check.
Thank you!


Fix chomp OptimizeTrajectory to actually return the optimized trajectory (not the original)

Good catch! :smile:


Create Table of Contents for Part 16

Is your feature request related to a problem? Please describe.
A linked Table of Contents to the subheadings in this part of the tutorial would make it easier to navigate
Describe the solution you'd like
All that needs to be done is to create a table of contents with links to the subheadings in this tutorial, there are many examples of this throughout the tutorial. Should be very easy.

Hey @rcallaby ,
Can you assign me this issue ?

@shubhampaliwal3011 I have assigned you a different task, please allow others the opportunity to contribute.

Hi @rcallaby ,
Can you assign me this issue?

@Rachit1313 It is all yours now


Suggested changes from code review

This is all about the maintenance considerations, not the implementation. There are a few other things I noticed and wanted to raise so we could discuss.
Django & Wagtail version support

Django 3.1 is no longer supported, I don’t think we should list it as supported here
Same for Wagtail 2.14

CI setup
It feels overkill to me we’re using both CircleCI and GitHub Actions on this project. The main reason CircleCI is used for Wagtail core is because we have so many frequent builds on GitHub Actions – so it’s nice to have basic linting finishing sooner. For a brand new project that will get little activity, I’d prefer we use GitHub Actions only.
Further notes on the CI setup:

The way the nightly jobs are defined in CircleCI is deprecated, and will stop working in June. We should either move this to GitHub Actions, or if we want to keep using CircleCI, use their new scheduling support.
If we retain linting in GitHub Actions, I don’t think we should use tox for it. It’s very slow, so in my opinion not worth the hassle for flake8 and black.

@thibaudcolas  thanks I agree about the CircleCI - I had not gotten that working and it was just from the cookiecutter, I will create a new issue and start looking into migrating to GitHub Actions.

CI setup
It feels overkill to me we’re using both CircleCI and GitHub Actions on this project. The main reason CircleCI is used for Wagtail core is because we have so many frequent builds on GitHub Actions – so it’s nice to have basic linting finishing sooner. For a brand new project that will get little activity, I’d prefer we use GitHub Actions only.
Further notes on the CI setup:
* The way the nightly jobs are defined in CircleCI is [deprecated](https://circleci.com/docs/2.0/workflows/#scheduling-a-workflow), and will stop working in June. We should either move this to GitHub Actions, or if we want to keep using CircleCI, use their new scheduling support.

If we retain linting in GitHub Actions, I don’t think we should use tox for it. It’s very slow, so in my opinion not worth the hassle for flake8 and black.


:sparkles: Dynamic Reports: Add Dependencies table with server-side pagination and sorting (no filters yet)

Part of #827
Adds the Dependencies page, a new query for /hub/analyses/dependencies/, and implements server-side sorting and pagination. Also includes some helpers for an initial attempt at server-side filtering, to be finished in a followup PR. (This change introduces some filter-related TODO comments that I'll remove in the next PR).

Centralizes the TypeScript types for arguments and return values of table-related hooks in one file at @app/shared/hooks/use-table-controls/types.ts, with more explicit inheritance and comments explaining the flow of arguments from one hook to the next.
Adjusts types for some of the table-related helper components to be more explicit and readable.
Separates useSortState into useSortState and useSortDerivedState, with the former including only arguments and return values necessary for the storage of sort-related state and the latter including logic used to derive the sorted items (perform client-side sorting).
Separates usePaginationState into usePaginationState and usePaginationDerivedState following the same pattern.
Adds a new hook useUrlParams, a generic hook which acts like useState (returns the same [value, setValue] tuple) but takes some extra arguments to facilitate using URL search parameters as the state storage.

Some extra magic here: The value stored here can be of any generic type as long as it can be serialized to a string, because the hook requires serialize and deserialize functions which convert that type to/from a plain object with string values. From there, the hook internally converts that to and from URLSearchParams objects and handles the react-router logic.
Another neat thing about useUrlParams: When the setter function is called, the operation it performs to update URL params is atomic. It references the current global document.location.search when updating and retains all other params present there, so (a) multiple instances of it can be used for multiple sets of URL params and (b) calling the setter to update those can be done in sequence without waiting for another render, and values will not clobber each other.

Adds a new hook useSortUrlParams which has the same arguments and return values (sharing interface definitions) of useSortState, but persists the state using useUrlParams instead of useState. This is a drop-in replacement for useSortState and we can easily choose whether to use URL params for state or not.
Adds a new hook usePaginationUrlParams which is a similar drop-in replacement for usePaginationState.
Adds a new hook useTableControlUrlParams which can be used in place of useTableControlState. It's not a full drop-in replacement because it doesn't concern itself with args needed for derived state (client-side sorting/pagination). It returns a subset of the args needed for useTableControlProps, the remaining args to be derived by the consumer based on query data from the API (server-side sorting/pagination).
Adds types to @app/api/models.ts:

HubFilter: A structured representation of the filters we can express in the hub's URL params (temporary -- will need to adjust this in the next PR).
HubRequestParams: A structured representation of the URL params we need to pass to the hub for server-side filtering/sorting/pagination.
HubPaginatedResult: A wrapper for results of a server-paginated request with metadata for the total and a copy of the params that were used for the request.

Adds a file @app/utils/hub-request-utils.ts including:

serializeRequestParamsForHub: Converts a HubRequestParams object into the URLSearchParams objects to be passed into Axios requests

getHubRequestParams: Takes sortState and paginationState objects returned by the swappable useSortState/useSortUrlParams and usePaginationState/usePaginationUrlParams, along with some additional args, and returns the HubRequestParams object
In @app/api/rest.ts, adds a generic function getHubPaginatedResult which takes any URL and HubRequestParams object and sends the Axios request, then parses the headers of the response to return the HubPaginatedResult object. Also adds a getDependencies function here which uses that function to fetch the dependency objects.
Adds a useFetchDependencies hook which uses the above helpers with react-query to facilitate fetching the server-paginated/sorted dependencies array.

Note that the query key here includes the serialized params from serializeRequestParamsForHub, which is a unique string that will change any time the sort/pagination controls are interacted with. This means we get a cached copy of the results for each specific paginated/sorted list, and if you go back to a previously loaded page or sort, it will appear instantly while being refetched in the background.

Adds the Dependencies page (@app/pages/dependencies), route and nav item, with a new Dependencies table wired up with all of the above! Server-side pagination and sorting are working end to end. Filtering is still not included. Usage of the above hooks on this page is as follows:

We call useTableControlUrlParams with as many of the args as we can define without state or query data in scope and get tableControlState returned, which is an object including all of the arguments passed in with sortState and paginationState added. (these objects include the setters/getters for each set of state).
We pull out the sortState and paginationState and pass them to getHubRequestParams, which we call as part of useFetchDependencies. We get API data back including the current page of items and the total item count.
We call useTableControlProps, which is also used internally by useTableControls on the existing client-paginated tables, and we pass in tableControlState (all the args and state collected so far) along with the currentPageItems, totalItemCount, isLoading, and additional arguments for the state we haven't abstracted out to the URL params and the server (filterState which is currently a stub, expansionState and selectionState which currently call the same hooks we use internally in useTableControlState when we use useTableControls on the existing tables).
We get all the same propHelpers and such returned that we have on the existing tables. Rendering the table is exactly the same as the client-paginated tables!

This PR does make one very minor change to the existing tables that use useTableControls: the currentPageItems variable is no longer part of the paginationState object returned there, it is now at the root level of the returned object. @ibolton336 this should be the only thing you need to adjust in #828 assuming we merge this first.

Commenting here to reference that this is part of #827 since editing the description didn't auto-tag that over there


Slack should be in install_requires

Input
The slack-sdk dependency is set as an extra, although running the install step in a fresh installation returns errors due to the missing dependency. In my perspective, this should suffice to move this dependency to required, instead of extras, because this will require users to install the dependency to simply run the test suite.
make test output in a fresh environment, after running python setup.py install:
» make test                                                                                130 ↵
testapp/manage.py test ${TEST_ARGS:-tests}
Found 11 test(s).
Creating test database for alias 'default'...
System check identified some issues:

WARNINGS:
database_locks.Lock: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
        HINT: Configure the DEFAULT_AUTO_FIELD setting or the DBLocksConfig.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.

System check identified 1 issue (0 silenced).
EE.E.......
======================================================================
ERROR: tests.test_blocks (unittest.loader._FailedTest.tests.test_blocks)
----------------------------------------------------------------------
ImportError: Failed to import test module: tests.test_blocks
Traceback (most recent call last):
  File "/Users/silvag3/.pyenv/versions/3.11.1/lib/python3.11/unittest/loader.py", line 407, in _find_test_path
    module = self._get_module_from_name(name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/silvag3/.pyenv/versions/3.11.1/lib/python3.11/unittest/loader.py", line 350, in _get_module_from_name
    __import__(name)
  File "/Users/silvag3/github.com/surface-security/django-notification-sender/testapp/tests/test_blocks.py", line 2, in <module>
    from slack_sdk.errors import SlackApiError
ModuleNotFoundError: No module named 'slack_sdk

https://github.com/surface-security/django-notification-sender/blob/2f558a31af7abbffe9b4fcf2a46342ecc5408a38/setup.cfg#L35-L36
Output
Move the slack dependency definition to the install_requires block.

@fopina could you give your 2 cents on this, please?

👋 I think when it was initially added to optional it was so that anyone using email only would not require the huge dependency list from slack-sdk
But I suppose eventually that optional was forgotten and code is not prepared to not having slack.
Ideally there would be a class wrapping each "transport" (including the block abstraction), but that was never done.
Also, it would be nice to be able to implement new transports outside of the app and, given that, slack could moved to a separate module so it would rely on these optionals.
TL;DR; LGTM 😀


[Android] [v3.2.0] Build Error "Unresolved reference: value"

Describe the Bug
> Task :react-native-track-player:compileDebugKotlin FAILED
e: /Users/gsquare567/Sites/blogcast/node_modules/react-native-track-player/android/src/main/java/com/doublesymmetry/trackplayer/extensions/AudioPlayerStateExt.kt: (8, 16): 'when' expression must be exhaustive, add necessary 'STOPPED', 'ERROR' branches or 'else' branch instead
e: /Users/gsquare567/Sites/blogcast/node_modules/react-native-track-player/android/src/main/java/com/doublesymmetry/trackplayer/module/MusicModule.kt: (505, 61): Unresolved reference: value

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':react-native-track-player:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
   > Compilation error. See log for more details

Steps To Reproduce
How can someone else reproduce this bug?
Code To Reproduce
Please provide a simple code example that allows others to replicate the bug.
Replicable on Example App?
Can you replicate this bug in the React Native Track Player Example App?
Environment Info:
System:
    OS: macOS 12.4
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 27.07 MB / 32.00 GB
    Shell: 3.0.2 - /usr/local/bin/fish
  Binaries:
    Node: 16.18.1 - /usr/local/bin/node
    Yarn: 1.22.5 - ~/.yarn/bin/yarn
    npm: 8.19.2 - /usr/local/bin/npm
    Watchman: Not Found
  Managers:
    CocoaPods: 1.11.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
    Android SDK:
      API Levels: 30, 31, 32, 33
      Build Tools: 29.0.2, 30.0.2, 30.0.3, 31.0.0, 33.0.0
      System Images: android-30 | Google Play Intel x86 Atom, android-33 | Google APIs Intel x86 Atom_64
      Android NDK: Not Found
  IDEs:
    Android Studio: 2021.3 AI-213.7172.25.2113.9123335
    Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
  Languages:
    Java: 11.0.13 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: Not Found
    react-native: Not Found
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

"react": "18.1.0",
"react-native": "0.70.5",

        buildToolsVersion = findProperty('android.buildToolsVersion') ?: '31.0.0'
        minSdkVersion = Integer.parseInt(findProperty('android.minSdkVersion') ?: '21')
        compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '33')
        targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '31')
        kotlinVersion = findProperty('android.kotlinVersion') ?: '1.6.0'
        frescoVersion = findProperty('expo.frescoVersion') ?: '2.5.0'

        classpath('com.android.tools.build:gradle:7.2.1')
        classpath('com.facebook.react:react-native-gradle-plugin')
        classpath('de.undercouch:gradle-download-task:5.0.1')

Android
How I can Help
What can you do to help resolve this?
Have you investigated the underlying JS or Swift/Android code causing this bug?
Can you create a Pull Request with a fix?
Downgrading to 3.1.0 works, so this is a regression in the update. I have no experience with Kotlin and my patch-package attempt did not work. I am working in Expo v47 (latest) Bare so versioning has been a bit of a nightmare.

@thanhchuongbmd same issue here, answering your question it resolves to "main-SNAPSHOT"

correcting myself, we had a patch package to use main because 1.2.4 generated a exception on app reload (e.g. code push or fast reload), other people might've been doing the same

dependencies {
implementation 'com.github.DoubleSymmetry:KotlinAudio:main-SNAPSHOT'
I am getting the same errors.
Any solution?

@garrettg123
How do you fix the crash issues in 3.1?

track-player is using the main version of KotlinAudio instead of a specific tag, KotlinAudio's owner has pushed some code into main in the last 24 hours which resulted in this issue.. setting the dependency to the latest tag (i.e. 1.2.4) in build.gradle fixed the issue

can You please explain again?
I tried with "SNAPSHOT" and
dependencies {
implementation 'com.github.DoubleSymmetry:KotlinAudio:v1.2.4'
I get the same errors still as in this issue description :(

@garrettg123  okay, thanks

Same problem for me. I used "main-SNAPSHOT" so far but it's not working right now; with "1.2.4" or "v1.2.4" it looks like credentials are required :

Could not get resource 'https://www.jitpack.io/com/github/doublesymmetry/kotlin-audio/1.2.4/kotlin-audio-1.2.4.pom'.
Could not GET 'https://www.jitpack.io/com/github/doublesymmetry/kotlin-audio/1.2.4/kotlin-audio-1.2.4.pom'. Received status code 401 from server: Unauthorized

I switched from "main-SNAPSHOT" to "1.2.4" and created a patch and the build was successful. No problems with the player on my device.

I am having the same issue. Tried with a patch but it did not work.

if you want 1.2.4 fixes but also the crash fix you can refer the implementation to a specific commit instead of a version, in this case the first commit after 1.2.4 which fixes the crash; On patches/react-native-track-player+3.2.0.patch set:
diff --git a/node_modules/react-native-track-player/android/build.gradle b/node_modules/react-native-track-player/android/build.gradle
index ad99343..207e417 100644
--- a/node_modules/react-native-track-player/android/build.gradle
+++ b/node_modules/react-native-track-player/android/build.gradle
@@ -49,7 +49,7 @@ repositories {
 }

 dependencies {
-    implementation 'com.github.DoubleSymmetry:KotlinAudio:v1.2.4'
+    implementation 'com.github.DoubleSymmetry:KotlinAudio:dd4bdab147c90fffcff7800790dbfcb41291d29b'
 //    implementation "com.github.doublesymmetry:kotlin-audio:1.2.2"

     //noinspection GradleDynamicVersion

I also have the same problem, it's been 2 days that I'm trying to solve it