C# version

I saw your post on https://github.com/dotnet/runtime/issues/85206 about a C# port. Are you able to share it? I'd like to benchmark it both in terms of speed and correctness.

Hi @Genbox ! I'm glad to see it had someone attention 😊  I've done my best to test it thoroughly, but having someone else give it a spin would be awesome. Really curious to see how it holds up in your benchmarks and open to any feedback you've got.
I'll create a new repository tomorrow so I can share the source code and push improvements until it matches this rust implementation performance-wise. I'll also include a few basic tests.
I'll keep you updated here!

``Here it is: gxhash-csharp
Actual implementation of the algorithm is here: https://github.com/ogxd/gxhash-csharp/blob/main/GxHash/GxHash.cs
I have added a few more optimization. It might not be "the most optimal" but I think it is at least conform to the spec and it already outperforms XxH3 and Marvin both on my MacBook m1 pro (ARM) and my x86 machine.
Here are the benchmark results on a github runner:
https://github.com/ogxd/gxhash-csharp/actions/runs/6888604880/job/18737919394#step:7:5179
|   Method |                Value |         Mean |     Error |    StdDev | Ratio |  Thoughput (MiB/s) |
|--------- |--------------------- |-------------:|----------:|----------:|------:|-------------------:|
|   Marvin |  5RmW(...)eRI6 [256] |   196.412 ns | 0.2916 ns | 0.2435 ns |  1.00 |     2486.01 ± 7.38 |
|     XxH3 |  5RmW(...)eRI6 [256] |    39.070 ns | 0.3471 ns | 0.3077 ns |  0.20 |  12497.51 ± 222.10 |
| GxHash32 |  5RmW(...)eRI6 [256] |     8.568 ns | 0.0386 ns | 0.0323 ns |  0.04 |  56986.44 ± 513.84 |
|          |                      |              |           |           |       |                    |
|   Marvin |                 9Iza |     4.345 ns | 0.0113 ns | 0.0106 ns |  1.00 |     1756.08 ± 9.15 |
|     XxH3 |                 9Iza |     3.765 ns | 0.0132 ns | 0.0117 ns |  0.87 |    2026.15 ± 14.19 |
| GxHash32 |                 9Iza |     1.573 ns | 0.0149 ns | 0.0140 ns |  0.36 |    4849.14 ± 92.00 |
|          |                      |              |           |           |       |                    |
|   Marvin |  cO0w(...)mE36 [512] |   395.916 ns | 0.1137 ns | 0.1008 ns |  1.00 |     2466.59 ± 1.42 |
|     XxH3 |  cO0w(...)mE36 [512] |    53.312 ns | 0.2560 ns | 0.2395 ns |  0.13 |  18317.93 ± 175.94 |
| GxHash32 |  cO0w(...)mE36 [512] |    15.647 ns | 0.2386 ns | 0.2232 ns |  0.04 | 62410.91 ± 1904.05 |
|          |                      |              |           |           |       |                    |
|   Marvin | F2fW(...)I1XD [8192] | 6,330.805 ns | 1.5850 ns | 1.4050 ns |  1.00 |     2468.09 ± 1.24 |
|     XxH3 | F2fW(...)I1XD [8192] | 1,017.953 ns | 5.8021 ns | 5.4273 ns |  0.16 |  15349.43 ± 174.98 |
| GxHash32 | F2fW(...)I1XD [8192] |   223.868 ns | 2.1845 ns | 2.0434 ns |  0.04 | 69795.58 ± 1362.24 |
|          |                      |              |           |           |       |                    |
|   Marvin |     F78AHeD7ke7NXlbK |    11.359 ns | 0.0203 ns | 0.0180 ns |  1.00 |     2686.68 ± 9.62 |
|     XxH3 |     F78AHeD7ke7NXlbK |     5.089 ns | 0.0147 ns | 0.0115 ns |  0.45 |    5996.70 ± 34.69 |
| GxHash32 |     F78AHeD7ke7NXlbK |     1.570 ns | 0.0161 ns | 0.0142 ns |  0.14 |  19432.46 ± 397.67 |
|          |                      |              |           |           |       |                    |
|   Marvin | KFngE(...)Gouqd [64] |    48.463 ns | 0.1138 ns | 0.0889 ns |  1.00 |    2518.86 ± 11.83 |
|     XxH3 | KFngE(...)Gouqd [64] |    11.185 ns | 0.0364 ns | 0.0341 ns |  0.23 |   10913.33 ± 71.03 |
| GxHash32 | KFngE(...)Gouqd [64] |     4.445 ns | 0.0284 ns | 0.0252 ns |  0.09 |  27461.83 ± 351.28 |
|          |                      |              |           |           |       |                    |
|   Marvin |             kwqYIEC7 |     6.418 ns | 0.0325 ns | 0.0304 ns |  1.00 |    2377.46 ± 24.07 |
|     XxH3 |             kwqYIEC7 |     4.048 ns | 0.0077 ns | 0.0068 ns |  0.63 |    3769.81 ± 14.32 |
| GxHash32 |             kwqYIEC7 |     1.568 ns | 0.0112 ns | 0.0105 ns |  0.24 |   9732.41 ± 139.11 |
|          |                      |              |           |           |       |                    |
|   Marvin | miyOG(...)x0a2k [32] |    23.576 ns | 0.0247 ns | 0.0207 ns |  1.00 |     2588.92 ± 5.43 |
|     XxH3 | miyOG(...)x0a2k [32] |     7.288 ns | 0.0215 ns | 0.0201 ns |  0.31 |    8374.39 ± 49.46 |
| GxHash32 | miyOG(...)x0a2k [32] |     4.173 ns | 0.0202 ns | 0.0179 ns |  0.18 |  14626.85 ± 141.46 |
|          |                      |              |           |           |       |                    |
|   Marvin | OZYE(...)yROZ [4096] | 3,165.447 ns | 1.7277 ns | 1.5316 ns |  1.00 |     2468.06 ± 2.69 |
|     XxH3 | OZYE(...)yROZ [4096] |   500.590 ns | 0.4903 ns | 0.4094 ns |  0.16 |   15606.59 ± 30.57 |
| GxHash32 | OZYE(...)yROZ [4096] |   111.149 ns | 0.1242 ns | 0.1037 ns |  0.04 |  70288.65 ± 157.13 |
|          |                      |              |           |           |       |                    |
|   Marvin | rGhG(...)cN5i [1024] |   791.511 ns | 0.2188 ns | 0.1940 ns |  1.00 |     2467.59 ± 1.36 |
|     XxH3 | rGhG(...)cN5i [1024] |   125.569 ns | 1.5008 ns | 1.4039 ns |  0.16 |  15554.23 ± 371.87 |
| GxHash32 | rGhG(...)cN5i [1024] |    30.506 ns | 0.0701 ns | 0.0547 ns |  0.04 |  64023.71 ± 294.32 |
|          |                      |              |           |           |       |                    |
|   Marvin | TsQ0(...)JE2A [2048] | 1,582.867 ns | 0.4458 ns | 0.3722 ns |  1.00 |     2467.83 ± 1.39 |
|     XxH3 | TsQ0(...)JE2A [2048] |   247.750 ns | 1.5069 ns | 1.4096 ns |  0.16 |  15766.90 ± 191.81 |
| GxHash32 | TsQ0(...)JE2A [2048] |    59.770 ns | 0.4577 ns | 0.4057 ns |  0.04 | 65355.01 ± 1000.91 |
|          |                      |              |           |           |       |                    |
|   Marvin |  xo29(...)ve8s [128] |    97.237 ns | 0.0407 ns | 0.0339 ns |  1.00 |     2510.77 ± 2.10 |
|     XxH3 |  xo29(...)ve8s [128] |    31.846 ns | 0.0908 ns | 0.0758 ns |  0.33 |    7666.24 ± 43.72 |
| GxHash32 |  xo29(...)ve8s [128] |     5.933 ns | 0.0276 ns | 0.0258 ns |  0.06 |  41147.54 ± 383.13 |
|          |                      |              |           |           |       |                    |
|   Marvin |                   zk |     3.405 ns | 0.0041 ns | 0.0037 ns |  1.00 |     1120.19 ± 2.72 |
|     XxH3 |                   zk |     3.756 ns | 0.0058 ns | 0.0048 ns |  1.10 |     1015.52 ± 3.12 |
| GxHash32 |                   zk |     1.592 ns | 0.0130 ns | 0.0108 ns |  0.47 |    2396.34 ± 39.01 |

Thanks Olivier. I'll check it out. Closing this issue for now.


question about OTU sequences present in otu_centroids.fa with no origin in acc_u.tsv

In following steps similar to the vignette shown here: https://github.com/ababaian/serratus/wiki/Find_novel_viruses_B_palmdb I'm coming across several cases where the OTU identifiers have no origin. I would like to understand more about where these cases come from.
For example, u135511 is present in the following files...
palmdb/otu_centroids.fa: >u135511
palmdb/u_otu.tsv: u135511	.
palmdb/u_tax.tsv: u135511	Lenarviricota	Allassoviricetes	Levivirales	Leviviridae	.	.
palmdb/uniques.fa: >u135511

However, does not have an entry in acc_u.tsv.
In particular, how does this differ from an entry such as u55683 which does have an entry in acc_u.tsv indicating origin from a serratus-derived OTU serratus|v111586.
Thank you!

This appears to be a bug, u135511 is 100% match to serratus|v95536 in serratus.fa and this should be reflected in acc_u.tsv. Thanks for the heads up & apologies for any inconvenience.

Ah, great! Thanks for the clarification. I think there are several more that follow a similar pattern. Is there any way to know these matches from the files that exist already? Or would you suggest gathering this through alignment of the otu_centroids.fa to serratus.fa?

For sure you should be able to identify sequences from serratus by aligning to serratus.fa, but I didn't dig into the code to figure out how what caused this problem so I'm not 100% sure what's going on. Happy to help in more detail if you can tell me more about what you're really trying to accomplish here.

Totally! I'm basically trying to take a series of contigs that have RdRp palmprints identified through the palmscan tool and then align them to the otu_centroids.fa file using DIAMOND. Once I have this information, I'm trying to determine the origin of the closest hits -- i.e. are they more similar to 1. something known in a public repo (i.e. NR/gbprot/gbnt) or 2. something previously identified by serratus. I am simultaneously aligning to the NR DB to see, for things that are most similar to serratus-identified OTUs, what their closest hit in a public DB is.
This is when I came across the cases where the closest hit from alignment to otu_centroids.fa is Na. Is it safe to assume that all of these are cases where the closest hit is something identified by serratus?
Thanks for the responses here, really appreciate it!

