No idle notification when enchanting dragonstone amulets

Describe the bug
When you cast the "Lv-5 enchant" spell on an inventory full of dragonstone amulets, it will enchant them one by one until they are all amulets of glory. When the character is done enchanting however, it does not give an idle notification. When enchanting other dragonstone jewelry such as necklaces, it does correctly give a notification.
To Reproduce
Steps to reproduce the behavior:

Have any amount of dragonstone amulets in your inventory, along with runes for the "lv-5 enchant" spell.
Enchant one amulet and wait while you automatically enchant them all one by one.
Go out of focus so Runelite will give an idle notification.
When you are done enchanting, no notification is given.

Expected behavior
When you have finished enchanting all the dragonstone amulets in your inventory and the game is out of focus, Runelite gives a notification to notify that you are idle. This seems to work on other kinds of enchantable jewelry. Dragonstone amulets are the only exception I have found so far.
Environment (please complete the following information):

OS: Windows
RuneLite version: 1.5.18
Launcher version: 1.6.0

Awesome, thanks man! :)


Suspended playback on Edge/IE aswell as MSE error on Samsung browser

Open up Edge and IE and load any of the following manifests into the demo player:
https://player.vimeo.com/external/345746172.m3u8?s=38bceb69f832c994e0950d5af157be5d9257ad73
https://player.vimeo.com/external/344197872.m3u8?s=0ae01be5ccea6163bc62299ddfcd6b4a3c2b8198
https://player.vimeo.com/external/342374546.m3u8?s=3f0a9afe7b419d63b689fff2e1b984410bcfa9d5
You'll notice that the playback is suspended and having trouble progressing for the first few seconds of the video.
If you seek to any other part in the video the playback continues as expected. If you seek back to 0 seconds the playback will be suspended again.
My Question:
Is this a symptom of Edge and IE performance? Or is this a symptom with the Manifest itself? Perhaps with the redirect on the initial playlist request? Is there maybe a gap or something in the first few seconds that the library has trouble dealing with?
For what it's worth over the past couple years I've test-driven pretty much every Javascript ABR player and library under the sun, and Shaka was the first not to give me this behavior in more popular browsers. Which leads me to believe the issue lies in the manifests themselves.
I'd like to get another opinion before I discount it like that though. I've contacted Vimeo about this issue and they've refused to acknowledge it. Unfortunately, I don't know enough at this point to challenge their stance on the matter.

I'm really hoping someone with some expertise can give me a hand with this issue.
I've done a bit deeper of a dive this time into the issue, but I'm still unsure what's actually causing it.
Here's a repo with a code sample, mirroring a very simple example of my configuration.
https://curtisconway.github.io/shaka-player-demos/
https://github.com/CurtisConway/shaka-player-demos/blob/master/scripts.js
If we load this sample on EDGE or IE you'll notice that the top video by default just starts at 3 seconds (despite it being told to start at 0). If you try to seek the video to any point before that it just stalls out and doesn't play (no errors are actually observed though).
If we load the sample on Samsung Browser (which is as far as I'm aware, Chromium-based). We can observe the top video failing with a CHUNK_DEMUXER_ERROR_APPEND_FAILED error passed through the Media Source Extensions.
In all 3 cases, the player that was set to start at 20 seconds was able to load the manifest at that point properly without issue. You can see that the startup code is virtually exactly the same with only the start time parameter being different.
So this makes me think the issue is 100% in the manifest, but I'm still not convinced. Taking a look at one of the playlists inside the master manifest. It looks like this:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:6.066667
chop/segment-1.ts
#EXTINF:6.066667
chop/segment-2.ts
#EXTINF:6.033333
chop/segment-3.ts
#EXTINF:6.066667
chop/segment-4.ts
#EXTINF:6.066667
chop/segment-5.ts
#EXTINF:6.066667
chop/segment-6.ts
#EXTINF:6.166667
chop/segment-7.ts
#EXT-X-ENDLIST

I did a quick read of the HLS specification defined at https://tools.ietf.org/html/draft-pantos-hls-rfc8216bis-04#section-<IP_ADDRESS>
The first thing I noticed was the documentation for the EXT-X-TARGETDURATION tag.

The EXT-X-TARGETDURATION tag specifies the maximum Media Segment duration.  The EXTINF duration of each Media Segment in the Playlist file, when rounded to the nearest integer, MUST be less than or equal to the target duration; longer segments can trigger playback stalls or other errors.  It applies to the entire Playlist file.

As you can see in the playlist above, the EXT-X-TARGETDURATION tag is defined at exactly 6 seconds. And every segment has a duration of slightly more than 6 seconds. So this makes me believe the issue lies in the manifest itself, and I should contact Vimeo about this. But the fact that the playlist works fine on other browsers tells me it's not that big of an issue.
 The validator tool didn't come back in any warnings/errors about the durations but it did give me some MUST FIX issues regarding the bitrates. So now I'm totally confused again.
We can observe the output from that below:
[/external/344197872.m3u8] Started root playlist download

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909061/playlist.m3u8] Started media playlist download

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909053/playlist.m3u8] Started media playlist download

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909056/playlist.m3u8] Started media playlist download

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909057/playlist.m3u8] Started media playlist download

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909058/playlist.m3u8] Started media playlist download

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909056/playlist.m3u8] All media files delivered and have end tag, stopping

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909053/playlist.m3u8] All media files delivered and have end tag, stopping

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909058/playlist.m3u8] All media files delivered and have end tag, stopping

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909057/playlist.m3u8] All media files delivered and have end tag, stopping

[/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909061/playlist.m3u8] All media files delivered and have end tag, stopping

--------------------------------------------------------------------------------

https://skyfire.vimeocdn.com/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909061/playlist.m3u8

--------------------------------------------------------------------------------

Processed 7 out of 7 segments

Average segment duration: 6.076191

Total segment bitrates (all discontinuities): average: 3837.43 kb/s, max: 6290.52 kb/s

Playlist max bitrate: 6112.001000 kb/s

Discontinuity: sequence: 0, parsed segment count: 7 of 7, duration: 42.533 sec, average: 3837.43 kb/s, max: 6290.52 kb/s

Track ID: 1

Video Codec: avc1

Video profile: High

Video level: 4

Video resolution: 1920x1080

Video average IDR interval: 2.828889, Standard deviation: 0.514798

Video frame rate: 30.000

Track ID: 2

Audio Codec: AAC-LC

Audio sample rate: 48000 Hz

Audio channels: 2

Audio channel layout: Stereo (L R)

--------------------------------------------------------------------------------

https://skyfire.vimeocdn.com/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909053/playlist.m3u8

--------------------------------------------------------------------------------

Processed 7 out of 7 segments

Average segment duration: 6.076191

Total segment bitrates (all discontinuities): average: 656.64 kb/s, max: 736.30 kb/s

Playlist max bitrate: 689.415000 kb/s

Discontinuity: sequence: 0, parsed segment count: 7 of 7, duration: 42.533 sec, average: 656.64 kb/s, max: 736.30 kb/s

Track ID: 1

Video Codec: avc1

Video profile: High

Video level: 3

Video resolution: 640x360

Video average IDR interval: 3.030952, Standard deviation: 0.008585

Video frame rate: 30.000

Track ID: 2

Audio Codec: AAC-LC

Audio sample rate: 48000 Hz

Audio channels: 2

Audio channel layout: Stereo (L R)

--------------------------------------------------------------------------------

https://skyfire.vimeocdn.com/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909056/playlist.m3u8

--------------------------------------------------------------------------------

Processed 7 out of 7 segments

Average segment duration: 6.076191

Total segment bitrates (all discontinuities): average: 374.50 kb/s, max: 426.16 kb/s

Playlist max bitrate: 384.531000 kb/s

Discontinuity: sequence: 0, parsed segment count: 7 of 7, duration: 42.533 sec, average: 374.50 kb/s, max: 426.16 kb/s

Track ID: 1

Video Codec: avc1

Video profile: High

Video level: 2.1

Video resolution: 426x240

Video average IDR interval: 3.030952, Standard deviation: 0.008585

Video frame rate: 30.000

Track ID: 2

Audio Codec: AAC-HEv2

Audio sample rate: 48000 Hz

Audio channels: 2

Audio channel layout: Stereo (L R)

--------------------------------------------------------------------------------

https://skyfire.vimeocdn.com/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909057/playlist.m3u8

--------------------------------------------------------------------------------

Processed 7 out of 7 segments

Average segment duration: 6.076191

Total segment bitrates (all discontinuities): average: 1438.32 kb/s, max: 1863.56 kb/s

Playlist max bitrate: 1780.075000 kb/s

Discontinuity: sequence: 0, parsed segment count: 7 of 7, duration: 42.533 sec, average: 1438.32 kb/s, max: 1863.56 kb/s

Track ID: 1

Video Codec: avc1

Video profile: High

Video level: 3.1

Video resolution: 960x540

Video average IDR interval: 3.030952, Standard deviation: 0.008585

Video frame rate: 30.000

Track ID: 2

Audio Codec: AAC-LC

Audio sample rate: 48000 Hz

Audio channels: 2

Audio channel layout: Stereo (L R)

--------------------------------------------------------------------------------

https://skyfire.vimeocdn.com/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909058/playlist.m3u8

--------------------------------------------------------------------------------

Processed 7 out of 7 segments

Average segment duration: 6.076191

Total segment bitrates (all discontinuities): average: 2254.66 kb/s, max: 3095.43 kb/s

Playlist max bitrate: 2984.853000 kb/s

Discontinuity: sequence: 0, parsed segment count: 7 of 7, duration: 42.533 sec, average: 2254.66 kb/s, max: 3095.43 kb/s

Track ID: 1

Video Codec: avc1

Video profile: High

Video level: 3.2

Video resolution: 1280x720

Video average IDR interval: 2.828889, Standard deviation: 0.514798

Video frame rate: 30.000

Track ID: 2

Audio Codec: AAC-LC

Audio sample rate: 48000 Hz

Audio channels: 2

Audio channel layout: Stereo (L R)

--------------------------------------------------------------------------------

MUST fix issues

--------------------------------------------------------------------------------

Error: Measured peak bitrate compared to master playlist declared value exceeds error tolerance

--> Detail:  Measured: 426.16 kb/s, Master playlist: 384.53 kb/s, Error: 10.83%

--> Source:  https://player.vimeo.com/external/344197872.m3u8?s=0ae01be5ccea6163bc62299ddfcd6b4a3c2b8198

--> Compare: https://skyfire.vimeocdn.com/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909056/playlist.m3u8

Error: Measured average bitrate compared to master playlist declared value exceeds error tolerance

--> Detail:  Measured: 374.50 kb/s, Master playlist: 333.00 kb/s, Error: 12.46%

