runtests..py appears to have an unorthodox way to detect whether dependencies are installed

I am running a setup where python and python packages are install via spack. Within this I cloned and build the scipy master. Both python3 setup.py install --user (without virtual env) and python3 setup.py install (inside a virtual env with --system-site-packages) works.
Running python3 runtests.py, both without and inside a virtual env, yields:
Building, see build.log...
Error: 'numpy' must be installed before running the build.

Build failed! (0:00:00.504368 elapsed)`

However numpy appears to be present enough for the installation to work and it can also be imported in python interpreter ran in this environment.
Reproducing code example:
Below which set up an environment similar to mine and thus should reproduce the error, but I did not test it as would take quite some time to run. It may be better for someone familiar with runtests.py to check if there is something inside it which could make it fail to find package which are other wise found by import.
This is just to get the gist
# get spack
git clone https://github.com/spack/spack

# minimally load spack into env
.  spack/share/spack/setup-env.sh
spack compiler add

# install scipy dependencies, will install python 3
DEPS="py-cython  py-pybind11  py-setuptools  py-numpy   py-pythran"
# NOTE: this would take a while. It will not only compile the listed packages, but also basically
# everything they depend on, including things like openblas, zlib and openssl
for p in $DEPS; do
  spack install p
done

#load modules
## This is the key part: paths to numpy and others are added to
## $PYTHONPATH , $LD_LIBRARY_PATH and $PATH as required,
## but each is under a different prefix.
for p in $DEPS; do
  spack load p
done

which python # gives some very long path inside ~spack/opt/
python3 -c "import numpy" # works

# scipy
git clone https://github.com/scipy/scipy
cd scipy

# optionally, I guess:
python3 setup.py install --user # should work

python3 runtests.py # complains about missing numpy

Error message:
Building, see build.log...
Error: 'numpy' must be installed before running the build.

Build failed! (0:00:00.504368 elapsed)`

Scipy/Numpy/Python version information:
python -c "import sys, numpy; print(numpy.__version__, sys.version_info)"
# 1.21.0 sys.version_info(major=3, minor=8, micro=11, releaselevel='final', serial=0)

scipy: master

I notice you swap between python and python3. Are you sure they are the same?

I notice you swap between python and python3. Are you sure they are the same?

Yes, they are the same in my cases.
Sorry, this is a bad inconsistency to have, I updated the description to only use python3.


[BACKEND] Refactor RemoveLayoutConversion pass

Significant changes to the pass logic. Move away from greedy rewrites and use more global analysis instead. The pass is now bocken down into 2 main phases. First forward propagation of layout starting from ops that we don't want to change. Propagate to all the nodes. If there is a single layout needed for the op then we can rewrite the op, if there are multiple layout required based on dependency we need a tie break.
The second phase is backward propgation that gets a backward slice of operations starting from the convert and if all the operations in the slice can be rematerialized rewrite the slice. This backward phase now supports going through loop arguments.
This will allow more complex logic in the future to add a cost model to decide which convert to leave and which to fold

Thanks for the great work! I'll make sure to take a pass over once all tests have succeeded.

Thanks for the great work! I'll make sure to take a pass over once all tests have succeeded.

Thanks! The tests are green now, please take a look when you get a chance.

Have you check the kernel performance? I asked because it doesn't produce bitwise identical kernels, just wanted to make sure perf is OK

Have you checked the kernel performance? I asked because it doesn't produce bitwise identical kernels, just wanted to make sure perf is OK

Right, I'm running the internal benchmarks to compare performance, in general it is on par, there are couple cases that are worse that I'm debugging.


StochasticRSI documentation

there is a missing documentation of StochasticRSI, I was wondering if it works? or if can someone explain me the correct usage and input set?

You can use like that.
const closeValueList = [
632.97, 629.68, 631.54,  633.5,
635.08, 632.96, 632.55, 628.95,
631.12,  629.1, 626.97,  623.6,
626.95,  623.8,  625.9, 630.37,
629.11,  625.1, 621.47, 614.03,
618.17, 623.19, 618.12, 616.94,
619.97, 619.07, 620.47,  624.3,
623.79, 623.68,    627, 627.83,
627.19 ]
const inputStochasticRSI = {
values: closeValueList, // your last 33 close values are used here
rsiPeriod: 14,
stochasticPeriod: 14,
kPeriod: 3,
dPeriod: 3,
};
const stochRSIResponse = StochasticRSI.calculate(inputStochasticRSI);
Its response is different from tradingview response. I don't know why?


 On Android this is hardware accelerated (where possible), but on iOS VP8 support is provided via a software implementation.
On the positive side VP8 support in Chromium WebRTC is mature and well understood. However, performance could be better and ultimately using the hardware codecs (which ship with all iOS devices) is going to provide the best performance for small scale Rooms.
We are working to add support for H.264 on both of our mobile platforms. This ticket will be updated with more details as we get closer to releasing this feature.

Ooof! I am disappointed with vanilla WebRTC performance on iOS, and was looking to try the Twilio SDK instead, but VP8 software decoding is a bit of a blocker for my use case (I have a lot of chrome and other CPU intensive processes going on during video calls.)
VP9 is an optional compilation flag when building WebRTC for iOS, but I could not get it to perform well on anything but an A10 ↔ A10 processor call.
h.264 main profile is standard and performs reasonably well and similar to VP8, but with reduced CPU strain and power consumption.
h.264 high profile is also available in iOS WebRTC by toggling a field trial flag at runtime, and in my tests performed well all the way down to A6 processor (iPhone 5 and 5C), and perhaps older. It also can save ~20% network bandwidth over main profile h.264.
I realize that cross-platform support for these different encodings may be more difficult, but is it possible that you could allow them as opt-in via SDP?

With iOS 11, native HEVC is available. Support would need to also be added to WebRTC. Also in iOS 11, Safari is adding WebRTC support, so perhaps there will be patches to WebRTC that enable HEVC.

Hi @jondwillis,
Thanks for your feedback. We have been testing VP9, and H.264 internally and generally agree with your assessment. I don't think we will be using the software VP9 encoder any time soon on iOS as the performance is pretty poor, but H.264 provides some significant performance wins. One thing to note though, is that hardware H.264 encoders and decoders are a limited resource. It's possible for other apps and/or Airplay to use them in parallel with your video app.
The first place we would like to use H.264 is in 1:1 Peer-to-Peer Rooms. We are still considering how to offer this feature to developers (possibly as an opt-in to start, becoming the default in scenarios where it performs well). There are also some implications on the capture pipeline side of things in order to support pixel formats other than NV12 without un-necessary conversions.
As for HEVC, it looks like Safari will start with H.264 support since it is based upon Chromium's WebRTC implementation. Hopefully Apple will consider contributing patches which enable H.265 support for iOS and macOS.
https://webkit.org/blog/7726/announcing-webrtc-and-media-capture/
Now that we've passed 1.0, wider codec support is definitely a priority for our team. I will circle back with our leads and product managers to see where this feature will land in our release schedule.
Regards,
Chris Eagleston

Hi,
Thank you to everyone who has provided feedback through support channels, and on Github.
We are targeting Q3 for shipping H.264 support on our iOS Clients, with the goal of having H.264 available for at least some use cases by the time Safari 11 & iOS 11 are released. Initially we will be targeting 1:1 Peer-to-Peer Rooms, and a new variant of Group Rooms. I will provide more info on this ticket as H.264 rolls out in beta form.
Regards,
Chris Eagleston

@ceaglest Is there a way to use H.264 with Twilio room servers today? Even if it is just peer to peer, this would help me out on my current project greatly.

Hi @jondwillis,
This is not possible at the moment with an iOS Twilio Video Client. Our capture pipeline is not strictly compatible with the H.264 encoder so our codec factories don't vend H.264. There is nothing in Peer-to-Peer Rooms that prevents using H.264 but there are also no APIs to promote that codec to the top of the rtp map. Some Android devices support H.264 and offer it today, but the codec is never selected. Same with JavaScript, but you could promote it to the top by modifying twilio-video.js.
Regards,
Chris Eagleston

Hello,
A quick update here. We've just released 2.0.0-preview1 which both supports H.264 and allows you to prefer this codec over VP8 at Room connection time.
https://www.twilio.com/docs/api/video/changelogs/ios#200-preview1-september-11-2017
Our sample apps don't yet demonstrate the usage of the new codec selection APIs, and we are still working on updating our guides for the preview release. However, you can get started right now with updated QuickStart examples.
https://github.com/twilio/video-quickstart-swift/tree/2.0.0-preview
More updates to come as we flesh out samples and supporting materials. Future preview/beta releases will continue to improve functionality when it comes to error handling, and edge cases regarding H.264 & codec selection.
Best,
Chris Eagleston

@ceaglest Great! This is actually right in time for me to check out before I launch an app. Is there any way to support high profile H.264?

Hey @jondwillis,
Our 2.0.0-preview2 release does not support high profile H.264 yet, but we would like to enable it as another TVIVideoCodec option during the preview/beta period. When we do enable high profile, I expect it will only be supported within Peer-to-Peer Rooms to start. In Group Rooms, and without transcoding most platforms are limited to the Constrained Baseline profile and will not be able to decode it.
From your earlier messages, it sounded like P2P only was okay for your use case.
Best,
Chris Eagleston

Hi,
For anyone trying out our 2.0.0-preview releases we've updated the Swift QuickStart examples to demonstrate both audio and video codec selection. Please note that Group Rooms currently support the VP8, H.264, and OPUS codecs. If you wish to select H.264 then you need to create your Room via the REST API, otherwise you will get VP8 by default.
We will be publishing an updated guide soon which provides more details on the codec preference APIs. Until then, if you're working with Safari 11 and twilio-video.js see our Developing for Safari 11 guide.
Have a good weekend,
Chris Eagleston

@ceaglest Thanks so much for this! I am currently integrating Twilio into my app now that it supports hardware accelerated H.264 on iOS.
You mentioned that high profile might be in the works, and I know it is easily enabled in WebRTC clients behind a field trial flag. Do you have any idea if and when that might get prioritized?
Also (and this is really a long shot), now that newer devices running iOS 11 and macOS 10.13 support HEVC, and WebRTC supports injectable codecs, do you think it'd be possible to see HEVC support from Twilio in the not-too-distant future? I think with the politics behind WebRTC it might be years before we see mainstream support for it, but I don't see a really good reason (other than some added complexity) not to take advantage of the huge performance and bandwidth wins it provides. https://bugs.chromium.org/p/webrtc/issues/detail?id=8265

Hey @jondwillis,