We actually have all sOTU centroids aligned to GenBank nr pre-computed if you want to do this quickly. If you're familiar with R it's in the most recent update to palmID web version here, but you can also run it in R as a stand-alone.
Here is an example for Ruche Virus.

Alternatively if you're OK with SQL this can be easily accessed with a query:

where percent_identity in this table refers to the sotu amino acid alignment to GenBank nr (as of a couple of months ago). The taxonomy which is given reflects the taxonomy of the top nr hit. So u135511 matches URG15722.1 at 70% identity.

Thanks @ababaian, super helpful work-around! Is there any information on when the palm_tax table was generated? Is the snapshot of nr that was used there equivalent to what was used in generating the PalmDB files from 2021-03-14?

The palm_tax table was made on May 1st 2023 (nr was taken from that week). So it's not the same as the old version of palmDb.


Turn the CasRestAuthenticator into a real Authenticator

PR for 1.8.x: https://github.com/pac4j/pac4j/pull/475

PR for master: https://github.com/pac4j/pac4j/pull/484


site request: peacocktv.com

When trying to download content from peacocktv.com, I get the message "Unsupported URL"
For example:
youtube-dl https://www.peacocktv.com/watch/playback/vod/GMO_00000000102539_01/8a387325-184b-32f0-8f27-f5e0bb787ba5
results in:
[generic] 8a387325-184b-32f0-8f27-f5e0bb787ba5: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 8a387325-184b-32f0-8f27-f5e0bb787ba5: Downloading webpage
[generic] 8a387325-184b-32f0-8f27-f5e0bb787ba5: Extracting information
ERROR: Unsupported URL: https://www.peacocktv.com/watch/playback/vod/GMO_00000000102539_01/8a387325-184b-32f0-8f27-f5e0bb787ba5

PeacockTV uses Widevine DRM, so it's unlikely that videos can be downloaded. Guess I'll have to go hard mode and use OBS.

People have downloaded A Brave New World somehow.

@jridder

People have downloaded A Brave New World somehow.

There aren't public methods of cracking Widevine DRM, but there are groups with private tools for doing it. If they made them public then it's possible for the DRM to be updated to block their exploits. And then of course there's the low-tech methods of just recording the content via various means(OBS, Capture Cards, etc).
For example, you see Netflix and Amazon rips on various sites all the time, but do you see them being supported by Youtube-DL? Both use Google's Widevine DRM, though Netflix also supports other DRM like Microsoft's PlayReady.

To add, I get the same issue while passing cookies to youtube-dl.

Well of course you would, the issue isn't your login, it's that Youtube-DL doesn't support the site.

I would like to see documentation on how we arrived that it's Widevine. Also the files have seen don't appear to be captures, there are too many additions to the mkv's.