--> Source:  https://player.vimeo.com/external/344197872.m3u8?s=0ae01be5ccea6163bc62299ddfcd6b4a3c2b8198

--> Compare: https://skyfire.vimeocdn.com/1565655409-0xc3d1134067aff33014cad9a3f1811c6b9a8081b8/344197872/video/1379909056/playlist.m3u8

@CurtisConway, I apologize that someone has not responded sooner.  We've been a bit behind on issues lately.
Should we take it that this is no longer an issue with a newer version of Shaka Player?  (Also, what version were you using?)  Or are you just frustrated with us and giving up?  Again, please accept my apologies.

@joeyparrish - I should be the one apologizing. I thought I submitted a comment along with closing it. I guess I forgot to actually press "Comment".
The issue still exists but I don't think it has anything to do with Shaka directly. Which is why I posted it as a question instead of a bug. I'm pretty sure the issue is with the source files at this point, even my post above is a lot of evidence for exactly that.
Since you guys are extremely busy I don't want to bog you down with my personal blockers.
I'm going to continue doing my own research and possibly reopen this in a more relevant forum. If someone personally has some time to take a look into it I'd love if they could send me an email with their thoughts<EMAIL_ADDRESS>My current knowledge of ABR is pretty rudimentary and I'd love the opportunity to learn some more.

No worries.  Please feel free to open another issue if you need help, and we should be back on track on issue management in the near future.


fix(announceJsonLD): Passing through JSON-LD configuration

:tada: This PR is included in version 6.1.6 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Showing a fragment without a RecyclerView

Can I show a single Item (Like just one card of any manually placed info) instead of having a RecyclerView. When I try to do it my fragment overlays the MaterialViewPager.

RecyclerViewMaterialAdapter adapter = new RecyclerViewMaterialAdapter(yourAdapter);
recyclerView.setAdapter(adapter);

If you want to display a fragment without a recyclerview, you shoul embed the content in an ObservableScrollView, and put in the top a material_view_pager_placeholder, like my sample
https://github.com/florent37/MaterialViewPager/blob/master/sample/src/main/res/layout/fragment_scroll.xml
<com.github.ksoichiro.android.observablescrollview.ObservableScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <include layout="@layout/material_view_pager_placeholder"/>

       YOUR CONTENT

Hello,
Could you please leave advanced details. Should the fragmentPagerAdapter return An ObservableScrollView ?
Thank you

@Alchimehd did you found any details?

@softmarshmallow I'm sorry but I don't even remember the project I was working on...


Copy the Dockerfiles from docker-minimal-bundle into the distribution.

I don't think we should include a script to build just yet - docs can just include the appropriate docker command to invoke.

LGTM


Add custom output formatter

Allow users to supply a custom formatOutput function. This lets folks customize the usage message output in a simple way without taking a dependency on any specific libraries.
Closes #33.
/cc @beltex

Neat! Sounds good! :)
For those interested in this, another option is PrettyColors, which is used by Carthage.


Editors - Nano

Hey there!
I was just wondering why Nano isnt in the list of editors. Thanks.

I think it's quite obvious, because no one has submitted an Awesome list for it yet.


Use pundit authorization properly

https://github.com/howtohireme/give-me-poc/blob/master/app/views/web/dashboard/users/index.html.haml#L21

Already resolved


Drawing functions of Luxor should return a point or bounding box

Is your feature request related to a problem? Please explain.
Currently circle doesn't return a point such that one has to build an own circle function when one wants to animate another object based on the position of the circle center.
Describe the solution you'd like
It would be awesome to just have overridden methods of circle, rect and probably others which return either a specific point like center for circle and top left for rect.
Describe alternatives you've considered
Currently one has to write a own method but it might be convenient to have it built into Javis.

I think this is a theme that is related to #130 in the sense of making easy short-hands.

Best is probably to return the origin by default as in general it makes sense to draw at the origin and then translate it later.
So if no return is done just return O by default.


Document steps to update documentation

Tasks

[ ] Add a script to automate documentation generation and following steps
[ ] Configure netlify and sub-domain for documentation
[ ] Add documentation link to README

Steps to update Documentation
At project root run
docco ./chanutil/chanutil.go
This will create the documentation using comments in the source code and publish to ./docs folder.
To allow netlify to host the site make the following changes

Move ./docs/chanutil/chanutil.html to ./docs/chanutil.html

Rename ./docs/chanutil.html to ./docs/index.html

Open ./docs/index.html and update file location for loading CSS

Commit the changes and push to github


License issue on test/half.h

Hi @dumerrill,
is there any reason for this file to have a different license that does not permit redistribution?
https://github.com/NVlabs/cub/blob/1.8.0/test/half.h#L5
every other file seems to allow it.
We are asking because of Apache MXNet (incubating) is using cub as a submodule, and this license prevents us from using it.
https://github.com/apache/incubator-mxnet/tree/master/3rdparty

closing as fixed, thank you @dumerrill !


Disable spiderfy method after zoomToShowLayer

Hello! I have a lot of markers in same coordinates (> 1000) and I need to search for markers from input. I use zoomToShowLayer method, but then the page freezes for a long time to display spiderfy.
I tried this code to turn off spiderfy:
markers.zoomToShowLayer(target,() => {
  target.__parent.unspiderfy();
})

But for a while anyway the plugin tries to spiderfy.
How can i full disable spiderfy?
thanks!

Copy/paste the zoomToShowLayer code out to your app and modify it to not spiderfy.
Or submit a PR to allow it to not spiderfy at the end. :+1:


Improve the way how we label the metadata fields

Problem
Currently, when having a type with ModelObjectType, some metadata fields by default gets the label ADDED_IN_33. It is not true for the objects that received the metadata fields in Saleor 3.4+.
There is a field for the class's Meta - metadata_since that can control the metadata description, but it is optional, and probably some of the developers don't know or forget about it.

Proposed solution

We could change the implementation, and in case of using ModelObjectType,  we could always require providing metadata_since.
The changes require us to go through all types that use ModelObjectType and try to check when metadata was attached to the type.
metadata_since could be Optional[str]. We could do metadata_since=None for all types that have metadata introduced before 3.1
If metadata_since < 3.3, then fields like privateMetafield, privateMetafields, metafield, metafields should have label added in 3.3 (in 3.3 we extended a metadata interface and introduced the privateMetafield, privateMetafields, metafield, metafields)

@korycins what about metadata introduced after 3.3?

@Smit-Parmar Then we need to find the correct version that added the metadata for a specific type and include it in metadata_since..
Let's take CheckoutLine as an example.
graphql schema says: metadata was added to CheckoutLine in 3.3, but CheckoutLine received metadata support in 3.5.
(This can be easily checked by switching the version branches - git checkout 3.x )
"""Represents an item in the checkout."""
type CheckoutLine implements Node & ObjectWithMetadata {
  ...
  """
  A single key from private metadata. Requires staff permissions to access.

  Tip: Use GraphQL aliases to fetch multiple keys.

  Added in Saleor 3.3.

  Note: this API is currently in Feature Preview and can be subject to changes at later point.
  """
  privateMetafield(key: String!): String
}

Closing, as this is already solved


Added support for publishedEndpointUrl attribute of jaxws:endpoint

Hello. First of all thanks for your efforts on making quarkus with soap a reality.
So...
I've added support for a new atribute of CXF called publishedEndpointUrl.
It is responsible for setting the soapAddress of WSDL and this is well described in the docs:

The URL that is placed in the address element of the wsdl when the wsdl is retrieved. If not specified, the address listed above is used. This parameter allows setting the "public" URL that may not be the same as the URL the service is deployed on. (for example, the service is behind a proxy of some sort).

http://cxf.apache.org/docs/jax-ws-configuration.html
Please consider this pull request as it is essencial for my project as well I think it would be for many others.

Thanks for this PR. If you can provide a test that will be perfect.
Else it is fine to be merged like that.
Anyway, I am working to move to vertx routing. It will be ready soon and I will need to merge that in my branch.
Many thanks for this ;-)

Thanks for this PR. If you can provide a test that will be perfect.
Else it is fine to be merged like that.
Anyway, I am working to move to vertx routing. It will be ready soon and I will need to merge that in my branch.
Many thanks for this ;-)

Ok. I'll give a look into the tests project

@dufoli the test is commited, let me know if you need anything else


[Feature] support array_sortby

Signed-off-by: fzhedu<EMAIL_ADDRESS>What type of PR is this：

[ ] BugFix
[x] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
sort an array by another key array, which is the second array or from a lambda function.
if the key array is null, the first array is not changed.
Problem Summary(Required) ：

mysql> select c2, c3, array_sortby(c2,c3) from test_array order by c1;
+-------------+-------------+----------------------+
| c2          | c3          | array_sortby(c2, c3) |
+-------------+-------------+----------------------+
| [3,4,5]     | [82,1,4]    | [4,5,3]              |
| NULL        | [23]        | NULL                 |
| [2,4]       | NULL        | [2,4]                |
| NULL        | NULL        | NULL                 |
| []          | []          | []                   |
| NULL        | []          | NULL                 |
| []          | NULL        | []                   |
| [null,null] | [3,6]       | [null,null]          |
| [432,23]    | [null,null] | [432,23]             |
+-------------+-------------+----------------------+
9 rows in set (0.29 sec)

mysql> select c3, c2, array_sortby(c3,c2) from test_array order by c1;
+-------------+-------------+----------------------+
| c3          | c2          | array_sortby(c3, c2) |
+-------------+-------------+----------------------+
| [82,1,4]    | [3,4,5]     | [82,1,4]             |
| [23]        | NULL        | [23]                 |
| NULL        | [2,4]       | NULL                 |
| NULL        | NULL        | NULL                 |
| []          | []          | []                   |
| []          | NULL        | []                   |
| NULL        | []          | NULL                 |
| [3,6]       | [null,null] | [3,6]                |
| [null,null] | [432,23]    | [null,null]          |
+-------------+-------------+----------------------+

mysql> select c3, c2, array_sortby((x,y) -> y, c3,c2) from test_array order by c1;
+-------------+-------------+--------------------------------------------------+
| c3          | c2          | array_sortby(c3, array_map((x, y) -> y, c3, c2)) |
+-------------+-------------+--------------------------------------------------+
| [82,1,4]    | [3,4,5]     | [82,1,4]                                         |
| [23]        | NULL        | [23]                                             |
| NULL        | [2,4]       | NULL                                             |
| NULL        | NULL        | NULL                                             |
| []          | []          | []                                               |
| []          | NULL        | []                                               |
| NULL        | []          | NULL                                             |
| [3,6]       | [null,null] | [3,6]                                            |
| [null,null] | [432,23]    | [null,null]                                      |
+-------------+-------------+--------------------------------------------------+
9 rows in set (0.15 sec)

