Netflix reports code M7121-1331 on ungoogled-chromium >=113

On my computer, Netflix used to work with I believe ungoogled-chromium 112, however on 113 and 114, installing the latest Widevine (4.10.2557.0 in my case) doesn't seem to work, and Netflix reports the error M7121-1331, which is a generic "something went wrong".

You need to provide more information so that we could help you.

You need to provide more information so that we could help you.

Like what? what information do you need?
Here's my current Chrome and OS version as reported in about:version:
114.0.5735.134 (Official Build, ungoogled-chromium) (64-bit)
Revision | 960a08e3d10d3a6911d6e7f4a38b2c73f4aa0fa3-refs/branch-heads/5735@{#1271}
OS | Windows 11 Version 22H2 (Build 22621.1485)

(updated since opening the issue, but still have the same problem)
I followed the guide here for installing Widevine, and it shows as installed on chrome://components:

The Widevine demos at https://shaka-player-demo.appspot.com all work properly. Disney+ can also play DRM-protected content perfectly fine. The flags I have enabled are:
--custom-ntp=chrome://new-tab-page --disable-search-engine-collection --disable-sharing-hub --enable-gpu-rasterization --enable-zero-copy --extension-mime-request-handling=always-prompt-for-install --hide-sidepanel-button --ignore-gpu-blocklist --keep-old-history --remove-grab-handle --remove-tabsearch-button --disable-smooth-scrolling --use-angle=gl --enable-features=CanvasOopRasterization,DisableQRGenerator,ElasticOverscroll,EnableDrDc,OverlayScrollbar,SystemNotifications --disable-features=HardwareMediaKeyHandling,OverscrollHistoryNavigation,Vulkan
Please let me know what information I should provide to help you.

Inspecting the console output of developer tools at the failing page might be helpful

I tried that, along with correlating network requests with the error page.

In the network requests we have:

a few  https://oca-api.us-east-2.origin.prodaa.netflix.com/ftl/probe?data=5120&device=web&ord=3&recipe=unifiedProbe&probe=us-east-2&pulse=2 completing successfully, to locate the video stream
some various requests to URLs like https://ipv6-c056-pdx001-ix.1.oca.nflxvideo.net/range/240220250-240636335?o=1&v=61&e=1687601772&t=[censored]&sc=[censored] to retrieve the video data
https://www.netflix.com/nq/msl_v1/cadmium/pbo_licenses/%5E1.0.0/router?reqAttempt=2&reqName=license&clienttype=akira&uiversion=vc5ef9af4&browsername=chrome&browserversion=<IP_ADDRESS>&osname=windows&osversion=10.0 to presumably locate some license? regardless, also success
a failed attempt to that https://www.netflix.com/msl/playapi/cadmium/logblob/1?... URL
error screen shows up

can you test Netflix and see if it works for you? if it does, then I could probably check extensions and etc., but if it's also broken for you then it's probably an ungoogled-chromium issue

I don't have Netflix account to test.
You could test empty profile without extensions and with default flags with the help of --user-data-dir. You also did not provide any information about how you installed ungogled-chromium.

You also did not provide any information about how you installed ungogled-chromium.

Sorry. I used the EXE installer from the latest release. Thought it would be obvious under the repository for a specific distribution that I am using that distribution.

You could test empty profile without extensions and with default flags with the help of --user-data-dir.

Ok, I'll try.

Sorry. I used the EXE installer (x64) from the latest release. Thought it would be obvious under the repository for a specific distribution that I am using that distribution.

Unfortunately not. We are constantly bombarded by users using third-party binaries which they get outside this repository, outside this organization, provided by unrelated people with problems we possibly cannot solve.

It does occur on an empty profile with no flags.

Did you use Chromium's builtin profile feature or separate temporary folder via --user-data-dir?

Did you use Chromium's builtin profile feature or separate temporary folder via --user-data-dir?

Separate temporary folder. As you can see no other profiles exist. The command line I used was "C:\Users\LoganDark\AppData\Local\Chromium\Application\chrome.exe" --user-data-dir=C:\Chrometest, after ensuring that folder did not exist.

Are there any changes in console? Maybe you have blocked something via hosts?

Maybe you have blocked something via hosts?

I block things with a web application firewall that logs when things are blocked (so more useful than a hosts file!), but logs confirm nothing from Chromium was blocked.

Are there any changes in console?

I don't see any BLOCKED_BY_CLIENT errors because that profile has no extensions. But Netflix still shows the error page, so that doesn't seem to have had an impact.

Then I'm out of ideas. Could be Netflix changed something internal and tries blocking suspicious (according to them) browsers or I don't know.
Could be that specific title at issue? Maybe others work fine?
Try vanilla Chromium. Maybe it is more general issue?

Could be that specific title at issue? Maybe others work fine?

No, tried quite a few.

Try vanilla Chromium. Maybe it is more general issue?

Possibly. I tried changing user-agent to chrome's and it didn't work. Regardless, I don't know if I'm comfortable running googled chromium right now.

I have the same issue with netflix but aslo with whatsapp, when running https://web.whatsapp.com/ it now wont load the qr code to allow you to connect a device (works just fine on the same computer using e.g. edge)
Not sure if these are connected but seems odd that they both started just now...

but aslo with whatsapp, when running https://web.whatsapp.com/ it now wont load the qr code to allow you to connect a device (works just fine on the same computer using e.g. edge)

Have you tried empty profile? This could happen if you disable Javascript JIT, but AFAIK we do not ship this feature in ungoogled-chromium windows, which means you used third party binary for which we cannot provide support.

WhatsApp Web works fine for me with 114.0.5735.199-1.1 in incognito mode.

Tried incognito but same issue for me, wounder what that could be then?

Have you tried deleting the application data manually?

Have you tried deleting the application data manually?

Not really sure what you mean it is run in the web tab, what data is there to delete except for cookies and such (that I have deleted, and anything associated with that site)

The folder should be  %localappdata%/Chromium/User Data, the Application folder should be the browser itself, so you could try deleting the Chromium folder entirely and reinstalling the browser if removing just the User Data folder does not work

Hi, deleted the entire chromium folder as suggested above, installed a fresh install, no plugins, no settings done, just went to https://web.whatsapp.com/ and the page just continues to reload the QR code, but never stops.
I then allowed, webgl, javascript, 3rd party cockies, everything that was blocked under "web settings "for the specific site I unblocked with the same result as before. Opening the same link in e.g. edge on the same computer works just fine.
This also worked for me until version 113 or so.
To be completely transparent, I'm using builds from: https://chromium.woolyss.com/, on win10, if that makes any difference.

I get the following "issues" with dev console:
Audit usage of navigator.userAgent, navigator.appVersion, and navigator.platform
A page or script is accessing at least one of navigator.userAgent, navigator.appVersion, and navigator.platform. Starting in Chrome 101, the amount of information available in the User Agent string will be reduced. To fix this issue, replace the usage of navigator.userAgent, navigator.appVersion, and navigator.platform with feature detection, progressive enhancement, or migrate to navigator.userAgentData. Note that for performance reasons, only the first access to one of the properties is shown.
Console also gives me this:

To be completely transparent, I'm using builds from: https://chromium.woolyss.com/, on win10, if that makes any difference.

Yes, that actually makes a huge difference. We do not publish our releases there, the chromium you are using is not build from this project. We only provide support for our releases.

Well, did I clean install again, using the relase from this github and it all works, as it should. Netflix is still giving me the same issue, the error code M7701-1003,
1 error:

and 1 message:

Come on guys! Why no one noticed my comment above?

Any updates regarding this issue? I am using ungoogled-chromium version 115.0.5790.99-1.1 on windows and have the same problem.

Any updates regarding this issue?

DRM features are alien for ungoogled-chromium goals. Besides that, in order to properly debug this issue, one needs to have an account with those closed platforms. These two factors result in us having tons of similar issues without resolution. So until someone volunteers to investigate those issues, no progress is to be expected. And on top of that, chances are that proper fix for this would contradict the goals of ungoogled-chromium and won't be accepted into this repository.

I can just add that this is on latest ungoogled version (115.0.5790.110):

When looking at my drm setttings I have this:

So all seems OK, but still not working :(

I can see that that folder is empty.
So my conclusion is that I do not have cdm installed?

Try this: https://ungoogled-software.github.io/ungoogled-chromium-wiki/faq#how-do-i-install-widevine-cdm

I can see that that folder is empty.
So my conclusion is that I do not have cdm installed?

Try this: https://ungoogled-software.github.io/ungoogled-chromium-wiki/faq#how-do-i-install-widevine-cdm

a lot of streaming services don't work regardless of whether widevine is installed or not

I can see that that folder is empty.
So my conclusion is that I do not have cdm installed?

Try this: https://ungoogled-software.github.io/ungoogled-chromium-wiki/faq#how-do-i-install-widevine-cdm

Funny outcome :)
Netflix starts to play but after 1 sec give out the same error as before "m7121-1331", "Please try another title"
But amazon prime does not and plays without an issue, but after reading up I guess widewine is not part of this project due to it being closed source, and widewine is also the reason netflix wont play, so I gues for the sake of this thread we can close it down and the reason for the issue is lack of widewine support natively?

i installed the most recent build of ungoogled chromium two days ago, followed the faq to paste the widevine files in according to the directory structure, and still have the same issue with Netflix 'cannot play instant title' from screenshots above.
No drm media will play though Widevine shows as loaded. Anyone figure this out??

I can only make it play on amazon prime, netflix, hbo does not work.

Just read a post by dev for Thorium browser and he explains why it won't work. Oh well ill just have to use edge for netflix


Initialize order test

@demmer just added a PR in product that depends on initialize() being called in the right order, so adding a test here to make sure that doesn't break.

+1 to the test but the commit to "fix" the paths should be removed.
The tests require 'grunt build' to have been run. I've fixed this in https://github.com/jut-io/grunt-dry/pull/2 so it will just happen by default and avoid this confusion.


Maybe is a bug? Jest regards 'test.js' as a test file.

🐛 Bug Report
As I considered, only file that names  <something>.test.js should be considered as a Jest testing file, but not test.js, so this maybe is a bug.
To Reproduce
just create a file call 'test.js' and run test, then you will see.
Expected behavior
Ignore that file.

This is documented behaviour and not something we're going to change. You can change the default patterns: https://jestjs.io/docs/en/configuration#testmatch-array-string


Add a wiki: LGBTA Wiki

An anonymous user has submitted a new wiki via our submission form.
Link to origin wiki: https://lgbtqia.fandom.com/wiki/LGBTQIA+_Wiki
Link to destination (independent) wiki: https://www.lgbtqia.wiki/wiki/LGBTA_Wiki

Looks like content is being improved and migrated over to a new wiki at https://lgbtqia.mywikis.wiki/wiki/LGBTQIA:About, which will eventually replace the wiki on Miraheze. However, this new wiki is still very small (<40 articles).
More details at https://lgbtqia.mywikis.wiki/wiki/LGBTQIA:About

The new LGBTQIA wiki is now at a new URL, https://new.lgbtqia.wiki .  It also now has more articles than the Fandom wiki (354 vs 205).  It is still a far cry from the old LGBTA Miraheze Wiki, but the new wiki's articles seem to me to be higher quality.


Taiga

taiga and tutanota added, possibly

OMG no conflicts.

If I may say that: you did some great contributions! :+1:

could this be accepted? I've caught a bit of a minimal SVG bug.

I'll take a look this weekend. Thank you for all your contributions 😁

sure - sorry I sounded a bit pushy! I was just making sure I hadn't made some sort of mistake :D

do I make the readme up to the current then?

i don't know how to resolve this conflict.

It should show you the conflicting lines when you click into the conflict. It's probably just the fact that another icon has been added to the README in the same place as yours - you can probably accept both changes and put your icon on the line below. This might help explain: https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github

I understand now. didn't know one could edit that file. I think I diverged from the master file though.
oh well

I think this looks ok (in terms of resolving the conflict). You might want to put the Taiga icon in the readme in the previous row rather than starting a new one though as there is space - see the comment I've put in the change!

so how would I avoid having conflicts due updates made to readme.md (other commits coming it)? perhaps update my local repo to current ? Or just hack the file and merge?

Yes, you either have to update your repo from the master, or just use the merge tools. I don't know "the best" way - I'm just a hobbyist and tend to fumble my way around git!

@wuxmedia You currently have tutanota.svg saying aria-label="..."
You need to change that to aria-label="Tutanota" and then update the filesize in the README.
See https://raw.githubusercontent.com/edent/SuperTinyIcons/47173d1a4b8260cc07184bd4577bacae86f328b5/images/svg/tutanota.svg
I'll merge once that is done. Cheers :-)

ok Done!

All done. In future, probably best to add only one icon per PR.


[Linux] Support for GCC compiler?

I have one use case in mind where I am dealing with one bit per pixel blobs. So I would gladly play around with your implementation. But unfortunately gcc doesn't compile it under linux. Looks like you are using some special MSVC intrinsics headers. Maybe I'm completely wrong, I'm not much into c++. Anyway, will it be possible to use UFBL with linux?

Using compiler specific function is inevitable for UFBL since there are no standard functions for Find First Set in C++.
Someday I'll make UFBL cross-platform using CMake but I'm still not very comfortable with makefile syntax. If you're in a hurry, there is simple way to make my source files compatible with GCC environment.

Delete #include <intrin0.h>
Add #include <stddef.h>
Add #include <stdint.h>
Fix every parts in the source code which are like

while (!_BitScanForward64(&bitpos, working_bits)) { ... }

to
while (!working_bits) { ... }
bitpos = __builtin_ffsll(working_bits);

. This changes 64-bit MSVC function _BitScanForward64 to 64-bit GCC function __builtin_ffsll.
Similarly, you can change any parts including
while (!_BitScanForward64(&bitpos, working_bits)) {  ... }

to
while (!working_bits) { ... }
bitpos = __builtin_ffsl(working_bits);

I think this little change will work fine. Thank you.

I still have some troubles making it right. I redifened __int64 as long long, then removed all four _BitScanForward64 in whiles and added __builtin_ctzll after each loop. First I tried __builtin_ffsll but that function adds an extra one to the index. But something goes wrong — the runs (as I understand right what a run is) are flipped in alignment chunks. If you have some time, I made a gcc branch and you can look at fubar_test.cpp.

Using __builtin_ctzll is right. It's my mistake. By the way, what do you mean by runs are flipped? Your test program works without any problem for me. It does exactly what it should do.
If I got it right, it depends on your purpose. My codes are to find and label connected white (bit 1) blobs in input image. If you want to find connected black(bit 0) parts in white background, my current codes would not work for you. For now, the starting position and the ending position are founded by these codes.
//find starting position
while (!working_bits) {
	bits++, basepos += 64;
	if (bits == bit_final) { ... }
	working_bits = *bits;
}
bitpos = __builtin_ctzll(working_bits);

//find ending position
working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos);
while (!working_bits) {
	bits++, basepos += 64;
	if (bits == bit_final) { ... }
	working_bits = ~(*bits);
}
bitpos = __builtin_ctzll(working_bits);
working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos);