@jridder
It's pretty easy to figure out if a site is using Widevine. Open the site in Desktop Firefox and try to watch something. If a chain icon appears next to the padlock icon in the address bar it's using Widevine DRM(since that's the only DRM Firefox supports currently).

Looks like they use DRM for the Web client, and Android client as well:
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:cenc="urn:mpeg:cenc:2013"
xmlns:mspr="urn:microsoft:playready"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:scte35="urn:scte:scte35:2014:xml+bin"
mediaPresentationDuration="PT21M58.067S" minBufferTime="PT5.93S"
profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static"
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011
http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd">

I think I am able to download these. However the example URL require login. Does someone have a non login URL, or a login I can borrow?

Youtube-dl has WideVine support now??

It seems my previous question was ignored, so I will repeat it:
I think I am able to download these. However the example URL require login. Does someone have a non login URL, or a login I can borrow?

You can get access to Peacock for free, you don't need for someone else to give you account credentials.

I think I can download these. If you aren't willing to provide a single non login URL, or share account detail, then I guess I will just keep it to myself then. Good luck.

I think I can download these. If you aren't willing to provide a single non login URL, or share account detail, then I guess I will just keep it to myself then. Good luck.

Dude, Peacock TV has a free tier.  Nobody needs to give you anything since you can just go to the website and find a video to try and download yourself.

Nobody needs to give you anything since you can just go to the website and find a video to try and download yourself.

Maybe not, but I am asking for it. If you aren't willing to do that, of course that's your choice. But its also my choice to not share my solution. I think what I am asking is reasonable. A single non login URL, or share account info. However if you disagree, then you are welcome to try to find your own solution.

Then so be it.

So does this work? Peacock refuses to let videos play on Linux so downloading them is the only way I can watch stuff without buying a whole other computers just for Peacock (which is stupid and they should just support Linux ffs)

I was going to try to implement an extractor, but I requested someone provide an account for testing, and people either didn't respond, or actively refused. So I have been spending my time on other items.

I was going to try to implement an extractor, but I requested someone provide an account for testing, and people either didn't respond, or actively refused. So I have been spending my time on other items.

Does it need to be a paid account? I can make a free one if that's all you need

Ideally a paid account, but even a free account would be useful. By using mobile API instead of web API, sometimes you can gain additional access. For example, in at least one case, I have been able to access items that were locked on the public site, with just free credentials or even no credentials in some cases. But I need at least some credential to start with, in order to learn the different APIs.

Ideally a paid account, but even a free account would be useful. By using mobile API instead of web API, sometimes you can gain additional access. For example, in at least one case, I have been able to access items that were locked on the public site, with just free credentials or even no credentials in some cases. But I need at least some credential to start with, in order to learn the different APIs.

Bet, I can make a 2nd account then. I just don't wanna give out my paid account lol.

Login is
USER<EMAIL_ADDRESS>PASSWORD: rWRci6atDD#j3r

cool, I think that works. Finally, can you please link to a single example item? I think the original link above is for a playlist

https://www.peacocktv.com/watch/playback/vod/GMO_00000000441654_01/8b9146ca-fb0f-3b97-9d45-f3383f6886b4

OK perfect that works. I will see what I can do

does Peacock still have the option for free accounts? I finally wrote a tool for this, but using someone else's account

sorry for the extremely long delay, but this is done now:
msg=POST URL=https://ovp.peacocktv.com/auth/tokens
msg=POST URL=https://ovp.peacocktv.com/video/playouts/vod
msg=GET URL=https://atom.peacocktv.com/adapter-calypso/v3/query/node/content_id/GMO_00000000441654_01
msg=GET URL="https://g006-vod-us-cmaf-prd-ak.cdn.peacocktv.com/pub/global/JbZ/2GA/PCK_1696351020870.4465_01/cmaf/mpeg_cenc/master_cmaf.mpd?c3.ri=5001631918060204884"
msg=POST URL="https://ovp.peacocktv.com/drm/widevine/acquirelicense?bt=100-lmHf2t7xZwWXo-HGYLETYHtS5NAY1yHWwLZpPQi1Sz0nLcbZX6SQdTQjts0khY1YG1JQxC2caiJyUb9cigpEWmApn4lxuxWb9uu9u7HI-GfmVT2EbVX62GTIprc65M0N_P0WcskY5HhKP7TwfOtYjxKlHbauRsfdon2p311i8rI1tdT-6DWlXNCNizcDatPJA5F8zEfVlgdtaUu0B4z1fnIhuvaNSZhR3afrLsv2BQJbZqXDq2C3Xsspd6mJKoo97NnEcY0rxgUBsfgBS85eDpfieQetptX181eK4n6noiAGHB-vT0l6YvhiZ7APBHj-SONxvBq4y2NPOd4YGiR74sLmQ0Jwbq6IHG_lOnN2jdJ6Q_W_19KRcBPYLwLQ2wTD-LEE3kU="
msg=GET URL=https://g006-vod-us-cmaf-prd-ak-a371.cdn.peacocktv.com/pub/global/JbZ/2GA/PCK_1696351020870.4465_01/cmaf/mpeg_cenc/7830k_1080_cmaf/_782701200_1.mp4
msg="1.81 %" size="23.59 megabyte" rate="23.57 megabyte/s"

I dont think YouTube-DL want to support the security that protects this content, so you would need to check my repo instead


Add 32-bit wheels for Linux and Windows

Related:

https://github.com/yifeikong/curl-impersonate/issues/17
https://github.com/yifeikong/curl-impersonate/pull/18
https://github.com/yifeikong/curl_cffi/pull/190
https://github.com/yifeikong/curl_cffi/pull/192

Sorry, I was going to add it, but I don't have a x86 linux machine to figure out the parameters, which requires to read from platform.uname. It should be easy to add, just fill these entries like this:
        "system": "Linux",
        "machine": "x86_64",
        "pointer_size": 64,
        "libdir": "~/.local/lib",
        "sysname": "linux-gnu",
        "so_name": "libcurl-impersonate-chrome.so",
        "so_arch": "x86_64"

I will come back later when I have time to set up a qemu instance for that.


Metric 5 - Penta Dropout Rate

Creating GitHub ticket to track ZEIR metric 5 - penta dropout rate. The complete list and detail can be found here:
https://drive.google.com/open?id=1dOy5H_fy8bYaJFL-Oa53p_rNgR9gZOQi6qpFUE8UHCA
We'll use this ticket to track the status of and issues with the metric as we build it out in Superset.
Current dependency is ETL development.

This metric is meant to show the percentage of patients who have received penta1 but not penta3 as of each date.
What the Time Series - Line Chart in Superset shows is that metric for the particular date along the x-axis. What we need it to show is the aggregate value of that rate as of that date on the x-axis. E.g.:
Day 1: P1 = 2, P3 = 2 Day 2: P1 = 2, P3 = 1
What we should see is: Day 1: dropout rate = 0% (2 - 2 / 2) Day 2: dropout rate = 25% (4 - 3 / 4)
What we do see is: Day 1: dropout rate = 0% (2 - 2 / 2) Day 2: dropout rate = 50% (2 - 1 / 2)
My SQL query is this:
SELECT encounter_date AS __timestamp,
CAST((SUM(encounter.pentavalent_dose_1) - SUM(encounter.pentavalent_dose_3)) as float) / CAST(SUM(encounter.pentavalent_dose_1) as float) AS "Penta 1 to Penta 3 Dropout",
CAST((SUM(encounter.pentavalent_dose_1) - SUM(encounter.measles_mr_dose_1)) as float) / CAST(SUM(encounter.pentavalent_dose_1) as float) AS "Penta 1 to Measles Dropout"
FROM encounter
WHERE encounter_date >= '2016-11-06 00:00:00.000000'
AND encounter_date <= '2017-11-06 17:00:29.000000'
GROUP BY encounter_date
LIMIT 50000
OFFSET 0
Currently investigating using a nested subquery to achieve this.
Also working with the BlueCode team to upgrade our SQL backend to PostgresSQL from SQLite.

Able to get the dropout rate calculation going with this query:
select date(encounter_date) encounter_date, p1, p3, running_p1, running_p3,
(running_p1 - running_p3) / running_p1 as dropout_rate
from (
select date(encounter_date) encounter_date, p1, p3,
(@p1 := @p1 + p1) as running_p1,
(@p3 := @p3 + p3) as running_p3
from (select date(encounter_date) encounter_date, sum(pentavalent_dose_1) as p1, sum(pentavalent_dose_3) as p3
from encounter e
where date(encounter_date) >= '2016-11-06 00:00:00.000000' and date(encounter_date) <= '2017-11-06 17:00:29.000000'
group by date(encounter_date)
order by encounter_date
) e cross join
(select @p1 := 0, @p3 := 0) params) as s;
Need to convert it to Postgres and build out the view in Superset, but the calculation is accurate.
Big thanks to @ndegwamartin and @moshthepitt for giving me their time to help me comb through this!


BugFix: Datetime formatter go error when chunk_size > dataset rows.

Description

When trainning ctgan, we used the DataLoader to load data as chunk. While, due to the historical reasons, DatetimeFormatter using a simple list to format columns. When we using DataLoader, the formatter format the data by chunk, which lost it's index. So, when we concat the next formatted chunk column to chunk table, the table result (index beginning by 1*chunk_size) will be NaN becase it can not match the zero-based index of chunk column.
Motivation and Context

I changed the method of formatting, instead of using the 'apply' function of DataFrame/Series. It fixed the problem and improved the performance by using 'for' cycling.
How has this been tested?

A whole test for DatetimeFormatter has been given.
Types of changes

[ ] Maintenance (no change in code, maintain the project's CI, docs, etc.)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I suggest that we should have a check for all code to replace 'for' to pandas.apply morely. I saw a lot of implement like this in code. It can improve the preformance a lot.

I suggest that we should have a check for all code to replace 'for' to pandas.apply morely. I saw a lot of implement like this in code. It can improve the performance a lot.

Thank you very much! Regarding this issue, I think it would be best to have a use case that can immediately demonstrate the system's performance problems, so we can then discuss whether to make this optimization. If there is interest in this performance issue, we can create an ISSUE for separate analysis and tracking.

And yes, for is usually bad in performance. I've open an issue for it https://github.com/hitsz-ids/synthetic-data-generator/issues/245. If anyone has interested in it, feel free to PR!

default chunk_size = 1000
so for 15000 length dataset, it has 5000 NaN


feat: Support Linked Data Signatures for JWS

closes #1415
closes #1420
Signed-off-by: Dmitriy Kinoshenko<EMAIL_ADDRESS>

Follow-up PR to support JwsVerificationKey2020 (it's also defined at Json Web Signature 2020 spec : https://github.com/hyperledger/aries-framework-go/issues/1527


test: add api e2e testing

What type of PR is this?
As mentioned in the title.
What this PR does / why we need it:

API E2E could make sure all the covered APIs work well all the time. I already helped these projects to add E2E testings.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Hi @LinuxSuRen , Thank you for your pull request and the end-to-end testing concept you proposed. However, following thorough discussions, we have decided not to proceed with merging your pull request. This decision does not reflect on the value of your contribution, but rather takes into account the project's current testing strategy and the associated maintenance costs.
We look forward to potentially collaborating with you in the future and welcome any ideas or suggestions you might have!

Thanks for your response.


Update navigation.scss to remove SASS Deprecation Warning

https://github.com/nolimits4web/swiper/issues/7609
Change order of properties to avoid SASS Deprecation Warning

Merged, thank you!


Use g_memdup2 instead of g_memdup

This fixes the following compiler warning:
[89/91] Compiling C++ object ....p/src_modules_sni_item.cpp.
../src/modules/sni/item.cpp: In member function ‘Glib::RefPtr<Gdk::Pixbuf> waybar::modules::SNI::Item::extractPixBuf(GVariant*)’:
../src/modules/sni/item.cpp:290:48: warning: ‘void* g_memdup(gconstpointer, guint)’ is deprecated: Use 'g_memdup2' instead [-Wdeprecated-declarations]
  290 |           array = static_cast<guchar*>(g_memdup(data, size));
      |                                        ~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:82,
                 from /usr/include/glib-2.0/gobject/gbinding.h:28,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:2,
                 from /usr/include/glib-2.0/gio/giotypes.h:2,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from protocol/dbus-status-notifier-item.h:1,
                 from ../include/modules/sni/item.hpp:3,
                 from ../src/modules/sni/item.cpp:1:
/usr/include/glib-2.0/glib/gstrfuncs.h:257:23: note: declared here
  257 | gpointer              g_memdup         (gconstpointer mem,
      |                       ^~~~~~~~

It seems that the code in item.cpp is indeed passing a gsize to g_memdup rather than the expected guint. The new function takes a gsize instead.
See: https://discourse.gnome.org/t/port-your-module-from-g-memdup-to-g-memdup2-now/5538

Note that g_memdup2 is a new API introduced in glib 2.68 earlier this year. My concerns with this PR:

The change will break compilation on a distributions with older versions of glib (Ubuntu 20.10 or below, Debian testing, Fedora 33, etc)
The updated requirement should be in meson.build, so that the build could fail early and with better diagnostics.

Alternatively, we can just use -DGLIB_VERSION_MIN_REQUIRED=... to silence the warning. gsize -> gint conversion overflow is highly unlikely in this code as we're reading an image from GVariant container received through DBus.
Seems to be working with lowest available value GLIB_VERSION_2_26.

Agreed with your concerns, as does the build pipeline! Rather than restricting which deprecation warnings are shown by setting GLIB_VERSION_MIN_REQUIRED, what do you think about adding a compile-time check to use the correct/available version of g_memdup based on the linked GLib version? It is a bit ugly, to be sure, but I think it communicates clearly that the code calling g_memdup is deprecated and should hopefully be deleted eventually.
I've updated the PR with this approach, let me know what you think!

Thanks!


Is there any plan to build a gatsby theme like as libeling

Look forward to hearing from you

Sorry, I don't have plans to do that :/

thank you for your answer


Editor pressing "del" continuously

Type: Bug
Fedora Linux 40, VS Code 1.89 (code-1.89.1-1715060595.el8.x86_64)
This error appeared out of nowhere mid-work, it never happened before. A popup appeared on the bottom right corner that told me an update is available, I clicked "Later". Suddenly, VS Code continuously deleted my code character by character as if I were holding the 'del' key. I thought the del key in my keyboard was stuck, turns out it didn't.
To stop it from deleting, I just need to press any key that will input a character (A-Z, 0-9, del, etc). It's easy, but in long term this is gonna be obnoxious and a hassle to deal with.
I uninstalled my Vim integration extension, restarted it, then I updated VS Code to 1.90 without uninstalling the current one (1.89), the issue is still there.
I tried to open another of my project folder to see what would happen. It is still the same, the editor deleted my code one by one, character by character. I restarted VS Code and reopened my working folder, it did not fix anything.
I realized that now everytime the VS Code window get minimized and re-maximized again, this buggy behaviour would happen again. In fact, even this dialogue box for reporting the issue is affected. When I minimized my dialogue box (Issue Reporter), the editor will delete my code one by one, and if I maximized the dialogue box again the text that i typed will be deleted one by one until I press a key.
 Press F1 and then choose Developer: Reload Window with Extensions Disabled


update gotify 2.5.0

plugin stoped after updating 2.5.0

Sorry about that! My server which manages automatic builds on new gotify releases isn't responding.
I pushed a manual build for it, and I'll reboot the server later today.

no problem, thanks!!!

Seems the same happened for 2.6.0 and 2.6.1 :)


Add sanity check for some binarised features

Add quality check for grambank sheets. The following features have the property that each pair cannot both be 0. I.e. GB024a and Gb024b cannot BOTH be 0. One or both can be missing, one or both can be ?, they can both be 1 but they CANNOT both be 0.

ID
Name

GB024a
Is the order of the numeral and noun Num-N?

GB024b
Is the order of the numeral and noun N-Num?

GB025a
Is the order of the adnominal demonstrative and noun Dem-N?

GB025b
Is the order of the adnominal demonstrative and noun N-Dem?

GB065a
Is the pragmatically unmarked order of adnominal possessor noun and possessed noun PSR-PSD?

GB065b
Is the pragmatically unmarked order of adnominal possessor noun and possessed noun PSD-PSR?

GB130a
Is the pragmatically unmarked order of S and V in intransitive clauses S-V?

GB130b
Is the pragmatically unmarked order of S and V in intransitive clauses V-S?

This is not true of the other binarised features (GB193a, GB193b, GB203a and GB203b). They can both be 0 (the language can have nothing adjective-like and nothing like a universal quant).

#113  already got ya covered. (^^)
https://github.com/grambank/pygrambank/blob/4a5c8ca3f355b4d0dac0aaea5f4683e4deb3feb5/src/pygrambank/sheet.py#L138-L142
The only thing was that the program still thought GB193 was a three-state feature.  I fixed that.

Ah splendid! I went looking in sheet.py but I didn't search for the right things.
Many thanks!!


Clean install from gems throws error when surfing it

Hi.
I installed taskwarrior (apt-get install task) and taskwarrior-web (gem install taskwarrior-web) and pasted task-web.user=foo and task-web.passwd=bar to .taskrc.
Then I surfed to <ip>:5678 and got:
Versionomy::Errors::ParseError - Extra characters: "\nConfiguration override rc.xterm.title:no\nConfiguration override rc.color:off\nConfiguration override rc.verbose:no\nConfiguration override rc.confirmation:no":
        /var/lib/gems/1.9.1/gems/versionomy-0.4.4/lib/versionomy/format/delimiter.rb:199:in `parse'
        /var/lib/gems/1.9.1/gems/versionomy-0.4.4/lib/versionomy/interface.rb:130:in `parse'
        /var/lib/gems/1.9.1/gems/taskwarrior-web-1.1.11/lib/taskwarrior-web/model/config.rb:44:in `version'
        /var/lib/gems/1.9.1/gems/taskwarrior-web-1.1.11/lib/taskwarrior-web/model/config.rb:68:in `supports?'
        /var/lib/gems/1.9.1/gems/taskwarrior-web-1.1.11/lib/taskwarrior-web/app.rb:30:in `block in <class:App>'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `call'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1603:in `block in compile!'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in `[]'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1006:in `block in process_route'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `catch'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1004:in `process_route'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:957:in `block in filter!'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:957:in `each'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:957:in `filter!'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1075:in `block in dispatch!'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1073:in `dispatch!'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `block in call!'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `block in invoke'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `catch'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1058:in `invoke'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:898:in `call!'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:886:in `call'
        /var/lib/gems/1.9.1/gems/rack-flash3-1.0.5/lib/rack/flash.rb:124:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in `call'
        /var/lib/gems/1.9.1/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in `call'
        /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:in `context'
        /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in `call'
        /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/nulllogger.rb:9:in `call'
        /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
        /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/show_exceptions.rb:21:in `call'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:180:in `call'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:2014:in `call'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `block in call'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1788:in `synchronize'
        /var/lib/gems/1.9.1/gems/sinatra-1.4.5/lib/sinatra/base.rb:1478:in `call'
        /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
        /usr/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
        /usr/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
        /usr/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
<IP_ADDRESS> - - [22/Apr/2014:22:21:52 CEST] "GET / HTTP/1.1" 500 146341
- -> /

Taskwarrior-web requires Taskwarrior to be installed and accessible through task command. Non-standard configuration is not required. For further reference see official tasked docs.


Test to ensure all maps have needed job spawnPoints

About the PR
So this adds a test to ensure that all maps have the spawn points corresponding to the available jobs sets in the map prototype.
This PR also create the boxer spawnpoint and modify four maps (Omega, Box, Lighthouse and Centcomm) so the test pass.
Changelog

:cl:
no cl
no fun

I changed the error wording a bit.
I'm fine with making the box change. Should I open a new PR, or doing here ?
And sorry, I didn't know it was your cl stuff, I just remember seeing this and though it was fun too !

Nah, youre good. You could probably just make the changes in this pr.

I ended up updating all of them...

This PR also create the boxer spawnpoint and modify four maps (Omega, Box, Lighthouse and Centcomm) so the test pass.

so this test will require all map prototypes to contain all jobs?

just check if a job has setPreference and ignore lack of spawn if it's false

I made this change and thus reverted changes related to Lighthouse and boxer.
I also made change to only take into account roundstartJob instead of availableJob, and reverted change to centcomm.


I cannot find native_compiler.h and some other header files in src folder while building

https://github.com/leanprover/lean/blob/ceacfa7445953cbc8860ddabc55407430a9ca5c3/src/library/native_compiler/native_compiler.cpp#L30

Something is wrong with your build setup, this file is not actually included by CMake anywhere.


added support for multiple output nodes/layers in Tensorboard callback

Previously, when recording the activations via Tensorboard-callback, it will raise an Exception if it encounters a node with multiple outputs and tries to collect its statistics.
This happens for example if one uses shared layers

instead, now the stats are recorded for each output node separately
in addition, TB-callback skipped over layers that had no 'output'
attribute but a 'get_output_at' method. fixed that as well

ah OK, even hasattr(layer, 'output') throws an exception when layer has multiple outbound nodes.
I thought the exception is thrown only if you directly access the attribute via layer.output.
So i guess we can just check for get_output_at and get rid of hasattr(layer, 'output')

Closing outdated PR. If you still care about the content of the PR, please submit a new PR to master, updated for the Keras 2.0 API.


Error in Gompertz Fitter

I`m facing the following error when running the Gompertz Survival Function?

TypeError: loop of ufunc does not support argument 0 of type ArrayBox which has no callable expm1 method

Code:
class GompertzFitter(ParametricUnivariateFitter):
    _fitted_parameter_names = ['nu_', 'b_']
    def _cumulative_hazard(self, params, times):
        nu_, b_ = params
        return nu_ * (np.expm1(times * b_))

T, E = waltons['T'], waltons['E']
ggf = GompertzFitter()
ggf.fit(T, E)

Hi @tuliosarmento, try adding import autograd.numpy as np before the class definition

Hi @tuliosarmento, try adding import autograd.numpy as np before the class definition

Oh I see. I was using the "original" numpy library.
Now it works. Thanks so much!


Discussion: MVVM-friendly ContentDialog

Discussion: Current API of ContentDialog is not MVVM-friendly
It forces developers to call ShowAsync to open dialog. But ContentDialog is obviously part of View layer and this makes it incompatible or inconvenient for use with MVVM, because:

If this method is called in code-behind of the View, this is dirty style of coding
If it is called from ViewModel, this is violation of MVVM rules, because lower layer should not depend on higher layers (although it looks like this API was meant to be used exactly this way for small ad-hoc dialogs)

So, usually developers have to create some DialogService and pretend that it's fine, because services live apart from Models, Views and ViewModels.
I believe there should have been just a bindable property "IsOpen" here instead of the method. In addition, it is strange that ContentDialog provides limited set of predefined buttons because it is Content dialog after all and developer can add whatever he needs as content.
So, what I would be happy to see instead of current ContentDialog would look like following:
<ContentDialog IsOpen="{x:Bind pageViewModel.DialogViewModel.IsOpen, Mode=OneWay}" ...>
    <Grid>
        ...
        <Button Content="OK" Click="{x:Bind pageViewModel.DialogViewModel.CloseDialog}" />
    <Grid />
<ContentDialog />

Related Links
Current ContentDialog API

@MikeHillberg FYI

I think this makes sense too. Across Windows we generally avoid a property for showing UI, preferring a Show method instead (there's a lot of those). But we treat Xaml special specifically to enable data binding and MVVM, thus flyouts have both the IsOpen property and the ShowAt method.
I'd just change the example here to listen to the ContentDialog's built-in OK button (PrimaryButtonClick) rather than having one in its content area.

I agree, if it is possible to add a property and don't change other APIs, it would be good backward compatible solution.

Just noticed one related thing about IsOpen: this property cannot be set for FlyoutBase.


[FLINK-19721] [flink-runtime] Support exponential backoff retries in RpcGatewayRetriever

What is the purpose of the change
This is to speed up tests that spend unnecessary time sleeping.
Brief change log

Add a RetryStrategy interface that encapsulates retry configuration details.
Support it in FuturesUtil.
Plumb interface to Minicluster utils.

Verifying this change
This change added tests and can be verified as follows:

Added unit tests

I could not get the test suite to fully pass locally.  I sent an email to the user group about it.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

I switched to java.time.Duration.
I did not switch other calls to ExponentialBackoffRetryStrategy.  I do not know the code base well enough to say if this is worth doing.  E.g. what are safe minimums?  What frequency and backoff makes sense?


Inconsistent behavior with cyrillic

Hi Junegunn,
I found that fzf works strange with cyrillic.
This example works as expected:
$ printf "roW1\nROW2\nrow3\nRow4\n" | fzf

But this one ("row" translated to Russian "строка") behaves differently (it fails to find capital letters):
$ printf "строКА1\nСТРОКА2\nстрока3\nСтрока4\n" | fzf

Environment: OS X Mavericks, zsh/bash, fzf 0.9.7, LANG="ru_RU.UTF-8".

Thanks for the report. The cause of the problem is that fzf uses strings.ToLower() function to make the query lowercase, but it does not use it and instead manually processes english alphabets only during search for much better performance. I'll see what I can do.

Maybe then do also string.ToLower() to a search string? Now fzf lose some results :-(.

Well, just fixing it is trivial. But in order to fix it without performance regression, I'll have to evaluate several options. I'll let you know of the progress.

Ok, thank you! fzf rocks!

Hey, I fixed the bug and released 0.9.8. Performance overhead of the fix is around 5%, but it won't be really noticeable. (e.g. +0.3 second for filtering 3 million lines. Of course, correctness is much more important than minor slowdown.)

I checked version 0.9.8. Everything works just fine! Thanks for blazingly fast fix.


feat: allow paths to start with numeric characters

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


Reorder cards (drag & drop)

Most requested feature

Ground work set in cf29cd001ae0c3bcd797b0c766bddbd5c3a49f7b (branch material) using https://github.com/SunGard-Labs/angular-packery


Does it print the table on the printer, how to set it.

I want to print the table on the ESC printer, and make the qrCode on the same line with text

This thread has been closed since there has not been any recent activity. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.


Fixed issue where Spring was unable to find the PrometheusMeterRegistry Bean

Signed-off-by: graytaylor0<EMAIL_ADDRESS>Description

The Data Prepper Server was unable to find the PrometheusMeterRegistry Bean, which resulted in the metrics core api endpoints being unavailable.

Issues Resolved
[List any issues this PR will resolve]
Check List

[x] New functionality includes testing.
[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1019 (df9c74c) into main (69e1049) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #1019   +/-   ##
=========================================
  Coverage     91.36%   91.36%
  Complexity      683      683
=========================================
  Files            84       84
  Lines          1993     1993
  Branches        168      168
=========================================
  Hits           1821     1821
  Misses          132      132
  Partials         40       40

Impacted Files
Coverage Δ

...mazon/dataprepper/parser/config/MetricsConfig.java
79.48% <ø> (ø)

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 69e1049...df9c74c. Read the comment docs.


CI Changes for Codified Windows AMIs

Description
Fixes to re-enable Windows tests
Copy of #14336 - Taking over during his vacation
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@mxnet-label-bot add [CI, Windows, pr-awaiting-review]

Please don't merge yet - moving qemu changes to its own PR (#14355 )

Need to disabling test_operator_gpu.test_bulking (#14368). It's a new test, that hasn't been through the windows pipeline, which is now failing.

@marcoabreu please review and merge if it's ok. Thank you!


JS : Imcompatibility between django-grappelli and django-tinymce

Hi,
I use tinymce + grappelli for several years and I've never seen that before.
My current install :

django==1.7
django-grappelli==2.5.0
django-tinymce==1.5.2 (from gihub or from pypi)

The tinyMCE widget does not display, have a simple textarea instead.
In firebug, I've an error :
ReferenceError: django is not defined
error source line:
}(django.jQuery));

http://<IP_ADDRESS>:8000/static/django_tinymce/init_tinymce.js (line 38)

Grappelli drops (overwrite) the :

admin/js/jquery.min.js
admin/js/jquery.js
admin/js/jquery.init.js
which provide the django.jQuery binding.

Is it possible to re-bind the django.jQuery ? or to remove this binding in tinymce ?
Thanks for your great job !

The problem isn't related to grappelli at all; the same problem happens with using django-tinymce directly.
You can fix this without downgrading by defining django in your template, like such:
  <script>
    var django = {jQuery: jQuery};
  </script>
  {{ form.media }}

This must be done before including the {{ form.media }}

See https://github.com/aljosa/django-tinymce/pull/108

@joelburton solution worked for me

I pushed a fix into master, can you try that it works fine for you guys?

Closing this due to fix in master.


Dashboard: View & approve/reject hackathons (applications)

Closed by https://github.com/hackclub/hackathons-backend/pull/96


Initial build

adjust initial build
cleanup noarch

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_8d191naq9l/clone/recipe/meta.yaml:16: pip_install_args: pip install should be run with --no-deps.
Errors were found


Add README and explain tests / coverage / linter / installation

@triat please explain the steps on how to install the yogi-bot web panel

Hey @xe1os, I will as soon as I do have a version that is usable. Right now I haven't found/took the time to work on this project but I'll try to have something in beta for early 2020.
Thanks for your interest 👍


Add code signing support

With Microsoft deprecating support for SHA-1 code signed files as of 2016 in Windows 10, there's a need to support signing installers with SHA-256 certificates (and also SHA-1 for backwards compatibility).  Microsoft Edge has started flagging files that aren't SHA-256 signed, and in some cases Windows 10 is refusing to run files at all.
The code-signing should be baked into the script as/if necessary, so that building the installer can be a one-step process.
Kohan is a fan of using kSign to sign installers, as it doesn't require downloading the entire Windows SDK just to get a code-signing tool.  Eventually support could be added for signcode.exe, signtool.exe and other tools, and allowing the filter developer to choose between them.
http://codesigning.ksoftware.net/#ksign (click on Download kSign (New!))
The default should be not to sign files, as most developers don't do this and it costs extra money to do so.  We want to make it easy for plug-in creators to get started & bootstrap themselves and to support all the free plugin developers too.

Do you know how to create a self-signed Authenticode certificate without having to install 2GB of Windows SDK? A self-signed cert would be good enough for testing the script code.

Found this tool: https://www.pluralsight.com/blog/software-development/selfcert-create-a-self-signed-certificate-interactively-gui-or-programmatically-in-net
Just pushed an example which uses kSign and a self-signed certificate for testing.
Please double-check it.

Awesome, I'll try to test the code soon.  I've also got some code finished here that works with Microsoft's own signtool.exe, so I'll give both a test & push some updated code.

Tested the code, looks awesome, thank you. Added some extra code to support Microsoft's signing tool as well.  Looks like we can tick this one off the list.

Nice work on the signtool and the preprocessor usage.
I noticed you had two signtool statements; a sha256 and a sha1; does this wrap two layers or something? I thought sha1 signing was deprecated.

Yep, it signs it with both - SHA1 is deprecated and not supported on Windows 10, but it's required for anyone still running a Windows XP machine (which doesn't support SHA256).  Unfortunately kSign doesn't support dual signing just yet. Hopefully not too many XP users left, but I know I've got at least a few still around.


Change base Docker images to fix some vulnerabilities

Issue
NA
Description
Update some base Docker images to fix vulnerabilities listed by Snyk:

https://app.snyk.io/org/gravitee.io/project/aafe91d5-3cfb-4932-89c3-55134cb4c06b
https://app.snyk.io/org/gravitee.io/project/8351271a-b2aa-43f1-b221-83b318c147a8
https://app.snyk.io/org/gravitee.io/project/3a474978-5827-473f-b5f8-222cba54df7f

Gravitee.io Automatic Deployment
Congrats, all the CI steps were 🟢 . The Bot was able to deploy the build of this PR, so you can now try it directly here! 🚀
Notes: The deployed app is linked to the management API of the Element Zero team's environment.


UI: default query "End Time" will miss the newest traces

Type: bug/improvement
Observed behavior: When zipkin received traces at 13:01:10, and you the UI at 13:01:30, the default query "End time" will be 13:01(:00). So the time is Now() rounded down. Result is that the newest traces are missed.
Expected behavior: Newest traces are shown, too, with the default query settings.
Workaround: Change the query "End time" manually to be 1 minute higher, or wait a minute and refresh.
Possible solutions:

round the end time up
if no-one clicks anything in the UI, we should be able to send no endTs which then the server will choose

+1, looking for this too, defaults aren't particularly useful if you wanted to do a quick "zero to hero" demonstration - fiddling with defaults would be a necessary first step.
While modifying this (I propose just setting it to include anything from the previous hour as well, like with Prometheus) it would be great to order by newest first as well, and just having a limit of 10 is really quite small...

With the type of UI skills I have, I can round up :) might be more work, even if not much do do other things it would require a bit more understanding

just pinged about limit here as different topic https://github.com/openzipkin/zipkin/pull/443

@schlosna if you want a relatively straightforward one to help with, here 'tis!

If i understood the limitation correctly, Lens (the new Zipkin UI) does not have this problem. The default lookback period is 15 minutes and includes spans received in the same minute. This can be observed by starting zipkin with self tracing enabled, --zipkin.self-tracing.enabled=true, then refreshing the screen a few times and clicking on the search button without changing any of the default time criteria. The result is that all the traces that were just generated seconds before show up on the screen.
@feliksik @adriancole are you ok with closing this or is there still something else i'm missing here ?

Closing, as the default query end time no longer misses newest traces. There are other issues with the component handling custom lookback, but that is / will be tracked in separate issues.


docs: v9.0.0 release missing information

What version of React, ReactDOM/React Native, Redux, and React Redux are you using?

React Redux: v9.0.0

What is the current behavior?
The release notes for v9.0.0 seem to be missing some information under the "Modernized Build Output" section.

Modernized Build Output
We now publish modern JS syntax targeting ES2020, including optional chaining, object spread, and other modern syntax. If you need to

That is the end. It seems like there was intention to provide some instruction since it just ends with "If you need to"
What is the expected behavior?
Either finish the sentence or remove to avoid confusion
Which browser and OS are affected by this issue?
No response
Did this work in previous versions of React Redux?

[ ] Yes

Heh, that should have been "if you need to . If you need to target older browsers, please transpile the packages yourself (or use the legacy-esm build artifact for ES2017)."
and I managed to copy-paste the same issue across different repo release notes :)
Fixed!


game crash when leaving editor too quickly after opening

When opening maps (especially with a high number of blocks/items) and quickly leaving the editor afterwards, the game will crash with this plugin enabled. This is not exclusive to this plugin, it seems to happen with Editor++ as well, but I've now tested with each being enabled/disabled and both independently cause the crash. I'm thinking there's some reference in the editor being held onto that the game doesn't like.
Issue for Editor++ in case something is found in common between these: https://github.com/XertroV/tm-editor-plus-plus/issues/12
(TM2020)

I might have a theory. Could you enable verbose logging in the editor helper settings and post the output?
Approximately how long a time are you in the editor before exiting? How many custom blocks/items/macroblocks do you have?

With verbose logging (I got nothing without this enabled), I get this before the crash:
[   ScriptRuntime] [19:28:59] [EditorHelpers]  EditorHelpers::HasPermission(): OpenSimpleMapEditor:true OpenAdvancedMapEditor:true CreateLocalMap:true
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Event Signals :Update:UpdateSignal_MapFileUpdated: Activate Signal: Signal_MapFileUpdated. Prev flag: 0 New flag: 2834603
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Event Signals :Update:UpdateSignal_BlockItemPlacedRemoved: Activate Signal: Signal_BlockItemPlaced
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Event Signals :Update:UpdateSignal_EnteredEditor: Activate Signal: Signal_EnteredEditor
[   ScriptRuntime] [19:28:59] [EditorRoute]  OnEditorEnter
[   ScriptRuntime] [19:28:59] [MapInfo]  Initialize ML Finder, cotd: false, KO: false, normal: true
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:VerifyInventoryItem: Compared: rootNodeDir.ChildNodes[0].NodeName=Roads  ==  check=Roads
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:VerifyInventoryItem: Compared: rootNodeDir.ChildNodes[0].NodeName=Roads  ==  check=Roads
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:VerifyInventoryItem: Compared: rootNodeDir.ChildNodes[0].NodeName=Official  ==  check=Official
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:VerifyInventoryItem: Compared: rootNodeDir.ChildNodes[0].NodeName=Official  ==  check=Official
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory: Loading inventory blocks
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle: *** YIELDING NOW *** : Time::Now-41786 m_parallelLoadYieldTime-41775
[   ScriptRuntime] [19:28:59] [ghosts-pp]  GhostFinder init
[   ScriptRuntime] [19:28:59] [ghosts-pp]  Scrubber: ResetAll
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle: *** YIELDING NOW *** : Time::Now-41818 m_parallelLoadYieldTime-41807
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle: *** YIELDING NOW *** : Time::Now-41847 m_parallelLoadYieldTime-41836
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle: *** YIELDING NOW *** : Time::Now-41877 m_parallelLoadYieldTime-41866
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle: *** YIELDING NOW *** : Time::Now-41906 m_parallelLoadYieldTime-41895
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory: Loading inventory items
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle: *** YIELDING NOW *** : Time::Now-41933 m_parallelLoadYieldTime-41922
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Editor Inventory :IndexInventory:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle:RecursiveAddInventoryArticle: *** YIELDING NOW *** : Time::Now-41960 m_parallelLoadYieldTime-41949
[   ScriptRuntime] [19:28:59] [EditorHelpers]  Hotkeys :OnKeyPress: Add "Escape" to m_keysDown

I'm in the editor for just a couple seconds. This usually happens when I realize I clicked on the wrong map to edit and want to back out right away.
I have about 18,000 custom blocks/items in my Items folder, and renaming that folder does seem to help but doesn't prevent the crash entirely. When it doesn't crash, I'm getting this error every so often:

Yeah, I think I can fix this. Thanks for reporting the issue

EditorHelpers.zip
Could you try with the attached zip (rename to op) or checkout my branch in #77 ? I believe this should resolve your crash

Sadly I'm still crashing with this version, even on a new map, so it has to be something else with the custom items

I wasnt able to reproduce your game crash. Could you post a log from that? (With verbose enabled)

Sorry I'm just looking at this again. I tried with the latest version and no other plugins installed and it is still consistently crashing.
Openplanet.log

Dang that's a bummer! Thanks for the log. Just to be clear this is the game crashing and not a plugin exception?

Yes, full game crash unfortunately. It's not the biggest deal in the world if you can't find the exact cause, I've just gotten used to waiting a bit to exit the editor. It would of course be nice if you or someone else was able to reproduce it, but I understand as I'm in the same spot with one of my own plugins crashing people's games that I can't reproduce myself.

I downloaded 30,000 more items and now i can get the crash. Should hopefully have it figured out soon

EditorHelpers.zip
You can test if you like but I'm almost certain I fixed your crash this time

From what I can tell, this works! Thank you so much!!

Thats great to hear! Thank you for your help and patience in getting to the bottom of this.


Editor crash when loading large images

When Trying to open a large image in the editor, it crashes after some while. This is likely caused by our animation loop not playing nice with such a long-running task on the main thread

After fixing the mutex errors, this seems to be related to the image serialization.

This might actually be a memory issue as the in memory representation takes 384mb which is quite substantial

The crash shown is from the autosaving (see all the serde in the call stack). This will likely be solved as part of #1604.


Tracking issue: highlighting improvements / tweaks

There are probably a million ways the highlighting algorithm can be improved.
Here are some examples:
In progress

[ ] input: oneword, output: hey, expected highlights: a single replacement highlight created by joining multiple highlights, any deletions should be removed. This would involve detecting word boundaries. Status: in progress, see #8.

Planned

[ ] input: foo, output: o, expected highlights: a single replacement highlight (the suffix o should not have been truncated)

Completed

[X] input timestamp, _ := strconv.Atoi(line[0]), output: timestamp = strconv.Atoi(line[0]),, check highlights! Fixed in f713c59.

No longer an important issue at the moment.


Should nwg-look be able to set its own theme?

Hello
I'm going through the whole gtk-2, 3, 4, xsettings theming shenanigans for Hyprland.
I have two questions:

Should the theme I set in nwg-look be applied next time I open nwg-look, or even as I set and apply the theme in the app?
Should the themes selected in the "Widgets" pane show a preview in nwg-look?

Neither of these things happen.

The application lxappearance honors the theme choice I make in nwg-look. nwg-look does not.
The application lxappearance shows dynamic widget style previews in the widget tab when I select a new style. It also updates its own theme when I click apply.

I am reviewing the open issues and see the discussion about gtk4 and libadwaita-without-adwaita-gitAUR. I have installed libadwaita without libadwaita.
My apologies if this is a bad question - I've been looking into this for a while and have not been able to make much progress.
I am on Hyprland. I have also tried setting all of this using env vars. The results are inconsistent which is why I wanted to get nwg-look to work. It seems to be a popular solution for GTK theming!
Let me know if I can provide additional information.
❯ nwg-look -v
nwg-look version 0.2.7

❯ expac '%-30n %v' -s 'nwg'
gopsuinfo                      0.1.6-1
nwg-bar-bin                    0.1.6-2
nwg-clipman                    0.2.2-1
nwg-displays                   0.3.20-1
nwg-dock-bin                   0.4.0-1
nwg-dock-hyprland-bin          0.2.0-1
nwg-drawer-bin                 0.4.9-1
nwg-icon-picker                0.1.1-3
nwg-look                       0.2.7-1
nwg-menu-bin                   0.1.3-2
nwg-panel                      0.9.37-1
nwg-readme-browser             0.1.5-2
nwg-shell                      0.5.37-1
nwg-shell-config               0.5.42-1
nwg-shell-wallpapers           1.5-1

And maybe this is helpful:
❯ expac '%-30n %v' -s 'Hyprland'
hyprcursor                     0.1.9-1
hyprevents-git                 11.09b54e7-1
hypridle                       0.1.2-1
hyprland                       0.41.2-3
hyprlock                       0.4.1-1
hyprmixer                      1.0.1-1
hyprnome                       0.3.0-1
hyprpanel                      0.1.10-1
hyprprop-git                   16.46d12db-1
hyprshade                      3.2.1-1
hyprshot                       1.3.0-1
hyprutils                      0.2.0-1
hyprwayland-scanner-git        0.3.10.r7.g55c78a56-1
nwg-displays                   0.3.20-1
nwg-dock-hyprland-bin          0.2.0-1
nwg-panel                      0.9.37-1
xdg-desktop-portal-hyprland    1.3.3-2

Again, apologies if I have misunderstood anything.
Thank you.

Hi Simon,

Should the theme I set in nwg-look be applied next time I open nwg-look, or even as I set and apply the theme in the app?

Yes.

Should the themes selected in the "Widgets" pane show a preview in nwg-look?

Yes.
Remove all the theming-related env vars, as they override gsettings on Hyprland. I don't know which Hyprland version you're on. I only tested up to  v0.41.2.

Hi Piotr
Many thanks for the quick response! This is helpful.
I will close this ticket and continue my epic quest...
Hope you have a lovely day.

If you come up with something revolutionary, let me know. I'm going to spend the next week drinking beer and fishing, but I'll get to that when I'm back.

Haha! just saw your last comment.
Hope you have a fantastic break and that the beer is cold and the fish are biting.
For the record, in case this might be helpful to anyone else: I had conflicting configs and environment variables floating around. I removed a bunch of themes, removed theme-related config from all of my dotfiles and started again.
My solution was to put my chosen theme and icons in ~/.themes and ~/.icons, select them with nwg-panel and then apply to write the correct configs (~/.config/gtk* ~/.config/xsettingsd etc.). I then added these directories to my .dotfiles repo and so can replicate my theme choices across my different systems (laptop, workstation etc).
All good now!
Thanks again for your fantastic work on all of the nwg- apps. Really helpful.

Thanks for the kind words. I'm proud to announce that the full shell will be available in Arch/Extra soon.


[BUG] something is definitely broken with the windows release

Describe the bug
something is definitely broken with the windows release
To Reproduce
Steps to reproduce the behavior:

Download havn for windows from the latest release as of 17/06/2023
Execute havn from cmd
Do something with it

Expected behavior
For the program to display the intended UI and to work correctly
Screenshots

Desktop (please complete the following information):

OS: Windows 10 22H2 64-bit

Additional context

Thank you, that isn't good.
I can't get the issue to replicate on my system, I'm on Windows 11, using cmd.exe it works as expected. I might have Windows 10 on another machine, so I can see if I can get it to error out on that one

Same, win10 cmd/powershell cant handle terminal escape sequences. Maybe an option to disable them?

Same, win10 cmd/powershell cant handle terminal escape sequences. Maybe an option to disable them?

Yeah that was my first idea to fix it. I have implemented a monochrome feature, that won't use escape codes, it is accessed by using the cli arg -m, e.g. havn.exe -m www.youtube.com.
If you would like to test it, and supply feedback if possible, I have built an example of it just for Windows and attached to this comment. If you are unhappy downloading a random binary, there is also a feat/monochrome branch that you could pull and build on your own machine.
Thanks
havn.zip


Parsing issue

Some people cannot use the sandbox due to a parsing issue (one of those people was RadicalLarry so I asked him to send a screenshot of inspect element)

it may be coming from tick delay and input delay whenever you blank out those values.

Should be fixed now if it's tick or input delay


Draw dialog

Task consists of next steps:

Extend server API by method push_game_draw.
Extend server API to show draw dialog for the second player.

take blue oyster

Assigned.


V2 (Alpha): Remove second "vault" from all Yearn Vault opportunities

IMPORTANT: NO BOUNTIES WILL BE PAID FROM 2/5 - 2/14 - IF YOU COMPLETE THIS BOUNTY DURING THIS TIMEFRAME WE WILL REMIT PAYMENT ON 2/14
Background
Currently, if a user visits the Yearn vaults opportunities they will see all the opportunities end with the word "Vault" even though the word vault is already listed.  We want to remove the duplicate usage of the word vault.

visit app.shapeshift.com
Connect a wallet
navigate to the DeFi section
Click Earn
Notice the list of the Yearn vaults and the duplicate usage of "vaults"

Acceptance Criteria

The final usage of "Vault" on all the yearn opportunities no longer is displayed

Bounty Hunters

Join our discord here. Once you join you can see more about this issue here
Include an expected timeline for you to complete work in the work plan when you apply for this bounty!
Please refer to this link for some basic info

thank you @visitskyworld - payment + tip inbound


Format ExprName

Summary
Implements formatting of ExprName.
We, unfortunately, don't have the Identifier range. Luckily, we get away by simply using the Name range because it only encloses the Identifier.
    <location:@L> <name:Identifier> <end_location:@R> => ast::Expr::Name(
        ast::ExprName { id: name, ctx: ast::ExprContext::Load, range: (location..end_location).into() }
    ),

We may need to inspect the source code in other places to get the Identifier's range, or decide not to bother and use dynamic_text if the syntax element is rarely used (e.g. nonlocal).

Test Plan
I added a new test asserting my assumption that the name and identifier ranges are identical.

Current dependencies on/for this PR:

main

PR #4783

PR #4785

PR #4786

PR #4788

PR #4803   👈

This comment was auto-generated by Graphite.


Apollo vanjee lidar driver

1、添加万集激光雷达驱动；
2、已经进行过功能测试；

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

fatal error: vanjee_driver/api/lidar_driver.hpp: No such file or directory
bash apollo.sh build meets an error

ERROR: /apollo/modules/drivers/lidar/vanjeelidar/BUILD:8:17: Compiling modules/drivers/lidar/vanjeelidar/src/vanjeelidar_component.cpp failed: (Exit 1): crosstool_wrapper_driver_is_not_gcc failed: error executing command external/local_config_cuda/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc -MD -MF ... (remaining 116 arguments skipped)
In file included from modules/drivers/lidar/vanjeelidar/src/vanjeelidar_component.cpp:18:0:
./modules/drivers/lidar/vanjeelidar/src/vanjeelidar_component.h:20:10: fatal error: vanjee_driver/api/lidar_driver.hpp: No such file or directory
 #include <vanjee_driver/api/lidar_driver.hpp>

maybe there are some files missing?

@xinxindream yes, revert the commit and will update later


More bank withdraw options

Add configurable withdraw options for all (or specific, configurable, just like bank tags) items or in other words possibility to change default withdraw options.
(and or remove unnecessary examine option)

https://github.com/runelite/runelite/wiki/Rejected-or-Rolled-Back-Features we dont want to change anything related to withdraw in bank option s


Homework 01 Task 08 Language

The instructions for Task 08 read "Use a single expression (a single line of code) to compute the answer." This phrasing makes it seem like students should have a single-expression solution, and this is not the case. We encourage students to use as many lines as they need. So, this line will be removed.

Additionally:

'assignment' should be 'assign'
'returns' should be 'return'

I'll leave this open until the assignment deadline for reference.


Support power factor of max 1

Really nice card - used it straight away.
Although please make an option (true/false?) for power factor being either 0-100% or 0-1, as i.e. my electricity meter calculates it with total of 1 max (which seems ok verifying that with Wiki too: https://en.wikipedia.org/wiki/Power_factor )

@andriej what's the unit type of the entity providing the value? I think I could try to detect the unit and adjust the UI accordingly

It's cosϕ although I've set it accordingly to reports from meter via modbus.

@andriej the requested change is now available in the the prerelease 2.2.0-dev.2.
I will keep this issue open until it is officially released in the stable channel.


datamodel codegen creates different names

for models that are defined +1 depending if the classes are generated on macos or linux.

[x] Prepare a reproducible example
[x] Check with datamodel devs
[x] Fix
[ ] Update dependency

Created an issue for the datamodel codegen https://github.com/koxudaxi/datamodel-code-generator/issues/961

PR has been merged with the fix at https://github.com/koxudaxi/datamodel-code-generator/pull/973

As always, thanks @koxudaxi for the fixes

hi @koxudaxi :D
Testing out the changes noticed the following changes when upgrading from 0.13.4 to 0.15.0:

We have the following JSON Schema definition of connectionOptions. It is a wrapper class to add arbitrary properties.
On 0.13.4, the conversion returned

class ConnectionOptions(BaseModel):
    pass

    class Config:
        extra = Extra.allow

On 0.15.0 we get:

class ConnectionOptions(BaseModel):
    __root__: Optional[Dict[str, str]] = None

Just wanted to double-check with you if this change was expected and that will be the behavior going forward for additionalProperties. If so, I'll apply the necessary changes in the codebase. We already had to validate that the property existed so it won't be a big change on our end.
Thanks 🙏

@pmbrull
Yes, I expect the behavior.
This change comes from the issue.
https://github.com/koxudaxi/datamodel-code-generator/issues/696
The change affect only type: "object"
If additionalProperties is true then
 class Config:
        extra = Extra.allow

when additionalProperties has a specific type.
    __root__: Optional[Dict[str, `specific type`]] = None

The behavior had applied to other object types such a oneOf before 0.15.0.
I think the change is an improvement of additionalProperties detection.
So, I don't add any CLI option for the changes.
But, I don't want to create any blockers and pain points for existing users.
What do you think about it?

thanks for explaining @koxudaxi, IMO it makes sense. In the end, it feels a bit healthier to have prop.__root__.get("key") than prop.getattr("key"), which ends up being a bit more hacky.
Just wanted to confirm before applying the changes. We'll start the migration then.
Thanks!


修改GetQuotaForMis返回值为数组

Codecov Report

Merging #245 (7596404) into master (e0da668) will decrease coverage by 0.03%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##           master     #245      +/-   ##
==========================================
- Coverage   67.61%   67.58%   -0.04%
==========================================
  Files          75       75
  Lines        5562     5584      +22
==========================================
+ Hits         3761     3774      +13
- Misses       1301     1305       +4
- Partials      500      505       +5

Impacted Files
Coverage Δ

api/quota.go
86.88% <84.61%> (-0.87%)
:arrow_down:

api/node.go
65.59% <0.00%> (-0.65%)
:arrow_down:

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 e0da668...7596404. Read the comment docs.


Merging algorithm for 2D cuboids, polylines, points and rotated shapes is not implemented

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

@bsekachev I would like to work on this open task and create a pull request.
Probably, I shall have a few questions as it is the first PR I am working on for CVAT.
I suspect most of modifications are needed in this below typescript file
cvat-canvas/src/typescript/mergeHandler.ts
At the moment, the merging button allows merging shapes and tracks of different frames e.g. merging a shape / a track in the frame i and the frame j such that i != j.
In my understanding, the objective of this feature is merging 2D cuboids, polyines, points, rotated shapes in the same frame i.
Is my understanding correct ?

Hi @lengoanhcat
Not exactly.
The issue is about server part when shapes are automatically merged between different segments of the same task during dataset exporting for a task.
Please, look at merge function in this file: cvat/apps/dataset_manager/annotation.py and _calc_object_similarity method.

how to trigger the automatic merge

to have a video task with not zero frames overlap  (e.g. job 1 frames 0 - 105, job 2 frames 100 - 205 have overlapped frames 100-105)
on these frames the merge algorithm will be called for annotations on the first and on the second jobs when you export for example annotations for a task, or call API endpoint GET /tasks//annotations
for regular bounding boxes it will merge them using their position data

@bsekachev  My apologies for falling silent during the past few months, I was busy with my new job ^^.
Now I have some spare time to work on this issue again. I have started a draft PR for tackling this issue. Please comment and give feedback which will be helpful for me to successfully implement this fix.
Many thanks !


Make it obvious to add chapters in TOC (e.g: with buttons)

Right now uses have to right click to insert a new part/chapter. That's not very hard, but since we've got a lot of space in the TOC (with the filetree hidden), I think we should make adding chapters easy and obvious, buttons have the advantage of being very obvious.
Here's a mockup of what it could look like:
Screenshot with buttons

Screenshot with smaller buttons

There is now a button to add an article. But not for every part.


[ BUG ] LucideIcon * imports  unnecessarily increase the  bundle size

Describe the bug
In couple of components LucideIcon is imported as import * as LucideIcon from 'lucide-react-native' but this increase the bundle size a lot.
Expected behavior
Have a generic icon component that accepts the LucideIcon props
Screenshots

@atanaskanchev Unfortunately, using the import * as LucideIcon from 'lucide-react-native' is the only way I know to get the expected behaviour mentioned.
As per their docs (syntax has changed but outcome it the same): https://lucide.dev/guide/packages/lucide-react-native#icon-component-example, any generic icon component that accepts the LucideIcon props will increase bundle size.
Do you have a suggestion on how to achieve this?
Otherwise, the only other option would be to remove the generic icon component and require an explicit icon component instead.

@atanaskanchev Unfortunately, using the import * as LucideIcon from 'lucide-react-native' is the only way I know to get the expected behaviour mentioned.
As per their docs (syntax has changed but outcome it the same): https://lucide.dev/guide/packages/lucide-react-native#icon-component-example, any generic icon component that accepts the LucideIcon props will increase bundle size.
Do you have a suggestion on how to achieve this?
Otherwise, the only other option would be to remove the generic icon component and require an explicit icon component instead.

I am not sure how we can solve this with LucideIcon as they do not offer a wrapper component. There are only handful of components (alert, label, toggle-group and toggle) that import lucide this way so I think passing explicit icon component would be ok


can not negotiate video  well with iOS SDK

I am working on a iOS SDK wrapper that talks to  media-server.
audio can works well,  media-server can receive the audio,  but video fails.
I have tried vp8 and h264,  they failed both.   then i did some test.
1,  the media-server side code keep the same.
I write some  brower code to test,  the brower code  can send video and audio correctly.
the iOS SDK code can only send audio,  video fails. ( I am sure the iOS SDK support vp8/h264 both).
2,  the iOS SDK code keep the same.
I write  another server side code with aiortc, https://github.com/jlaine/aiortc ,  logic is the same with media-server-node,  just exchange offer/answer.  the aiortc can receive audio/video correctly.
the media-server code just can receive audio.
so  I think media-server-node generate sdp does not works well with iOS SDK.
here is some offer/answers.
iOS SDK  talks  to  aiortc , offer from iOS SDK
https://gist.github.com/notedit/7955449fa9f55dd92ad47e40b1cba9b0
iOS SDK  talks  to  aiortc , answer from aiortc
https://gist.github.com/notedit/bef0a6e805d3d1aa9fa7e9e5e224fcf8
iOS SDK  talks  to media-server-node , offer from iOS SDK
https://gist.github.com/notedit/ca37fda811fb835f69413db99d23688e
iOS SDK  talks  to media-server-node ,answer  from  media-server-node
https://gist.github.com/notedit/6844b7a042c6720f275051ce3e7b5a7c

I can provide the whole test code  if you have iOS devices.

The media-server capabilities
const Capabilities = {
	audio : {
		codecs		: ["opus"],
		extensions	: [ "urn:ietf:params:rtp-hdrext:ssrc-audio-level", "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"]
	},
	video : {
		codecs		: ["vp8"],
		rtx		: true,
		rtcpfbs		: [
			{ "id": "transport-cc"},
			{ "id": "ccm", "params": ["fir"]},
			{ "id": "nack"},
			{ "id": "nack", "params": ["pli"]}
		],
		extensions	: [ "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"]
	}
};

Does the iOS SDK rejects the SDP answer or do you get any visible error? Can you get a network capture (or a dump on the Endpoint object) to check if it is sending video at all? Also, can you check the iOS SDK is able to receive it?

the iOS SDK peerconnection setRemote answer without error.
it does not send video,  i can see the info in xcode(the cpu usage and network sending/receiving )
it can receive remote vp8 video and play.  so  it is really strange.

I have spend two days on this issuse.  If anyone came to this issuse  please let me know.

After  several days,  I figure out finally,   the native code need "VP8" codec,  not  "vp8" codec.


Add helper text for tags explaining the need for quoting multi-word tags

Fix for #1874

I might work on translations as well, and am i correct in assuming this is too trivial to test?

Yep, no need for a test here. Thanks very much!

Ah, looks like it does need a migration though - please can you add?

Updated @gasman

As for translations, i registered at Transifex for wagtail NL, so i'm guessing when this is merged i will be notified of untranslated strings?

I just pushed a fix for the flake8 failure.

@khink Yep, when this is merged I'll push new translations to transifex - not sure what happens with notifications, but they'll certainly appear as available to translate at that point.

Thanks for this! Will check with the other core devs about the preferred wording for this message. There's also a similar change to be made for documents, but happy for that to be a separate PR.
(#1874 also mentions tag fields on user page models, such as the BlogPage model in wagtaildemo, but that's really the responsibility of the site developer. If nothing else, we can at least make sure we've got some appropriate help text in the documentation examples and wagtaildemo)

Hi @khink - sorry for the delay in reviewing this. Taking a fresh look at the code and the original ticket description, it looks like this doesn't quite fit the way we need this to work, I'm afraid. I think we need the help text to be defined on the underlying AdminTagWidget class, so that it appears any time the widget is used, not just for the image model in particular - for example, it's possible for users to define a tag field on their own page models (http://docs.wagtail.io/en/latest/reference/pages/model_recipes.html), and in those cases Wagtail doesn't have control over the model's help text at all. (We'd probably set it up so that our text is the default help text for AdminTagWidget, to be displayed when the model field doesn't supply something more specific.)
Tying the help text to AdminTagWidget also means that if the model ever gets edited through some other form with a different tag widget (for example, a site that lets users upload their own images on the front-end, but only gives them a pre-defined list of tags to choose from a dropdown) then it won't show our help text that's only meaningful for AdminTagWidget.
Anyway - thanks for the contribution!

Ok, thanks for explaining.


Indent Guide Colors / Highlighting

Is your feature request related to a problem? Please describe.
Thanks for the great themes! There is one issue I run into is with some longer files (like with SCSS). I rely on the indent highlighting, and currently, I don't see indent highlighting (and that might be the wrong term for it).
I think either having a color used for the indent highlighting or even changing the contrast to show the indent highlighting could be super helpful.
Here's an example of what I mean:

I hope this helps!
Also, sorry for any confusion, this is the first issue I've ever created on here.

Hey! Thank you for taking the time to submit this issue.
The indent guides are that way on purpose, I like them barely visible. So I'm not going to change it for all of the themes. Thank you for understanding.
However, you can customize the theme color to your tastes.
Here are the two settings that you can customize.
    "workbench.colorCustomizations": {
        "editorIndentGuide.activeBackground": "#00ffff",
        "editorIndentGuide.background": "#8800bb"
    },

I suppose I could also add some documentation that could point out the custom color customization, if you think that would have helped you with this issue.

Oh heck yeah, that's is for the heads up on how I can do that. I really appreciate it and looking forward to future releases, keep up the great work!


Create Instance of SAP Event Mesh

Tutorials: https://developers.sap.com/tutorials/cp-enterprisemessaging-instance-create.html
Hello,
I am trying to create an instance "dev plan (for Trial landscape)". But the creation is failing with the error message
"Service broker error: Service broker enterprise-messaging-service-broker failed with: Pool for plan dev is exhausted."
The json service descriptor is this one :
{
"emname": "fernana",
"options": {
"management": true,
"messagingrest": true
}
}

BR

Hello @pradeeppanda-sap
you are the creator of tutorial. May be you can help.
Thanks

Hi..
We have limited instances capability in trial landscape. And hence you get error at times. You can try after sometime and it should work. By the way, which region have you selected for the trial landscape ?
regards
Pradeep

Hello,
Region is US East (VA).
It is working now.
I found a post explaining to add a role in SCP/BTP
https://answers.sap.com/answers/13586471/view.html

==> So I added a role.
But I don't know if it is the reason why it is working now.

Thank you


selinux not being enabled in supported distros

Kairos version:
master
CPU architecture, OS, and Version:
all
Describe the bug
bootargs should be able to enable selinux security
To Reproduce
boot with an selinux supported distro (like ubuntu) and check the cmdline
Expected behavior
security=selinux selinux=1 isn the cmdline
Logs
Looks like the proper path in bootargs is not being run and the extra cmdline with this info is not being set properly
function setSelinux {
    source (loop0)/etc/os-release
    set baseSelinuxCmd=""
    if test $KAIROS_FAMILY == "rhel" -o test $ID == "opensuse-tumbleweed"; then
        set baseSelinuxCmd="selinux=0"
    else
        # if not in recovery
        if [ -z "$recoverylabel" ];then
            set baseSelinuxCmd="security=selinux selinux=1"
        fi
    fi
}

Additional context

looks liek we dropped the KAIROS_FAMILY from os-release which breaks this, the test cannot check the equivalency somehow if the VAR is empty or doesnt exist


make private methods private

some methods(_args) is exposed to public, consider update to private

using language-specific access control vs rely to user


Social Icons added

Description
I have added social icons to left of website
Fixed #242

Type of change
Please check options that are relevant to your PR.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] This change requires a documentation update

Checklist:

[x] I have pulled the latest changes in the repository
[x] I have squashed my commits
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

Doesn't this look a bit off on this screen?
CC: @vaishali614
Let's have the social media icons only on Home Page?

I agree. Let's have it on the homepage only.

I think there's too much space here, can we reduce it a bit?

@Manvityagi  @vaishali614  I have added social icons in the home page, but the space is changing with zoom level.
see this

and with different zoom

It is behaving same as in original site.

If I will change left margin from auto to something then it will not come in centre.

@ShrutiOmer No problem. Looks good this way. Please take the latest pull from upstream and update your PR so that I can merge this PR.

@vaishali614  I have pull the upstream.

LGTM


[path_provider] Fix handling of null application ID

The lookup of application ID was handling null (Dart null), but not
nullptr (Dart representation of a C null pointer), so was throwing an
exception in applications without an application ID.
Refactors the FFI calls into a wrapper so that they can be faked for
unit testing.
This includes the shared_preferences_linux example application, so
this fixes tree breakage.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
[x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

It looks like this pull request may not have tests.

I forgot to git add the test file; fixed.

Landing on red to fix tree


Why no pressure output

MGN says 'The network predicts change in momentum w , which is integrated once, and a direct prediction of the pressure
field p', however your code only predict the momentum, do I misunderstand something?

The same question, by the way, the original code in tf1 seems also have no pressure output.

MGN says 'The network predicts change in momentum w , which is integrated once, and a direct prediction of the pressure field p', however your code only predict the momentum, do I misunderstand something?

@Heiyanyan The same question, by the way, the original code in tf1 seems also have no pressure output.

MGN says 'The network predicts change in momentum w , which is integrated once, and a direct prediction of the pressure field p', however your code only predict the momentum, do I misunderstand something?

MGN says 'The network predicts change in momentum w , which is integrated once, and a direct prediction of the pressure field p', however your code only predict the momentum, do I misunderstand something?

I think i know the issue. You can just derive the pressure according to discretized ns-eq, thus, no need for predicting pressure, the pressure is calculated by hand.

understand, i think you are right, thank you very much!


Use eth_subscribe to get real-time updates

Currently we poll TheGraph every 14s for updates. This would be made more efficient if we could subscribe to a real-time event feed. Unfortunately TheGraph doesn't support this, however Geth does and so providers like Alchemy and Infura (?) have an eth_subscribe method that allows for event subscription.
We should add a CLI flag to specify an rpc endpoint (--ethereum-rpc-url) which supports eth_subscribe.
This could be a local node, or a remote service like Alchemy. The org node should then fetch the current project list on startup, from TheGraph, and then subscribe to further Anchored and Unanchored events from the rpc node.
When an anchor event is received for a project that isn't tracked, it should track it.
When an unanchor event is received, it should stop tracking it. This however is not yet supported by radicle-link.

I have the following solutions for this issue, each has its pros and cons, feel free to chime in.
HTTP / IPC

Creating a log filter with eth_newFilter on a single or multiple org addresses
Polling every 14 s the full node with eth_getFilterChanges to retrieve the latest logs.
Iterate over every log and decode the topics to check for Anchored or Unanchored Orgs events.

To be able to decode the topics we'll have to create contract implementations that allow us to decode the topic hashes.

Websocket

Same as HTTP / IPC, only difference is we can subscribe for new logs of the node, and no need for polling.

To be able to decode the topics we'll have to create contract implementations that allow us to decode the topic hashes.

ether-rs

Listen to new events over Websocket on a single or multiple org contracts.
Utilize the already implemented methods and classes eg:
https://docs.rs/ethers-contract/0.2.2/ethers_contract/struct.Contract.html#event-logging

Some hybrid

We could eventually retrieve the logs over HTTP or Websocket and use ether-rs only to decode the topic hashes.

From my standpoint of view, I would try to avoid implementing the whole ABI decoding thing and leave that to packages like ether-rs, if we want to maintain control on how the data is obtained we can use ether-rs only for decoding.

Thanks!
I think it would be nice to not have to poll if possible. And since we'll need to decode the events, which I had forgotten about, maybe ethers-rs is the way to go. The only worry is that I don't want to have to pull in the entire contract. Ideally we can specify the ABI of only the events we're interested in, right?
ethers-rs is a big dependency, that's the only issue, but I'm thinking that since we're going to be using it for the CLI too, it makes sense. You can also check if it's possible to disable some features we don't need via cargo feature flags, or pull in one of the sub-crates only.

Okay thanks for the feedback!

Ideally we can specify the ABI of only the events we're interested in, right?
Yes this should be no problem, we can define the ABI inline or as external file with the required events and functions
https://docs.rs/ethers-contract/0.2.2/ethers_contract/struct.Contract.html#example

You can also check if it's possible to disable some features we don't need via cargo feature flags, or pull in one of the sub-crates only.
It seems that there are not many features to disable, but I'll use only the required sub-crates to reduce the size of the build.

One other thing we have to take into account, with using Websockets or HTTP, is that e.g. geth only allows them by enabling with the --ws or --http flag.
If we want to use the IPC endpoint which comes enabled by default in geth we should be polling in a defined interval.

One other thing we have to take into account, with using Websockets or HTTP, is that e.g. geth only allows them by enabling with the --ws or --http flag.

Ok interesting.
Perhaps worth checking if this feature is enabled on the likes of Alchemy and Infura. If you run your own node then I don't see a problem, since you can just restart the node and enable it.
In the future if users request it we can always enable a poll-based loop.

Ok, with the PoC on https://github.com/sebastinez/ethers-ws-events we can subscribe successfully to contract events and trigger the project query on the subgraph.
Regarding the implementation I see two options for now.

Change the run function to async to allow the websocket to iterate over the EventStream
Create an AnchorEventQueue, spawn a future with an async fn eventListen and check for new elements in said queue on every loop in the run function.

IMO changing the run function to async would be a lot of rewriting with not much improvement, I would try to solve it the other way..

Yeah, I think we can just spawn a task for the WS stuff, and send updates through a channel?

Yeah, I think we can just spawn a task for the WS stuff, and send updates through a channel?

Yeah I think that's the best way!
I'm currently working on an issue in the ethers-rs repo to allow subscribe to multiple addresses, will keep you posted


Downgrade cargo-deny and rustc to fix failing CI builds

Closed because cargo-deny was updated upstream, fixing the issue.