mysql> select c3, c2, array_sortby((x,y) -> y is null, c3,c2) from test_array order by c1;
+-------------+-------------+----------------------------------------------------------+
| c3          | c2          | array_sortby(c3, array_map((x, y) -> y IS NULL, c3, c2)) |
+-------------+-------------+----------------------------------------------------------+
| [82,1,4]    | [3,4,5]     | [82,1,4]                                                 |
| [23]        | NULL        | [23]                                                     |
| NULL        | [2,4]       | NULL                                                     |
| NULL        | NULL        | NULL                                                     |
| []          | []          | []                                                       |
| []          | NULL        | []                                                       |
| NULL        | []          | NULL                                                     |
| [3,6]       | [null,null] | [3,6]                                                    |
| [null,null] | [432,23]    | [null,null]                                              |
+-------------+-------------+----------------------------------------------------------+
9 rows in set (0.06 sec)

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[x] This pr needs user documentation (for new or modified features or behaviors)

[x] I have added documentation for my new feature or new function (https://github.com/StarRocks/docs.zh-cn/pull/3351/files)

[ ] I have checked the version labels which the pr will be auto backported to target branch

run starrocks_clang-format

run starrocks_fe_unittest

run starrocks_admit_test

[FE PR Coverage Check]
:disappointed: fail : 8 / 26 (30.77%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/ExpressionAnalyzer.java
7
23
30.43%
[136, 138, 139, 140, 141, 142, 143, 144, 145, 759, 760, 762, 763, 766, 767, 770]

:large_blue_circle:
com/starrocks/sql/analyzer/FunctionAnalyzer.java
1
3
33.33%
[171, 172]

[FE PR Coverage Check]
:disappointed: fail : 8 / 26 (30.77%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/ExpressionAnalyzer.java
7
23
30.43%
[136, 138, 139, 140, 141, 142, 143, 144, 145, 759, 760, 762, 763, 766, 767, 770]

:large_blue_circle:
com/starrocks/sql/analyzer/FunctionAnalyzer.java
1
3
33.33%
[171, 172]

run starrocks_admit_test

@mergify backport branch-2.5

#33608


Parsing fails on about half of replies.

Parsing requests works well, but the parser fails on about half of the replies.
if port == 53 {
	println!("{:?}", payload);
	let dns = Packet::parse(payload);
	println!("{:?}", dns);
}

The log below consists of alternate lines of UDP port 53 payload and parser output.
I'm using Ubuntu 18.03 (though that shouldn't make a difference to DNS).
[55, 24, 1, 32, 0, 1, 0, 0, 0, 0, 0, 1, 6, 103, 111, 111, 103, 108, 101, 3, 99, 111, 109, 0, 0, 1, 0, 1, 0, 0, 41, 16, 0, 0, 0, 0, 0, 0, 12, 0, 10, 0, 8, 18, 236, 171, 20, 28, 154, 55, 55]
Ok(Packet { header: Header { id: 14104, query: true, opcode: StandardQuery, authoritative: false, truncated: false, recursion_desired: true, recursion_available: false, authenticated_data: true, checking_disabled: false, response_code: NoError, questions: 1, answers: 0, nameservers: 0, additional: 1 }, questions: [Question { qname: Name("google.com"), prefer_unicast: false, qtype: A, qclass: IN }], answers: [], nameservers: [], additional: [], opt: Some(Record { udp: 4096, extrcode: 0, version: 0, flags: 0, data: Unknown([0, 10, 0, 8, 18, 236, 171, 20, 28, 154, 55, 55]) }) })
[83, 183, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 6, 103, 111, 111, 103, 108, 101, 3, 99, 111, 109, 0, 0, 1, 0, 1, 0, 0, 41, 2, 0, 0, 0, 0, 0, 0, 0]
Ok(Packet { header: Header { id: 21431, query: true, opcode: StandardQuery, authoritative: false, truncated: false, recursion_desired: true, recursion_available: false, authenticated_data: false, checking_disabled: false, response_code: NoError, questions: 1, answers: 0, nameservers: 0, additional: 1 }, questions: [Question { qname: Name("google.com"), prefer_unicast: false, qtype: A, qclass: IN }], answers: [], nameservers: [], additional: [], opt: Some(Record { udp: 512, extrcode: 0, version: 0, flags: 0, data: Unknown([]) }) })
[83, 183, 129, 128, 0, 1, 0, 1, 0, 0, 0, 1, 6, 103, 111, 111, 103, 108, 101, 3, 99, 111, 109, 0, 0, 1, 0, 1, 6, 103, 111, 111, 103, 108, 101, 3, 99, 111, 109, 0, 0, 1, 0, 1, 0, 0, 0, 185, 0, 4, 172, 217, 20, 142, 0, 0]
Err(UnexpectedEOF)
[55, 24, 129, 128, 0, 1, 0, 1, 0, 0, 0, 1, 6, 103, 111, 111, 103, 108, 101, 3, 99, 111, 109, 0, 0, 1, 0, 1, 192, 12, 0, 1, 0, 1, 0, 0, 0, 185, 0, 4, 172, 217, 20, 142, 0, 0, 41, 255, 214, 0, 0, 0, 0, 0, 0]
Ok(Packet { header: Header { id: 14104, query: false, opcode: StandardQuery, authoritative: false, truncated: false, recursion_desired: true, recursion_available: true, authenticated_data: false, checking_disabled: false, response_code: NoError, questions: 1, answers: 1, nameservers: 0, additional: 1 }, questions: [Question { qname: Name("google.com"), prefer_unicast: false, qtype: A, qclass: IN }], answers: [ResourceRecord { name: Name("google.com"), multicast_unique: false, cls: IN, ttl: 185, data: A(Record(<IP_ADDRESS>)) }], nameservers: [], additional: [], opt: Some(Record { udp: 65494, extrcode: 0, version: 0, flags: 0, data: Unknown([]) }) })
[13, 133, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 9, 109, 105, 99, 114, 111, 115, 111, 102, 116, 3, 99, 111, 109, 0, 0, 1, 0, 1, 0, 0, 41, 4, 176, 0, 0, 0, 0, 0, 0]
Ok(Packet { header: Header { id: 3461, query: true, opcode: StandardQuery, authoritative: false, truncated: false, recursion_desired: true, recursion_available: false, authenticated_data: false, checking_disabled: false, response_code: NoError, questions: 1, answers: 0, nameservers: 0, additional: 1 }, questions: [Question { qname: Name("vortex.data.microsoft.com"), prefer_unicast: false, qtype: A, qclass: IN }], answers: [], nameservers: [], additional: [], opt: Some(Record { udp: 1200, extrcode: 0, version: 0, flags: 0, data: Unknown([]) }) })
[251, 153, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 9, 109, 105, 99, 114, 111, 115, 111, 102, 116, 3, 99, 111, 109, 0, 0, 28, 0, 1, 0, 0, 41, 4, 176, 0, 0, 0, 0, 0, 0]
Ok(Packet { header: Header { id: 64409, query: true, opcode: StandardQuery, authoritative: false, truncated: false, recursion_desired: true, recursion_available: false, authenticated_data: false, checking_disabled: false, response_code: NoError, questions: 1, answers: 0, nameservers: 0, additional: 1 }, questions: [Question { qname: Name("vortex.data.microsoft.com"), prefer_unicast: false, qtype: AAAA, qclass: IN }], answers: [], nameservers: [], additional: [], opt: Some(Record { udp: 1200, extrcode: 0, version: 0, flags: 0, data: Unknown([]) }) })
[1, 206, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 6, 97, 115, 105, 109, 111, 118, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 14, 116, 114, 97, 102, 102, 105, 99, 109, 97, 110, 97, 103, 101, 114, 3, 110, 101, 116, 0, 0, 1, 0, 1, 0]
Err(UnexpectedEOF)
[197, 153, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 6, 97, 115, 105, 109, 111, 118, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 14, 116, 114, 97, 102, 102, 105, 99, 109, 97, 110, 97, 103, 101, 114, 3, 110, 101, 116, 0, 0, 28, 0, 1, 0]
Err(UnexpectedEOF)
[1, 206, 129, 128, 0, 1, 0, 1, 0, 0, 0, 1, 6, 97, 115, 105, 109, 111, 118, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 14, 116, 114, 97, 102, 102, 105, 99, 109, 97, 110, 97, 103, 101, 114, 3, 110, 101, 116, 0, 0, 1, 0, 1, 6]
Err(UnexpectedEOF)
[13, 133, 129, 128, 0, 1, 0, 2, 0, 0, 0, 1, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 9, 109, 105, 99, 114, 111, 115, 111, 102, 116, 3, 99, 111, 109, 0, 0, 1, 0, 1, 192, 12, 0, 5, 0, 1, 0, 0, 4, 249, 0, 39, 6]
Err(UnexpectedEOF)
[197, 153, 129, 128, 0, 1, 0, 1, 0, 1, 0, 1, 6, 97, 115, 105, 109, 111, 118, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 14, 116, 114, 97, 102, 102, 105, 99, 109, 97, 110, 97, 103, 101, 114, 3, 110, 101, 116, 0, 0, 28, 0, 1, 6]
Err(UnexpectedEOF)
[116, 82, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 6, 103, 108, 111, 98, 97, 108, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 14, 116, 114, 97, 102, 102, 105, 99, 109, 97, 110, 97, 103, 101, 114, 3, 110, 101, 116, 0, 0, 28, 0, 1, 0]
Err(UnexpectedEOF)
[116, 82, 129, 128, 0, 1, 0, 0, 0, 1, 0, 1, 6, 103, 108, 111, 98, 97, 108, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 14, 116, 114, 97, 102, 102, 105, 99, 109, 97, 110, 97, 103, 101, 114, 3, 110, 101, 116, 0, 0, 28, 0, 1, 14]
Err(UnexpectedEOF)
[251, 153, 129, 128, 0, 1, 0, 2, 0, 0, 0, 1, 6, 118, 111, 114, 116, 101, 120, 4, 100, 97, 116, 97, 9, 109, 105, 99, 114, 111, 115, 111, 102, 116, 3, 99, 111, 109, 0, 0, 28, 0, 1, 192, 12, 0, 5, 0, 1, 0, 0, 4, 249, 0, 39, 6]
Err(UnexpectedEOF)

Are you using this crate? Because I do not have a parse function.

Sorry, my mistake, I've got the wrong project.


fix: Check transaction status for solana and throw error if is not successful

Add handler to check status of the transactions for solana and throw error if they are not successful

LGTM


Remove alpine images

@Macleykun I am dropping the alpine images because they are no longer useful.

Closes #121.


catchThrowableOfType - stack trace of the original exception is lost

Summary
When catchThrowableOfType fails because caught exception does not match the expected one, it would be helpful to see stack trace showing the place where the unexpected exception was thrown. Easier than debug.
Example
What I see:
java.lang.AssertionError: Expecting code to throw <class com.example.AppException> but threw <class java.lang.UnsupportedOperationException> instead
What I'd like to see:
java.lang.AssertionError:
Expecting:
  <java.lang.UnsupportedOperationException>
to be an instance of:
  <com.example.AppException>
but was:
  <"java.lang.UnsupportedOperationException
	at com.example.GameServiceImpl.readGameState(GameServiceImpl.java:22)
	at com.example.GameServiceTests.lambda$failToReadStateByNotJoinedPlayer$14(GameServiceTests.java:44)
    ...

Similar to #791.

Fair enough.

Hey do you mind if I work on this one?

Sure, thanks!


No Java runtime present, requesting install.

I am trying to use Yomu, but it is showing "No Java runtime present, requesting install." - it then open a website and lets me download the Java JRE - after installing the Java JRE and restarting the terminal, I am still not able to run yomu. Any ideas?
I'm using Yomu 0.2.2 on Mac Yosemite.
I have this JRE package installed: jre-8u31-macosx-x64.dmg

Ah, it seems installing the JDK fixes this issue - the JRE is not enough!


feat(rust-api): add new api for betterness

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

I do not expect this to be merged, but it is fun to play with.

Talking Points
Rocket:

<1.0.0
(now) runs on Rust's stable toolchain
AFAICS, does not support HTTP/2.0

Actix Web

>4.0.0
runs on Rust's stable toolchain
Supports HTTP/2.0

PS: Our database schema is a mess.

Closing as betterness is subjective

Whilst an interesting experiment. None of us feel comfortable adding such new (to us) tools/languages to the codebase. Also, we have decided to go a different route - auth workflow can be improved from the ground up.


TurboWarp previews

We could install scratch-gui and make a site using next.js?

Or we could just do an embed.


googleapiclient.errors.UnknownApiNameOrVersion: name: blogger  version: v3

Python: Python 3.10
API: google-api-python-client==2.33.0
A few days ago I installed python 3.10. But when I'm using blogger API V3 I'm getting this error:
File "C:\Users\..\AppData\Local\Programs\Python\Python310\lib\site-packages\googleapiclient\discovery.py", line 324, in build
    raise UnknownApiNameOrVersion("name: %s  version: %s" % (serviceName, version))
googleapiclient.errors.UnknownApiNameOrVersion: name: blogger  version: v3

My code:
import httplib2
from oauth2client.client import flow_from_clientsecrets
from oauth2client.file import Storage
from oauth2client.tools import run_flow
from googleapiclient import discovery

###
###

credentials = authorize_credentials()
http = credentials.authorize(httplib2.Http())
discoveryUrl = ('https://www.googleapis.com/blogger/')
service = discovery.build('blogger', 'v3', http=http, discoveryServiceUrl=discoveryUrl)

Hi @jimmyxp01 ,
Thank you for providing a code snippet. I was able to re-create the issue. The correct url for the discovery artifact is https://blogger.googleapis.com/$discovery/rest?version=v3 based on the public discovery directory here. Once I updated the url, it worked correctly.
Change
discoveryUrl = ('https://www.googleapis.com/blogger/')
service = discovery.build('blogger', 'v3', http=http, discoveryServiceUrl=discoveryUrl)

to
discoveryUrl = ('https://blogger.googleapis.com/$discovery/rest?version=v3')
service = discovery.build('blogger', 'v3', http=http, discoveryServiceUrl=discoveryUrl)

I'm going to close this issue but please feel free to re-open it if you have additional questions.

thank you so mutch it work


[ACTIVITI-3763] create new module activiti-spring-resource-finder mer…

create new module activiti-spring-resource-finder: merged from old PR

Ref https://github.com/Activiti/Activiti/issues/2645


Update UserGuide.md, README.md, AboutUs.md

Codecov Report

Merging #17 (4a665c8) into master (6a83825) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #17   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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 6a83825...4a665c8. Read the comment docs.

LGTM


Cell Debugger Error:  Cannot read property 'evalue' of undefined

Python Extension Version:

When I press 'Debug Cell', it pops up 'Cannot read property 'evalue' of undefined'. Anything can be fixed?

Unfortunately cell debugging is broken in the insider's build. It should be fixed before we ship again. In the meantime you can do one of:

Go back to the normal release.

Or

Go to where the extension is installed. On my windows machine it would be C:\Users\rchiodo.REDMOND\.vscode\extensions\ms-python.python-2019.10.37374-dev
Go to the pythonFiles\Lib\python directory.
Delete the ptvsd folder
Rename the 'old_ptvsd' folder to 'ptvsd'
Reload VS code.

Sorry debugging is broken in the insider's build. You're only recourse until we fix it is to go back to the regular release.

We believe this has been fixed in the latest insiders build.


Event Extensions

Thanks for vue-events, this plugin reminds me of a possible way to implement the suggestion/request in the following issue: https://github.com/vuejs/vue-rx/issues/5
It would be awesome to attach robust support for RxJS observables directly into the Vue event system, any feedback on the best way to do that is most appreciated.
NOTE: There is the vue-rx plugin, but it seems to curtail the full usage of RxJS in Vue by it's overly simple way of just auto subscribing to any observable it discovers.

I'm not very familiar with RxJS, but after a little research it's definitely got my attention. Let me dig a bit deeper and hopefully I can provide you with some insight.
If, in the mean time, you can provide me with additional details, as to what specifically you would like to do on the Vue side of things, I would be happy to try and help.

I'm closing this issue, as it's not an actual issue with the plugin, but I will continue to follow this thread.

Sounds good, it would be a matter of integrating the RxJS fromEvent operator, which is here: http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#static-method-fromEvent
This would create an observable that captures events on a specified DOM node. Then there should be two ways to subscribe (observe) the captured event stream:

In a function within the Vue component whose template makes the stream request.
In a module outside the Vue component for more elaborate stream handling.

In the first use case the stream can be processed and provide data directly to the data-object. In the second case the stream is passed out of the Vue component to a target module for stream graphs that involve multiple connected observables and observers. Then at different observer junctions the data produced by such an elaborate graph can be proxied back to one or more Vue component data-objects.
I think this would make everyone happy and the solution robust. It would also be cool if the fromEvent capture function in Vue would have the same convention as Vue already uses. Maybe using @stream to distinguish it from @event.


fix(nonce): override user-defined nonce values with Nuxt Image

Resolves #586
Types of changes

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

Description

For users utilizing Nuxt Image (with its option to provide custom nonces), Nuxt Security will override the user-defined nonce to ensure standard-complying, cryptographically secure nonces.
As a side note, it is worth deprecating the nonce property in Nuxt Image regardless due to the security concerns it brings with no proportionate benefit
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes (if not applicable, please state why)

I originally thought about making it directly within the link regex, but I couldn't find as of this moment a pattern that is not susceptible to a ReDoS (regular expression denial of service) attack. Therefore, it introduces a lightweight new regex to compare for each found link.

This one looks ok to me


MvRx and Coroutines

I have a possibility to rewrite an app from scratch and decided to use MvRx :)
Personally, I prefer Coroutines over RxJava. Are you guys planning to release MvRx based on Coroutines?

There are two main, different ways that mvrx can interact with coroutines.
Once is the implementation of the state store.  This implementation is not exposed to you, so it doesn't really matter which implementation is used (beyond bringing in the dependency on Rx.) we could add official support for a coroutine version (like https://github.com/airbnb/MvRx/pull/84) but it isn't a priority since the implementation detail doens't matter much. The  state store is also customizable, you could implement your own coroutine based state store via the  mvrx state store interface and use that in all your viewmodels.
The other is using coroutines to run async code in the viewmodel, and subscribing to those async calls with execute. We will likely support this soonish, but this is also something that you can add support for in your own viewmodel fairly easily, so there isn't much urgency here.
All you really need is a base viewmodel in your app that is setup like this
abstract class MvRxViewModel<S : MvRxState>(
    initialState: S
) : CoroutineScope by CoroutineScope(Dispatchers.getDefault() + SupervisorJob()), BaseMvRxViewModel<S>(

protected fun <T> Deferred<T>.execute(reducer: S.(Async<T>) -> S): Job {

        // Queue the loading immediately so that if any following function calls check this value it has been set.
        setState { reducer(Loading()) }

        return launch {
            val asyncValue: Async<T>? = try {
                Success(await())
            } catch (e: CancellationException) {
                // To match the behavior of disposing an Observable, we don't make any changes to state if the job is cancelled.
                null
            } catch (e: Exception) {
                Fail(e)
            }

            if (asyncValue != null) {
                setState { reducer(asyncValue) }
            }
        }
    }

Thanks @elihart !

@qbait Chris Beans' project Tivi is using MvRx and Coroutines
https://github.com/chrisbanes/tivi


feat: Add the Subarray Sum implementation

Description of Change

Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added tests and example, test must pass
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:

@Panquesito7 @mishraabhinn Now the multiple file problems are resolved.
P.S. The code here is same as after reviewing #1527 by @Panquesito7

Please note that those files are automatically modified, and they SHOULD be modified, as they contain errors in them, the workflow is trying to fix them.


Unable to build netcdf-c with pnetcdf using NVHPC

Tested versions: Netcdf-C 4.9.2 , 4.8.1

Compiler: latest version of NVHPC (23.11)

Issue: netcdf-c cannot be built with pnetcdf (--enable-pnetcdf):

CPPFLAGS="-I${extdir}/include" LDFLAGS="-L${extdir}/lib" LIBS="-lhdf5_hl -lhdf5 -lz" ../configure --prefix=${extdir} --enable-pnetcdf --disable-libxml2

Error:

/bin/sh ../libtool  --tag=CXX   --mode=link mpicxx -std=c++11 -fPIC -O3 -march=core-avx2  -L~/GPU/libs/lib -o libncxml.la  ncxml_tinyxml2.lo tinyxml2.lo  -lpnetcdf -lm -lbz2 -lzstd -lcurl -lhdf5_hl -lhdf5 -lz
/usr/bin/grep: /libmpi_usempif08.la: No such file or directory
/usr/bin/sed: can't read /libmpi_usempif08.la: No such file or directory
libtool:   error: '/libmpi_usempif08.la' is not a valid libtool archive
make[2]: *** [Makefile:536: libncxml.la] Error 1

This looks to be an issue outside of netcdf; it is referencing /libmpi_usempif08.la, and it is unlikely that this file exists at the root of the filesystem. Do you have the config.log generated when you run configure?

You need to build with the MPI compilers and include "use mpi" in your fortran code.
This does not look like a netCDF issue and should be closed.

Closing as I suspect @edwardhartnett is right, and no additional information has been forthcoming.


python312Packages.recurring-ical-events: 3.3.3 -> 3.3.4

Diff: https://github.com/niccokunzmann/python-recurring-ical-events/compare/refs/tags/v3.3.3...v3.3.4
Changelog: https://github.com/niccokunzmann/python-recurring-ical-events/blob/refs/tags/v3.3.4/README.rst#changelog

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 361883

x86_64-linux

:fast_forward: 2 packages marked as broken and skipped:

syncall
syncall.dist

:white_check_mark: 18 packages built:

calendar-cli
calendar-cli.dist
errands
gtg
home-assistant-component-tests.caldav
home-assistant-custom-components.waste_collection_schedule
ical2orgpy
ical2orgpy.dist
open-web-calendar
open-web-calendar.dist
python311Packages.caldav
python311Packages.caldav.dist
python311Packages.recurring-ical-events
python311Packages.recurring-ical-events.dist
python312Packages.caldav
python312Packages.caldav.dist
python312Packages.recurring-ical-events
python312Packages.recurring-ical-events.dist


Add @trecloux to Maintainers

This PR adds @trecloux to maintainers :)
/cc @containous/traefik

@emilevauge Github's update branch feature is drunk once again.
Your manual git-fu is required. :)