You mentioned that high profile H.264 might be in the works, and I know it is easily enabled in WebRTC clients behind a field trial flag. Do you have any idea if and when that might get prioritized?

I don't have an estimate to share today, but our team is gathered for quarterly planning this week so we will look at how it fits into our roadmap. I can certainly enable the field trial flag to get this feature working in Peer-to-Peer Rooms without much effort, and provide support for prioritizing the codec over constrained baseline H.264. Where it fits in with the rest of our product, including Group Rooms is something that begs further discussion.

Also (and this is really a long shot), now that newer devices running iOS 11 and macOS 10.13 support HEVC, and WebRTC supports injectable codecs, do you think it'd be possible to see HEVC support from Twilio p2p rooms in the not-too-distant future? I think with the politics behind WebRTC it might be years before we see mainstream support for it, but I don't see a really good reason (other than some added complexity) not to take advantage of the huge bandwidth wins it provides. https://bugs.chromium.org/p/webrtc/issues/detail?id=8265 Support could be a huge competitive advantage for Twilio since it would bring FaceTime-quality video support for Apple products.

I've seen the feature request in Chromium WebRTC, and would be overjoyed if Google were to implement H.265 support. It's certainly got my star, but Twilio doesn't have plans to support H.265 separate from Google's efforts at this time. For what it's worth the VideoToolbox side of things is not much different than H.264, but the packetization and SDP support may be more challenging.
Regards,
Chris Eagleston

@ceaglest Looking at the documentation here: https://www.twilio.com/docs/api/video/rooms-resource#create-room  for creating rooms with another codec, it doesn't see like you can say you support more than one?  In the client you can list an order of preferredCodecs, but on the on the server side it implies you can have only one.
We will upgrade our clients to 2.0, but not necessarily all at once.  It seems like if we switch room creation to just H264 then old clients won't be able to connect?

@mcorner Chris is out on a vacation. You are correct, based on our current feature set on 1.x TwilioVideo SDK, if a Group Room is restricted to use H.264 codecs only, the existing 1.x clients won't be able to negotiate any video codecs in that Group Room.
Thanks for bringing this up, we ware discussing this issue. One solution we are discussing internally in the team is backporting H.264 and codec preference feature into 1.x. I will update the ticket when I have more information on this. Thank you!

Hey @mcorner,

@ceaglest Looking at the documentation here: https://www.twilio.com/docs/api/video/rooms-resource#create-room for creating rooms with another codec, it doesn't see like you can say you support more than one? In the client you can list an order of preferredCodecs, but on the on the server side it implies you can have only one.

We're working on enabling support for hybrid codec Group Rooms. This means that you will be allowed to select both H.264 and VP8 as valid video codecs when you create a Room via the REST API, or in your default Room settings via the console. In hybrid codec Rooms client side video codec preferences will still determine which codec you use to publish your video Track.
In Peer-to-Peer Rooms any codec is allowed and its up to the Clients to negotiate a codec supported by both parties.

We will upgrade our clients to 2.0, but not necessarily all at once. It seems like if we switch room creation to just H264 then old clients won't be able to connect?

If you choose just H.264 today then older 1.x Clients will be able to connect, but they won't be able to receive any (h.264) video Tracks published in the Group Room. Since they still support the OPUS codec any audio Tracks from remote Participants will be available. In a Peer-to-Peer Room 1.x and 2.x Clients will negotiate a commonly supported video codec (usually VP8).
We're working on a guide which has much more information about codec selection. Hopefully I will have more to share once the hybrid codecs feature goes live.
Best,
Chris Eagleston

Hi,
Just a quick update about Group Rooms and our 1.x clients. Earlier I said:

If you choose just H.264 today then older 1.x Clients will be able to connect, but they won't be able to receive any (h.264) video Tracks published in the Group Room. Since they still support the OPUS codec any audio Tracks from remote Participants will be available.

This is the expected behavior. However, there is currently a bug when negotiating a PeerConnection in H.264 Group Rooms where the Client doesn't support H.264 video. You may notice that 1.x Clients do not receive any media and see a logged error:
PeerConnectionSignaling: Client is unable to apply a remote media description 53402

We're currently testing a fix for this issue on the server side. We plan to deploy the change next week, at which point iOS 1.x Clients will be able to join H.264 Rooms in an audio-only capacity.
Cheers,
Chris Eagleston

Hello,
This morning we deployed a new release of our Media Servers which resolved the 53402 errors for 1.x Clients.
Best,
Chris

Hi,
We've recently published a guide on Managing Codecs which may provide some helpful advice for those working with VP8, VP9, H.264 and audio codecs.
Amongst other news, we're working on VP8 Simulcast support for our mobile SDKs and we haven't forgotten about H.264 profiles. We should have more news to share about this in the coming weeks as we enter the beta phase for our 2.0 mobile SDKs.
Best,
Chris

Hello,
As of 2.1.1, we now support VP8 simulcast on iOS. We have also went ahead and updated our example code to allow you to try out VP8 simulcast for yourself.
https://github.com/twilio/video-quickstart-swift/pull/273
Best,
Chris

Hi folks,
I've got another update for you on video codec support.
As a part of transitioning our mobile SDKs to WebRTC 67 we have been testing scenarios involving multiple H.264 profile levels. During this testing, we discovered that our mobile clients don't always handle codec preferences correctly when multiple profile levels are present in an SDP. We are working on resolving the codec preference issue in our current sprint, and once we do we will be able extend TVIH264Codec to select the Constrained High profile.
For anyone who is using H.264 today, you might find our new VideoRenderer example interesting. It demonstrates rendering of remote video using AVSampleBufferDisplayLayer, something isn't as practical when your frame source is I420 from the VP8 decoder. We are putting the finishing touches on the Pull Request and expect to merge it next week.
Best,
Chris

@ceaglest Good day! How can I change the order of video codecs? by default its VP8/VP9, H264, I need to re-order it into H264  VP8/VP9, reason is memory usage of IOS spikes when it receives either VP8/VP9 video codecs. Hope to hear from you.
Thank you,
Jef

@coderzone014 Chris is out on Monday, Aug 6th. He will be back on Tuesday, Aug 7th.
You can change the codec preference by setting the preferredVideoCodecs property on TVIConnectOptions. [Here] is the exmple on how to do this. Also, our QuickStart demonstrates this feature where you can chose the preferred codec from Settings (top right on screen).

Hi @coderzone014,
Just a quick note, if you are concerned about the exact ordering of codecs you can go one step further than the example and specify preferences for all video codecs like so:
let connectOptions = TVIConnectOptions.init(token: accessToken) { (builder) in
    // In order of preference - H264, VP8, then VP9
    builder.preferredVideoCodecs = [TVIH264Codec(), TVIVp8Codec(), TVIVp9Codec()]
}

That's it for me, catch you tomorrow.
Best,
Chris

Closing this issue since VP8 is no longer the only supported video codec and I don't want to use this issue as a placeholder for any and all video codec support in Twilio Video.


Accept: Game Master Ratings

Description
Acceptance Test for #201
Ability to read, and create entries with ratings about a particular user
UAT Environment for executing the acceptance flow
See #317  for automation of this flow
Acceptance flow

User Logs in
User Navigates to the character index and chooses a character
User creates a new Entry that has a Game masters name attached to it
User clicks next and chooses the options that reflect the Game master's play styles
User clicks next and saves the entry
The rating for the GM is attached in the system

I love the icons used for the DM rating.
Everything works perfectly! Approved!
-Kate Ruscito


refactor StarFile into StarParser and StarWriter

The current implementation of the StarFile object is clunky, especially in its constructor.
This is mainly due to the fact that it tries to do cover the possibilities of both reading and writing files from the same object, this is unnecessary because in reality we only ever see the data as a DataFrame or list of DataFrames.
Refactoring in this way will simplify the backend significantly

closed by #10


onHydrate option

is it possible to implement onHydrate callback that can be provided to createPersistentStore options?
it's very useful as hydration is async and I faced a case when my actions right after the mounting were performed before the initial hydration from the localforage?

Hello, I have also faced this similar issue. So opened a PR to address this. @kuasha420 please have a look :slightly_smiling_face:

Arghh, missed this one in my GH notification. Thanks @nastassiadanilova for raising and @smamun19 for the PR. I'll get this merged and released ASAP. Cheers all.


grant type CLIENT_CREDENTIALS

with current implementation, if we use a public client with no secret
then the basic header is this format:    'clientIdabc123:'
It can get token by grant type CLIENT_CREDENTIALS

/remove-lifecycle stale

Hey @Allen8975701, I would like to work on this issue, could you please tell me more about it?
You mentioned the basic header format: 'clientIdabc123:', which seems to be a Base64-encoded representation of the client ID without any client secret am I correct?

yes, you are correct.

@AryanSharma9917  did you have any update?


Adding a test file to new_branch

@ADHILSHA Is it safe to assume that this pull request was intended for your forked repository? Please allow me to close this PR.


Docker Build fails

docker build --tag <DOCKER_ID>/azurefunctionsimage:v1.0.0 .
Command fails on my machine - it looks like the docker file a bit dated
It works if I use this command for creating the project (not isolated):
func init --worker-runtime dotnet--docker

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

ID: 6c0173e7-c268-c1d6-2ca8-9f00f18cd867
Version Independent ID: 77c6f256-52a1-319b-36d4-35386d86b147
Content: Create your first containerized Azure Functions on Azure Container Apps
Content Source: articles/azure-functions/functions-deploy-container-apps.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Thanks for the feedback! We are currently investigating and will update you shortly.

It looks like func init --docker is generating and old Dockerfile version for C#. This is likely a product bug and not a doc issue, but we'll track it down. #sayedimac, thanks for reporting it!

I've opened a product issue to track this: https://github.com/Azure/azure-functions-core-tools/issues/3384

#please-open to address the documentation requirement of Azure Functions Core Tools 4.0.5198.


[[backend]] section in elba.toml is not being used

I tried to get the following small hello world project to compile using the javascript backend, but elba build exits with:
$ LC_ALL=C elba build
       [1/2] Resolving dependencies...
       [2/2] Building targets...
    Building test/test 0.1.0 (dir+/mnt/DataHDD/code/sw/test) [94371529..]
     [error] Couldn't build binary 0 for test/test 0.1.0 (dir+/mnt/DataHDD/code/sw/test)
couldn't locate codegen output file: /mnt/DataHDD/code/sw/test/target/bin/test.js

error: one or more packages couldn't be built

Calling the idris compiler directly works:
$ idris --codegen javascript src/Main.idr -o test.js
$ node test.js
Hello world!