As you can see, it flips the working bits before finding ending position since __builtin_ctzll can not be used directly to find first 0. If you want to find linear chunks of 0, these two codes should be exchanged. I note that some additional change might also be needed to check boundary condition correctly.

I'm sorry. I just got what did you mean by runs are flipped now. Shapes of letters indeed flipped. When we write binary numbers, usually the most significant bit comes first. In my program, the least significant bit comes first.
In my program, types like __int64 are just a way to save 2D binary data. They are essentially bit-arrays, not a number. Unlike for the binary numbers, I think that the least-significant-bit-first format is better for bit-arrays. It's also easier to compress an image with this format, so I thought the format is more natural.
I don't know your situation. In my opinion, the best option is just to change the input binary data to least-significant-bit-first format. I think it's more natural.

Yes, you're right. I did not thought about endianness. I deal with some portable bitmap files (P4 pbm). This is a pretty simple format that consist of a header with dimensions and a binary blob that is big-endian encoded, each byte for eight pixels.

If the input image is big-endian encoded, I think the simplest solution is just reversing the processing order, like this.
//find starting position
while (!working_bits) {
	bits--, basepos += 64;
	if (bits < bits_first) { ... }
	working_bits = *bits;
}
bitpos = __builtin_ctzll(working_bits);

//find ending position
working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos);
while (!working_bits) {
	bits--, basepos += 64;
	if (bits < bits_first) { ... }
	working_bits = ~(*bits);
}
bitpos = __builtin_ctzll(working_bits);
working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos);

The output image will be left and right reversed, but the structure of the image will not change at least. Depending on your purpose (for example, if the labelled image generated by UFBL is just an intermediate data to get some other final result), this itself may be enough.
If you want correct result, you may have to change the part of the code to generate output, too. Like from
for(...) {
	...
	unsigned short start_pos = runs->start_pos;
	...
	unsigned short end_pos = runs->end_pos;
	...
}

to
for(...) {
	...
	unsigned short start_pos = img_width - runs->start_pos;
	...
	unsigned short end_pos = img_width - runs->end_pos;
	...
}

Many parts of my code will also have to be changed since the boundary condition is different now. Perhaps the right edge of the image (which will be processed firstly in this plan) may have to be treated completely differently. For 10 digits binary numbers, 10th bits comes first, not 32nd bits as usual.

If the input image is big-endian for eight pixels, I think this will be the best option.
//find starting position
while (!working_bits) {
	bits--, basepos += 64;
	if (bits == bit_final) { ... }
	working_bits = *bits;
}
bitpos = __builtin_ctzll(working_bits);

//find ending position
working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos);
while (!working_bits) {
	bits--, basepos += 64;
	if (bits == bit_final) { ... }
	working_bits = ~(*bits);
}
bitpos = __builtin_ctzll(working_bits);
working_bits = (~working_bits) & (0xFFFFFFFFFFFFFFFF << bitpos);

The output image will be left-right reversed but the structure of the image will be remain unchanged. Depending on your purpose, this might be enough. If not, you have to change the generating output parts, too.

Thank you for the your time and help. I need some time to dig through. May be it would be easy for me if I encode the bytes from the blob to big-endian before. I need some time to try it out. Thank you again!

UFBL now supports platform independence and p4 pbm as input.


A potential solution for improving enum-like classes

After a brainstorming session with @jtyoung84 , we came up with this idea:
from pydantic import BaseModel, RootModel, Field
from typing import Annotated, List, Literal, Union, ClassVar, Dict

class _Base(BaseModel):
    key: str
    a: int

    def __hash__(self) -> int:
        return hash(self.key)

class _Foo(_Base):
    key: Literal["Foo"] = "Foo"
    a: int = 1

class _Bar(_Base):
    key: Literal["Bar"] = "Bar"
    a: int = 2

class MyClass(RootModel):
    root: Annotated[Union[_Foo, _Bar], Field(..., discriminator="key")]
    ONE_OF: ClassVar[Annotated[Union[_Foo, _Bar], Field(..., discriminator="key")]] = Annotated[Union[_Foo, _Bar], Field(..., discriminator="key")]
    Foo: ClassVar[_Foo] = _Foo()
    Bar: ClassVar[_Bar] = _Bar()

class Container(BaseModel):
    prop_to_be_deprecated: MyClass.ONE_OF
    prop: MyClass
    dict_of_prop: Dict[MyClass.ONE_OF, int] # This doesn't work :(

new = Container(
        prop_to_be_deprecated=MyClass.Bar,
        prop=MyClass.Foo,
        dict_of_prop={MyClass.Foo: 1})

# However this works :D
a = {}
a[_Foo()] = 1
a[_Bar()] = 2

print(a[_Bar()])

This would solve a few problems. Namely:

The ability to be able to use discriminated unions using the RootModel class (https://github.com/AllenNeuralDynamics/aind-data-schema/issues/843, https://github.com/AllenNeuralDynamics/aind-data-schema/discussions/794)
Ability to provide type hinting and enumeration with the same base class (instead of using ONE_OF)
Fully backwards compatible (including the ONE_OF)
Refactor can be made via #64
Ability to use model instances as keys (However, we cant yet use them to type dictionaries signatures as demonstrated above...) (https://github.com/AllenNeuralDynamics/aind-data-schema/issues/960)

Was this intended to be closed?
I don't think that any of the points in the issue were address by the referenced PR (?)

[ ] The ability to be able to use discriminated unions using the RootModel class (https://github.com/AllenNeuralDynamics/aind-data-schema/issues/843, https://github.com/AllenNeuralDynamics/aind-data-schema/discussions/794)
[ ] Ability to provide type hinting and enumeration with the same base class (instead of using ONE_OF)
[ ] Fully backwards compatible (including the ONE_OF)
[ ] Refactor can be made via https://github.com/AllenNeuralDynamics/aind-data-schema-models/pull/64
[ ] Ability to use model instances as keys (However, we cant yet use them to type dictionaries signatures as demonstrated above...) (https://github.com/AllenNeuralDynamics/aind-data-schema/issues/960)

If you are using the issues as a ticketing system I feel moving this to a discussion feels more appropriate if you don't want to track it.

Nope just a mistake, but yes this should probably be a discussion.


Fragments

Awesome app,
Love the animations.
I also noticed, that you are not using Fragments anywhere. May I ask why?

Thank you! Just haven't needed them yet.


AjaxSpider

Hi,
Is there an option to use the ajax-spider with zap-cli? For example with zap2docker (like described here https://gist.github.com/Grunny/6ea8d48d711c6ad28064 )
Thank you.

Not right now, but we can look to add an option that would work when the ajax-spider is available. :)

Sure, how should we proceed? I can give advice how to talk with the ZAP API, but I am not able to write code in python.

@wurstbrot Made a quick implementation here: https://github.com/Grunny/zap-cli/pull/6
You can test it out with a local install by cloning the repo, checking out the issue-3 branch and running pip install -e . in a virtualenv. Let me know if that is what you're after and if there are any issues. :) I'll merge and release it so it will be available in the ZAP docker instance if there are no issues.

This is released in v0.2.0 which is now available on PyPI: https://pypi.python.org/pypi/zapcli It should end up in the next docker image whenever that is updated. :)


process exit should not kill ssc app, it should let frontend know that main process quit

Then the frontend can do something like tell the user the main process crashed and that they have to restart the app.
Having the window quit randomly and quickly is a bad UI

Fixed with a new bootstrap


feat(besu) Ingress for Besu RPC and WebSockets

Description
As a developer, I have Ingress for accessing the RPC and WebSockets
In the current besu setup ambassador is used for serve the request for P2P and RPC communication, which requires exposing those port from the LoadBalancer, and to bootstrap a single nodes it requires exposing 2 port i.e P2P and RPC. If we thing of a larger network then in that case so many ports will be required to exposed and this brings the security concern of having much ports opened.
The RPC service can be exposed by using the Ingress and it will not require us to open that port. This way we can reduce the number of ports required to opened at the ambassador (LoadBalancer). The number of ports in this case will be halved.
Acceptance Criteria

FQDN based Ingress to access the RPC server

@adityajoshi12, the PR https://github.com/hyperledger/bevel/pull/2356, updated to proxy aes changes rpc port to http/https


R.ODAF.utils pkg in repo

This is branched from include_r_pkg branch, thus contains all the commits from that branch too. In include_r_pkg, an R package (R.ODAF.utils) was made to house our many R functions in a more manageable way. Some notes from that:
params may be altered a bit. Will note here and update when I have to change something so we can go back and cross reference schemas and configs and Rmd files.
using a single function for get_params simplifies things, but also might mean that a few parameters belong more in the 'common' section, which means that change will need to be propagated.
solvent_control is an example
Otherwise: I'm planning to use function arguments (e.g., context = "analysis" vs "QC") to have control structures that specify how a function should run in the context of the QC script vs DESeq/report generation
This branch incorporates the R package as part of the R-ODAF_Health_Canada repo rather than installing it into the environment from a separate repo.
Note that a few of the checksums do not match the truth_checksums used during the github workflow, but they are consistent with what I get locally. This is very likely due to rounding differences. But it means the tests won't pass until changed.

🎉


Add more extensions for file detection in Django

Fixes #14

Codecov Report

Merging #17 (80eea04) into main (fc79c1f) will decrease coverage by 15.28%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main      #17       +/-   ##
===========================================
- Coverage   99.49%   84.21%   -15.29%
===========================================
  Files           6        6
  Lines         398      399        +1
===========================================
- Hits          396      336       -60
- Misses          2       63       +61

Impacted Files
Coverage Δ

HeifImagePlugin.py
76.42% <100.00%> (-22.14%)
:arrow_down:

tests/test_transformations.py
64.70% <0.00%> (-35.30%)
:arrow_down:

tests/test_reading.py
92.00% <0.00%> (-8.00%)
: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 fc79c1f...80eea04. Read the comment docs.


Tokio 0.3 support

Codecov Report

Merging #104 into prīmum will decrease coverage by 1.44%.
The diff coverage is 83.95%.

@@            Coverage Diff             @@
##           prīmum     #104      +/-   ##
==========================================
- Coverage   80.08%   78.63%   -1.45%
==========================================
  Files          62       78      +16
  Lines        2174     2518     +344
==========================================
+ Hits         1741     1980     +239
- Misses        433      538     +105

Impacted Files
Coverage Δ

src/lib.rs
67.74% <ø> (ø)

tests/proptest.rs
0.00% <0.00%> (ø)

src/tokio_03/bufread/macros/encoder.rs
40.00% <40.00%> (ø)

src/tokio_03/write/buf_writer.rs
51.64% <51.64%> (ø)

src/tokio_03/write/macros/encoder.rs
66.66% <66.66%> (ø)

tests/utils/input_stream.rs
66.66% <66.66%> (ø)

src/tokio_03/bufread/macros/decoder.rs
70.00% <70.00%> (ø)

src/tokio_03/write/generic/decoder.rs
71.83% <71.83%> (ø)

src/tokio_03/bufread/generic/encoder.rs
73.17% <73.17%> (ø)

src/tokio_03/write/macros/decoder.rs
75.00% <75.00%> (ø)

... and 35 more

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 74125e6...399cd76. Read the comment docs.

Docs appear to be broken because of https://github.com/rust-lang/rust/issues/76296.

bors r+


AppVeyor: Automatic publishing of NuGet projects

Maybe this is interesting?
AppVeyor: Automatic publishing of NuGet projects

This is what I'm doing with most of the new repositories. It is a bit
harder to do with NLog core, but by splitting up stuff in logical bits,
hopefully it will be easy soon.

:+1:


Add Songbirdz to the ecosystem page

What changed? Why?
Added the Songbirdz project per Jesse's suggestion during Base office hours today.
Notes to reviewers

Songbirdz was one of the 11 winners in the Gaming category at the Onchain Summer Buildathon: https://devfolio.co/projects/songbirdz-c821

Songbirdz is also listed in the Coinbase Wallet: https://wallet.coinbase.com/home/explore?experience=games

How has it been tested?
Tested locally, see the screenshot below:

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/2

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
1

Sum
2

@dry-tortuga
Hi there! Thanks for this PR! Unfortunately when trying to load the page only a white screen appeared. Please resubmit when this is fixed.

@dry-tortuga
Hi there! Thanks for this PR! Unfortunately when trying to load the page only a white screen appeared. Please resubmit when this is fixed.

Hi @wbnns thanks for flagging that issue!
Just to clarify, you're seeing the blank white page when you go to https://songbirdz.cc ? If so, can you quickly let me know what device/browser you're using?


Ant builds from within idea

@yanhick, @sganapavarapu1  - This is intended to be used with your changes to get a singe-source build working.  It is not intended to be merged directly.  Can you please review with that in mind?
Thanks.

Just to make sure that I understand correctly...
I can use this from command-line (or IDE?) to build source in my local repo (on my workstation) for a single version (be it 13.1.6, or 14.x) - am I correct?
I need to run it twice (with different IDE SDK's - automatically picked up by my IDE version) to validate for both 13.1.6 and 14.x - am I correct?

Yes, you understand correctly -- sort of.  :-)
If you do NOT create a local-build-overrides.xml in your project root directory, then, when running from the command line, you must still specify the version string that you want to build for.  Travis.ci still works this way.
Additionally, when running from the IDE (again, assuming you haven't created any overrides via local-build-overrides or on the command line), the script will find the installation (e.b. Idea13, Idea14) you are currently using and build for that.
You can definitely do interesting things with local-build-overrides, though: You can (and should) add specific installation directories so that the command line knows where to find your IDEA installations.  Mine looks like this:
<project name="local-overrides">
  <echo>
    Including local overrides...
  </echo>

  <property environment="env"/>
  <property name="idea.installation.dir" location="${env.HOME}/intellij_idea" />
  <condition property="idea.ultimate.build" value="${idea.installation.dir}/idea-IU-135.1286/" >
    <matches pattern="13." string="${version}"/>
  </condition>
  <condition property="idea.ultimate.build" value="${idea.installation.dir}/idea-IU-139.1117.1/">
    <matches pattern="14." string="${version}"/>
  </condition>

</project>

Using the above I should also be able to add specific targets for each version and build them all from within the same IDE session.  I haven't tried this just yet.  ;-)

Approved for merge


need developer

i have interesting project if you are interested let me know willing to compensate good rate

@quickstreamingmedia I am flattered, but have to decline.
Please open another issue if you have a feature you want to see in go-mpd though 🙂


🐛 Bug Report: CommonJSModuleLoader bug

📜 Description
The CommonJSModuleLoader default module loader of the backend-plugin-manager package does not support loading modules from embedded node_modules folders of private packages located in the plugin node_modules folder.
Typical example is the backstage kubernetes plugin, which transitively imports the tar module, which itself imports version 5.0.0 of the minipass module.
In the main backstage node_modules, there is another, older, version of minipass (version 3.3.5), which is incompatible with the tar module, so the tar-required minipass module ends up being available in a tar-private node_modules folder: in node_modules/tar/node_modules/minipass.
👍 Expected behavior
Such  embedded node_modules folders of private packages located in the plugin node_modules folder, should be added into the resolve path.
👎 Actual Behavior with Screenshots
Such  embedded node_modules folders of private packages located in the plugin node_modules folder, are not added into the resolve path so that, in the typical case mentioned above, the minipass module resolved (when required by the tar module) ends up being the one in the main backstage node_modules folder, which is obviously wrong and leads to breakage.
👟 Reproduction steps

Create test-loader folder at the root of the backstage repository and change directory to it
bootstrap a package outside of the monorepo, and add the kubernetes-backend dependency to it:

yarn init
touch yarn.lock
yarn add @backstage/plugin-kubernetes-backend
yarn install

Use the  CommonJSModuleLoader in some code passing the backstage repo root folder as the backstageRoot argument of the boorstrap method, and  the test-loader sub-directory in the dynamicPluginsPaths argument of the bootstrap method, and this should reproduce the issue.

📃 Provide the context for the Bug.
No response
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Fixed by PR https://github.com/backstage/backstage/pull/20772


next release?

Hey I am working on a port of MUI for react-basic, and I'd like to use the generated types that are in master now. I'm ow far off from the next release you are. If it's a while, I'll use the types in the released version, but otherwise I'll wait.
Thanks!

It's probably better to work off of master. I'll try to get that pending PR in and released in the next few days.

thanks!
On Thu, Jul 18, 2019 at 2:39 PM Madeline Trotter<EMAIL_ADDRESS>wrote:

It's probably better to work off of master. I'll try to get that pending
PR in and released in the next few days.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lumihq/purescript-react-basic/issues/100?email_source=notifications&email_token=AAAIFIPOC6ASFCBBQZBGJD3QAC2GFA5CNFSM4IE6DIF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2JM3DA#issuecomment-512937356,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAIFIKD4VTSDMASQZ2JUHDQAC2GFANCNFSM4IE6DIFQ
.


Consider adding a constraints macro to datamodel definitions

In Splunk_SA_CIM all datamodel definitions have a macro that allows end users to specify additional constraints without modifying the eventtype or datamodel json. For example:
"constraints": [
        {
          "search": "(`cim_Network_Traffic_indexes`) tag=network tag=communicate"
        }
      ],

I purpose all Palo datamodels take this tact to enable customers to specify an index for improved performance.

I like the idea.  We'll investigate this.  Thanks!

When there is no constraint macro defined in a data model, in order to add index constraints, the DM has to be edited directly. When you edit a data model definition, a new copy of the json file is stored in the local directory of the SplunkforPaloAltoNetworks App.
This functionality causes future updates to the app SplunkforPaloAltoNetworks to exclude any newly added field extractions for the data models. Because all App updates go to the default directory, and by design the local directory always takes precedence, you will not receive updates to the data model when upgrading the App. Your over-ride would prevent any changes to the data model being detected after an upgrade and they would effectively be missing, because Splunk is not capable of layering the 2 json files together.


Update syntax used to configure xDS servers.

Any way to bypass the codecov/project test? Since it's a bit misleading & useless for this change.


add initialized checks with nice error

Right now, failing to call ps.init() manifests as a segfault. Add nice sanity checks at least on the register() functions so we give better errors.

also remove errors on double-init... why?


ID docket number:
User feedback
(docket_number)

User feedback:
this is from the playground on docassembledev.akcourts.gov,  with commented out AK custom organization.yml
in project  AKCourtsDocassembleDev Feedback Form
So the interview yml calls assembly line package
the assembly line package must call the feedback yml
Package version | playground
Filename | docassemble.playground3TestingFeedback:testalfeedback.yml

building feedback page - test of some sort


Remove jeweler gem

📝  The jeweler rake tasks on the version that this is currently using (2.0.1) are breaking on changes in bundler, resulting in:
NoMethodError: undefined method `dependencies_for' for #<Bundler::Runtime:0x007ffb2f2145f8>

Jeweler is handy for gem management, but is no longer maintained. While there's a fork that is (Juwelier) and would resolve the issue above, when attempting to update it I ran into some issues between ruby versions and getting tests running - it seemed to be a good time to remove some dev dependencies instead.
This really only affects version updates and releases, which will need to be done manually v. the rake tasks Jeweler provided.
@nationbuilder/internal-collaborators

@kaip sure - some helpful docsare Rubygem's publishing your gem and the gem command reference. For releases, other engineers will need the appropriate permissions as well - which is currently held by @ccollins and I (which would be necessary even with Jeweler).


Ingesting NFT metadata for assembly

This is for use-case when you are configuring boom-tools to assemble 1:1 3D files for an already generated NFT collection

load up metadata
batch export files
????
PROFIT

https://ipfs.io/ipfs/QmfU2q6NGGCY7C5c2ncM8UJ6q9j6KqyHA4uiZCRPrXvV3U/
https://github.com/M3-org/tubby-pet/blob/main/tubbycats_metadata.json

This is tested and ive been able to load the JSON and the assets, need to scale test


Which kind of regular expressions do you support?

I tried
gret -e DEF(?! HELLO)
and is is not supported.
I would have expected to support the same type as ripgrep (with the --pcre2 flag)
Any plan?

I am using the regex crate.
Which states: "The regex syntax supported by this crate is similar to other regex engines, but it lacks several features that are not known how to implement efficiently. This includes, but is not limited to, look-around and backreferences."
The regex you gave above uses a lookaround so it wouldn't be supported.
I would plan to support all types in the future but for now am more focused on optimizations.

I took the idea of gret and improved upon it, creating https://github.com/4imothy/treegrep. treegrep can use ripgrep, grep or itself as its back end.
So you can do something like this
tgrep 'DEF(?! HELLO)' --pcre2

with no issues as long as you have rg with pcre2 on your path.


Async sample row keys

It implements AsyncSampleRowKeys, which is a shim wrapper around making the raw RPC. It accumulates the stream responses and drops the accumulated result on stream failure.
On top of AsyncSampleRowKeys is AsyncRetrySampleRowKeys, which is basically AsyncRetryOp around AsyncSampleRowKeys put into a class for convenience.
AsyncRetrySampleRowKeys is used directly in noex::Table.
A unit test and an integration test are added.

This change is

I think the integration tests are failing because you are crashing the emulator. Consider running the integration in your workstation using the instructions in CONTRIBUTING.md to find out what is the problem.


Uki: manual enroll keys succeeded only after a few retries

Kairos version 3.0.11
I built the ISO with auto enroll set to false. After I reset the device into setup mode, i am able to the boot menu to enroll the keys. However, when i clicked on it, it instantly exited and return to boot menu again(seems like rebooted). And I cannot find any errors on the screen. However, after a few attempts(around 5 or 6) on choosing the enrollment boot entry, it was finally able to enter into the screen which would enroll the keys. After that, installation is also successful. I also checked that all the keys enrolled after that looks correct. Any idea where i can start to debug?

umm, bit difficult. You could try to manually build systemd-boot with debug mode enabled so it can print stuff but Im not sure you would get anywhere :(
You can use this as a guide on how to build only the minimum required systemd-boot: https://github.com/kairos-io/packages/blob/main/packages/system/systemd/build.yaml
Basically

clone systemd, change to desired branch (255)
meson setup blablabla from here but with -Dmode=debug instead of -Dmode=release
meson compile  -j $(nproc)
You will get the efi files under the $BUILDIR

And to override the files when building with enki you will need to build your own osbuilder image and override the existing /usr/kairos/systemd-bootx64.efi in the osbuilder image with yours.

Attached a build of the efi files from 255 in developer mode
systemd-debug.zip

@nianyush if there is anything more we could debug please re-open. This can't be kairos relates so we should open an upstream bug report if one isn't there already.


Allow passing directory as argument to image-tile-viewer.open command

First of all, thank you for this extension! I find it very useful.
Application that I work on, dumps images to a specific directory. I would like to add a task that would open this directory without me typing the path every time:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "View images from my special directory",
            "type": "shell",
            "command": "echo ${input:OpenSpecialDir}"
        }
    ],
    "inputs": [
        {
            "id": "OpenSpecialDir",
            "type": "command",
            "command": "image-tile-viewer.open",
            "args": [ "/path/to/my/special/directory" ]
        }
    ]
}

Then I would press Ctrl + P and type task View images from.... As of now this opens directory selection. Please add a possibility for image-tile-viewer.open to get directory from arguments.

Thank you for nice suggestion!
This feature is added v0.2.2.


[DS-3662] DSpace 'logging in' without password or with non-existent e-mail using Shib and Password authentication

Added extra check for empty value of an attribute.
In case that value is Empty, it should not be returned, return 'null' instead.
This prevents passing empty value to other methods, stops the authentication process
and prevents creation of 'empty' DSpace EPerson if autoregister == true and its subsequent
authentication.

Ok, this looks better, only 12 additions...

@jrihak : yes, looks better! Thanks!

+1 by inspection, looks like a quick win and useful bugfix to me, merging into 6.x now
thanks @jrihak !


feat: wip

Please read contributing guidelines and remove this line.

Docs Preview
Hey there! 👋 You can check your preview at https://65eb0288a3d06a8567f289c2--aztec-docs-dev.netlify.app

Benchmark results
Metrics with a significant change:

note_history_successful_decrypting_time_in_ms (5): 1,432 (+21%)
note_successful_decrypting_time_in_ms (32): 476 (-16%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 26d26437 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
5,700
18,884
36,452

l1_rollup_calldata_gas
66,504
239,240
470,252

l1_rollup_execution_gas
674,119
980,213
1,389,178

l2_block_processing_time_in_ms
1,315 (-5%)
4,828 (-1%)
9,073 (+1%)

note_successful_decrypting_time_in_ms
147 (+4%)
:warning: 476 (-16%)
1,009 (+2%)

note_trial_decrypting_time_in_ms
50.4 (+7%)
95.5 (+14%)
137 (+15%)

l2_block_building_time_in_ms
11,843 (-2%)
46,853 (-2%)
93,928 (-2%)

l2_block_rollup_simulation_time_in_ms
7,129 (-3%)
28,381 (-3%)
56,466 (-4%)

l2_block_public_tx_process_time_in_ms
4,687 (-1%)
18,416 (-1%)
37,352 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,583 (+4%)
27,221 (-1%)

note_history_successful_decrypting_time_in_ms
:warning: 1,432 (+21%)
2,438 (-1%)

note_history_trial_decrypting_time_in_ms
94.8 (+23%)
140 (-14%)

node_database_size_in_bytes
18,874,448
35,602,512

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
250 (-3%)
44,736
28,001

private-kernel-ordering
193 (-4%)
52,625
14,627

base-rollup
631 (-4%)
177,932
997

root-rollup
68.7
4,320
825

private-kernel-inner
317 (-5%)
73,715
28,001

public-kernel-app-logic
162 (-1%)
34,920
27,972

public-kernel-tail
81.2 (-1%)
34,507
27,972

merge-rollup
8.49
2,840
997

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts

tx_size_in_bytes
19,650

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
2,727
1,371 (-3%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
8.86 (+16%)
571


Better error/prompt messages when images not found due to incorrect paths

Describe the bug
Need better description on logs to describe that image paths not align with the ones imported.
Description 1
Previously, if project has been reloaded once after start classifai, reloading of the project again will not go through the data points to check if the data is there.
If data paths moved after classifai started, loading will failed with no clear messages of what is going on.
Description 2
If data paths changed and classifai started after, the data points which cant found will just not loaded without clear messages in the logs saying where were the data paths which cant be found.
Two scenarios:
Prerequisite: import images

Rename folder/move paths before start classifai
Rename folder/move paths after start classifai

Expected behavior
Project reloaded successfully with log messages saying the data points paths not found (if there is any)
Jan 25, 2021 12:38:28 pm INFO  a.c.d.annotation.AnnotationVerticle - /Users/chiawei/Desktop/sample-data/Airlines/stewardess/s01.png not found. Check if the data is in the corresponding path.
Jan 25, 2021 12:38:28 pm INFO  a.c.d.annotation.AnnotationVerticle - /Users/chiawei/Desktop/sample-data/Airlines/stewardess/s02.jpg not found. Check if the data is in the corresponding path.
Jan 25, 2021 12:38:28 pm INFO  a.c.d.annotation.AnnotationVerticle - /Users/chiawei/Desktop/sample-data/Airlines/stewardess/s03.jpg not found. Check if the data is in the corresponding path.

Tested both scenarios and it works as intended, screenshot of the log provided as below:

Tested both scenarios and it works as intended, screenshot of the log provided as below:


Crash when files was placed on different file systems

I found this line:
https://github.com/machinezone/mzbench/blob/3e5a35f21f0c30509f07379504332c13cd067aeb/server/src/mzb_api_provision.erl#L210
can cause crash when TmpFile and ToFile specify files on different file systems.
So i made patch for that: https://github.com/loguntsov/mzbench/commit/2fda969044ab50de7d6a2b8c8cb5b440fb7c53cd

Should be fixed in master. Please, check it out.


[BUG] Camera does not start (genuine issue, not a setup or hardware issue)

libcamera works perfectly, however picamera2 throws an error upon calling start()
code: As simple as it can get:
import time
from picamera2 import Picamera2
picam2 = Picamera2()
time.sleep(2)
img_name = 'CapturedImage_' + str(time.time()) + '.jpeg'
print('About to take pic. Name will be:', img_name)
picam2.start() <<<<<point of failure
program logs:
[0:33:32.221313336] [3200]  INFO Camera camera.cpp:1028 configuring streams: (0) 640x480-XBGR8888
[0:33:32.221646579] [3201]  INFO RPI raspberrypi.cpp:851 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[0:34:47.007090670] [3201] ERROR V4L2 v4l2_videodevice.cpp:1906 /dev/video0[15:cap]: Failed to start streaming: Connection timed out
Camera did not start properly.
Traceback (most recent call last):
File "/home/kiran/1test_camera.py", line 22, in
picam2.start()
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1031, in start
self.start_()
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 1003, in start_
raise RuntimeError("Camera did not start properly.")
RuntimeError: Camera did not start properly.
dmesg logs:
[Sun Apr 16 12:30:53 2023] i2c-bcm2835 fe205000.i2c: i2c transfer timed out
[Sun Apr 16 12:30:54 2023] i2c-bcm2835 fe205000.i2c: i2c transfer timed out
...few more of the above...
[Sun Apr 16 12:30:56 2023] IPv6: MLD: clamping QRV from 1 to 2!
[Sun Apr 16 12:30:56 2023] i2c-bcm2835 fe205000.i2c: i2c transfer timed out
[Sun Apr 16 12:30:56 2023] ov5647 10-0036: Failed to program sensor mode: -110
[Sun Apr 16 12:30:56 2023] ov5647 10-0036: stream start failed: -110
[Sun Apr 16 12:30:56 2023] unicam fe801000.csi: stream on failed in subdev
[Sun Apr 16 12:30:57 2023] i2c-bcm2835 fe205000.i2c: i2c transfer timed out
Additional information:

Importantly libcamera works like a charm. The problem is specific to Picamera2 and not to the board or hardware or ribbons
To be specific libcamera-jpeg -o 'test-yay.jpg' takes a pic without any issue
I am connected via ssh to the raspberry pi

Versions:

Brand new Raspberry pi 4 GB. Latest OS installed
Default libcamera
Tried pre-installed picamera2 as well as tried updating to latest version. Both give same error
Camera: Raspberry Pi 5MP Camera Module - 5 Megapixel Omnivision 5647 Camera Module - Most popular one on amazon from Sound Land Corp, Taiwan

uname -a reports: Linux raspberrypi 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux
libcamera-hello --version reports: libcamera build: v0.0.4+22-923f5d70
Absolutely no changes to /boot/config.txt, or custom installations etc. Basic OS installation followed by sudo apt update and sudo apt upgrade with reboot
cat /etc/os-release gives output as:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
sudo apt install -y python3-picamera2 gives me:
python3-picamera2 is already the newest version (0.3.9-1).

ok, I think the problem was the preview Window. In headless mode, there is none. This is causing some issue. I was able to get the code working by simply doing:
config = picam2.create_still_configuration()
picam2.configure(config)
which as per the documentation - generates a configuration suitable for capturing a high-resolution still image. But what it probably ALSO does is to tell the interpreter that there is no need for a preview screen and hence subsequently error is not thrown when .start() is called.
Headless mode is probably a important aspect but is not dealt with in the official documentation. I am closing the bug, but will refrain from deleting this issue (at the risk of looking foolish) as I believe there could be others who could run along this path given the lack of adequate documentation for the headless mode in the user-guide.
PS:
Another workaround was to simply call the shell commands from python directly:
import os
os.system('libcamera-jpeg -o testyay.jpg')
which one can try this approach in case of any other error.

On second thoughts, I will leave it as open for 2 reasons.
1, Perhaps this can be treated as a documentation bug and the userguide PDF can be updated for headless configurations
2. I also noticed additional odd behaviour with headless. For e.g. with the above configuration:
picam2.start_and_capture_file(img_name) throws same "camera does not start" error
One needs to do a camera start with the right config as indicated above followed by a:
picam2.capture_file(img_name)


[apollo-mock-client] Allow easy operation response mocking

See the README for details.

Going to self-merge in order to continue. Currently everything is still very much in flux anyways.


Misclassified in SAC(HTC + ResNet-50)

Hi mmdetection team,
I have trained a SAC model using HTC+ResNet-50 (using mmdetection v2.6) with 3 classes which are Class-1, Class-2, and Class-3. The training process is successfully done.
But when I do some inference on testing images, Class-1 and Class-3 are misclassified for each other.
I followed the default "supercategory" and "category" from the JSON file in data/annotations. Or even I changed the position between Class-1 and Class-3 but the result was unchanged.
I hope to receive your solutions.
Thank you.

I fixed these issues. We need to consider the order of the class_name list in the labelme application.


READY : add join_path function

@SupperZum fix conflicts, please

@SupperZum fix conflicts, please

it's failing @SupperZum


Side bar

created side bar

it would be great if you add the css in assets/css/style.css file

Okay


Question - LocalCacheMapOptions - Eviction Policy/TTL

If I were to set the EvictionPolicy and TimeToLive in the LocalCachedMapOptions when creating a new RLocalCachedMap, does this actually do anything?
Will each entry added to the map get this TTL set to it?  If so, would I be able to configure the redis server to expire entries whose TTL has past?
It is my understanding that the LocalCachedMap does not actually support eviction unless you are using Redisson Pro.

Yes, EvictionPolicy and TimeToLive are applied to RLocalCachedMap instance if they defined.

Will each entry added to the map get this TTL set to it?

Only entry stored in local cache get this ttl not entry stored in Redis.

If so, would I be able to configure the redis server to expire entries whose TTL has past?

to apply ttl for Redis you need to use RLocalCachedMapCache or RMapCache object (without local cache)


Crash on creating switches in version 1.2.0

While it worked in my dev environment, the latest version crashs when setting up the switches in my production HA system.
Probably should have waited before releasing this, because now I'm lacking the time to fix it 🙈
Error while setting up platform fritzbox_tools
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/fritzbox_tools/switch.py", line 29, in setup_platform
    FritzBoxPortSwitch(fritzbox_tools, portmap, i)
  File "/config/custom_components/fritzbox_tools/switch.py", line 50, in __init__
    port_mapping["NewProtocol"]
KeyError: 'ip'

Can’t look into it right now. My version worked on my homeassistant.

I have found the error. You used a false syntax for the string formatting. Have a look at line 47 in switch.py:
self._unique_id = "fritzbox_portforward_{ip}_{port}_{protocol}".format(
That’s wrong. Should be something like:
self._unique_id = "fritzbox_portforward_{}_{:d}_{}".format(
Have a look at the python docs for reference on string formatting.

You used a false syntax for the string formatting

Thanks. I now use a proper environment with linting in place. It's a shame that those issues get checked in 🙈


all profiles excluded

Run the script in termux
Root with magisk
The script worked about two weeks ago
===== PIFS Random Profile/Fingerprint Picker =====
 (Buy me a coffee: https://ko-fi.com/nickbissell)
============== v3 - collection v1.3 ==============

    Using busybox '/data/adb/magisk/busybox'

Looking for installed PIF module...
    PIF module found but not recognized! Will use /data/adb/pif.json

Detecting device ABI list...
    Will use profile/fingerprint with ABI list 'arm64-v8a,armeabi-v7a,armeabi'

Picking a random profile/fingerprint...
    Found excluded profile 'Meizu_meizu_PRO6Plus_PRO6Plus_7.0.0_NRD90M_m96.Flyme_7.0.1533805452_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'nubia_NX619J-EEA_NX619J-EEA_9_PKQ1.180929.001_eng.nubia.20190929.101618_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'Coolpad_C103_C1-INDIA_C103_6.0.1_ZIXOSOP5801803011S_0001832_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'samsung_greatltexx_greatlte_9_PPR1.180610.011_N950FXXU5ZSAB_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'asus_WW_Z01H_ASUS_Z01H_1_7.1.1_NMF26F_WW_user_<IP_ADDRESS>_20180306_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'Xiaomi_oxygen_oxygen_7.1.1_NMF26F_V<IP_ADDRESS>.NDDCNXM_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'ZTE_ZTE_WARP8_warp8_7.1.1_NMF26V_20181018.111136_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'Huawei_PLK_hi3635_6.0_MRA58K_jenkins12300945_user_test-keys.json'. Moving to '/data/adb/pifs/failed'
    Found excluded profile 'GiONEE_F103_GiONEE_GBL7319_5.0_LRX21M_1446213931_user_release-keys.json'. Moving to '/data/adb/pifs/failed'
ERROR: Exhausted 10 attempts to pick a profile not in the failed list. Are all profiles excluded?

Hi, this behaviour is a mistake on my part - excluding profiles that reappear in the JSON directory (for example after an update) shouldn't count towards attempts but it does.
I'll be releasing an update to the script later today which no longer removes failed profiles and instead tracks them entirely with /data/adb/pifs/failed.lst.

I think there might be an even bigger issue that all profiles are excluded when the initial exclude list is empty.

@Roman860 I've pushed the latest changes - could you try again and let me know the results? Cheers.
@jan-glx There was a case in which this could happen with the v3 script. An empty line or empty list file with a single line break would cause grep to match anything - and thus nothing. This should be fixed now.


fix spelling of 'forward'

I think it's the actual SM64 code that's like that.

I think it's the actual SM64 code that's like that.

That can't be the case, otherwise the code is not obtained legally.

This was merged in Refresh 15.


Missing dependencies for ./scripts/build-xserver

In order to complete ./scripts/build-xserver today you need to install the intltool package on the host (Ubuntu) and add libepoxy to scripts/distro/prepare-ArchLinuxArm which will add this required library in the guest FS.

Added references to both, thanks!


fix labelselect style

Summary
PR Checklist
~- Is this a multi-tenancy feature/bug?
- [ ] Yes, the relevant RBAC changes are at:~
~- Do we need to backport changes to the old Rancher UI, such as RKE1?~
~- [ ] Yes, the relevant PR is at:~
~- Are backend engineers aware of UI changes?~
~- [ ] Yes, the backend owner is:~
Fixes #

https://github.com/harvester/harvester/issues/3456

Occurred changes and/or fixed issues

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

before:

Now:

Test and LGTM


Feature/refactor worker todo poll interval config

[x] addressed the TODO for adding configuration options for the polling intervals.  This actually pushed rubocop over its complexity thresholds, so...
[x] split the polling logic out into its own methods instead of .work.

One minor comment, otherwise :+1: LGTM


[Frontend] Alert Before System Manager Downgraded to Approver

Is your feature request related to a specific problem?
https://github.com/ethyca/fides/pull/2891#discussion_r1144015038
New backend work removes user as system manager if their role is downgrade to Approver behind the scenes.  This behavior should be made obvious to the frontend user.
Describe the solution you'd like
Something like detecting if a user is a system manager and we're about to make them an approver on the frontend.  Perhaps add a confirmation modal that they are about to be removed as system manager. (There may be better frontend flows, this is just anidea)
Describe alternatives you've considered, if any
A description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Let's say: "Switching to an approver role will remove all assigned systems. Do you wish to proceed?"

@allisonking can you help with this?

oh, I think I might have caught this too and fixed it. let me double check

yup yup, this looks fixed by https://github.com/ethyca/fides/pull/2953

awesome 🔥

wahoo! moving to done


Added .replit

Give yourself the ability to host this project on repl.it!

You probably didn't want to create a PR into the original game.


Adapt new global transmission

Adapt new global transmission to EaseAgent, and fix ingress controller pipeline name.

code analysis failed, please run go fmt ./... to format the code.

Codecov Report

Merging #412 (d798e71) into main (327b43b) will decrease coverage by 0.05%.
The diff coverage is 91.66%.

@@            Coverage Diff             @@
##             main     #412      +/-   ##
==========================================
- Coverage   80.37%   80.32%   -0.06%
==========================================
  Files          62       70       +8
  Lines        7107     8090     +983
==========================================
+ Hits         5712     6498     +786
- Misses       1100     1237     +137
- Partials      295      355      +60

Impacted Files
Coverage Δ

pkg/util/jmxtool/agent_controller.go
66.66% <85.71%> (+1.96%)
:arrow_up:

pkg/object/meshcontroller/spec/spec.go
87.17% <100.00%> (+0.05%)
:arrow_up:

pkg/object/mqttproxy/storage.go
86.30% <0.00%> (-8.58%)
:arrow_down:

pkg/object/mqttproxy/session.go
74.23% <0.00%> (-8.09%)
:arrow_down:

pkg/object/mqttproxy/broker.go
75.05% <0.00%> (-4.64%)
:arrow_down:

pkg/object/mqttproxy/client.go
77.67% <0.00%> (-3.43%)
:arrow_down:

pkg/object/mqttproxy/spec.go
100.00% <0.00%> (ø)

pkg/util/ratelimiter/ratelimiter.go
100.00% <0.00%> (ø)

pkg/filter/proxy/masterslavereader.go

... and 14 more

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 0e2b13c...d798e71. Read the comment docs.

All checks are passed, please review.


Feature Request: Option to Disable Tree Validation in HtmlTreeBuilder

HtmlTreeBuilder with HtmlTreeBuilderState performs validation of the tree as it is getting parsed. For example, it restricts the elements available in a table element opting to reparent those into a foster parent when encountered (Source Link).
Is it within the bounds of jsoup to provide an option to parse the HTML as is without this reparenting feature?
I should also note that I would like to keep the semantics of HTML Parsing (e.g. data nodes like script element contents are not parsed). This requirement prevents me from using the XmlTreeBuilder.

I should also note that I would like to keep the semantics of HTML Parsing (e.g. data nodes like script element contents are not parsed). This requirement prevents me from using the XmlTreeBuilder.

What's the use case?

I'm working on making the Polymer platform (Link) workable with the Google Closure Compiler with the Polymer Renamer (Link).
Polymer's template element provides a way to repeat sections of HTML (Link).
<template is="dom-repeat" items="{{employees}}">

# {{index}}

First name: {{item.first}}

Last name: {{item.last}}

</template>

This may fall within a table element.

  <template is="dom-repeat" items="{{employees}}">

      # {{index}}
      First name: {{item.first}}
      Last name: {{item.last}}

  </template>

If this template falls within a table element, Jsoup reparents that to the element containing the table, breaking the template. We'd like to keep this template element where it is.

Any update to this? Because we need data note semantics for script and style nodes, there's no available workaround we can use.

I don't have an update. I understand the use case, thanks.

Hi, we are also needing this feature in our project.  We are using Polymer template tag to iterate data in an array inside the table element.  Any chance the option to disable validation be implemented in November?

If the option to disable validation is not feasible asap, can the

+1
Alternatively, you might be able to use the XmlTreeBuilder if you could skip the contents of opaque HTML nodes like script tags.

+1
My (admittedly borderline-invalid) table markup is also getting mangled by this parser.

Can't you use the XML parser if you don't want HTML? Per @martijneken's point.

@jhy : Critical to @martijneken's point is the ability to skip opaque HTML tags like script. This was also pointed out in my original post.
Without this, XmlTreeBuilder will simply parse the contents of the elements, which is especially undesirable if HTML tags exist as strings between script tags.

Gotcha, thanks. Sorry, should have read the full report again.

Has anyone in this thread worked around this issue? I'll proceed down the road to subclassing the default HTML tree builder, but if there's a simpler approach, even if hacky, I'm very happy to take the lazy way out!

@gar1t Did you come up with any solution?

Will close this -- the html tokeniser state and the html tree builder are pretty tightly coupled, due to the nature of the HTML5 spec, so IMV it's not a feasible change -- and I haven't seen PRs for it either.
I think the right solution for the presented use case is to add support for template elements, per the spec.

I'm way late to the party here, but I recently wrote a test to validate some HTML by ensuring no elements were reparented by jsoup. In the process I came up with a solution to this:
package org.jsoup.parser;

public class NoFosterInsertsHtmlTreeBuilder extends HtmlTreeBuilder {
  @Override
  protected boolean process(Token token) {
    setFosterInserts(false);
    return super.process(token);
  }

  @Override
  boolean process(Token token, HtmlTreeBuilderState state) {
    setFosterInserts(false);
    return super.process(token, state);
  }
}


Apply button pressed conditional styles to non-default actions

I believe this is currently not possible when creating custom actions. Will this be added for v2? Or is it possible to do now? Mainly I want to be able to do it for sub/super script.

@chriseickemeyerGH What exactly do you mean by button pressed conditional styles?

I should have been clearer. I'm talking about the pell-button-selected style that is toggled on the default buttons. The style isn't added when buttons with non-default actions are clicked eg superscript, subscript, justify left etc

Ok thanks this will be looked into

@jaredreich first of all. Great library. Loving that it has the basic functionality, it's very flexible and lightweight. I'm also wondering what the current implementation of the 'selected state' is. When I use bold or italic, it's working but ulist and olist do not get the selected state. Is this intentional behaviour?


Uncaught ReferenceError: SpeechRecognition is not defined

I keep receiving the error "Uncaught ReferenceError: SpeechRecognition is not defined" when I try to initialize a new SpeechRecognition object.
My code is failing on the first line inside this function:

function initSpeechRecognition() {
    recognition = new SpeechRecognition(); // failing here, note: recognition is a global variable
    recognition.onresult = function(event) {
        if (event.results.length > 0) {
            // TODO
        }
    };
}

Any thoughts?

Are you waiting for the device ready event before calling the new SpeechRecognition();?

Oops. I had my Cordova app variable defined incorrectly so device ready was being fired at the wrong time. Thanks haha.


Updated adfly.js : moved if block to skip function

I moved the if block to skip function, please see the issue for details.
fixes #25

This has been merged with the #26 PR. Thank your work! 🥳


Not adding a second server

Good afternoon!
Transmissionic runs on a separate virtual machine. The local transfer daemon has been added, but cannot add a separate server. Areas with authorization are inactive.
What am I doing wrong?

Hi,
Currently, it is not possible to save your credentials in the web ui for security reasons. I'll try to find a solution for the next version. You can also use the desktop version.

You can't connect to another host from the web ui, you need to use the desktop version.


leaf查询mgo数据时，有几率报错

用leaf的代码，leaf查询mgo数据时，不小的几率报错。有人知道为什么吗？
wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

似乎是 mongo 压力比较大超时了。

是这个问题吗

这个值是有配置决定的


Update fs2-io to 2.5.10

Updates co.fs2:fs2-io from 2.4.6 to 2.5.10.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "co.fs2", artifactId = "fs2-io" } ]

labels: library-update, semver-minor

Superseded by #160.


feat(uuid): add uuid v7 generation and validation

Adds UUID Version 7 support.
This variant provides  solution for scenarios requiring both uniqueness and chronological ordering.
The same pattern as other uuid generation has been used.
import { v7 } from "@std/uuid";
import { assert } from "@std/assert";
const uuid = v7.generate();
// or
const uuid2 = v7.generate({ timestamp: 1000 }));

I have not included the optional features for sub-millisecond timestamp fraction or  carefully seeded counter

 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.

Should we consider supporting monotonicity?
I have also created a UUID v7 package, which you may find useful as a reference 👍

Should we consider supporting monotonicity?

I intentionally left out the optional features, these could be added in a seperate pr as an option, for this pr I would like to start with the basic implementation

implementations MAY fill the 74 bits, jointly, with a combination of the following subfields, in this order from the most significant bits to the least, to guarantee additional monotonicity within a millisecond:

An OPTIONAL sub-millisecond timestamp fraction (12 bits at maximum) as per Section 6.2 (Method 3).
An OPTIONAL carefully seeded counter as per Section 6.2 (Method 1 or 2).
Random data for each new UUIDv7 generated for any remaining space.

link


s-string with double braces outputs extra braces

What happened?
No response
PRQL input
from foo
derive b =  s"""
    concat('{{', {a}, '}}')
"""

SQL output
SELECT
  *,
  concat('{', { a }, '}') AS b
FROM
  foo

-- Generated by PRQL compiler version:0.9.2 (https://prql-lang.org)

Expected SQL output
SELECT
  *,
  concat('{', a, '}') AS b
FROM
  foo

MVCE confirmation

[ ] Minimal example
[ ] New issue

Anything else?
No response

Thanks, nice report @echou .

It looks like the parser isn't skipping over the double {{ correctly. From the pl from the playground:
              - SString:
                  - String: |2-  # ignore, awkward yaml display

                          concat('
                  - String: "{', {a}, '}"  # here
                  - String: |
                      ')
                alias: b

"{', {a}, '}" should instead know that a is an expr.
Compare with the s-string in
from foo
derive b =  s"""
    concat({a})
"""

                - String: |2-

                        concat(
                - Expr:  # Here's an actual Expr! Not a string
                    expr:
                      kind:
                        ColumnRef: 0
                      span: null
                    format: null
                - String: |
                    )

This might be a reasonable first / early issue — the context is limited to prql-parser, so doesn't require traipsing through the whole compiler. Chumsky is a small learning bump, but very nice after that bump.

I tried for an hour on this but couldn't make much progress. One downside of Chumsky is that the compiler error messages are indecipherable... And GPT-4 can't help since it came out after the training cut-off.
(here's a sample, for those interested / if anyone has strategies for handling)

error[E0277]: the trait bound `Repeated<NoneOf<_, &str, _>>: chumsky::Parser<char, char>` is not satisfied
   --> crates/prql-parser/src/interpolation.rs:165:13
    |
165 |           .or((none_of("{"))
    |  __________--_^
    | |          |
    | |          required by a bound introduced by this call
166 | |             //none_of(just('{').not().rewind().ignore_then(just('{')))
167 | |             // (just('{').ignore_then(just("{").not()))
168 | |             // .not()
169 | |             //     just("}}").not().rewind().then(just('}')),
170 | |             .repeated()
171 | |             .at_least(1))
    | |________________________^ the trait `chumsky::Parser<char, char>` is not implemented for `Repeated<NoneOf<_, &str, _>>`
    |
    = help: the trait `chumsky::Parser<I, Vec<O>>` is implemented for `Repeated<A>`
note: required by a bound in `or`
   --> /Users/maximilian/.cargo/registry/src/github.com-1ecc6299db9ec823/chumsky-0.9.2/src/lib.rs:915:12
    |
915 |         P: Parser<I, O, Error = Self::Error>,
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Parser::or`

error[E0599]: the method `collect` exists for struct `Or<To<Repeated<Just<char, char, _>>, Vec<char>, char>, Repeated<NoneOf<_, &str, _>>>`, but its trait bounds were not satisfied
   --> crates/prql-parser/src/interpolation.rs:172:10
    |
172 |         .collect::<String>()
    |          ^^^^^^^ method cannot be called due to unsatisfied trait bounds
    |
   ::: /Users/maximilian/.cargo/registry/src/github.com-1ecc6299db9ec823/chumsky-0.9.2/src/combinator.rs:22:1
    |
22  | pub struct Or<A, B>(pub(crate) A, pub(crate) B);
    | -------------------
    | |
    | doesn't satisfy `_: Iterator`
    | doesn't satisfy `_: Parser<_, _>`
    |
    = note: the following trait bounds were not satisfied:
            `chumsky::combinator::Or<To<Repeated<Just<char, char, _>>, Vec<char>, char>, Repeated<NoneOf<_, &str, _>>>: chumsky::Parser<_, _>`
            which is required by `&chumsky::combinator::Or<To<Repeated<Just<char, char, _>>, Vec<char>, char>, Repeated<NoneOf<_, &str, _>>>: chumsky::Parser<_, _>`
            `chumsky::combinator::Or<To<Repeated<Just<char, char, _>>, Vec<char>, char>, Repeated<NoneOf<_, &str, _>>>: Iterator`
            which is required by `&mut chumsky::combinator::Or<To<Repeated<Just<char, char, _>>, Vec<char>, char>, Repeated<NoneOf<_, &str, _>>>: Iterator`

Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `prql-parser` due to 2 previous errors
done: no snapshots to review
[[Command exited with 1]]

The issue is that at https://github.com/PRQL/prql/blob/04b5174cba01bcc79837e69f0697486210d3d6dd/crates/prql-parser/src/interpolation.rs#L54, the escape parser converts {{ to { as it parses the string, and doesn't reject {.
I think it might be as easy as not letting the escape parser parse a single { at https://github.com/PRQL/prql/blob/04b5174cba01bcc79837e69f0697486210d3d6dd/crates/prql-parser/src/interpolation.rs#L128-L130, but this, for example, raises an error:
diff --git a/crates/prql-parser/src/interpolation.rs b/crates/prql-parser/src/interpolation.rs
index 12242184..aff8dcc1 100644
--- a/crates/prql-parser/src/interpolation.rs
+++ b/crates/prql-parser/src/interpolation.rs
@@ -126,7 +126,8 @@ fn parser(span_base: ParserSpan) -> impl Parser<char, Vec<InterpolateItem>, Erro
         });

     let escape = (just("{{").to('{'))
-        .chain(just("}}").not().repeated())
+        .chain((just("}}").or(just("{"))).not().repeated())
+        // .chain(just("}}").not().repeated())
         .chain(just("}}").to('}'))
         .collect::<String>()
         .map(InterpolateItem::String);


Quick question

hi, @stefan-prokop-cz 👋 . First of all, thanks for creating this lib 🙏
Can you give me an example of a shape of the jwtClaims return? I need to mock a return but, since I don't have a physical iPhone device here, I cant test my code to get a valid appleToken to send to your lib. Is it something like this?

Thanks again, stefan!

Hello, thank you so much!
Of course, here is an example of one of my old tokens (I also dont have physical iPhone or any other client to use :disappointed:):
{
  "kid": "ABC123",
  "alg": "RS256"
}
{
  "iss": "https://appleid.apple.com",
  "aud": "YOUR_PROJECT",
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>,
  "sub": "com.test",
  "c_hash": "2-BFgvjnxPyhvsl3B4LmMA",
  "email"<EMAIL_ADDRESS>  "email_verified": "true",
  "is_private_email": "true",
  "auth_time":<PHONE_NUMBER>,
  "nonce_supported": true
}

I would like to add some mocks for testing and tests as well but I dont have enough time :disappointed: If you want you can open a PR for example with your mock or mock draft, it would be very helpful.
Thanks for your question, hope it helps :slightly_smiling_face:

Hi, Stephan!
Thank you so much for answering so quickly! 😃
Yeah, it helps a lot!
I'm also kind of busy...actually, this is for something I'm testing for my job...but I'll try to get some time in order to open a PR here to help to improve this lib 👍 🙏
Thanks again, Stephan!

Hello @lcnogueira :wave:
I found some time and added some tests and verification steps with refactoring. I also released new major version v2.0.0. Can you please try this version if you have some time? :pray: There are some breaking changes but not so big, you can find it in updated readme. Then let me know if everything works or report bugs.
I am asking you because I know you are implementing apple login and I have no opportunity to make a real test now :disappointed:
Thank you so much! :slightly_smiling_face:

it looks fine


Only works after wake

The audio works for a few seconds after boot and then it stops. I discovered that it only works perfectly when I put my Mac to sleep and wake it up again. Thank you for your support and hardwork.
codec_dump.txt

For any question about VoodooHDA you must post on the thread of the Developer
http://www.insanelymac.com/forum/topic/314406-voodoohda-290/

Okay. Thank you.


[GOV] Governance workgroups

An alternative to the current governance roles in #195 inspired by Pandas workgroups.

Just to confirm, this would just alter the roles portion of https://github.com/aeon-toolkit/aeon/pull/195 if merged. But i agree, we should give everyone a chance to discuss. If this does go through, i imagine there will not be much remaining on #195 to block it.


Update n°1

adding the translation of the command list.

Thank you for the Pull Request !

You can improve the page layout,
But the english translation seems correct.

I accept the modifications


[CMR] M3-4349: Table styles for Firewall Rules

Not much to say other than applying the CMR styles to another table and hiding the Protocol and Port Range columns mobile views.

Closed to fix incorrect branch name


Add ability to exclude certain test patterns via testExcludes

This allows to exclude non-critical classes from coverage report - for example mocks, that typically get 0 coverage and lower the average result

Thanks for this simple and effective enhancement @noroutine. I will add a simple integration test to prove it works as desired and pull this into the current stream for release soon.

I rebased your code @noroutine and added a simple integration test to prove it works as expected. Thank you for this submission. It will be part of the 2.0.2 release.


React Group Project Kanban board

The Kanban board for this project can be found at the following link: https://github.com/sebalp100/space-travelers/projects/1
3 people conform the workgroup:

@sebalp100
@SimonGideon
@amentetteh

Hi @sebalp100 @amentetteh @SimonGideon
Your project is complete  👍 💯   There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights 👏🏻
✔ Good Job for Provide link to their GitHub project
✔ Good Job for Provide information about the number of people in their group
✔ Good Job for set up a kanban board Correctly .
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Logging to stdout in Cloud Run creates a JSON object as "message"

Environment details

OS: Ubuntu 20 LTS
Node.js version: v16.14.2
npm version: yarn 3.2.0
@google-cloud/logging-winston version: 4.2.3

Steps to reproduce
When enabling structured logging to STDOUT, I do recieve a structured JSON payload as output, that is picked up by Stackdriver from the Cloud Run logs, so far so good. The "message" however, is in itself a JSON payload containing a "message" key with the original logged message, as well as a "metadata" key of an empty object. As a result, each line in my log output in Stackdriver shows a JSON object (that can then be expanded to show the outer JSON object).
I have attempted to change the format that Windsor is using, but it does not appear to be a problem at that level, without this transport, I am seeing plain text "message" output.
Is there a way to prevent this extra level of object being created and instead have the "message" be just the string I've logged?

@SoftMemes, thank you for opening the issue!
Just to be clear on repro steps, would you please be kind to share the exact code and output you see? This would help with a repro and also would clarify better expected results.

Facing the same issue (I guess) when logging from Cloud Functions:

also notice the wrong logName field.
Minimal code which produces this:
const functions = require('@google-cloud/functions-framework');
const { LoggingWinston } = require('@google-cloud/logging-winston');
const winston = require('winston');

const loggingWinston = new LoggingWinston({
    redirectToStdout: true,
})

const logger = winston.createLogger({
    level: 'debug',
    transports: [
      loggingWinston,
    ],
});

functions.http('helloLog', (req, res) => {
    logger.info('test 123', { some_meta: 123 })
    res.send('Hello');
});

package.json:
{
  "name": "logtest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@google-cloud/functions-framework": "^3.1.2",
    "@google-cloud/logging-winston": "^5.1.0",
    "winston": "^3.7.2"
  }
}

Thank you @leoschweizer for reproduction steps and output - really appreciate your efforts!
It seems that the message containing logged text "test 123" should be added directly under jsonPayload (without extra message wrapper as show in Logging Explorer screenshot) - please let me know if that would be desired outcome.
I am reaching out to our Cloud Run and Cloud Functions team since the standard output logging has some protocol to follow when logs are collected from stdout in those environments.

@losalex yes exactly - the "wrapping" message just shouldn't be there, the contained message and metadata should be added to the log object one level higher

Cloud Run PM here.
Can the module maintainers comment on what is the serialized JSON that is sent to stdout when developers call logger.info('test 123', { some_meta: 123 })?
As far as I know, Cloud Run will parsed any serialized JSON and use it "as is" in jsonPayload.
To report a bug on Cloud Run, please manually write serialized JSON to stdout. If this works as expected (and last time I checked it did), then the nodejs-logging-winston module itself is responsible for the issue.

If that can be of any help, I've attempted a fix on a fork, and it turns out the issue is the nodejs-logging package, see here for my fix attempt: https://github.com/prgm-dev/nodejs-logging/commit/a220caea5a4f6e77038b91801889dc308175b539

Thanks @Allezxandre and @steren for your input!
@steren , I was trying to run 2 test cases and below the result:

 I added following code to CF and run it:

const record = '{"jsonPayload": {"some_meta": 123}}';
console.log(record);

The output was:
{
  "insertId": "62ad1e540004e1150e264277",
  "jsonPayload": {
    "jsonPayload": {
      "some_meta": 123
    }
  },
  "resource": {
    "type": "cloud_function",
    "labels": {
      "region": "us-central1",
      "project_id": "project",
      "function_name": "logging-function"
    }
  },
  "receiveTimestamp": "2022-06-18T00:37:40.326341043Z"
}

Another try was with following code:

const record = '{"jsonPayload": {"some_meta": 123}}';
console.log(record);

The output was:

Sorry, there might be a misunderstanding about the behavior of the Cloud Run platform: You do not need to pass jsonPayload. Instead, if valid JSON is logged, then Cloud Run will parse it and add it to jsonPayload of the LogEntry
Let me give examples:
Valid JSON
const record = '{"some_meta": 123}';
console.log(record);

Will result in
{
  "insertId": "..."
  "jsonPayload": {
      "some_meta": 123
  },
  "resource": {
   ...
  },
}

Invalid JSON
const record = '{invalid_json: 123}';
console.log(record);

Will result in
{
  "insertId": "..."
  "textPayload": "{invalid_json: 123}",
  "resource": {
   ...
  },
}

Thanks @steren for clarifications! I will take a deeper look into existing code and the change proposed by @Allezxandre to see what can be done. At this point seems that any change might be a breaking one (e.g. some people currently using logs with extra "message" field and might need existing queries to be adjusted), so I will try to come up with proper fix.

While the change will most likely be breaking (like the one I proposed where I simply hoist the attributes by one level), it only happens in one branch of the code with redirectToStdout: true (the LogSync part). And I would argue this setting was likely not used by many (even outside of Winston) due to its being broken with the double wrapping of "message".
If that can be of any help, I can open a PR to nodejs-logging with my changes (I haven't done so yet as this was intended as a quick fix and I would need to review the contributing guidelines of first)

Furthermore, due to this structured message format, serviceContext does not get added correctly to ErrorReporting page.

Here is an example of two errors coming from two applications. The one that says preception-api has redirectToStdout set to false and reads the serviceContext correctly. The one that says gke_instances has redirectToStdout set to true and has a nested service_context.

I believe this is fixed for now by 724 - please let me know if you have any issues

I'm confused - I'm on v5.1.2 of this package, yet still see logs like:

where I'd expect to see just the message. redirectToStdout is set to true - do I need to do anything else?

redirectToStdout is set to true - do I need to do anything else?

Yes, you need to set useMessageField to false (defaults to true). This option is here to avoid breaking code of users relying on the bug in the current minor version.
See the updated docs here: https://github.com/googleapis/nodejs-logging-winston#alternative-way-to-ingest-logs-in-google-cloud-managed-environments

Indeed - it is documented here.

Yes, you need to set useMessageField to false (defaults to true). This option is here to avoid breaking code of users relying on the bug in the current minor version.

Ah this makes sense. I was a little confused as to what the exact purpose of that property was. I feel the example in the docs could be a little more fleshed out as it's currently a bit confusing

After searching quite a bit, I found the useMessageField to be the solution after reading this thread, having thoroughly looked through the documentation.
Would it be possible to update your documentation to link to this issue or explain that when setting redirectToStdout to true, you very likely want to be changing the default useMessageField to false, and that the value for true appears to only be a default because people might be depending on the previous, broken implementation that logged nested objects of data.

Much appreciated!

i also got into this pitfall, the documentation should definitly be updated.


Kubeflow vs. Sedna

I'm trying to understand the differences between Kubleflow and Sedna+KubeEdge. For the sake of simplicity, I will report here the relative (shortened) definitions:

Kubeflow. Kubeflow is an end-to-end Machine Learning (ML) platform for Kubernetes, it provides components for each stage in the ML lifecycle, from exploration through to training and deployment.
Sedna. Sedna is an edge-cloud synergy AI project incubated in KubeEdge SIG AI. Benefiting from the edge-cloud synergy capabilities provided by KubeEdge, Sedna can implement across edge-cloud collaborative training and collaborative inference capabilities, such as joint inference, incremental learning, federated learning, and lifelong learning.

Let start with the main differences I know of:

Sedna supports the edge-cloud (logical) abstration through KubeEdge with also new CRDs which simplify and support ML/AI workflows.
KubeEdge is lightweight compared to Kubernetes (on which Kubeflow runs).
KubeEdge helps in situations where there is no connectivity (cloud is offline).

However, and please correct me if I'm wrong, I have some doubts:

It appears that Kubleflow is also designed to be deployable on edge devices as reported here by using microk8s and running a reduced stack/bundle. Wouldn't this in part show the compatibility of Kubeflow with edge devices? The RAM requirements are still pretty high, but this shouldn't be a huge problem if we are actually running ML considering the size of the models loaded in memory and if you have multiple models.
Wouldn't it be possible to provide the edge-cloud abstraction by using node labelling/pod affinity directly in Kubernetes? For this purpose, is it really needed Kubeedge?
I have the feeling the Kubeflow can offer a simplified deployment of ML workflows because it builds directly on top of K8s. From a system perspective, it's more straightforward because it doesn't depend on another framework (such as KubeEdge).

I hope this is enough to start a discussion :)

Hi, thank you for your great analysis!
Sedna is aimed at edge-cloud collaborative training/inference features, it can be built on top of kubeflow.
But we find that kubeflow can't satisfy sedna's requirements for the below views:

edge: In theory edge-compute platforms like kubeedge are not needed for sedna. But in practice
kubeeedge need to be involved, qnd kubeflow serving depends knative and then istio which kubeedge can't support so far.
the collaborative features are some workflows with fixed patterns:

kubeflow pipline based on argo does not support that batch-job and long-running serving within one workflow.
kubeflow pipline does not support that workload runs only under specified conditions(e.g. in incremental learning feature the train workerload only run when labeled samples is enough) and loop.
kubeflow training does not support with federated-learning. In current kubeflow, multi framework training is implemented separately by crd/operators, i.e. TFJob/MPIJob/PyJob,
althought these operators can be reused, but a custom operator for federated learning is still needed.
kubeflow serving does not support multi model joint inference, e.g. for joint inference serving.

And for this your doubt:

Wouldn't it be possible to provide the edge-cloud abstraction by using node labelling/pod affinity directly in Kubernetes? For this purpose, is it really needed Kubeedge?

You are right. Indeed sedna does like what you say, and is not aware of kubeedge existence.

So for more simplicity, flexibility and controllability, we decided that we implement these edge-cloud collaborative training/inference features throught crd/operators. And in the future, we can introduce and reuse kubeflow features into sedna.

/close
if any question, feel free open it


SourceMaps are invalid

ng serve with the new plugin and compiler have all over the place sourcemaps.

Just confirmed that source maps are working correctly in DEV, but are causing problems in PROD. We will fix PROD after 5.0 and 1.5 release
Closing this for now.

@hansl Is there an issue to track for this issue with production sourcemaps?