Seemed to have recovered... :/


Fix create_as_workflow and improve test

Pull Request Checklist

[x] Fixes #692
[x] Tests added
[x] Documentation/examples added
[x] Good commit messages and/or PR title

Description of PR
Currently, using **self.dict() doesn't do a deep copy of self, so for example, tasks under a dag template in self.templates are not copied. This PR now uses Workflow.from_dict(self.to_dict()) to correctly perform a deep copy.

@flaviuvadan yep, installed directly from branch - see example below:
$ python -m pip install --no-deps git+https://github.com/argoproj-labs/hera@fix-create-as-workflow --ignore-installed
...
Successfully built hera
Installing collected packages: hera
Successfully installed hera-0.0.0.dev0

WorkflowTemplate function below replicating #692:
def get_workflow_template() -> WorkflowTemplate:
    with WorkflowTemplate(
        name="dag-create-as-workflow-example-",
        entrypoint="dag-template",
        namespace="...",
    ) as w:
        container = Container(
            name="container",
            command=["echo", "test"],
            image=".../whalesay:v1",
        )
        with DAG(name="dag-template"):
            container(name="container-in-context")
    return w

create_as_workflow_test.py submission file:
global_config.token = ...
global_config.host = ...

wt = get_workflow_template()
wt.create_as_workflow()