Project is attached, any pointers?
test.zip

Unfortunately elba doesn't read backend section from elba.toml. You can only pass it from cli args like elba build --backend javascript

Thanks for the workaround, changed to a more useful title for trackign the issue.

I am going to close this issue.
@dcao expressed his concern on a potential problem that the user of the library may have different codegen backend setup from the libarary author's, so we should not allow the author from specifying the backend to use.
At lease one thing I think we can do later is to change the manifest parser to be more conservative so that it could throw an error when a unsupported section or item is provided.

I think being able to specify the codegen for binary targets only would be a really nice to have so that elba build works out of the box, after all, main will always target a specific IO' implementation.

Sounds good to me, but it may not be done until next major release because it involves fundamental changes on build system.


Run GAE with my own graph

Hi Thomas!
Thanks for your really great work! I try to use my self-designed graph to train this model. I provide the adjacency matrix like this:
[[0 1 0 1 0 0 0 0 0 0 0 0 0]
[1 0 1 0 0 0 0 0 0 0 0 0 0]
[0 1 0 1 0 0 0 0 0 0 0 0 0]
[1 0 1 0 1 0 0 0 0 0 0 0 0]
[0 0 0 1 0 1 0 0 1 0 0 0 0]
[0 0 0 0 1 0 1 0 0 0 0 0 0]
[0 0 0 0 0 1 0 1 0 0 0 0 0]
[0 0 0 0 0 0 1 0 1 0 0 0 0]
[0 0 0 0 1 0 0 1 0 1 0 0 0]
[0 0 0 0 0 0 0 0 1 0 1 0 1]
[0 0 0 0 0 0 0 0 0 1 0 1 0]
[0 0 0 0 0 0 0 0 0 0 1 0 1]
[0 0 0 0 0 0 0 0 0 1 0 1 0]]
and this is my input_data code:
def creat_my_graph():
G = nx.Graph()
G.add_nodes_from(range(1,5))
G.add_edges_from([[1,2],[2,3],[3,4],[4,1]])

G.add_nodes_from(range(5,10))
G.add_edges_from([(5,6),[6,7],[7,8],[8,9],[9,5]])

G.add_nodes_from(range(10,13))
G.add_edges_from([(10,11),[11,12],[12,13],[13,10]])

G.add_edges_from([(4,5),(9,10)])
nx.draw(G)
adj = nx.adjacency_matrix(G)
features = np.identity(adj.shape[0])
print(adj.todense())
plt.show()
return adj, features

But there is an error:
File "/Users/xieximing/android/gae-master_embedding/gae/preprocessing.py", line 59, in ismember
rows_close = np.all(np.round(a - b[:, None], tol) == 0, axis=-1)
ValueError: operands could not be broadcast together with shapes (0,) (30,1,2)
if I change the adjacency matrix like this:
[[0 1 1 1 1 1 0 0 0 0 0 0 0 0 0]
[1 0 1 1 1 1 0 0 0 0 0 0 0 0 0]
[1 1 0 1 1 1 0 0 0 0 0 0 0 0 0]
[1 1 1 0 1 1 0 0 0 0 0 0 0 0 0]
[1 1 1 1 0 1 0 0 0 0 0 0 0 0 0]
[1 1 1 1 1 0 1 0 0 0 0 0 0 0 0]
[0 0 0 0 0 1 0 1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 1 0 1 0 0 0 0 0 0]
[0 0 0 0 0 0 0 1 0 1 0 0 0 0 0]
[0 0 0 0 0 0 0 0 1 0 1 1 1 1 1]
[0 0 0 0 0 0 0 0 0 1 0 1 1 1 1]
[0 0 0 0 0 0 0 0 0 1 1 0 1 1 1]
[0 0 0 0 0 0 0 0 0 1 1 1 0 1 1]
[0 0 0 0 0 0 0 0 0 1 1 1 1 0 1]
[0 0 0 0 0 0 0 0 0 1 1 1 1 1 0]]
this error doesn't show up.
I'm quite confused about it.

Looks like your a in a - b[:, None] is of shape (0,). Maybe step through it using a debugger and see where it goes wrong (i.e. wherea gets this collapsed shape).

I had this issue as well.
The problem arises when the script makes the validation edges. If your graph is small, then the operation that gets the number of validation edges returns a 0 number.
Long story short, reduce the number of validation/test splits for this graph


Expose process information on the configuration interface.

          We really should expose this information on the configuration interface s.t. you don't have to guess here.

Originally posted by @omarhogni in https://github.com/Skaginn3x/framework/pull/174#discussion_r1355854488

create public file tfc/dbus/connection.hpp which exposes sdbusplus::asio::connection or interface to make the process exposed under the connection


Consider adding support for group stages and leagues.

Many tournaments are either the pinnacle to a group stage and/or league or lead into another tournament in the same league. It would be useful, though not required, to add support for representing group stages and leagues.

at that point where do you stop? do you represent the whole league in one document? how do you separate entrants from different parts of the league. like nhl conferences

Leagues could be separated out into their own standard which uses OBF itself. I would say leagues are not a particularly high priority item, just something to keep in mind going forward and potentially support in the future.

For now at least, we've decided to focus OBF on capturing data from individual events instead of leagues. We might revisit this decision in the future.


Add Rails/SaveBang cop

Checks for use of save and related Active Record methods where the return type is not handled and the exception raising bang version save! should be used.
This addresses issue https://github.com/bbatsov/rubocop/issues/3128
Bad model.save
Good model.save! or
if model.save
  . . .
else
 . . .
end

The build failed because you need to give yourself credit in the changelog. Append this on your line:  ([@QuinnHarris][]).

The build is affected by https://github.com/bbatsov/rubocop/issues/3278

@QuinnHarris The 1.9 build issue has been addressed in the latest version of master. However you will still need to add an entry, for your name, to the bottom of the CHANGELOG.
If you take a look here you will see that your name isn't being set as a link:
https://github.com/QuinnHarris/rubocop/blob/60136074af6daef872cda6651331d39e7ccbf2cf/CHANGELOG.md

I believe the build and CHANGELOG issues have been addressed in addition to changing a test name.

Apart from my inline remarks - it would be a good idea to add a matching rule to the Rails Style Guide so we can link to it from the cop.

I started a PR on Rails Style Guide https://github.com/bbatsov/rails-style-guide/pull/190
@bbatsov Note sure what the save? remark meant

@bbatsov Note sure what the save? remark meant

I've explained this in an inline comment. The PR has to be squashed and rebased. You can add the link to the new style guide rule as well.

I made a few extra remarks. Once addressed this will have to be rebased again.

There is an issue with this cop: #3439


v1.1.1

fix terminal display and add config options

fixes #129

Codecov Report

Merging #131 (6044f27) into master (68ebb6c) will decrease coverage by 0.18%.
The diff coverage is 26.08%.

@@            Coverage Diff             @@
##           master     #131      +/-   ##
==========================================
- Coverage   58.68%   58.49%   -0.19%
==========================================
  Files          36       36
  Lines        5843     5850       +7
==========================================
- Hits         3429     3422       -7
- Misses       2414     2428      +14

Impacted Files
Coverage Δ

src/interpreters/Python3_fifo.rs
30.78% <0.00%> (-0.33%)
:arrow_down:

src/interpreters/Python3_jupyter.rs
35.16% <0.00%> (-2.71%)
:arrow_down:

src/interpreters/Python3_original.rs
43.64% <33.33%> (+0.04%)
:arrow_up:

src/interpreters/Prolog_original.rs
36.84% <55.55%> (ø)

Continue to review full report at Codecov.

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


config: accept external DataSourceOptions as a bean

Hi, some times the configuration exist in a json file on a specific location

Hi,
This PR contains many stylistic changes. Could you cut down them and leave only essential diffs?
Thanks.


Typo on statistics-panel (irrelevant-->irrelevant)

my first edit/contribution, hope I'm doing this the right way via PR

Thanks, and welcome contributor.


ttnn.conv2d fails with statically allocated circular buffer issue

Describe the bug
ttnn.conv2d is failing with Statically allocated circular buffers in the unit test of SDXL_Turbo model for the resolution 1024x1024 when memory config is set to ttnn.L1_MEMORY_CONFIG
To Reproduce
Steps to reproduce the behavior:

Checkout keerthanar/sdxl_turbo_unit_test
Run the following command,
pytest tests/ttnn/unit_tests/operations/test_new_conv2d.py::test_conv_sdxl_turbo_1024x1024_l1_failing_case
The test will fail with the following error will occur,
RuntimeError: TT_THROW @ ../tt_metal/impl/program/program.cpp:839: tt::exception E       info: E       Statically allocated circular buffers in program 23 clash with L1 buffers on core range [(x=0,y=0) - (x=7,y=6)]. L1 buffer allocated at 265216 and static circular buffer region ends at 356448

Please complete the following environment information:
WH (n150)

@keerthana-r-mcw One way to work around this is to set deallocate_activation and reallocate_halo_output to True
I've tested that out and pushed code here.
https://github.com/tenstorrent/tt-metal/tree/pjosipovic/sdxi_turbo_unit_test

@pavlejosipovic test got passed. Thanks


Ample Application Submission

Project Abstract
Create Streaming Royalty/Residual Payment Claims, Token Gated Streaming Access and Supporting IP + Streaming Royalty + Licensing Legal Doc open source modules for devs/projects/startups in the NEAR + Mintbase ecosystem.
For which grant level are you applying?

[ ] Level 1:  Up to $10,000, 2 approvals
[x] Level 2:  Up to $50,000, 3 approvals and one pitch to Mintbase Council
[ ] Level 3:  Unlimited, 5 approvals and mutliple pitches to Mintbase Council

Application Checklist

[x] The application template has been copied, renamed ( project_name.md) and updated.
[ x] NEAR address for the payment of the milestones is provided inside the application.
[ x] I have read and acknowledged the terms and conditions.
[ x] The software delivered for this grant will be released under an open-source license specified in the application.
[x ] The initial PR contains only one commit (squash and force-push if needed).
[ x] The grant will only be announced once the first milestone has been accepted.

How Did You Hear About our grants program?

[ ] Mintbase Website
[ ] Mintbase Community (Twitter, Discord, Telegram etc.)
[ ] Hackathon
[ x] Personal Recommendation
[ ] Investor/VC
[ ] Online Search
[ ] Other: _______

Congratulations on being accepted to Mintbase Grants Cohort 2!