then ran python -m create_as_workflow_test. Visible in Argo UI:


Manually trigger periodic task using controller api.

I discussed this with @mcvsubbu a bit. Setup controller api to allow for manually triggering a periodic task. When the controller gets a request to manually execute a periodic task, it will send a broadcast helix message to all the controllers in the cluster for executing the periodic task against the tables. Upon getting the broadcast message, each controller will run the specified periodic task against the tables for which it is the lead controller. Lead controllers will then respond back to the originating controller with status information regarding periodic task execution which will be returned back to the user for information purposes. It will also be useful to allow for fetching status information of recent periodic tasks executions (without necessarily manually executing a periodic task), so that user can find out status of recent periodic task executions.

This is good design. So basically we want to guarantee that:

Only the leader controller can process the table
The API can be triggered on any controller and the request will be broadcasted to all the controllers

One challenge I can see here is that we need to gather the responses from the broadcasted helix message. We never use the custom Helix message this way, but the Helix messaging server does take an async callback stub, which we can probably leverage to achieve that.

Why gather responses? This is similar to our current segment reload message -- no response

Helix messaging server does take an async callback stub, which we can probably leverage to achieve that.

async callback is what I was thinking about using.

Why gather responses? This is similar to our current segment reload message -- no response

if one of the controllers fails to complete manually triggered periodic task successfully, then the user may want to know about that and hence the need for gathering responses. Also, user may want status information on when the periodictask was run last and what was the result of that run before deciding to trigger the periodictask manually again.
Also it is interesting to note that PinotTaskManager (which is derived from ControllerPeriodTask) already seems to have an extensive set of controller apis (REST path "/tasks" through PinotTaskRestletResource) for adding/removing/deleting tasks and getting their status information, but "PeriodicTask" is a higher level construct, so I was thinking about adding another rest path "/periodictask" for triggering and getting status of PeriodicTask derived classes (excluding PinotTaskManager).
Another option may be to deprecate current "/tasks" REST path and create "/periodictask" and "/periodictask/taskmanager" REST paths where the REST path "/periodictask/taskmanager" would be same as current "/tasks" REST path?

No, let us not complicate this any more than we have to. Unless helix provides a response option (I think it does not). The user can trigger the API and scan the logs for further info. In any case, the logs will have more detailed information on what went wrong.


PrismaClientInitializationError does not get properly initialized

Bug description
I was seeing some issues around not getting stack traces logged properly when a PrismaClientInitializationError was thrown (I expected the error, because my local database hadn’t been started).  I noticed in the source for this Error that I don’t think it is being constructed properly:
source:
  constructor(message: string, clientVersion: string, errorCode?: string) {
    super(message)
    this.clientVersion = clientVersion
    this.errorCode = errorCode
    Error.captureStackTrace(PrismaClientInitializationError)
  }

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#custom_error_types
https://nodejs.org/dist/latest-v16.x/docs/api/errors.html#errorcapturestacktracetargetobject-constructoropt
what I believe is correct:
  constructor(message: string, clientVersion: string, errorCode?: string) {
    super(message)
    this.clientVersion = clientVersion
    this.errorCode = errorCode
    Error.captureStackTrace(this, PrismaClientInitializationError)
  }

(note the this as the first argument provided to Error.captureStackTrace)
How to reproduce

Start your Prisma app locally without your database up
Note the error displayed

Expected behavior
The full stack trace should be displayed
Prisma information

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
  binaryTargets = ["native"]
  output   = "../../../../node_modules/.prisma/client"
}

enum lead_type {
  buy
  sell
  buy_with_trade
  coming_soon
}

model lead {
  id                    String    @id(map: "lead_pk") @unique(map: "lead_id_idx") @default(dbgenerated("gen_random_uuid()")) @db.Uuid
  type                  lead_type
  timeFrame             DateTime? @db.Timestamptz(6) @map("timeframe")
  firstName             String    @db.Text @map("first_name")
  lastName              String    @db.Text @map("last_name")
  mobilePhone           String?   @db.VarChar(10) @map("mobile_phone")
  created_at            DateTime  @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6)
  updated_at            DateTime  @default(dbgenerated("timezone('utc'::text, now())")) @db.Timestamptz(6)
  (some other fields that I cannot share due to proprietary business reasons)
}

  async createLead(data: Prisma.leadCreateInput): Promise<lead> {
    try {
      const res = await this.prisma.lead.create({ data });
      return res;
    } catch (err) {
      const msg = 'Error creating lead in database';
      this.logger.error(err, msg);
      throw new HttpException(msg, HttpStatus.INTERNAL_SERVER_ERROR);
    }
  }

Environment & setup

OS: macOS, Windows, Alpine (in deployed environments)
Database: PostgreSQL
Node.js version: 16.17.1

Prisma Version
4.4.0

A conversation about this issue was started in the Prisma Slack community in this thread

I was curious if there is any movement on this, or if its expected behavior.
We're also not getting the full stack trace in our errors from Prisma.
prisma -v: 3.11.1.

Could you please provide a minimal reproduction of this?
Not currently able to reproduce this locally with the information provided


[Dashboard] Wrong link to Dashboard Help Center articule

The link on this page is pointing to https://carto.com/help/getting-started/dashboard/.

It should point to: https://carto.com/help/getting-started/new-dashboard/
cc: @CartoDB/rt-managers

Thank you Yisus! 👏👏👏


Go through all Echo cards and make sure we are counting cards as scored when we are supposed to

would this include echo effects?

Yes it would. And we should also wait to do this until we finish implementing the cards


Improve ringbuf algorithm

What type of PR is this?
/kind bug
/kind cleanup
Any specific area of the project related to this PR?
/area libpman
Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
This PR reduces the possibility of facing out-of-order events with the modern ebpf probe. When the producer is full the right thing to do is to insist on the same CPU to check if the producer has pushed some new events otherwise there is the risk that we skip some events with a lower timestamp with respect to the others in the other buffers.
Added also some handy debug print. Example
-----------------------------
Iterate over all the buffers
[NULL Event] buf: 0
[NULL Event] buf: 1
[NULL Event] buf: 2
[NULL Event] buf: 3
[NULL Event] buf: 4
[NULL Event] buf: 5
[Event] ts:<PHONE_NUMBER>955668930, buf: 6
Found new min with ts '1724060673955668930'  on buffer 6
[NULL Event] buf: 7
Send event -> [Event] ts:<PHONE_NUMBER>955668930, buf: 6

-----------------------------
Iterate over all the buffers
[NULL Event] buf: 0
[NULL Event] buf: 1
[NULL Event] buf: 2
[NULL Event] buf: 3
[NULL Event] buf: 4
[NULL Event] buf: 5
[Event] ts:<PHONE_NUMBER>955681382, buf: 6
Found new min with ts '1724060673955681382'  on buffer 6
[NULL Event] buf: 7
Send event -> [Event] ts:<PHONE_NUMBER>955681382, buf: 6

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

This needs to be rebased on latest master to fix CI, right?

This needs to be rebased on latest master to fix CI, right?

done :)

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 53a37e06692505a971307bfc53f2cfcbdf253f9b


Add Support for Java

Hey @rohitpaulk, I was able to get the Java starter to work.
But there are some issues to be worked out, primarily because the Java template in redis challenge does not make use of external Jars or a build system, and for this challenge, we need external jars for JSON/Bencode.
So we need to get around that somehow.
Need your opinions on what to go forward with.
There are 3 options I explored:
Using a build system - Maven
Pros:
Familiar build tool for Java Folks,
Easy to configure
Cons:
Slow inside docker run so fails the 10-sec timeout sometimes
Using JBang
Pros:
Even more easier to configure than Maven
Can add support for languages like Kotlin/Groovy or upgrade JVM just by simple directives
Cons:
Slow inside docker run so fails the 10-sec timeout
A new tool that might be not as familiar to the user
Copying Jars to the Classpath and run using plain Java
Pros:
Faster than the Maven/JBang process
Cons:
Needs Manual changes to add Jars to the classpath, so any jar user wants they will have to do it themselves.
Atypical setup so users might struggle with diff IDE setups not recognizing the external jar files.
Issues with starter_template because the course-sdk/lib/stater_repository_defenition.rb::50 ruby script tries to render the file before copying and thus fails. I checked by manually placing the jars in the desired location and it worked fine.
workspace/course-sdk (main) $ docker compose run tester scripts/compile_and_test.sh courses/build-your-own-bittorrent java

Log

/var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache/parser.rb:286:in `error': Illegal content in tag (Mustache::Parser::SyntaxError)
  Line 54
    ���'<\x1D�\x18����`�m��\\^�����=_��ZMs�[o<G�u��-�f^J����\x15黎�\x16�︓'�&\x15��\x02K�"pfu���f�ˆY�][6�8�ؖ������W����&�Zp�JjՖ��ת       w�ךAr�ś�ܵ�><��׶ǰү̨^��G2�-.yC�\x19^e{��GE��}�F\f�m\b�s��پ���i\x05/\aj#\x04�q�\x19�+u�>d0D�S/\x19��>ɗx;�}��\x16��/Qu�\\K,��<�;�Y%j`\x18�\r\f!i ���\a\f�}*ՠ__R  d\f�!ɐ>*s��KQ\f}mk�\x1F����\x17�ހR��_.>ݮ\x14���b�PdH.�\vώ\x0E0A�� =,\x11dT�h�Q��Y\aS��x�v[�\x11�9��\x06��>@$7s��� t$\b�h,�XF\x1Ck�Z�9:��   �y\\\0��E��`5JB\x11򾄱Pf����\x01m�\vb�6��Pc �U\x02����� �8����{1�=\x18\fW1\x1E2L��-�������]���0F�N�\b�\x1E\x0F��\x19|\x1D7��"y+[Z)S\a�C�>@�~��h\x17�E\x17'\x1Dr&\x03f$���o���OCn�\e\x19�����H\x04�\x1D�>OS�՟�\x06ca�\x0FPK\a\b1�{{�\x02\0\0�\x06\0\0PK\x03\x04\x14\0\b\b\b\0\0\0A\0\0\0\0\0\0\0\0\0\0\0\0\0I\0\0\0com/fasterxml/jackson/databind/AnnotationIntrospector$XmlExtensions.classŒ�J\x031\x14�oj���?�;�.ԅ��"ԪP�vQ\x17n�ifH��\x19&w�(�`.|\0\x1FJ�\x15�H\x11D\x11\x1A\bɗ䞜\x1C����\x02\0���AÃM\x01����J��%��\x02�w���e�\x1C�t\x1AGr��[gQ�\x15�\x11��~\x10�K�$:�Z\fL���� ��%�'�A��H��{���S2R\x18�!�\x06ö��Є�(K��㯍\x1C�����q����:�C�8ʈ]=,!�Sk#��==-'��@=\x0F�ZOI@#_螱����f��/L�qm\c?
                                                                                ^
        from /var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache/parser.rb:196:in `scan_tags'
        from /var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache/parser.rb:134:in `compile'
        from /var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache/template.rb:59:in `tokens'
        from /var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache/template.rb:50:in `compile'
        from /var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache/template.rb:36:in `render'
        from /var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache.rb:137:in `render'
        from /var/lib/gems/3.0.0/gems/mustache-1.1.1/lib/mustache.rb:97:in `render'
        from /course-sdk/lib/starter_template_compiler/starter_repository_definition.rb:50:in `block in files'
        from /course-sdk/lib/starter_template_compiler/starter_repository_definition.rb:45:in `map'
        from /course-sdk/lib/starter_template_compiler/starter_repository_definition.rb:45:in `files'
        from /course-sdk/lib/starter_template_compiler/compiler.rb:40:in `compile_definition'
        from /course-sdk/lib/starter_template_compiler/compiler.rb:30:in `block in compile_for_language'
        from /course-sdk/lib/starter_template_compiler/compiler.rb:26:in `each'
        from /course-sdk/lib/starter_template_compiler/compiler.rb:26:in `compile_for_language'
        from scripts/compile.rb:29:in `block in <main>'
        from scripts/compile.rb:29:in `each'
        from scripts/compile.rb:29:in `<main>'

Possible Solutions:

Use Maven:

To Address Slowness: Increase Timeout OR Pre-compile the Jar before test timer starts, so all runs do not need to compile+create archive.

Use JBang:

To Address Slowness: Increase Timeout OR Pre-compile the Jar before test timer starts, so all runs do not need to compile+create archive.

Copy Jars:

To Address Manual copy: create a helper script that downloads and adds jar to the desired location.
To Address IDE setup issues: there might be conventions that ide's follow as to where to look for external jars, IIRC it is the libs/ directory at the same level.
To Address the render: Change the logic for the ruby script. (Might need help in this)

I saw something in the rust dockerfile related to precompile, but could not figure out how to use it.
Could someone help me out with it?
My preference would be to use a Build System like Maven.

Open to your inputs :)
Please let me know if I can help clarify this more.

@anugrahsinghal yep, precompile seems like the right approach here. If Maven is standard, makes sense to try to get that to work here.
The way the precompile stuff works is:

Any script placed inside /codecrafters-precompile.sh will be executed before the tests start

Example

Any files placed inside /app-cached when the dockerfile builds will be moved into /app along with the user's code before tests start.

This helps with languages which need to place some cached objects inside the app directory.
Example

Both of these techniques are utilized inside the Dockerfile, the starter code itself won't be aware of this in general.
Up until now, we've found this combination sufficient to make most languages work. Could you try and see if this helps?

@rohitpaulk got the build working locally with both precompile and cache.
But, looks like the build specifically for Java gets stuck when running on github.
All my actions failed only for java: https://github.com/anugrahsinghal/build-your-own-bittorrent/actions
and the same seems here too.

I faced this on my local system too, and on gitpod.
If I press ctrl+c to stop execution, I get this log.
  - Building java-1.8 image without cache

^C/course-sdk/lib/test_harness.rb:117:in `copy_stream': Interrupt
        from /course-sdk/lib/test_harness.rb:117:in `setup_io_relay'
        from /course-sdk/lib/test_harness.rb:56:in `assert_stderr_contains'
        from /course-sdk/lib/dockerfile_tester.rb:47:in `build_image'
        from /course-sdk/lib/dockerfile_tester.rb:35:in `block in do_test'
        from /course-sdk/lib/test_harness.rb:135:in `assert_time_under'
        from /course-sdk/lib/dockerfile_tester.rb:35:in `do_test'
        from /course-sdk/lib/test_harness.rb:44:in `test'
        from scripts/test.rb:83:in `block in <main>'
        from scripts/test.rb:83:in `each'
        from scripts/test.rb:83:in `<main>'

I do not understand RUBY so,
I pasted the error and source code into perplexity codellama-34-b and got this fix.

# It looks like the issue might be related to the MultiWriter class. Specifically, the PrefixedLineWriter instance is never closed, which could cause the program to hang.

def setup_io_relay(source, prefixed_destination, other_destination)
  begin
    IO.copy_stream(
      source,
      MultiWriter.new(
        PrefixedLineWriter.new("     ", prefixed_destination),
        other_destination
      )
    )
  rescue Exception => e
    puts "Error occurred while relaying IO streams: #{e}"
  ensure
    # Close the writers
    prefixed_writer = PrefixedLineWriter.new("     ", prefixed_destination)
    other_writer = other_destination
    prefixed_writer.close
    other_writer.close
  end
end

After applying the fix on gitpod,
I do not seem to face any errors (tried running it multiple times), but that might be coincidental.
I tried to modify the test.yml file to refer to it to test my fix
but does not look like I can use the fix directly from my fork of the repo
https://github.com/anugrahsinghal/codecrafters-course-sdk/tree/close_io_relay
any help/direction is appreciated.

got the workflow to use my branch with the modified ruby script on my fork.
https://github.com/anugrahsinghal/build-your-own-bittorrent/actions/runs/6114448063/job/16596033579?pr=1
But looks like the build still fails for Java.

the issue with the script getting stuck is fixed.
reducing the amount of log that is being produced during the docker build fixed the issue.

post-diffs test is failing due to an HTTP 403 (Forbidden) issue.
https://github.com/codecrafters-io/build-your-own-bittorrent/actions/runs/6115454311/job/16599642025?pr=12#step:4:127

Thanks so much for working on this @anugrahsinghal! Gonna test this and should be live shortly


multiple std errors are displayed where only one is expected

Describe the bug
multiple std errors are displayed where only one is expected
To Reproduce
Steps to reproduce the behavior:

Go to https://visualize.admin.ch/v/iyq3m4Ok43Re?dataSource=Prod
Scroll down to 3rd chart
See multiple std errors

Expected behavior
same amount of standard errors as bars - (in this case one)
Screenshots or video

Environment (please complete the following information):

Visualize environment and version: PROD 4.0.0

Hi @Rdataflow, thanks for reporting the issue. Could you also share some further reproduction steps on how to create such chart by not copying and editing the published one, but starting from a new cube?
The problem with the shared chart lies in the missing Region filter; however I was not able to remove it through interacting with the application itself (but could do so by going to the localStorage and manually removing the filter).
I believe that generally such cases should be prevented on a chart-creation level, inside the configurator, as after the wrong chart was published, we can't really back-add the missing filter, as it's impossible to automatically select the "right" value, without knowing creator's intentions.
I added a "safety net" in #1507 to add back these missing dimensions to the filter panel if for some reason the filters were not computed correctly – but I would be interested to learn if the wrong state achieved in the shared link was achieved in "non-hacky" way; then we'd need to fix that case.

@bprusinowski IIRC this was by selecting chart then going back to chart, maybe?

A similar issue identified while testing. The standard error bars show up at the top of the chart.

Link:https://test.visualize.admin.ch/v/GZ-0AyMnkDCB?dataSource=Test

Tested on TEST with PROD data set -
I noticed that sometime the standard error bar is not correctly positioned, sometimes it "jumps" into place but see examples below where it shows up on the y-axis labels

Link: https://test.visualize.admin.ch/v/W4mX7FK_UJEu?dataSource=Prod

https://test.visualize.admin.ch/v/kUtR4TEUrn38?dataSource=Prod


Add unique constraint for the TaskState

Issue Summary
In file wagtail/core/models/__init__.py, the TaskState is defined to track the status of a given task for a particular page revision.
There are code logics to handle the case. For example, in file wagtail/admin/views/pages/workflow.py
    try:
        task_state = TaskState.objects.get(
            page_revision__page=page, task=task, status=TaskState.STATUS_IN_PROGRESS
        )
    except TaskState.DoesNotExist:
        ...

To improve the data integrity, we can enforce this with data constraint in class TaskState. For example, we can add a constraint like this.
class Meta:
    ...
    constraints = [
        UniqueConstraint(
            fields=["page_revision", "task"],
            condition=Q(status='in_progress')),

Please let me know your thoughts. Thanks a lot :D
Technical details

Python version:3 .8.8
Django version: 4.0.2
Wagtail version: 2.17a0
Browser version: Chrome/99.0.4844.51 Safari/537.36

@gasman Could you help take a look? This is similar to #8089. I can create a PR to fix this. Thanks

See https://github.com/wagtail/wagtail/issues/8089#issuecomment-1077518164 - due to limited DB support, flagging this as an optimisation for now and not a bug.

Closing as per comments
https://github.com/wagtail/wagtail/pull/8152#issuecomment-1103677236
https://github.com/wagtail/wagtail/issues/8089#issuecomment-1103680226
We may reopen in the future.


top-level bindings of let/const/var

Is there a reason to allow top-level void bindings in let/const/var declarations? I don't ever want to see let void = procedure();. I would prefer these cases were not permitted.

The only real motivation is consistency with using. As I mentioned during plenary, there's a very minor benefit if you have code like const a = f(), b = (g(), h()), but that's not a very strong motivation. I'm fine with excluding these from the proposal.

using Acquire() seems fine at first glance, but using (Acquire()) or using (foo || bar).Acquire(), or any other expression that starts with parentheses is already legal JavaScript. Disambiguating it for just this case would be a huge footgun for users.

Also, per #3 the current spec text disallows top-level void bindings in let/const/var.

using Acquire() seems fine at first glance, but using (Acquire()) or using (foo || bar).Acquire(), or any other expression that starts with parentheses is already legal JavaScript. Disambiguating it for just this case would be a huge footgun for users.

Isn't using [a] = Acquire() already valid though?

Ah, I didn't see that you had added the Pattern flag to BindingList.


HTTP TS Remuxer

Hello,
http TS remuxer produce http stream which is only playable in VLC, but not on STBs like enigma2 boxes...
When i analyze http TS stream from srs, ts analyzer dont show pmt tables, sdt and other stuff which i usualy have when i make stream with ffmpeg (-f mpegts) for example.
So, config like this:
listen              1935;
max_connections     1000;
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
vhost __defaultVhost__ {
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].ts;
        hstrs       on;
    }
}

makes http ts stream that is not recognized as TS in analyzers....
TS Analyzers i used:

TSReader Lite
one of well known in video broadcast world
http://www.coolstf.com/tsreader/
http://www.coolstf.com/tsreader/TSReaderLite2.8.47c.exe
This is trial version, but functional enough to make simple testing . . .

and

Astra - Stream / Analyzer
Also very popular software for TV operators and broadcasters
https://cesbo.com/en/astra/
http://cesbo.com/download/astra/4.4.182/free/x86/

Astra output for same stream over ffmpeg and srs:
from ffmpeg

astra --analyze udp://<IP_ADDRESS>:5002
Jul 17 19:29:32: INFO: Starting Astra 4.4.187
Jul 17 19:29:32: INFO: PAT: tsid: 1
Jul 17 19:29:32: INFO: PAT: pid: 4096 PMT pnr: 1
Jul 17 19:29:32: INFO: PAT: crc32: 0x2AB104B2
Jul 17 19:29:32: INFO: PMT: pnr: 1
Jul 17 19:29:32: INFO: PMT: pid: 256 PCR
Jul 17 19:29:32: INFO: VIDEO: pid: 256 type: 0x1B
Jul 17 19:29:32: INFO: AUDIO: pid: 257 type: 0x0F
Jul 17 19:29:32: INFO: AUDIO: Language: ita
Jul 17 19:29:32: INFO: PMT: crc32: 0xFDB504E8
Jul 17 19:29:32: INFO: SDT: tsid: 1
Jul 17 19:29:32: INFO: SDT: sid: 1
Jul 17 19:29:32: INFO: SDT:     Service: Del Arno
Jul 17 19:29:32: INFO: SDT:     Provider: neo
Jul 17 19:29:32: INFO: SDT: crc32: 0x5B51DC0D
Jul 17 19:29:33: INFO: Bitrate: 914 Kbit/s

from srs:

astra --analyze http://localhost:18080/live/livestream.ts
Jul 17 19:45:38: INFO: Starting Astra 4.4.187
Jul 17 19:45:39: INFO: Bitrate: 4354 Kbit/s
Jul 17 19:45:40: INFO: Bitrate: 1681 Kbit/s
Jul 17 19:45:41: INFO: Bitrate: 2001 Kbit/s

there is data streaming, but not recognized as in ffmpeg case . . .

SRS already insert the PMT and PAT in ts stream, why this tool not got it?

About PCR, read #311


Allow binary reading of the measurements in Python API.

Pull request type
Allow the possibility to read a measurement in binary mode (and access info like descriptor, schema type, ...)
Please check the type of change your PR introduces:

[x] Feature

What is the current behavior?
No access to binary channel data from high level python interface
What is the new behavior?
Two measurement modes for accessing data -> OBJECT (default) and BINARY
The user may decide how they want to access the data.
Does this introduce a breaking change?

[x] No

The current API is extended to accept a new value for measurement access mode.
Per default the access mode is OBJECT, which is the same behavior as before the change.

The properties are now defined the following way:
class BinaryChannelInfo(NamedTuple):
    topic_name: str
    type_encoding: str
    type_name: str
    type_descriptor: bytes

Respective as properties of a channel.


Some suggestions

Hey there, I was jumping in to thank you for the playground, it's useful to test zod schemas from time to time and to give you some suggestions:

The interface could be a bit more intuitive, one step forward would be to place an example schema to the elft with an example value to the right.
Make sure to link the GitHub repo in the playground. This is because the vercel domain appears to be quite high in google but not the github repo and didn't know where to star it.
We could definitely improve the position of the validate button, looks too far. I'm going to push the idea even further implementing keystrokes validation.

hey @giacomocerquone, Your suggestions are welcomed.

The interface is indeed raw and lacks intuitiveness. To improve, we could implement an onboarding modal upon initial access, guiding users through the app's features and optionally allowing them to add a zod schema. Futhermore I am not happy with the overall layout, It should be redesigned
Totally agree with you. It is easy to do
I propose positioning it at the center of the screen to enhance visibility
Hope to have enough time this weekend to go forward with these activities

hey @giacomocerquone, Your suggestions are welcomed.

The interface is indeed raw and lacks intuitiveness. To improve, we could implement an onboarding modal upon initial access, guiding users through the app's features and optionally allowing them to add a zod schema. Futhermore I am not happy with the overall layout, It should be redesigned
Totally agree with you. It is easy to do
I propose positioning it at the center of the screen to enhance visibility
Hope to have enough time this weekend to go forward with these activities

the onboarding modal is nice, but I can tell you from experience it gets constantly skipped.
this is also a good idea, but keep in mind the autovalidation thing I mentioned.

I can help with the activities, of course.
I'm available for implementing whatever the task you want to assign me to 🙂

hey @giacomocerquone, Your suggestions are welcomed.

The interface is indeed raw and lacks intuitiveness. To improve, we could implement an onboarding modal upon initial access, guiding users through the app's features and optionally allowing them to add a zod schema. Futhermore I am not happy with the overall layout, It should be redesigned
Totally agree with you. It is easy to do
I propose positioning it at the center of the screen to enhance visibility
Hope to have enough time this weekend to go forward with these activities

The onboarding modal would be nice, but I can tell you from experience it gets constantly skipped. If you still want to add it, just make sure to also let the user start with an example zod schema already written in the editor.
this is also a good idea, but keep in mind the autovalidation thing I mentioned.
I can help with the activities, of course.

I'm available for implementing whatever the task you want to assign me to 🙂


Fixed broken link to Jasmine

Jasmine changed their address to: https://jasmine.github.io/

Thank you!


pull request for e2e test at 12/21/2016 18:15:22

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Refactor code based on suggestions

See https://github.com/lucy-marko/centrepoint/pull/172

Also implement promises:

if you refactor to use Promises, then you can do

   const query1Results = results[0];
})```

> _alternatively_
> you could try
```let queryIndex = 0;
let completedQueries = 0;
let results = [];
function createCallback() {
   const index = queryIndex;
   queryIndex++;
   return function (err, data) {
       results[index] = data;
       completedQueries++;
       if(completedQueries === 2) {
           // continue with code
       }
   }
}
doFirstQuery(createCallback());
doSecondQuery(createCallback());```

> you could try making it more general so it works with any number of asynchronous function calls
> so you could do something like
```multiAsync([ doFirstQuery, doSecondQuery ], function (results) {
     const firstQueryResults = results[0];
})```

> and the function would be like
```function multiAsync(queries, callback) {
   // mystery implementation
}```

> maybe you should take the code i sent you above and refactor that into `doubleAsync` first, which only works for two queries


Cluster controller refactor

This is the 2nd part of the refactoring to reduce the boilerplate in the cluster controller.

What about moving the Watcher and the reconciliation out of the ClusterController? Is it planned for another PR? Or not planned at all?

What benefits do you see for doing that?

I tried to add some tests for KafkaClusterOperations.update() and delete(), prior to adding a test for the new reconcile(), but I got bogged down in it. Update in particular is tricky because you have to mock all the patch operations. In order to not block others I would like to add such tests in another PR.

@tombentley Your call I guess. Should we then review it in the current state?

Yes, please review @scholzj @ppatierno


Need to highlight editable cell

Hi Allen,
Hope you are doing good.
We need that on row selection the cell which is editable for that specific row only should get highlighted like an input box.

As shown in the snapshot , one row is selected and the cell which is ediatble is highlighted on rowClick but we want that it should get highlighted as soon as i select a row and make that header editable without even clicking the row .
Any assistance on the same is highly appreciated.

@shalinibajpai0310 sorry for lately reply. currently, react-bootstrap-table already stop development and move to react-bootstrap-table2. About you questions, I think it's hard to implement in current legacy react-bootstrap-table. Anyway,  PR is welcome.


Add todays date to the region.json file

In order to provide the app with a well-known date we will add todays date pinned to midnight in epoch time so that the app can attach that to metrics generated on that date.

Might as well just get it out of the response header


BUILD: move to pypy3-v7.1

Change build to pypy3.6-v7.1 which was released recently. Since it is built on Ubuntu14.04, the openssl library needs to be updated. Rather than download an old library, rebuild the cffi-based _ssl backend with the library in the image

Looks like there is an error:

FAILED scipy/io/matlab/tests/test_streams.py::TestZlibInputStream::test_seek

That test_seek failure should have been fixed already, was a PyPy bug (see gh-9837). If it keeps coming back, should we skip the test on PyPy for now and open a new PyPy issue for it?

That test_seek failure should have been fixed already, was a PyPy bug (see gh-9837). If it keeps coming back, should we skip the test on PyPy for now and open a new PyPy issue for it?

I'm fine with that solution. @mattip feel free to add a PyPy-conditional xfail to this PR.

Seems the recent pypy 7.1 release did not fix that problem, reverting to pypy3.6 v7.0

This only touches .circle files and the PyPy3 build is passing. I'll merge once the doc build comes back to get master green again.

Thanks @mattip

thanks @mattip!
I edited the title, since there was no longer a version bump as part of this PR

It also reminded me to fix that annoying PyPy problem with flush ing a stream twice (from test_seek) so hopefully we can bump the version next time the scipy build breaks :).

nice:)


Adding OpenFOAM build recipe for ESI's OpenFOAM+ versions.

Adding OpenFOAM build recipe for ESI's OpenFOAM+ versions.
Tested with v1606+.
Requires cgal/4.8.x
Added cgal.cyg for completeness

Completely new cygnet file


[#111] Make styleId an optional string or function

We have a build that builds out css with relativeCSSInjection. I would like to have style tags with different id's as so not to clash.
Using this with the SSR approach that I modified in my style injection function works really well https://github.com/egoist/style-inject/pull/28/files
Styles are loaded via SSR with different id attributes. This will only run if styleId is specified.
I'm adding this PR because I need the id to be the same for server + client so I need it at the vite level.
closes #111

@marco-prontera I made the requested changes.

yeah totally. will make the change.

@marco-prontera changes made, it now accepts a callback function. I also like this implementation :)

Hi @pedrosousa13, I published the new version 3.3.0
Thank you for the contribution 🥳


SOP for cleaning up dev and staging upload areas

Currently when cleaning up dev and staging mongodb, we often forget to clean up the data in the upload areas for those environments.
The dev and staging upload areas currently occupies close to 30TB of data in two S3 buckets. This incurs a huge monthly bill (approx. 700$/mo.).
Previously we have deleted data directly in those buckets. We should come up with a correct SOP for this. As data in these S3 upload areas are managed by Upload Service.

from slack:
deleting directly from the bucket means the upload service isn't updated of this. there is an api endpoint to do that, but it doesn't seem to actually remove the data, it probably just marks the area as deleted in the upload postgres. ideally the postgres entry should be removed.

This is likely not needed anymore since @prabh-t added expiration policies to dev and staging buckets. Thanks for reminding me @aaclan-ebi


Unstability in training in RNN

Hello,
Congratulations about this awesome paper and for providing the code to test it.
I´m training a small RNN network ( 2 layers of SRU (https://github.com/asappresearch/sru), 256 hidden size, CRF at end) for the NER task.
As following the Readme, I disabled the gradient clipping, and used an epsilon of 1e-12. This task converges great with Ranger, SGD and Adam. But using Adabelief I get some loss explosion randomly.
 I think you are right, and this might be caused by the fact that the update is roughly m_t / sqrt(. (gt-mt)^2 ), the denominator is sometimes too small. Even if the denominator is small for one element, that element will explode. This is a issue I'm trying to fix in the next release, for example hard thres 1/sqrt( (gt-mt)^2 ) to a rather large value.

I noticed that the learning rate is quite large, after reduction it's still 3e-3. Perhaps a large lr also causes the instability.

Just an update @juntang-zhuang . Your modified Ranger got the best accuracy with half epochs compared to regular Ranget. It is already my favorite optimizer. Thank you!

Wow, excited to hear that, thanks so much for trying it out.

Could be entirely unrelated to this issue, but at first step in AdaBelief we havem_t = grad, causing v_t = 0 and step_size = step_size / epsilon_t which seems like unintended behaviour.

Thanks for comment @henriyl . The detailed implementation is definitely not perfect now and might suffer from numerical issues, and you refer to a very good point. For this paper, it's more like a "proof-of-idea" considering the key modification of Adam(W) is only 2 lines of code, therefore many details are not well solved. We are working on the improvement, both in implementation and on theory (personally I guess the convergence bound is too loose in the paper). Thanks again for pointing this out.

@bratao Just an update, I might confuse "gradient clip" with "gradient threshold" before, please see the discussion in readme.md. Perhaps "gradient clip" still helps, which shrinks vector amplitude by keeps the direction; while "gradient threshold" is element-wise operation, and for each element outputs a value in a fixed range, and each dimension of the parameter is independently thresholded.


proposal: runtime: add way to clear and reuse a map's working storage

https://github.com/golang/go/blob/db8142fb8631df3ee56983cbc13db997c16f2f6f/src/runtime/map.go#L303 I see runtime.makemap() gives a way to reuse old hmap's buckets, but it is only used when mallocating small maps on stack at present. Why not open this shortcut to users for memory reusing? Actually I only need exporting runtime.makemap() and runtime.clearmap() to achieve this goal:
func resetMap(mtyp *mapType, ptr unsafe.Pointer) {
	m := *(*unsafe.Pointer)(ptr)
	if m == nil {
		return
	}

	hm := (*hmap)(m)
	old := hm.B
	mapclear(mtyp, hm)

	hm = makemap(mtyp, 0, hm)
	hm.B = old
	*(*unsafe.Pointer)(ptr) = m
}

It works fine and benefits much on big maps. This is the benchmark results I got on operating a 1000-keys map (one op includes make(map[int]interface{}),  set 1000 keys and get 1000 keys):
func BenchmarkMap1000_ResetAndSet(b *testing.B) {
	var pool = sync.Pool{
		New: func() interface{} {
			m := make(map[int]interface{}, 0)
			return &m
		},
	}

	for n := 0; n < b.N; n++ {
		x := pool.Get()
		obj, _ := x.(*map[int]interface{})
		m := *obj
		for i := 0; i < 1000; i++ {
			m[i] = i
			if ni, ok := m[i]; !ok || ni != i {
				b.Fatalf("exp:%v, got:%v", i, ni)
			}
		}
		resetMap(mtype(unpackEface(m).typ), unsafe.Pointer(obj))
		pool.Put(obj)
	}
}

func BenchmarkMap1000_MallocAndSet(b *testing.B) {
	var obj map[int]interface{}

	for n := 0; n < b.N; n++ {
		obj = make(map[int]interface{})
		for i := 0; i < 1000; i++ {
			obj[i] = i
			if ni, ok := obj[i]; !ok || ni != i {
				b.Fatalf("exp:%v, got:%v", i, ni)
			}
		}
	}

	obj[1] = 1
}

//-------------RESULTS----------------
goos: darwin
goarch: amd64
pkg: code.byted.org/gopkg/memset
cpu: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
BenchmarkMap1000_ResetAndSet-16     	   23750	     47376 ns/op	    5957 B/op	     744 allocs/op
BenchmarkMap1000_MallocAndSet-16    	    9390	    119347 ns/op	  128288 B/op	     785 allocs/op

What's wrong with
for k := range m {
  delete(m, k)
}

?
That gives you an empty map with the bucket array of the starting m. At least, until #20135 is implemented.

What's wrong with
for k := range m {
  delete(m, k)
}

?
That gives you an empty map with the bucket array of the starting m. At least, until #20135 is implemented.

Actually I bench this scenario too, and i loss %2~%8 cpu performance since runtime.memclr() is more effecient than foreach iteration...

ince runtime.memclr() is more effecient than foreach iteration...
there is no iteration. Newer go compilers optimise the above to a call to runtime.mapclear which uses memclr.
https://godbolt.org/z/vxKGzb639

since runtime.memclr() is more effecient than foreach iteration...

there is no iteration in the generated code. Newer go compilers optimise the above to a single call to runtime.mapclear which uses memclr.
https://godbolt.org/z/vxKGzb639
Note that this doesnt work for key types that are not reflexive for ==.
A simple memclear allone doesnt suffice and other data in the map needs to be reset too to make it reusable.
https://github.com/golang/go/blob/db8142fb8631df3ee56983cbc13db997c16f2f6f/src/runtime/map.go#L978

I got it. As you mentioned, if the key type is complex like interface{}, this compiling-time optimization doesn't work. So my way still gets advantage?

So my way still gets advantage?

Sure. So the question is, is it worth complicating the API? And what would that API look like? How easy is it to use and/or how easy is it to avoid misusing it?
We tend to come down on the side of a cleaner API.

@randall77
Since we have delete(m, k), can't we make k optional?
So basically delete(m) would internally call mapclear.

Having delete(m) clear the whole map is possible. I don't think it is worth complicating the language spec for it, though. I think we'd need a stronger motivation than I've seen so far. Sure, every proposal is useful, but changes to the language need to pass a very high bar. Possible evidence could be that this problem is pervasive (e.g. find lots of instances where people would have used this feature, but had to resort to some lower-quality solution instead).
I'm not sure I understand the distinction between mapclear and resetMap. What different does the latter do?
(If it allows you to change the type of the keys or values, then it gets significantly more complicated.)

@randall77
Since we have delete(m, k), can't we make k optional?
So basically delete(m) would internally call ~mapclear~ resetMap(m).

I agree with your proposal . delete(m) is more definitive and concise for users who even don't know the compiler's trick（including me 👀), therefore them can remind themselves to reuse the map as required

We already recognize and optimize
for i := range x {
   x[i] = 0
}

as memset. Whatever fast implementation of map clearing we might come up with could be triggered just as easily by
for k := range m {
   delete(m, k)
}

right?
The question is really whether the optimization of that is "zero all the storage" or "shrink".

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Whatever fast implementation of map clearing we might come up with could be triggered just as easily by
for k := range m {
delete(m, k)
}
right?

We already do exactly that, at least for reflexive keys (it's trickier for things like NaN keys, where after this loop we might still have len(m)>0).

The question is really whether the optimization of that is "zero all the storage" or "shrink".

We currently don't shrink, just zero. I think shrink should be implemented in general (#20135) before we do anything like that for this optimization in particular. The tricky part here is that I don't see an easy way to tell the runtime "Keep the storage, I'm going to reuse it ~immediately", and "Release the storage, this map is going to be much smaller from here on out". Hopefully the automatic shrink mechanism, once we have it, will be good enough.

For my personal use case (where I do the for k := range m { delete(m, k) }, I don't really care about shrinking, this is used for maps in a pool that are usually pre-allocated with make(map[X]Y, 4096).

The question is really whether the optimization of that is "zero all the storage" or "shrink".

If I want to empty+shrink we can simply create a new map, so maybe we don't need to focus on that possibility?

For my personal use case (where I do the for k := range m { delete(m, k) }, I don't really care about shrinking, this is used for maps in a pool that are usually pre-allocated with make(map[X]Y, 4096).

Maybe the signal is to not shrink below the initial capacity.
In any event, it sounds like we don't need "a way to clear and reuse a map's working storage" beacuse the straightforward delete loop does exactly that and does it efficiently.

Based on the discussion above, this proposal seems like a likely decline.
— rsc for the proposal review group

No change in consensus, so declined.
— rsc for the proposal review group

This has been reopened in #56351, based on further thought about NaNs.


Russian translation

Hi!, i want to help 4translate ticketit to russian language, how i can do it?

https://laravel.com/docs/5.3/localization#overriding-package-language-files