This is great news; really looking forward to working together 🤝
Founder
AMPLE https://ample.stream
Tokenzing a $2T Media & Entertainment Industry
Join our Discord https://discord.gg/8yUwnapFmd
Follow us on Twitter https://twitter.com/AMPLE_Stream
On Thu, Feb 22, 2024 at 10:55 AM Luís Freitas @.***>
wrote:

Congratulations on being accepted to Mintbase Grants Cohort 2!
—
Reply to this email directly, view it on GitHub
https://github.com/Mintbase/Grants-Program/pull/121#issuecomment-1959744416,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCLXB3T6GSGIKZLN7HRKBOTYU5S5PAVCNFSM6AAAAAA75EV7ZKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJZG42DINBRGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add support for custom environment variables when creating Pages Project

Description
While working with pages project I noticed that the go implementation forces you to have only one environment variable when creating a new pages project, specifically only "BUILD_VERSION".
However, the API accepts any arbitrary variables as long as the format is:
{
  "VAR_NAME": {
     "value" : "THE_VALUE"
   }
}

At first I thought this might have been an undocumented behavior, however the  API documentation seems generally off too. It seems to suggest that all fields for creating a pages project are optional when they are not, it seems to suggest that there are a bunch of "read only" fields, but they are not all "read only", and finally from the dashboard UI it is possible to create environment variables when creating a new pages project, so I guess this is not an undocumented behavior after all.
Has your change been tested?
I have tested it using the tests already included for pages project and extended them to cover the case of custom environment variables.
Types of changes
What sort of change does your code introduce/modify?

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] This change is using publicly documented (api.cloudflare.com or developers.cloudflare.com) and stable APIs.

thank you @rhaidiz; this is awesome work!


python311Packages.types-setuptools: <IP_ADDRESS>40317 -> <IP_ADDRESS>40415

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.types-setuptools is: Typing stubs for setuptools
meta.homepage for python311Packages.types-setuptools is: https://github.com/python/typeshed
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS>40415 with grep in /nix/store/iz1xy01wgnxar2ha5ymimf0r9vs65j5j-python3.11-types-setuptools-<IP_ADDRESS>40415
found <IP_ADDRESS>40415 in filename of file in /nix/store/iz1xy01wgnxar2ha5ymimf0r9vs65j5j-python3.11-types-setuptools-<IP_ADDRESS>40415

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

137 total rebuild path(s)

137 package rebuild(s)

First fifty rebuilds by attrpath
activitywatch
ansible-builder
ansible-navigator
aw-watcher-afk
beautysh
bitwarden-menu
buku
checkov
cmake-format
cmake-language-server
coconut
conan
cve-bin-tool
cwltool
cyclonedx-python
emacsPackages.python-isort
etesync-dav
flitter
gup
isort
keepmenu
mypy
nbqa
pip-audit
pokete
prospector
pylint
python311Packages.aiogithubapi
python311Packages.algebraic-data-types
python311Packages.ansible-builder
python311Packages.ansible-navigator
python311Packages.avro-python3
python311Packages.beautysh
python311Packages.betterproto
python311Packages.brotli-asgi
python311Packages.coconut
python311Packages.cwl-upgrader
python311Packages.cwl-utils
python311Packages.cyclonedx-python-lib
python311Packages.diff-cover
python311Packages.django-stubs
python311Packages.djangorestframework-stubs
python311Packages.dragonfly
python311Packages.fastapi-sso
python311Packages.flake8-import-order
python311Packages.isort
python311Packages.lxml-stubs
python311Packages.mdformat-beautysh
python311Packages.mkdocs-rss-plugin
python311Packages.mypy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/iz1xy01wgnxar2ha5ymimf0r9vs65j5j-python3.11-types-setuptools-<IP_ADDRESS>40415 \
  --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 python311Packages.types-setuptools https://github.com/r-ryantm/nixpkgs/archive/c4d8f91beb73af02f14a909d6829c378c2e0a5fc.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c4d8f91beb73af02f14a909d6829c378c2e0a5fc#python311Packages.types-setuptools

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/iz1xy01wgnxar2ha5ymimf0r9vs65j5j-python3.11-types-setuptools-<IP_ADDRESS>40415
ls -la /nix/store/iz1xy01wgnxar2ha5ymimf0r9vs65j5j-python3.11-types-setuptools-<IP_ADDRESS>40415/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.

Already on master.


Added the program for Node to Root Path in a Binary Tree

Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
Yes
Description
(Write your answer here.)
Successfully added the program for Node to Root Path in a Binary in Java folder
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)
#3706

@ankitaggarwal23  I was just these changes only ,
The reason for my inactivity was : I had fever , so was not able to do these things asked

@ankitaggarwal23 I was just making these changes only ,
The reason for my inactivity was : I had fever , so was not able to do these things asked
I dont' know why all the project maintainers don't even ask the reason from the person who submitted the PR , and just close it
It's really very rude of you guys

@Jassi10000 It's not like that as you're inactive from last 3 days after we requested the changes the thing is as the one month phase of gssoc is going to be an end and now we are finalizing.

@ankitaggarwal23 I was just making these changes only ,
The reason for my inactivity was : I had fever , so was not able to do these things asked
I dont' know why all the project maintainers don't even ask the reason from the person who submitted the PR , and just close it
It's really very rude of you guys

@Jassi10000 It's not like that as you're inactive from last 3 days after we requested the changes the thing is as the one month phase of gssoc is going to be an end and now we are finalizing.
You can start working.

Thank you for understanding @ankitaggarwal23 for reopening this , I will deliver the requested changes as soon as possible

@ankitaggarwal23  Sir , can you please check nd review my latest commits , I have corrected all the faults that were present in my file and Readme too

@HarshCasper I have made the requested changes , please check once

Add a beginner friendly description first. Address the changes requested first

Add a beginner friendly description first. Address the changes requested first

@HarshCasper Now check once

@ankitaggarwal23 Thanks for merging the PR


Add devcontainer x docker information

In some organisations it may not be possible to install docker desktop. Let's mention it in the docs

Described in https://appsilon.github.io/tapyr-docs/contents/tutorials/05_how_to_set_up_environment.html#setting-up-locally-with-pip


Bug report

Version
2.0.8
Platform
On which platform is DKBans running? (example: BungeeCord)
Minecraft server Version
1.13 Bungeecord and Spigot
Minecraft client Version
1.13
Describe the bug
Cant join via Bungeecord:
Getting only the errormessage:
This was on Bungeecord console:
disconnected with: Internal Exception: io.netty.handler.codec.DecoderException: net.minecraft.server.v1_13_R1.ResourceKeyInvalidException: Non [a-z0-9_.-] character in namespace of location: DKBans:DKBans
This on Spigot:
[01:52:44 ERROR]: Couldn't register custom payload
java.lang.IllegalArgumentException: Channel must be entirely lowercase
at org.bukkit.plugin.messaging.StandardMessenger.validateAndCorrectChannel(StandardMessenger.java:478) ~[1.13.jar:git-Spigot-fe3ab0d-162bda9]
at org.bukkit.craftbukkit.v1_13_R1.entity.CraftPlayer.addChannel(CraftPlayer.java:1246) ~[1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.PlayerConnection.a(PlayerConnection.java:2434) ~[1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.PacketPlayInCustomPayload.a(SourceFile:45) ~[1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.PacketPlayInCustomPayload.a(SourceFile:9) ~[1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.PlayerConnectionUtils.a(SourceFile:10) ~[1.13.jar:git-Spigot-fe3ab0d-162bda9]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_181]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_181]
at net.minecraft.server.v1_13_R1.SystemUtils.a(SourceFile:198) [1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.MinecraftServer.w(MinecraftServer.java:884) [1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.DedicatedServer.w(DedicatedServer.java:411) [1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.MinecraftServer.v(MinecraftServer.java:819) [1.13.jar:git-Spigot-fe3ab0d-162bda9]
at net.minecraft.server.v1_13_R1.MinecraftServer.run(MinecraftServer.java:717) [1.13.jar:git-Spigot-fe3ab0d-162bda9]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
[01:52:44 INFO]: YukiHai lost connection: Invalid payload REGISTER!
To Reproduce
Just installed the plugin and followed the installation steps on the wiki

Not fixed


WIP: Save server state in database

Motivation

The ability to save the server state after page reload
Make some relations between entities on server. We can store all data in database from @mswjs/data
Split main and msw API handles + mock bundles. If we switch app to real API, msw and mocks shouldn't pass inside main bundle. In the future, it can be controlled via a special environment variable.

Changes (roadmap)

[x] Move server state to database in @mswjs/data
[x] Rewrite API handlers with database
[x] Split main app bundle and msw modules
[ ] Add persist database in sessionStorage

Result of split bundles:
before:

after (+mswjs/data):


Ordering of parentchain block syncing

Current Status
The first worker to register itself obtains the right to import parentchain blocks until the self-registry point. The others need to wait until they receive the first sidechain block before they can start importing the parentchain block.
This was necessary to ensure that the parentchain blocks are imported in an ordered manner, as indirect extrinsics were executed upon parentchain block import:
https://github.com/integritee-network/worker/blob/e9121f8b17fd718fb110742573eeeb6cf02c5652/service/src/main.rs#L426-L435
Problem
If the first worker to register itself is not producing blocks, all following workers to register themselves are not starting to produce sidechain blocks, because they never get to the point, where they could be participating in the sidechain. Because parentchain blocks are only imported if:

sidechain block import
my slot

but sidechain block is never coming (inactive first worker) and it's never "my slot" because we are not yet seeing ourselves on the parentchain, because we have not yet imported the blocks to this very point in history,
New Situation
With https://github.com/integritee-network/worker/pull/760 indirect extrinsic are now submitted to the top pool  and state diff are now forwarded via sidechain blocks instead of being directly executed once by every worker individually. Hence, parentchain blocks can be imported directly, no need to do so in an ordered manner. At least regarding the sidechain state.
Solution Proposal One
Instantiate the immediate parentchain block import trigger. No need to wait. At least that's what's coming to mind first when reading the situation above.
Concern
If parentchain blocks are imported immediately, different worker could end up with different parentchain states when producing and import sidechain blocks. Therefore, one might accept a sidechain block as up to date, while the other will not, as it is already outdated by one parentchain block.
Solution Proposal Two
Every worker imports parentchain blocks until self registry (because before that, they can not participate in the sidechain block production anyway).
After self registry three scenarios come to mind (with https://github.com/integritee-network/worker/issues/616#issuecomment-1022090746 in mind):

Only myself is registered, no sidechain block propsoals / finalization has happened. Well, all good, lets start producing blocks  (dev mode)! Or sync parentchain blocks until a second worker comes online. (No parentchain out-of-sync possible, because lonely worker)
Another worker and myself  are registered. No blocks have been finalized /proposed, though. Well, lets connect with the other one and start producing blocks. (No parentchain out-of-sync possible, because both worker start at the same parentchain block. If one worker is delayed, it will get noticed due to the slot time)
Another worker (or more) and myself are registered. Sidechain blocks have been finalized /proposed though. Well, let's sync up, update state and then start producing blocks. (No parentchain out-of-sync possible, because all worker are on sync when the next worker should get a slot production and can thereof deduct delayed proposals)

Notes: Sync
I think this needs some discussion.
But first a note about the problem from above: We should keep in mind that we are talking about an absolute a problematic case, which might occur in a dev-setup, but not in a production setup, when the workers are stable. Hence, if it is difficult to handle the case, I'd prefer not to handle it at all on the software side.
I think you are right, we can heavily optimize startup sequence here. However, I believe your solution about syncing until we are registered does not work, or at least the way I imagine it because we only register after we have finished the sync process. This should not be changed because at some point it might take hours to sync, and we don't want to register a worker that cannot produce blocks. This could be mitigated by adding a sync flag into the pallet-teerex, which would indicate that the worker is still syncing and not producing sidechain blocks, and should therefore not be part of the active authority set. We could discuss that, but on my first impression, I'd not want to introduce that state on the parachain if it is not strictly needed.
Alternatively, I can think of a SyncOracle in the worker/enclave, which indicates if we are still syncing. The SyncOracle's state is very simple. When we start syncing, is_syncing is set to true. When we notice that we are up-to-date because we just fetched the latest know parentchain block, is_syncing is set to false. As long as the SyncOracle indicates that we are still syncing, we do not handle any potential indirect calls contained in the imported parentchain block. There might also be other things that we could steer with the SyncOracle.
As a last note: I think we can actually fetch the light-client db from another worker in the startup-sequence, instead of syncing the whole chain. Our trust model would permit that. Would that have any downsides?

Ah ok, I was not aware of that. Does this mean that if a worker joins late, we have many slots, where no blocks are produced because the worker has not yet synced,?

I feel we can only properly resolve this once we enforce finality on L1. I think we need to nail down the requirements for the first block to be produced:

may not contain any indirect invocation extrinsic (as they would've been submitted before the sidechain us operative)
does it need to be produced by the first validateer registered? Or should anyone attempt to produce the first block and our finality pallet decides who's the winner?


Print formatted stats

Print formatted stats

Please make a note in the Surelog PR next time.

@hs-apotell, please submit another PR in Surelog to merge this and log files updated.

Done.


Add run notebook in dedicated extension host command

Fixes https://github.com/microsoft/vscode/issues/140374

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

Codecov Report

Merging #9492 (20030fb) into main (2aa9b62) will decrease coverage by 7%.
The diff coverage is 48%.

@@          Coverage Diff           @@
##            main   #9492    +/-   ##
======================================
- Coverage     73%     65%    -8%
======================================
  Files        228     228
  Lines      10506   10499     -7
  Branches    1539    1531     -8
======================================
- Hits        7731    6886   -845
- Misses      2147    2972   +825
- Partials     628     641    +13

Impacted Files
Coverage Δ

...pplication/commands/runInDedicatedExtensionHost.ts
44% <44%> (ø)

src/platform/common/serviceRegistry.ts
100% <100%> (ø)

src/platform/common/platform/fileSystemUtils.ts
8% <0%> (-85%)
:arrow_down:

src/platform/common/net/fileDownloader.ts
21% <0%> (-79%)
:arrow_down:

src/platform/common/experiments/telemetry.ts
22% <0%> (-78%)
:arrow_down:

src/platform/common/utils/multiStepInput.ts
9% <0%> (-67%)
:arrow_down:

.../platform/pythonEnvironments/info/pythonVersion.ts
9% <0%> (-62%)
:arrow_down:

src/platform/datascience/shiftEnterBanner.ts
29% <0%> (-60%)
:arrow_down:

src/platform/pythonEnvironments/info/executable.ts
42% <0%> (-58%)
:arrow_down:

src/platform/common/platform/fs-temp.ts
15% <0%> (-54%)
:arrow_down:

... and 61 more

Updated the package lock. Something is off with linting still. Looking into it quick.

Small tslint fix on the affinity max check.


fixed JVM syscheck that leads to invalid java version

 - Implemented cluster check for installed java version
Unreleased feature - no changelog update necessary.

changelog is missing

ack


The introductory example raises No module named 'displayio'

I followed instructions on https://docs.circuitpython.org/projects/displayio-sh1107/en/latest/index.html verbatim and I've got:
root@rpi4-usb:~# mkdir project-name && cd project-name
python3 -m venv .venv
source .venv/bin/activate
pip3 install adafruit-circuitpython-displayio-sh1107
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting adafruit-circuitpython-displayio-sh1107
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-displayio-sh1107/adafruit_circuitpython_displayio_sh1107-1.6.1-py3-none-any.whl (6.5 kB)
Collecting Adafruit-Blinka
  Using cached https://www.piwheels.org/simple/adafruit-blinka/Adafruit_Blinka-8.32.0-py3-none-any.whl (324 kB)
Collecting Adafruit-PlatformDetect>=3.53.0
  Using cached https://www.piwheels.org/simple/adafruit-platformdetect/Adafruit_PlatformDetect-3.60.0-py3-none-any.whl (23 kB)
Collecting Adafruit-PureIO>=1.1.7
  Using cached https://www.piwheels.org/simple/adafruit-pureio/Adafruit_PureIO-1.1.11-py3-none-any.whl (10 kB)
Collecting pyftdi>=0.40.0
  Using cached https://www.piwheels.org/simple/pyftdi/pyftdi-0.55.0-py3-none-any.whl (145 kB)
Collecting adafruit-circuitpython-typing
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-typing/adafruit_circuitpython_typing-1.10.2-py3-none-any.whl (11 kB)
Collecting RPi.GPIO
  Using cached RPi.GPIO-0.7.1.tar.gz (29 kB)
  Preparing metadata (setup.py) ... done
Collecting rpi-ws281x>=4.0.0
  Using cached rpi_ws281x-5.0.0.tar.gz (64 kB)
  Preparing metadata (setup.py) ... done
Collecting sysv-ipc>=1.1.0
  Using cached sysv_ipc-1.1.0.tar.gz (99 kB)
  Preparing metadata (setup.py) ... done
Collecting pyusb!=1.2.0,>=1.0.0
  Using cached https://www.piwheels.org/simple/pyusb/pyusb-1.2.1-py3-none-any.whl (58 kB)
Collecting pyserial>=3.0
  Using cached https://www.piwheels.org/simple/pyserial/pyserial-3.5-py2.py3-none-any.whl (90 kB)
Collecting adafruit-circuitpython-busdevice
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-busdevice/adafruit_circuitpython_busdevice-5.2.6-py3-none-any.whl (7.5 kB)
Collecting adafruit-circuitpython-requests
  Using cached https://www.piwheels.org/simple/adafruit-circuitpython-requests/adafruit_circuitpython_requests-2.0.5-py3-none-any.whl (11 kB)
Collecting typing-extensions~=4.0
  Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.9.0-py3-none-any.whl (32 kB)
Installing collected packages: sysv-ipc, RPi.GPIO, pyserial, Adafruit-PlatformDetect, typing-extensions, rpi-ws281x, pyusb, Adafruit-PureIO, pyftdi, adafruit-circuitpython-requests, adafruit-circuitpython-busdevice, adafruit-circuitpython-typing, Adafruit-Blinka, adafruit-circuitpython-displayio-sh1107
  DEPRECATION: sysv-ipc is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for sysv-ipc ... done
  DEPRECATION: RPi.GPIO is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for RPi.GPIO ... done
  DEPRECATION: rpi-ws281x is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for rpi-ws281x ... done
Successfully installed Adafruit-Blinka-8.32.0 Adafruit-PlatformDetect-3.60.0 Adafruit-PureIO-1.1.11 RPi.GPIO-0.7.1 adafruit-circuitpython-busdevice-5.2.6 adafruit-circuitpython-displayio-sh1107-1.6.1 adafruit-circuitpython-requests-2.0.5 adafruit-circuitpython-typing-1.10.2 pyftdi-0.55.0 pyserial-3.5 pyusb-1.2.1 rpi-ws281x-5.0.0 sysv-ipc-1.1.0 typing-extensions-4.9.0
(.venv) root@rpi4-usb:~/project-name# cat > test.py
//code from example

(.venv) root@rpi4-usb:~/project-name# python test.py
Traceback (most recent call last):
  File "/root/project-name/test.py", line 2, in <module>
    import displayio
ModuleNotFoundError: No module named 'displayio'

Are there some steps missing from the instruction?

It looks like you're setting up for the Blinka environment. Try running pip3 install adafruit-blinka-displayio.

This was resolved in #21. Blinka displayio is now listed in requirements.txt


[VL] Maintain a list of overridden classes against Gluten's dependencies

Use the list to track on the classes that were from dependencies and then overridden by Gluten.

@JkSelf @rui-mo


Added prime number code in cpp

Issue #157 .
I added a code in C++ to check if a number is prime or not. The code even checks if the number inputted is integer or not as only positive integral numbers are in the set  of prime numbers. This is a small contribution on behalf of me for GSSOC'21.

Also, add it to a proper folder.

@rudrakshi99 can you please help me by saying how can i add my file to the C++ folder . Which git command do i have to use ? I am a beginner in git ,so I don't know all git commands .

@rudrakshi99 @plazzy99 please review my code and tell me if any more changes needs to be done. I am very new to github and i faced difficulties while updating readme . Please tell me if anything is wrong.

Please see now @plazzy99 . I have done as requested. Please tell me if I am wrong . Please tell me what further changes I need to do. Please merge this pr.

@plazzy99 @rudrakshi99 @tarun26091999 please review my changes

@raksha009  @shreyanspoddar please review my pr please merge it

@rudrakshi99 I have done the changes as requested.  Please tell me if any further changes needs to be done..
Please merge my pr..Thank you


Dont find my account

Hi
Some months ago i was creating with my ledger and the fairy wallet an account. It worked and i was able to connect to the account after the creation and send some EOS. Now, its not possible again. If i start the fairy wallet and connect it to my ledger it only sais that i have to create a new account. I dont see my old account
Whats wrong?
Thanks a lot!

I have the same problem.
I can also find my 12-letter account on https://eosauthority.com/ and my EOS coins are still there.
However, I am unable to move them since I can't log into the Fairy Wallet with my Ledger.
Ideas?

Hey!
Found it out! Unfortunately, the fairy wallet is no longer supported.... But if you go to bloks.io and connect with your ledger then you should be able to get access to your account. It worked at least for me!
Cheers


Please reopen 1543

As the question was not answered, please reopen #1543

@nils-a - reopened. I thought that just reply would auto reopen but it doesn't seem to be the case. I am going to try to figure out how replying to any closed thread will reopen the issue since that would be a better flow to keep track of issues.


Agenda: Setting to use "Today" and "Yesterday" instead of dates

Setting to use "Today" and "Yesterday" instead of dates

Thanks!


Enforce Pigeon version in Paloma

We need a way to ensure Pigeon is kept up to date.  Old versions of Pigeon may be incompatible with Paloma.
Let's implement this as part of the health check.  When Pigeon sends a health check, it should send some information about itself.  Paloma can then decide if Pigeon is correct and consider it unhealthy if any information is incorrect.  In this case specifically, we should send Pigeon's version.

To Build: However, we understand that jailing pigeons on the incorrect version will require that governance also be included for an upgrade of pigeon. Yes? We will need to have governance vote on the right Pigeon version so that there is consensus that can be checked. Thus, this feature will need governance integration.

This will also mean that we'll need a halt-height for pigeon upgrade proposals.


Using an open-source program  (Gypsum-DL) for preparing small-molecule libraries  for structure-based virtual screening

This repository focuses on the installation and use of Gypsum-DL 1.2.1. Gypsum-DL is a free, open-source program for preparing 3D small-molecule models. Beyond simply assigning atomic coordinates, Gypsum-DL accounts for alternate ionization, tautomeric, chiral, cis/trans isomeric, and ring-conformational forms. It is released under the Apache License, Version 2.0 (see LICENSE.txt) and offers an alternative to open babel with improved docking accuracy.
The original repository can be found here: https://github.com/durrantlab/gypsum_dl
Please note: this repository is an application of the excellent work done by the Durrant group to develop Gypsum to illustrate how non-computer savvy users (i.e. chemists like myself) can apply this useful tool to your own drug discovery projects!
The relevant publications for Gypsum can be found here:
Ropp, Patrick J., Jacob O. Spiegel, Jennifer L. Walker, Harrison Green, Guillermo A. Morales, Katherine A. Milliken, John J. Ringe, and Jacob D. Durrant. (2019) "Gypsum-DL: An Open-source Program for Preparing Small-molecule Libraries for Structure-based Virtual Screening." Journal of Cheminformatics 11:1. doi:10.1186/s13321-019-0358-3.
Ropp PJ, Kaminsky JC, Yablonski S, Durrant JD (2019) Dimorphite-DL: An open-source program for enumerating the ionization states of drug-like small molecules. J Cheminform 11:14. doi:10.1186/s13321-019-0336-9.

Install Ubuntu for Windows.
Install anaconda for Linux-x86 https://www.anaconda.com/download https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
Make a new folder (directory) in your Ubuntu terminal, e.g. cd /mnt > ls > cd d > gypsum_dl-1.2.1
Enter the new directory; cd gypsum_dl-1.2.1

Select the SMILES strings for you compounds you wish to use by selecting the column in datawarrior (shift + left click). hen cope an paste into a new excel spreadsheet.

Next, copy and paste the SMILES into a new Excel spreadsheet and save as a new .txt file

Running Gypsum:
My Ubuntu command line when running Gypsum-DL looks like this;

Converting Your .sdf Output Files to .pdbqt for Virtual Screening

We can now move onto the docking process using AutoDock Vina

(base) tom@DESKTOP-LG9R7AE:~$ conda activate gypsum_dl_env
(gypsum_dl_env) tom@DESKTOP-LG9R7AE:~$ python run_gypsum_dl.py --source /mnt/d/gypsum_dl-1.2.1/input_f
iles/Enamine_Aryl_halides_SNAr/1-1000_5rmm_combinatorial_library_lipinski_filtered.smi --output /mnt/d/gypsum_dl-1.2.1/3D_output_files/Enamine_Aryl_halides_SNAr --separate_output_files

conda activate gypsum_dl_env
python run_gypsum_dl.py --source /mnt/d/gypsum_dl-1.2.1/input_f iles/Enamine_Aryl_halides_SNAr/1-1000_5rmm_combinatorial_library_lipinski_filtered.smi --output /mnt/d/gypsum_dl-1.2.1/3D_output_files/Enamine_Aryl_halides_SNAr --separate_output_files


Create Dockerfile

Description
This task is to create a Dockerfile to containerize our application, ensuring it runs consistently across environments.
Criteria

[ ] Create a Dockerfile to the project root
[ ] Use Node.js as the base image
[ ] Ensure all project dependencies are installed
[ ] Include instructions for running in both development and production modes

Notes

Since I'm unfamiliar with Docker, please kindly forgive me if the criteria or description is wrong.

After a discussion, we currently do not need to set up a Docker in order to start developing the front-end.


Allow "ejecting" a horizon app

In the next big release, we're adding plugins (#373) and middleware (#24) which includes moving to express for hz serve. Since our stack is becoming more modular, as people move from frontend only to writing a backend, it makes sense to provide something along the lines of create-react-app's eject functionality.
The idea is that you could do hz eject $PROJECT_NAME $OUTPUT_DIR and it would read your config and output Node.js code (very simple and readable) that calls out to various libraries you need on the backend.
It should emit code that:

[ ] Is readable, sparse and well commented

it shouldn't reimplement code that's already in horizon libraries, just import them and use them

[ ] instantiates a plugin router with your plugins as arguments
[ ] uses the config parsing library (post - #722 ) accepting the same arguments hz serve did for you (similar for config file reading and env vars)
[ ] Instantiates a Horizon server instance, passes it the appropriate config args, and sets it up with any necessary middleware
[ ] Instantiates an Express instance and adds appropriate middleware
[ ] Serves the client at the configured endpoint
[ ] Emits a package.json with any dependencies needed
[ ] Hardcodes configuration options that are unlikely to need to be configured per-instance of an app

Probably as top-level consts that are passed explicitly, rather than just relying on defaulting
[ ] horizon mounting path
[ ] auth endpoints
[ ] plugin endpoints
[ ] others that seem reasonable...

Why express and not Koa?  The (supposed) successor to express?  I'm using it quite nicely (especially V2)

Right now Express has a wider install base and a larger ecosystem. So, for instance, to use Passportjs ( #64 ) we'd need several extra shims to adapt it to koa. Since both koa and Hapi have shims for express stuff, it's a better target.
That being said, once you eject, you are free to swap out express and switch to koa. I would say if you have an strong opinion on koa vs. express, you're probably not going to be ejecting anyway, rather writing a node app from the start.

@deontologician -- I am not sure I agree with your reasoning.  Has anyone done any sort of heads-to-heads analysis of Express Vs. Koa?  I mean .. the passportjs example .. how is it more than just a simple use of https://github.com/rkusa/koa-passport/tree/v2.x  ??
I think there is a quite a large set of middleware written for Koa .. and it's pretty easy to write new middleware if needed..
And the speed differential -- at least the majority of speed tests show Koa to be more performant (some by quite a bit).  Of course, anything outperforms Hapi. :)
Still the elegance of writing async / await type handlers is sooo clean ... (IMHO)
Anyway -- wanting to see Koa get a fair chance.. LOL

We'll keep it in mind. Node also doesn't have async/await yet, so it may be a bit too early to jump to Koa 2.0

Node doesn't have import / export either -- so since we're going to use babel it's just a matter of adding :
    "babel-plugin-syntax-async-functions": "^6.13.0",

to dependencies and

  },
  "babel": {
    "plugins": [

      "transform-async-to-generator",

Then viola!
It's just that as a new project -- it would be a shame to look backward to "old" technology and not embrace what will be the future ...

https://github.com/benjamn/recast/blob/master/README.md could be nice for generating the code for this

@deontologician see my comment on using yeoman for this kind of stuff here. I also kind of think this issue is just a dupe of #583. If we're still considering providing generators for front-end code I don't see why we would generate backend/plugin code differently.
Furthermore, instead of a separate command, hz eject, I think this should just be part of hz init. Something like hz init <type> where type defaults to app (i.e. current behavior) and additional options include server and plugin.

@marshall007 There's a couple of things going on here:

see my comment on using yeoman for this kind of stuff here. If we're still considering providing generators for front-end code I don't see why we would generate backend/plugin code differently.

You're right, we should use yeoman for this stuff, since they've spent a lot of time making the generator experience nice and we're now actually accumulating a good amount of generators.

I also kind of think this issue is just a dupe of #583.

I disagree, I think this particular use case warrants its own issue, since it needs to do some things differently than a from-scratch generator. It needs to read their toml-configs to find out what to generate. It needs to move several internally managed things to an external directory (for example, plugins will likely be installed in .hz/node_modules until you eject, and we'll automatically manage a .hz/package.json for you etc). The idea is you can go from an existing production horizon frontend-only app, to a node app that does the equivalent functionality. It's possible to do that in yeoman, but it's not 100% obvious from #583's discussion exactly what to do to add ejecting.

instead of a separate command, hz eject, I think this should just be part of hz init.

I think this is where we're thinking about this issue differently. The proposal here isn't just to create a skeleton for a plugin or a horizon node server, it's for transforming an existing frontend-only app into one that has a backend that's maintainable directly by the developer. From an implementation standpoint, they're both code generation, but the meaning to the developer is completely different.
This is a good idea though, we should provide skeleton generators for backend/plugin projects as well. If we move hz init to using yeoman, we could probably just make it an option the user can enter, rather than a command line flag.

@deontologician makes sense, I agree with everything you said.
One caveat being that I don't think ejecting the backend into the same repo is gonna be the common case. I think it's much more likely that once you get to that point, you'll want to manage backend stuff in a separate repo. Managing a project with multiple/nested package.json is notoriously painful and I'm not sure we wanna lead people down that road. I also doubt that many would find porting the existing hz serve functionality, CLI, and config parsing to their app very useful.
I think once you've made the decision to manage your own Horizon server, you want absolutely zero magic out-of-the box. In my view, hz eject should leave you with a plain ol' express server, nothing special.
I see the value in keeping things as similar as possible for the user after an hz eject, I'm just not convinced that's what users of this tool would be looking for.

Right, I think we should let them specify where to eject to, the same directory seems bad for the reasons you mention, people like to keep front/backend code separate.

I think once you've made the decision to manage your own Horizon server, you want absolutely zero magic out-of-the box.

I can see where you're coming from, but I think the way we have no-magic is by importing the utility libraries explicitly, and having comments in the file saying what they do. For me, magic would be having a framework run my code for me, doing things behind the scenes that I couldn't see. Here, config parsing, all the plugins you're loading etc would all be explicitly defined as code in your js file, with explanations for what they do. We'll have to go option by option to decide how the code is emitted, but I think we can make something unintimidating.
I do think it's absolutely essential that nothing gets dropped when you're ejecting. The ideal behind Horizon has been a smooth upgrade path, and needlessly dropping things you "used to have" with hz serve seems like it would create a gap in that continuum for not much benefit.

@deontologician sometimes it seems like we're trying to solve these problems from both ends. If hz init just created .hz/server.js which would be a boilerplate express app preloaded with some middleware and/or Horizon plugins that implement config parsing and other default behavior. We could instead generate a more formal, documented directory structure with things split out conventionally too, which might be nicer.
(This would require, among other things, that @horizon/server be implemented as a request handler rather than a full-blown server, but bear with me.)
I imagine the biggest argument against this would be that the generated code might need to be updated between major server versions. We could make this a bit more migration-friendly by saying something like /* Generated code: do not modify this block */. We could even hash the contents of such blocks and warn the user if we're attempting to overwrite code they've modified in the generated files.
The point is, hosted users would now be able to configure the server however they want, which makes the Horizon Cloud offering much more robust. The distinction just becomes whether you prefer to use the Horizon CLI/Cloud for convention-based configuration, deployment, hosting, etc or not.
With that in mind, all hz eject would need to do is migrate files out of .hz into a separate repo. It wouldn't have to do any code generation. This is also a less jarring experience for the user. Instead of being bombarded with new concepts, it's all the same files they're used to looking at, just migrated into a separate repo.
This also makes it a lot easier to migrate the other direction if you decide to go from self-host to Horizon Cloud. You could just hz init and copy the middleware configuration out of your existing express app into the appropriate .hz/* file(s).

@deontologician so tl;dr I'm saying why not have hz init generate all the code you're talking about hz eject do. Migrating back and forth would be easier if we just had users specify validators and stuff in convention-based JS files rather than as JS snippets embedded in TOML configs (that we may migrate to JS files later anyway).

The reason I think it's better to have an explicit  eject step is because the code we use in hz serve etc is going to be much more general than we'd want to give to the end user.
So internally, we'll likely have code that looks like
let plugins = configLoader.plugins.forEach(pluginName => pluginLoad(pluginName, config[pluginName].options));
let pluginRouter = new PluginRouter(plugins)

And I think the code ejected should be something like:
import { CollectionPlugin } from '@horizon-plugins/collection';
import { GraphQLPlugin } from '@horizon-plugins/graphql';
let plugins = [
  new CollectionPlugin(),
  new GraphQLPlugin({
    route: '/graphql',
    queries: /// some stuff,
  }),
];
let pluginRouter = new PluginRouter(plugins);

etc. The idea being since it isn't dynamic, we can make config and imports more explicit.
(this is totally fake code, I don't know the exact api, just for illustration)

@deontologician my thought is that the generated code would have something like .hz/plugins/index.js which would just contain:
import Config from '@horizon/config';
module.exports = Config.loadDynamicPlugins();

At any point I can stop using the dynamic plugin loader and manually load/configure plugins however I want in that file. I can also use the dynamic loader in conjunction with any simple inline plugin definitions I choose to write. I think you were on to something when you said "nothing gets dropped when you're ejecting". I just think we can/should just make that more literally true.

I just don't see a compelling reason to lock down the hz serve workflow so tightly. All (or at least most) users are developers and I think laying all this out explicitly on the filesystem would make things more approachable, not less. If you were already the type of user that treated the .hz directory as a black-box then it wouldn't affect you anyway.
I'm just having trouble seeing why we should bake all this magic into the framework rather than just providing a set of conventions with a CLI tool that understands them.

There's an issue of surface area we're exposing as well. So you mentioned above the issue of changing the internal representation. If we keep the code of hz serve an internal detail, we're free to modify it. If we explicitly expose it and say "write whatever js you want here", we have less flexibility to make changes. If we keep the phases separate, we can maintain backwards compatibility even if we change the internal code a lot.
Maybe it's just me, but I think keeping code vs. config separate makes a lot of sense. You can modify declarative config programatically very easily.  Internally we keep having these kinds of discussions where we want to do something, and it's either easy because it's something stored in toml/json or it's ridiculously difficult because the thing is arbitrary js (validator functions and templates come to mind).
So for me, eject is a nice clean break between "horizon is doing it" and "I'm doing it". Not having to worry about a bunch of hybrid failure cases seems worth it to me.

There's an issue of surface area we're exposing as well.

As far as I can tell, the public surface area is roughly the same in both cases. As I hinted at, you'd probably want the generated code to produce something like Config.loadDynamicPlugins() because you should still get dynamic plugin loading behavior after you eject. That means the "configurator" stuff has to be part of the public API anyway. Moreover, the dynamic plugin loader just produces an array of plugins, the same API you'd expose to self-host/eject users. So you're stepping on toes by introducing breaking changes there either way.

Maybe it's just me, but I think keeping code vs. config separate makes a lot of sense. You can modify declarative config programatically very easily.

I'm not necessarily making an argument one way or another here. Though, I think there's something to be said for the flexibility of making that choice for yourself based on the complexity of the plugins you intend to use and/or existing config mechanisms in your infrastructure.

Not having to worry about a bunch of hybrid failure cases seems worth it to me.

The problem is once hz eject is implemented you're gonna be maintaining the "auto-configure" (CLI) code in addition to code that generates stand-alone code with the exact same behavior. All I'm saying is why can't we just write the generator code and have it work for both (the bonus "hybrid" option is merely a side-effect).


specs: fix the description for the [ug]idMappings

The fields in the [ug]idMappings are changed, we should fix
the description correspondingly.
Signed-off-by: Lai Jiangshan<EMAIL_ADDRESS>

LGTM

LGTM


Segmentation Statistics

The aggregated segmentation data will be stored every month in this new table.
A method get_viz_stats_for_day will return a view of these data for the D3 Treemap.
In production_schedule.rb, the generation will be scheduled like that:
every :month, at: '5:00 pm', on: :first_day
  nice_rails_command "SegmentationStatistic.generate_stats_for_day(Time.now.utc - 1.day)"
end

Looks good to me - I was able to use it to drive the visualization here #4065


Proposed linting config updates

Summary
This PR explores using a linting configuration that is different in a few key ways:

Less strict formatting rules, by removing Prettier. Another way of saying this is authors have more control of formatting. Rules related to best practices and finding logical and syntactical issues are just as strict, if not, more strict.

This should improve the behavior of editors (such as VSCode) by dramatically simplifying use of extensions/plugins. Prettier extensions will leave this codebase alone, and ESLint plugins will correct issues that have automatic fixers on save.

Fully commented to communicate the meaning and intention of rules. We want source authors to understand the benefit of the rules instead of feeling like they need to obey an arbitrary robot.

We'd like the rules to be accessible for discussing new opinions and ideas. That can only happen if the reasoning for existing rules is explained.

Generalized to work well on JavaScript, TypeScript, and mixed source codebases. Once this config has had time to bake in a single working codebase, like this one, the config can be extracted into its own package and applied to all JS/TS projects in slackapi.
Borrows as much as possible from well-considered community style guides such as AirBnB's JavaScript style guide, ESLint's recommended rules, Node.js recommended rules, JSDoc recommended rules

Applies new rules, or overrides existing rules, only when we have an opinion that differs for specific reasons.

Config is contained in one file, instead of spread out in several directories and files.

Structured using overrides to create an obvious space for additional tweaks based on their desired affects. For example, it's clear where to add new rules that only apply to TypeScript, new rules that apply to both TypeScript and JavaScript, or a rule configuration that overrides an existing rule from the above configs.

Disadvantages
The main disadvantage of this config is the loss of the indent rule within TypeScript. The author of the TypeScript-specific fork of that rule has decided not to maintain it any longer, and has acknowledged that the rule currently in a broken state. The author prefers to use Prettier in their own work, which relieved them of the need to work on that rule. But Prettier is highly opinionated as a formatter, and not nearly as configurable, so in this change we've made the tradeoff that this flexibility is worth the cost of not having a good indent rule in *.ts files.
The next largest disadvantage is lack of enforcement on JSDoc descriptions for all public API. This isn't a regression though, the current config also doesn't enforce this.
A few other rules are less than perfect, but those shortcomings have been described in the comments. Where possible, a link to relevant issues to watch have been added.
Feedback needed
The src/App.ts file was migrated to pass this config in order to aide discussion of this config. Please look at the changes in this one file, and let us know if any changes don't sit well with you. Feel free to be as opinionated or subjective as you want. Now is a good time to get aligned. After that, it should be relatively straight-forward to update the rest of the source files to pass.

One particular rule I'm not too sure about is the preference for default exports. It seems to go against the direction which React is now moving towards intentionally. I believe the reasoning is that named exports are more compatible across CommonJS and ESM module formats without any runtime/transpiler support. Should this matter to us?

Are any of the disadvantages dealbreakers?
TODO

[ ] Update config for *.spec.js and *.spec.ts files, to describe unique environment (mocha globals) and conventions.
[ ] Do we need any unique/specific rules for type-tests?
[ ] Migrate the existing sources files to satisfy these rules (besides src/App.ts). This should happen after other maintainers have offered feedback.
[ ] Update the npm scripts in package.json, re-enable format on save for VSCode in the settings.

Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: aoberoi:x: stevengillYou have signed the CLA already but the status is still pending? Let us recheck it.

@stevengill will revisit this soon.

Closing this in favour of #1024 - which is wholly based on the efforts in this PR. Thank you to everyone involved!


Add CV field for students

CV field should be added for every student on their own page. Students are also allowed to modify the PDF file for their CV at any time.

This field was added, but it is missing the sample files in Google Sheets.

This issue is temporarily closed and will be re-opened if necessary.


HTTP Sink is not working when there is a log sink for the same stream

Description:
HTTP sink is not invoked in below Siddhi App. It only happens, when we have log sink before the HTTP sink.
@App:name('API-Request-Throttler')
@App:description('Enforcesthrottling to API requests ')

@sink(type = 'log', @map(type = 'text'))
@sink(type = 'http', publisher.url = "http://${PUBLISHER_SERVICE_HOST}:8080/logger", method = "POST",
	@map(type = 'json'))
define stream ThrottleOutputStream (apiName string, version string, user string, tier string, userEmail string, isThrottled bool);

@sink(type = 'log', @map(type = 'text'))
@sink(type = 'email', username = "${EMAIL_USERNAME}", address = "${SENDER_EMAIL_ADDRESS}", password = "${EMAIL_PASSWORD}",
subject = "Upgrade API Subscription Tier", to = "{{userEmail}}", host = "smtp.gmail.com", port = "465", ssl.enable = "true", auth = "true",
	@map(type = 'text',
		@payload("""
			Hi {{user}}

			You have subscribed to API called {{apiName}}:{{version}} with {{tier}} tier.
			Based on our records, it seems you are hitting the upper limit of the API requests in a frequent manner.

			We kindly request you to consider upgrading to next API subscription tier to avoid this in the future.

			Thanks,
			API Team""")))
define stream UserNotificationStream (user string, apiName string, version string, tier string, userEmail string, throttledCount long);

-- HTTP endpoint which listens for api request related events
@source(type = 'http', receiver.url = "http://<IP_ADDRESS>:8006/apiRequestStream", basic.auth.enabled = "false",
	@map(type = 'json'))
define stream APIRequestStream (apiName string, version string, tier string, user string, userEmail string);

@info(name = 'Query to find users who needs to be throttled based on tier `silver`')
from APIRequestStream[tier == "silver"]#window.timeBatch(1 min, 0, true)
select apiName, version, user, tier, userEmail, count() as totalRequestCount
	group by apiName, version, user
	having totalRequestCount > 10 or totalRequestCount == 0
insert all events into ThrottledStream;

@info(name = 'Query to find users who needs to be throttled based on tier `gold`')
from APIRequestStream[tier == "gold"]#window.timeBatch(1 min, 0, true)
select apiName, version, user, tier, userEmail, count() as totalRequestCount
	group by apiName, version, user
	having totalRequestCount > 100 or totalRequestCount == 0
insert all events into ThrottledStream;

@info(name = 'Query to add a flag for throttled request')
from ThrottledStream
select apiName, version, user, tier, userEmail, ifThenElse(totalRequestCount == 0, false, true) as isThrottled
insert into ThrottleOutputStream;

@info(name = 'Query to find frequently throttled users - who have throttled more than 10 times in the last hour')
from ThrottleOutputStream[isThrottled]#window.time(1 hour)
select user, apiName, version, tier, userEmail, count() as throttledCount
	group by user, apiName, version, tier
	having throttledCount > 10
output first every 15 min
insert into UserNotificationStream;

@mohanvive  Can you run this app with Siddhi runner and share the error logs

@suhothayan There is no errors in the runner. but HTTP endpoint is not getting invoked. If we change the order or log and http sink then both of them works.

Fixed in https://github.com/siddhi-io/siddhi-io-http/pull/141 ...


Please add recomendation for Content Security Policy

My CSP is set to "script-src 'self' 'unsafe-inline';" and I'm getting this error message in Chrome:
"Refused to load the script 'http://localhost:52957/de11b3d5956b4813bf4121204d0b431d/browserLink' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline'".
How should I change my CSP so BrowserLink will not be blocked?

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

ID: 1fcc1fa9-004b-0be3-6148-e8c075e5b2bc
Version Independent ID: 78a1947e-dea7-65b4-2376-05c7795e4bf9
Content: Browser Link in ASP.NET Core
Content Source: aspnetcore/client-side/using-browserlink.md
Product: aspnet-core
GitHub Login: @ncarandini
Microsoft Alias: riande

@nesherhh  do you need BroswerLink? Can you remove it?

@YangLyu89 or @ryanbrandenburg please comment.

@Rick-Anderson  yes, I need it in development.

Also, while you are at it Microsoft, please move "type" from the


fix: 避免将虚拟机ip同步到弹性网卡

这个 PR 实现什么功能/修复什么问题:
避免将虚拟机ip同步到弹性网卡
是否需要 backport 到之前的 release 分支:

release/2.12

/area region
/cc @swordqiu

Codecov Report

Merging #5167 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #5167   +/-   ##
======================================
  Coverage    6.74%   6.74%
======================================
  Files         546     546
  Lines       95306   95306
======================================
  Hits         6433    6433
  Misses      88335   88335
  Partials      538     538

Flag
Coverage Δ

#aFlag
6.74% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

/lgtm

/lgtm

/lgtm

/approve


Tests are failing

Hello, thanks for the implementation.
However, few tests are failing after #3 merged.
I am running the tests on m1 mac and can confirm tests pass till #2.
Test summary:
//hintless_simplepir:client_test                                         PASSED in 1.0s
//hintless_simplepir:database_benchmarks                                 PASSED in 0.8s
//hintless_simplepir:database_hwy_benchmarks                             PASSED in 1.3s
//hintless_simplepir:database_hwy_test                                   PASSED in 2.2s
//hintless_simplepir:database_test                                       PASSED in 2.5s
//hintless_simplepir:hintless_simplepir_benchmarks                       PASSED in 0.9s
//hintless_simplepir:server_test                                         PASSED in 10.6s
//hintless_simplepir:simplepir_test                                      PASSED in 0.7s
//hintless_simplepir:utils_test                                          PASSED in 1.9s
//linpir:client_test                                                     PASSED in 2.3s
//linpir:linpir_benchmarks                                               PASSED in 1.8s
//lwe:lwe_symmetric_encryption_test                                      PASSED in 0.8s
//lwe:sample_error_test                                                  PASSED in 0.6s
//hintless_simplepir:hintless_simplepir_test                             FAILED in 288.1s
//linpir:database_test                                                   FAILED in 123.6s
//linpir:linpir_test                                                     FAILED in 62.4s
//linpir:server_test                                                     FAILED in 137.2s

Let me know if I should open a different issue to discuss the following
When records do not fit in plaintext modulus of SimplePIR, why are multiple shards created instead of stacking the records vertically within a single row, latter being more suitable for SimeplePIR? The corresponding paper says that for longer records, records were split and vertically stacked within single column across multiple rows. Which makes sense, given the download cost increases linearly with no. of shards.
I am asking just in case you found that it is more suitable for some parameter to shard the database?

Thanks for reporting the issue! Can you please provide the build environment in which the tests failed? That could help to debug the failure.
Regarding your second comment: Yes, stacking records vertically would save download cost. By allowing to shard the database one could have the option to save on the upload cost. You can adjust the record size and the number of rows/columns to configure the database to achieve the best tradeoffs that make sense for the application.

Hi,
This issue still exists.

CMD ["/bin/bash"]

Looks like the recovered record doesn't match the DB.
Any ideas on how to fix this?

After looking more into it, it seems that one of the places where the issue is are these functions:
FusedAbsorbAddInPlaceWithoutPadLazily() and MergeLazyOperations(). The easiest test case to look at is //linpir:database_test. Moreover, if you look at the files changed in #3, only one file was changed under //linpir and it was linpir/database.cc where lazy multiply and add was introduced, and it broke the code. The moment I switch back to non-lazy variant, the test passes. For your reference, I have attached a screenshot below which shows the old code which passes vs the new code that fails the test //linpir:database_test.
I hope this helps in resolving the issue.

Thanks for the debugging tips! Can you try the following to see if the test passes:
bazel build --cxxopt='-std=c++17' --cxxopt='-DHWY_COMPILE_ONLY_SCALAR=1' //linpir:database_test
This will run skip the highway SIMD code and take the slow path instead.

Thanks a lot for the tip! The tests pass with the slower scalar option.
For the faster SIMD code, are there any current plans on fixing the issue? We are working on a follow-up work and would greatly appreciate if we can run the SIMD code for our evaluation.

Good to know it's the SIMD code that broke the test. What CPU model were you using? I tried on Intel Tiger Lake and Ice Lake, and also an AMD Milan processor, but haven't been able to reproduce the failure.

I am using Macbook (Apple M1 Pro) with Docker (platform=linux/amd64 ubuntu:22.04).

Sorry about the late response. @mayank0403 I see that you are running an x86-64 linux docker on an Apple M1 CPU, which seems like a complicated build environment and may confuse the compiler / runtime about which SIMD instruction target to use.
It looks like compiler support for SVE instructions on Apple M CPUs might be buggy (see e.g. https://github.com/google/highway/issues/2356), so there might be issues even compiling and running natively on M1 machines. It could also be the case that some uint64_t specific highway code in SHELL might not be supported on those CPUs. Unfortunately I don't have access to Apple M CPU yet, so I wasn't able to tell what exactly the problem is. If you have more information about the failure (e.g. trace or exit code), it would be helpful to identify the root cause.
At the meantime I would also recommend to test on x86-64 CPUs. Thanks.


ARROW-15573: [Java][Doc] Apache Arrow memory management

Apache Arrow java memory documentation.

Sorry, just a note: please try to ping people in a separate comment since the PR description will get put in the eventual commit message and that leads to notification spam (and we don't always remember to remove the ping before merging)


[gradle] add jacoco root report task (summary of all subprojects)

run ./gradlew jacocoRootReport

can you document this in DEVELOP.rst


Add format decoding pipelines

Some values can have particular encoding that can be decoded, this can be helpful to safely extract specific pieces of data.
We can have a configurable mapping of key: format to use during flattening.
{
  "decodeKeysRegex": {
         ".foo.*.*": "url",
         ".foo.*.*.URL.query.bar": "base64",
  }
}

https://github.com/vearutop/flatjsonl/issues/53


Refer to sections by number

As of the latest commit, section labels support :ref:sec:some-lbl and :ref:link text <sec:some-lbl> syntax. But it'd be great to have syntax to automatically show only their number, not their title. Perhaps this can be a setting in conf rather than a different role?

This is implemented as overwrite_reftext.


Add aarch64 support

*Read the pc as specified for aarch64 processors.
*Disable division by zero tests, since aarch64 does not trap these and
therefore does not generate SIGFPEs there.
*All other tests succeed.

Thanks!


Create flat and optioned-versions of search

Codecov Report

:exclamation: No coverage uploaded for pull request base (pydantic_experiment@d4ce620). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@                  Coverage Diff                   @@
##             pydantic_experiment     #392   +/-   ##
======================================================
  Coverage                       ?   94.10%
======================================================
  Files                          ?       73
  Lines                          ?     9386
  Branches                       ?        0
======================================================
  Hits                           ?     8833
  Misses                         ?      553
  Partials                       ?        0

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


Show names of countries with annotations/markers?

Is there a way to get the country names to show up in the middle of the country?  I've looked into both annotations and markers, but haven't be able to figure out a solution for positioning them based on country.  Best I could think of was using the bounding box of the elements after render to create and position text elements.

Anybody?