Backward compatibility vs SDK Levels

Is this plugin supposed to be backward compatible with all Android versions or at least down to 6.0.1 ?
Right now on a brand new project, when targeting SDK Level 23, device ready is never fired, even on an empty project with only this plugin installed. What's the official SDK Level support nowadays ?
Thanks
Reproduced with
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

cordova-plugin-file@7 supports cordova-android@11, so by extension it supports API 22 - 32.
There are caveats however on API 29 with external storage (Because API 29 doesn't support File operations for external storage on API 29).

when targeting SDK Level 23,

By targeting SDK, if you mean you're setting the android Target SDK version to 23, then this isn't really a supported configuration. Cordova-android@11 expects the target SDK to be 31 or 32, as required by current Google Play deployment rules. Changing the Target SDK may enable or disable features, which may cause things not to work as expected.
Lastly testing on both an API 33 emulator & API 23 emulator, with both the default target SDK as well as setting target SDK 23 (also requires setting compileSdkVersion back to 33 since it will default to the same as targetSdkVersion) passes the "Hello World" test (the cordova app template fires device ready) for me.
If it isn't working for you, we may need more information about your environment.

Well, I tried with
    <preference name="android-minSdkVersion" value="21" />
    <preference name="android-targetSdkVersion" value="31" />
    <preference name="android-maxSdkVersion" value="31" />

then tested on real Android 6.0.1 and it never fires ready. So from my point of view, it's not even compatible

I'm still unable to reproduce it with those configurations via Android Emulator Unfortunately, I don't have a physical device with Android 6 either that I can use to test with.
Do you see a difference in behaviour when using an Android Emulator vs the physical device?
Here's a few things I'd try so we can isolate the issue... If the device has an attached SD card, try removing it.

cordova.js:1230 Channel not fired: onFileSystemPathsReady

Seems like the routine for obtaining the file paths is not returning, or is slow at returning, which is probably the cause of the deviceready hang. This is done here: https://github.com/apache/cordova-plugin-file/blob/master/www/fileSystemPaths.js#L61
For some reason, we don't attach an error handler that might actually show some useful information.
If you could (for the sake of troubleshooting), modifying:
exec(after, null, 'File', 'requestAllPaths', []);

to
exec(after, function(error) {
    console.error(error);
}, 'File', 'requestAllPaths', []);

You'll want to clone/fork the repo to make this change, then to install it:
cordova plugin remove cordova-plugin-file
cordova plugin add ../path/to/repo/cordova-plugin-file

If the error handler doesn't present us with any useful information, then we will have to start debugging on the native side, to see what https://github.com/apache/cordova-plugin-file/blob/b32be30e4bd012f9d9568a9cc11926b2ad6c14f7/src/android/FileUtils.java#L1016 is actually doing.

OK I will try to take some time to debug this...

exec(after, function(error) {
    console.error(error);
}, 'File', 'requestAllPaths', []);

There is no error thrown. Nothing at all ....

On the native side, real quick, all I see is a bunch of errors like
avc: denied { ioctl } for path="socket:[225593]" dev="sockfs" ino=225593 ioctlcmd=7704 scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=unix_stream_socket permissive=0
but I'm not actually sure it's related. At this point, I'd rather have a maintainer trying to debug his own code ....

} else if (action.equals("requestAllPaths")) {
            cordova.getThreadPool().execute(
                    new Runnable() {
                        public void run() {
                        	try {

                                 Log.e(LOG_TAG, "DID NOT SHIT THE BED");
					callbackContext.success(requestAllPaths());
				} catch (JSONException e) {
					// TODO Auto-generated catch block
                                       Log.e(LOG_TAG, "SHAT THE BED");
					e.printStackTrace();
				}
                        }
                    }
            );
        }

I do not see "DID NOT SHIT THE BED" nor "SHAT THE BED" while logcat'ing it so it looks like it doesn't even reach that statement...

but I'm not actually sure it's related. At this point, I'd rather have a maintainer trying to debug his own code ....

I would but unfortunately it's hard to debug when the issue does not occur locally. With that being said this code was last touched about 8 years ago.

avc: denied { ioctl } for path="socket:[225593]" dev="sockfs" ino=225593 ioctlcmd=7704 scontext=u:r:system_server:s0 tcontext=u:r:system_server:s0 tclass=unix_stream_socket permissive=0

Logcat is very verbose (it's essentially the linux syslog) it will output anything and everything that is going on in the system. The debug tab in AS filters logcat to only your app process for you, but if you're using the logcat tab directly, you'll need to manually apply the filters yourself to make it remotely usable.
In AS you can use Breakpoints and "debug" the project (The green icon that looks like a bug) which will build and deploy the project from AS with the debugger attached. Might be easier than using log statements and then trying to look for them in logcat, which can easily be missed. But if the Runnable is not running at all..., then I'd be curious if it's reaching the cordova.getThreadPool().execute( line or if it's even entering the if condition at all...

I'm even logging the action at https://github.com/apache/cordova-plugin-file/blob/master/src/android/FileUtils.java#L280 and it doesn't even reach it. I'm really not sure what's going on...

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.test.debug" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Debug</name>
    <description>Debug</description>
    <author<EMAIL_ADDRESS>href="https://globules.io">globules.io</author>
    <content src="index.html" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <allow-intent href="market:*" />
    <icon density="ldpi" src="res/icons/android/icon-36.png" />
    <icon density="mdpi" src="res/icons/android/icon-48.png" />
    <icon density="hdpi" src="res/icons/android/icon-72.png" />
    <icon density="xhdpi" src="res/icons/android/icon-96.png" />
    <icon density="xxhdpi" src="res/icons/android/icon-144.png" />
    <icon density="xxxhdpi" src="res/icons/android/icon-192.png" />
    <preference name="loglevel" value="DEBUG" />
    <preference name="scheme" value="app" />
    <preference name="hostname" value="com.test.debug" />
    <preference name="Orientation" value="landscape" />
    <preference name="DisallowOverscroll" value="true" />
    <preference name="ShowSplashScreenSpinner" value="false" />
    <preference name="StatusBarBackgroundColor" value="#FFFFFF" />
    <preference name="StatusBarOverlaysWebView" value="false" />
    <preference name="AutoHideSplashScreen" value="true" />
    <preference name="AllowBackForwardNavigationGestures" value="false" />
    <preference name="Allow3DTouchLinkPreview" value="false" />
    <preference name="AndroidWindowSplashScreenAnimatedIcon" value="res/screens/android/icon-288.png" />
    <preference name="AndroidWindowSplashScreenBackground" value="#222" />
    <preference name="android-minSdkVersion" value="23" />
    <preference name="android-targetSdkVersion" value="31" />
    <preference name="android-maxSdkVersion" value="31" />
    <preference name="AndroidPersistentFileLocation" value="Compatibility" />
    <feature name="File">
        <param name="android-package" value="org.apache.cordova.file.FileUtils" />
        <param name="onload" value="true" />
    </feature>
    <allow-navigation href="cdvfile:*" />
</widget>

Just wanted to confirm that
<feature name="File">
        <param name="android-package" value="org.apache.cordova.file.FileUtils" />
        <param name="onload" value="true" />
    </feature>

was present...
Could you perhaps just zip up your project and I'll dig a bit deeper. None of this is really making any sense but hopefully I can point out a problem in the project structure that at least would explain the behaviour or something. (And if so, the question becomes how/why cordova is producing that kind of state)
In the meantime, can you also ensure that Cordova is completely up to date (including sub dependencies). Easiest way to do that is to simply reinstall cordova, (npm uninstall -g cordova && npm install -g cordova) so that all dependencies will install at the latest satisfactory versions across the entire dependency tree.

Cordova had already been updated to latest version (11.1.0). I'll see what I can do.

Quick note : I am not asked for permissions, which I find weird. Could it be related to permissions ? The plugin only requires

As of API 19, WRITE_EXTERNAL_STORAGE is only required when writing to non-application-specific external directories.
And as of API 29, WRITE_EXTERNAL_STORAGE is completely obsolete and doesn't grant you any special permissions (External storage is locked down pretty tight).
So no, it shouldn't be the cause.

Also, could you as well zip and upload your blank test project? So I can test it on the Android 6.0.1 device I have here? The one that works on the emulator I mean...

Sure thing
api23test.zip

WRITE_EXTERNAL_STORAGE permission became obsolete in API 29/30 (In API 29, existing apps could opt back to the legacy system, which uses the WRITE_EXTERNAL_STORAGE permission, but if you're using the new scoped storage system, the WRITE_EXTERNAL_STORAGE permission isn't used. In API 30, scoped storage is now forcefully enabled.
In either case, the sister READ_EXTERNAL_STORAGE permission was still used to read non-application external storage files, and that is what is becoming obsolete starting in API 33.

Ok so your build works here. So the only difference I see, is some preference and the splashscreen. I will strip down until I reach the same config.xml as you, maybe that'll do the trick to identify what's up ...

Ok so your build works here. So the only difference I see, is some preference and the splashscreen. I will strip down until I reach the same config.xml as you, maybe that'll do the trick to identify what's up ...

I would have expected to be the same as your project as it uses the cordova app template. I didn't make any manual changes other than adding the sdk version preferences to match what you had yesterday.

At this point, pretty sure it has to do with hostname + scheme.

Can't do it right now but just wanted to quickly mention that app is not a valid scheme for android, it must be either http or https. By default it uses https (and I think it falls back to https if it's an invalid scheme)
This is a conflict with what iOS requires, which cannot be any well known/standard protocol, so things like http, https, ssh, etc are all illegal for iOS.
Therefore the preferences should be in their own <platform> blocks

That was the issue, https works but app does not work. This should throw an error though, not through this plugin but via Cordova, if the scheme is not proper, it should alert the end user.... I will close now.

That was the issue, https works but app does not work. This should throw an error though, not through this plugin but via Cordova, if the scheme is not proper, it should alert the end user.... I will close now. Thanks for your help @breautek

Glad we found the root issue,
But yah, this would be an issue in cordova-android if it's not properly falling back or throwing an error. I'll create an issue for it.

Honestly, I don't see why we would have different schemes... Since we're doing "one code base" approach, you most probably don't want to setup your backend for 2 different schemes.  So down the line, I guess it should be limited to http / https. I fail to see a use case where one would need 2 different schemes. If one needs to know what platform is making remote calls, just check the user agent ? Just a thought....

The limitation comes from the underlying native apis.
The ios WKUrlSchemeHandler forbids standard protocols to be used as the app scheme, whereas the android WebViewAssetLoader only supports http or https.

Well this is my point exactly. http is obsolete, so people would use https by default. Now if iOS only supports its own thing, then why even set a scheme ? For Android only https makes sense... I believe it should be automatic and the preference should be removed.

Now if iOS only supports its own thing, then why even set a scheme ?

iOS will treat the scheme, even custom ones as an origin and will trust the context, whereas loading from the filesystem (as it did in the past) will have the origin set to null, as W3C states it should do when the protocol is file.
Having a real origin will bypass the "requires secure context" check inside the WKWebView. So if you use schemes, browser features that requires the secure context flag will be enabled.
On iOS, the schemes are opt in, because Apple doesn't consider the file-base system as insecure, and switching schemes changes the origin, which web storage containers like cookies and local storage are tied to, so this results a loss of access of what might previously be stored. For some people, that might be a big deal.
Android we default with schemes enabled, but can be opt out for the same reason above (origin changes). Google states using the file-base solution is an insecure approach and thus should be disabled. I agree http is obsolete, but there was a demand for it for few different reasons, so the option for http was added in a later release.
Again, using schemes on android, (and I think this only applies if the scheme is https) will make Google treat the webview document as a secure context, enabling browser features that requires the secure context flag.
Having the scheme customizable (including allowing http for android) also makes it easier for people wanting to remove the ionic webview dependency which did implement schemes for both platforms (for a quite a long time before Cordova did), particularly if they wanted to match the scheme they were using before to avoid a origin change.

Right, so it's down to the restrictions around Android only, so the scheme preference shouldn't not be by platform, it should be "global" to http or https, and iOS should just default to what we set for Android, see what I mean? Setting anything else for iOS is kind of pointless.


Define initial "s" rules

Description

Inside class or interface element self should be preferred to the class name itself.
Inside a final class or anonymous class self should be preferred to static.
Instructions must be terminated with a semicolon.
Simplify if control structures that return the boolean result of their condition.

Checklist:

[x] Securely signed commits

About 3rd point, Instructions shouldn't terminated with semicolon, as it will be include automatically when closing tag on the same line of the code
PHP Manual: https://www.php.net/manual/en/language.basic-syntax.instruction-separation.php


Less-than sign leads to the rest of the line always being displayed at the top

Newsboat version:
Newsboat 2.33.0
System: Linux 6.6.4-arch1-1 (x86_64)
Compiler: g++ 13.2.1 20230801
ncurses: ncurses 6.4.20230520 (compiled with 6.4)
libcurl: libcurl/8.4.0 OpenSSL/3.1.4 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh2/1.11.0 nghttp2/1.58.0 (compiled with 8.3.0)
SQLite: 3.44.2 (compiled with 3.43.1)
libxml2: compiled with 2.11.5

Config file:
I don't think it matters, but here we go:
urls-source "ocnews"
ocnews-url "http://picloud.home.arpa"
ocnews-login "***"
ocnews-password "***"
ssl-verifypeer no
ssl-verifyhost no

Steps to reproduce the issue:
Example feed: https://www.kuketz-blog.de/category/artikel/feed/
Example article: https://www.kuketz-blog.de/e-datenschutzfreundlich-bedeutet-nicht-zwangslaeufig-sicher-custom-roms-teil6/
That's the second to last article in this feed. There's an even better one, which is not in the feed anymore, but I'll provide screenshots.

Open an article that contains a less-than sign: <.
Example line:

rsrqResult: -17,5dB <= RSRQ < -17,0dB (8)

Scroll down, so that the less-than sign is above the current displayed page and the first line of the current displayed content is an empty one.

Observe this in the first (empty) line of the content:

= RSRQ < -17,0dB (8)

Other info you think is relevant:
Newsboat doesn't need to display the line first to produce this bug. You can just open the article, press "End", go up to an empty line and see it.
^L doesn't change anything.
I think this weird line of text is "always there" as soon as you are viewing article content below it. But it is hidden by everything from the article, even whitespace. Examples:
Article: (empty line) leads to: = RSRQ < -17,0dB (8)
Article: some text leads to: some text-17,0dB (8)
Article:      text leads to:      text-17,0dB (8) (5 leading spaces)
Article:                       text leads to:                       text
Screenshots:
Said line:

Previously empty line containing the text after the less-than sign. Next line with a less-than sign. Line that's empty yet:

Empty line from screenshot 2 now containing the text from that screenshot:

Interesting find! I've never come across this before with my feeds, but I can reproduce it with that feed and Newsboat 2.30.1-10-g96c5, that I'm running locally.
Apart from an unrelated "relative URL reference" warning in one article, the W3C feed validator does not complain about this feed. It seems to be all good.

I came across the same problem with Newsboat 2.33.0.
Example feed: http://www.ruanyifeng.com/blog/atom.xml
Example article: https://www.ruanyifeng.com/blog/2023/11/weekly-issue-279.html
Original HTML format line of text: 一篇老文章，介绍网页<a>标签的target="_blank"...
I managed to reproduce it with a piece of simple C code here:
struct stfl_ipool *ipool = stfl_ipool_create(nl_langinfo(CODESET));
const char *text = "vbox\n"
                   "  textview[article]\n"
                   "     richtext:1\n"
                   "     list:\n"
                   "            listitem text:\"some text here <>a>  some text there\"\n"
                   "            listitem text:\" \"\n"
;
struct stfl_form *f = stfl_create(stfl_ipool_towc(ipool, text));
int timeout = 100000; // a long time
stfl_ipool_fromwc(ipool, stfl_run(f, timeout));
stfl_set(f, stfl_ipool_towc(ipool, "article_offset"), stfl_ipool_towc(ipool, "2"));
stfl_ipool_flush(ipool);
stfl_ipool_fromwc(ipool, stfl_run(f, timeout));
stfl_free(f);
stfl_ipool_destroy(ipool);

run it above and press PgDn, the text after < remains:
before:

after:

The bug disappears when richtext:1\n is deleted. It may caused by the rich text mode of stfl.

Sorry, I forgot to react to this.
This looks like an stfl issue I previously looked into: https://github.com/dennisschagt/stfl/issues/1
I've created a fix for it (https://github.com/newsboat/stfl/commit/7b9f793ba239ca14025c9892ee412b4433126d62) but the owner of the upstream svn repo seems to have abandoned stfl.
I'm not sure if any distributions would like to switch to our own stfl repo (newsboat/stfl) but we are planning to move away from stfl anyway (https://github.com/newsboat/newsboat/issues/232), so I don't want to put too much effort into it myself.
Anyway, thanks for the well-written bug report!


Add class method acts_as_list_top as reader for configured top_of_list

Hi @krzysiek1507, could you give a bit of a use case?
Also, this change seems to be randomly breaking tests. The test suite is run in a random order each time so your additional class method is probably interfering in some way.

Hi @brendon I need access to top_of_list when I want to reposition items in loop using set_list_position. I can get this from an instance, but I have to create a new object so this is not the best way.
Maybe we should add top_of_list to this new_position? There is no sens to set position to 0 if top_of_list is set to 100. Am I correct?

@brendon what do you think?

Hi @krzysiek1507, I'm not keen to change the way that method works. That'd be an unexpected change for a lot of people who may be relying on the fact that it just assigns a position without question.
In regards to your modification, I'm at a loss as to why the test cases are now all passing. What did you change to fix it? I just want to make sure it's not just a fluke run that worked.

@brendon I've added previously missed setup method.

Thanks @krzysiek1507,
@swanandp and @fabn, are you ok with this addition?

For me it can be useful 👍

Done :)

Thanks!


 To do this two main flags were added: one to choose the way the files are counted, and another to exclude the program from counting non-programming languages. When working on the line-counting mode, I noticed a bug in the way non-blank lines were counted where two or more blank lines in a row would throw the count off. It has a test too.
Things to look out for
Let me know if there is anything I can improve on the documentation of these flags. Also, do you have any recommendations how I can get the two programs to analize the same files. linguist seems to skip over certain files and I'm not sure why.

Hi zkry,
Sorry for waiting so much to reply to you, as a poor excuse we've had some maintainership changes on this project so your PR got in review limbo.
It LGTM, but travis is failing, I'll check the problem in a few hours.

No problems :) I addressed the issues brought up. The only thing I wasn't sure about was avoiding loading the file all at once. For the getLines function, I did the recommended change and it made the function much simpler but since much of the other enry functions accept []byte, I had a hard time figuring out how to avoid loading the file all at once.

@zkry Commit looks valid, and the second bot is okay with it. Squash looks good, but it looks like the rebase was on top of old master - Github still shows the conflict. Please update the master first before rebasing, or fetch and rebase onto origin/master.
@mcuadros Can you please check what's wrong with the bot? It's the second valid PR it rejects.

Ok, I've got it now. I was confused because I had gopkg.io as my origin remote. Thanks

Looks good now! Bots are also happy, but CI fails:
# gopkg.in/src-d/enry.v1/cli/enry
../../../gopkg.in/src-d/enry.v1/cli/enry/main_test.go:30:28: undefined: getLines

Thanks again for contribution and sorry for these conflicts :)

And thanks for helping me work through this :)


How --download-archive works?

Can anyone explain to me, how this parameter works?
Im trying to output all videos ( title + id + video lenght ) from yt playlist, EXCEPT videos that are listed in list_of_ids file.
youtube-dl http://www.youtube.com/playlist?list=PLeCg_YDclAETQHa8VyFUHKC_Ly0HUWUnq -e --get-id --get-duration --download-archive ./list_of_ids
./list_of_ids
SdfL2nY-Xs8
2lJWeOYjsCI
n2LBtevEY3c
thanks

You have to prefix it with youtube , like:
youtube SdfL2nY-Xs8
youtube 2lJWeOYjsCI

(Note that the format used is internal and may change in the future)


Fix various miscellaneous Darwin API issues.

This is a re-landing of PR #22574.

Rename readAttributeWithEndpointID to readAttributePathWithEndpointID
Document readAttributePathWithEndpointID
Rename subscribeAttributeWithEndpointID to subscribeAttributePathWithEndpointID
Document subscribeAttributePathWithEndpointID
Switch various things from "strong" to "copy" for paths, reports, etc.
Remove redundant "nonnull" declarations on properties.
Create typedefs for the NSData representations of certificates, for readability
Replace "(nullable X *)" with "(X * _Nullable)" in various places.
Fix various documentation.
Rename "failSafeExpiryTimeoutSecs" to "failSafeExpiryTimeout".

The nullable to _Nullable change we might want to undo, but keeping it for now to make re-landing other PRs that were on top of #22574 easier.
The header changes not accompanied by backwards-compat shims are OK for the following reasons:

The changes to MTRBaseDevice.h are all to MTR_NEWLY_AVAILABLE APIs or fixing obvious API bugs (replacing "strong" with "copy").
MTRBaseDevice_Internal.h is not public API.
The changes to MTRCertificates.h are all to MTR_NEWLY_AVAILABLE APIs or are source+binary compatible.
The changes to MTRCluster.h are source+binary compatible.
MTRCluster_internal.h is not public API.
The changes to MTRDeviceController.h are source+binary compatible.
The changes to MTRDeviceControllerStartupParams.h are source+binary compatible.
MTRDeviceControllerStartupParams_Internal.h is not public API.
The changes to MTRDevicePairingDelegate.h are source+binary compatible.
The changes to MTRError.h are source+binary compatible.
MTRError_Internal.h is not public API.
The changes to MTRManualSetupPayloadParser.h are source+binary compatible.
The changes to MTROnboardingPayloadParser.h are source+binary compatible.
The changes to MTRPersistentStorageDelegate.h are source+binary compatible.
The changes to MTRQRCodeSetupPayloadParser.h are source+binary compatible.
The changes to MTRSetupPayload.h are source+binary compatible.
The changes to MTRThreadOperationalDataset.h are source+binary compatible.
The changes to MTRBaseClusters.h are source+binary compatible.
The changes to MTRClusters.h are source+binary compatible.
The changes to MTRCommandPayloadsObjc.h are source+binary compatible.
The changes to MTRStructsObjc.h are source+binary compatible.

Fast-tracking platform change with platform owner review.


Update alpine base image in Dockerfiles to v3.11

This PR updates the alpine docker base image to the latest version 3.11
The alpine release notes are available here https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases
Testing
Docker build the images. CI should show us if this is successful.

Coverage remained the same at ?% when pulling 7f34b88e5844ff681f081eb4dde20c3a12a051c3 on bump-alpine into 14cd9c7f67d165595af8fdc418d57cc39c7a51ad on master.

We could test this now I think if you resolve the merge conflicts!

@arthurk The error is a bit hidden behind "Start daemon services" step, probably because docker-compose logs returns a normal exit status. Something about missing OpenSSL so I think it's related to the alpine bump. Here's the relevant logs:
ERROR: for watcher  Container "7cae21c7e36b" is unhealthy.

ERROR: for watcher_info  Container "7cae21c7e36b" is unhealthy.
ERROR: Encountered errors while bringing up the project.
Makefile:12: recipe for target 'start_daemon_services' failed

...

childchain      | [load_failed,"Failed to load NIF library: 'Error loading shared library libcrypto.so.43: No such file or directory (needed by /app/lib/crypto-4.6.5/priv/lib/crypto.so)'","OpenSSL might not be installed on this system.\n"]
childchain      | "Unable to load crypto library. Failed with error:~n\"~p, ~s\"~n~s"
childchain      | {error_logger,error_msg}
childchain      | #{label=>{proc_lib,crash},report=>[[{initial_call,{supervisor,kernel,['Argument__1']}},{pid,<0.1349.0>},{registered_name,[]},{error_info,{exit,{on_load_function_failed,crypto},[{init,run_on_load_handlers,0,[]},{kernel,init,1,[{file,"kernel.erl"},{line,189}]},{supervisor,init,1,[{file,"supervisor.erl"},{line,295}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,374}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,342}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}},{ancestors,[kernel_sup,<0.1335.0>]},{message_queue_len,0},{messages,[]},{links,[<0.1337.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,27},{reductions,265}],[]]}
childchain      | #{label=>{supervisor,start_error},report=>[{supervisor,{local,kernel_sup}},{errorContext,start_error},{reason,{on_load_function_failed,crypto}},{offender,[{pid,undefined},{id,kernel_safe_sup},{mfargs,{supervisor,start_link,[{local,kernel_safe_sup},kernel,safe]}},{restart_type,permanent},{shutdown,infinity},{child_type,supervisor}]}]}
childchain      | #{label=>{proc_lib,crash},report=>[[{initial_call,{application_master,init,['Argument__1','Argument__2','Argument__3','Argument__4']}},{pid,<0.1334.0>},{registered_name,[]},{error_info,{exit,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypto}}},{kernel,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,138}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}},{ancestors,[<0.1333.0>]},{message_queue_len,1},{messages,[{'EXIT',<0.1335.0>,normal}]},{links,[<0.1333.0>,<0.1332.0>]},{dictionary,[]},{trap_exit,true},{status,running},{heap_size,610},{stack_size,27},{reductions,193}],[]]}
childchain      | #{label=>{application_controller,exit},report=>[{application,kernel},{exited,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypto}}},{kernel,start,[normal,[]]}}},{type,permanent}]}
childchain      | {"Kernel pid terminated",application_controller,"{application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypto}}},{kernel,start,[normal,[]]}}}"}
childchain      |     args:     format:     label: 2020-04-10 04:55:13.081280 crash_report        2020-04-10 04:55:13.081327 supervisor_report   2020-04-10 04:55:14.083541 crash_report        2020-04-10 04:55:14.083735 std_info            Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,kernel_safe_sup,{on_load_function_failed,crypto}}},{kernel,start,[normal,[]]}}})
childchain      |

I'll submit a separate PR to fix this silent failure.

LGTM now. Thank you! Let's merge https://github.com/omisego-images/docker-elixir-omg/pull/40 and get the stable image tag onto this PR.

Can use omisegoimages/elixir-omg-builder:stable-20200410 now!

@unnawut it's using the new stable image now


Add support for MariaDB database driver

Do you have any information about support for MariaDB database through it's dedicated driver "org.mariadb.jdbc:mariadb-java-client" ?
Caused by: java.lang.IllegalArgumentException: Unsupported database type: MariaDB
   at org.springframework.modulith.events.jdbc.DatabaseType.lambda$from$1(DatabaseType.java:54)
   at java.base/java.util.Optional.orElseThrow(Optional.java:403)
   at org.springframework.modulith.events.jdbc.DatabaseType.from(DatabaseType.java:54)
   at org.springframework.modulith.events.jdbc.JdbcEventPublicationAutoConfiguration.databaseType(JdbcEventPublicationAutoConfiguration.java:45)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.base/java.lang.reflect.Method.invoke(Method.java:568)
   at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:146)
   ... 85 common frames omitted

As an alternative, because MariaDB works like MySQL we can switch to the MySQL driver if version under 11.X but we loose some specific feature added by driver itself.

We can, of course, add support for that. If you'd like to help, do you think could duplicate the MYSQL enum value in DatabaseType and create copies of the MySQL-related tests and schema files? Given the similar nature of Maria with MySQL, I don't think any further adjustments should be necessary.

Yes, I think duplicating the value of the enum is sufficient, as both work in the same way. I can do a PR when i got some time.

I finally opened the pull request :) #839

You apparently found time pretty quickly! 🙃 Merged, thanks!


Update _x11-after-install.mdx

This way it's much easier to copy commands with "copy button" than before

Thank you.
Do you think it's necessary to separate the commands, to run the process in two stages?

@smeech the problem is that pressing "copy button" copies not only commands, but the comments too, so it's kinda useless right now

Apologies for being dense, but what problem does that cause you?

Thanks! Had me worried for a while!
Best wishes,


Fetch registry Object reference not set EurekaPostConfigurer.UpdateWithDefaultsForRoute

Using Steeltoe.Discovery.ClientCore Version "2.2.0"
Attempting to fetch registry from a .net core 2.2 console app linux x64 on stack cflinuxfs2

When I attempt to resolve IDiscoveryClient type I get the error Object reference not set to an instance of an object. error in Steeltoe.Discovery.Eureka.EurekaPostConfigurer.UpdateWithDefaultsForRoute. The full call stack follows.

2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Steeltoe.Discovery.Eureka.EurekaPostConfigurer.UpdateWithDefaultsForRoute(EurekaServiceInfo si, EurekaInstanceOptions instOptions)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.Options.OptionsFactory`1.Create(String name)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at System.Lazy`1.CreateValue()
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Steeltoe.Discovery.Eureka.EurekaApplicationInfoManager..ctor(IOptionsMonitor`1 instConfig, ILoggerFactory logFactory)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR --- End of stack trace from previous location where exception was thrown ---
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProviderEngineScope scope)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProviderEngineScope scope)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Steeltoe.Discovery.Client.DiscoveryServiceCollectionExtensions.<>c.b__12_0(IServiceProvider p)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at RiverFlowProcessor.Startup.UseDiscoveryClient() in C:\Source\Tools\river-flow-processor\consumer\Startup.cs:line 71
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at RiverFlowProcessor.Startup.Configure() in C:\Source\Tools\river-flow-processor\consumer\Startup.cs:line 45
   2019-03-20T20:56:31.52-0700 [APP/PROC/WEB/0] ERR    at RiverFlowProcessor.Program.Main(String[] args) in C:\Source\Tools\river-flow-processor\consumer\Program.cs:line 23

The consumer sample I'm using is at https://github.com/thnk2wn/pcf-river-flow-processor/tree/console-di-svc-reg-use-issue/consumer with Startup  and appSettings*.json being the main files of interest (targeting environment Development).
The API side it's attempting to reach is at https://github.com/thnk2wn/pcf-river-flow-processor/tree/console-di-svc-reg-use-issue/api and everything from logging and the Apps Manager service registry dashboard seem to indicate that side is fine.
Using cf env on both consumer and API sides both show p-service-registry set as expected in VCAP_SERVICES.
Locally it seemed to be working okay on the fetch side before but not in my PCF instance.
I've reviewed the samples and tried various things. My use case is slightly different as it is a console app but it is using the built-in DI/IOC like a web app but can't use the webhost specific methods in Steeltoe since it isn't a web app and web references aren't desirable there.
Digging through the code but not quite sure what object is null that it's expecting to be set.
Questions:

Ideas to what the problem might be?
Can the error handling be improved to offer a better indication of what's not set or what the problem might be?

Sorry about the delayed response, this one got lost under a stack of other issues for a while...
@thnk2wn and @dlane771 - Is there still an issue to be addressed here, or was the exception resolved with the PR?

@TimHess The PR fixed it for me. I was using my own copy of the assembly and never verified it got pulled into the official NuGet package and worked there but my local version worked in my PCF environment at the time. I'm no longer on the same project or with the same company so I have no way of verifying it anymore.

@thnk2wn thanks for the update ~ I'm going to close this issue for now, we can always re-open it if the issue resurfaces for anybody else :)


Diagrams

Generating class diagrams for individual projects and one for the whole solution

#84 Is now done and can be reviewed and merged here.


Add feature gate JobTrackingWithFinalizers

And describe its behavior.
kubernetes/enhancements#2307
/sig apps

/hold
for implementation to merge kubernetes/kubernetes#98238
/assign @soltysh

/assign @chrisnegus

@erictune / @soltysh you're reviewers for this page - do these changes look OK?

yes they do, I already left approval earlier :smile:

rebased

@alculquicondor Looks like the gate has some problems. Please try trigger a new commit?

It looks like I had a typo in false. Fixed :)

/lgtm
/approve

I approved this one because there have been previous approvals from both docs and tech side and the upstream PRs are all in (including the bug fixing one). I'm leaving the decision of lifting the hold to someone else for double confirmation.

/hold cancel


Add HTTP 418 "I'm a teapot" support to CHTTP

Add definition for RFC 2324 I'm a teapot to CHTTP's http_parser.h. This is already supported throughout the rest of Engine, but I noticed that it was missing from here. Given that it's such a critical part of the HTTP spec, we simply can't leave it missing. 😜

You should have waited until April 1 for this PR 😂

I should've, but I didn't want the miss the chance to have a PR (even a silly one like this) inside of Vapor. 😁

can't believe they didn't support this in CHTTP! @JacobSyndeo can you make this PR against the beta branch as well?


Pasteboard broken on M1 + Simulator

This happening for you @eviltofu and @vladyslav-iosdev ?

Paste is broken for me in simulator. Copy is working.

Working as expected as of 25a0a0d89e32bf0125ccdcd7f7c8151794da0430


Why when run BasicXrApp on HoloLens 2 Emulator, It's black sreen?

I compile BasicXrApp on Visual Studio 2017 with Debug/x64, package it to BasicXrApp_uwp_<IP_ADDRESS>_x64_Debug.appx,  then install it to HoloLens 2 Emulator through  Device Portal, and start it. It seems to be launched successful, I can hear the sound, and see the animation, but after that, there is only a black screen on the HoloLens 2 Emulator.
I don't know how to make the HoloLens 2 emulator to show the BasicXrApp.
Any help would be appreciated!

The default cubes placed in the world is probably behind your eye at this moment.  You might want to control your emulator to move back a bit so you can see the cubes in front of you.

The initial placement of the cube should be 1 meter in front of user.  But there was a bug in the code that cube was spawned at user's head.
#7 is fixing this issue.

Resolved in #7


Bump webbundle-webpack-plugin version to 0.1.5 and rollup-plugin-webbundle to 0.1.4

LGTM, but please update the release notes for both plugins mentioning that the new version of wbn-sign brings the support for the new key type :)


Add ES Day 2 Example Content

Adding Diagrams and content to ES Day 2 Example page

I just kickd off another run of the build - looks like a temporary failure :)

Ah - no it's failing because the PR is from a forked repo which doesn't have access to the API key for deployment

This is the issue preventing https://github.com/Azure/static-web-apps/issues/1


QEventDispatcher: Failed to create QEventDispatcherWin32 internal window: 1407

We randomly get this error, and from then on, we cannot make phantomjs work. (Only thing that makes it work is a reboot).
Exitcode: 255. Error: QEventDispatcher: Failed to create QEventDispatcherWin32 internal window: 1407Qt: Could not initialize OLE (error 80070583).

This seems to be improved in QT 5.3.2.
https://bugreports.qt.io/browse/QTBUG-39471

Closing, this was related to a desktop heap allocation failure.

We're experiencing the same problem.
Can you tell us what you found was the problem and how it was fixed ?
Thx.


Week title does not match the dates

Hi. I found that the week title does not match the date.
You'll exactly know what I mean after looking at the image. I tried to attach a calendar image from my site, but the same phenomenon appears on the official demo site, so I will upload it.

Feb 23 2018 should be Friday, but the calendar indicates it is Thursday.
When I replace - 1 to - 2 in this line, it is okay. But, it does not seem to be the correct fix.
I am not sure this is happening only in my location (Korea+09:00). I saw an image of other issues and it was fine!

OS: macOS High Sierra 10.13.3
Browser: Chrome (64.0.3282.167)
datetime-picker version: 2.7.4 (Polymer 2.5.0)

Thanks and you were right an did have something to do with the local timezone. In the newest version it should be fixed.


Fix mismatched types with API for CAN protocol functions

Initializing CAN was giving: ctypes.ArgumentError: argument 6: <class 'TypeError'>: expected LP_c_ubyte instance instead of int. This is a naive fix to get that to work

Looks good, thank you!


Create example code starting at require

Hi.
I would like to request a change in the documentation:
Most NPM module start out with
Installation:
    npm i --save<mypackage>

And then
Usage:
    const x = require('<mypackage');

    x(() => {
      // Do practical stuff here

      console.log('Look, benefit!');
    });

https://github.com/deadratfink/jy-transform#api-usage does not tell me how to start using the API. It only lists all the possible permutations in the configuration. It's complete but not practical.

Hi, yes good point! At the moment I am thinking about overhauling the whole lib to make it more modern (e.g. es6, new test framework like Jest and so forth). Then I would also consider to rewrite the documentation here and there and also making a better structure.
I leave this Issue open that it won't be forget ;-)
Thx for the feedback and let me know whenever you need support.


docs(README): update with homebrew install option

Signed-off-by: Adam Moss<EMAIL_ADDRESS>

Looks good, thank you! Could you please change the base branch to "next" instead of "main"? (You can do this in the web UI for GitHub, without rebase, etc..)

All done :)

Oh, my fork branch has ran you CI and failed to push the docker container, might need to block that 👍


fix: update frame range when write node is selected

What was the problem/requirement? (What/Why)

When write node is selected, incorrect frame range were exported in parameters

What was the solution? (How)

When override frame is selected, override the frame
When write node is selected with limit_range checked (without override), write node's frame applied
When write node is selected without limit_range checked (without override), project settings frame applied
When no specific write node is selected, project settings frame applied

What is the impact of this change?

Based on the customers' setting, right frame range is selected as explained above

How was this change tested?

Opened Nuke with the following setting:

Project setting frame: 1-4
Write1 node frame: 1-10
Override when selected with frame: 4

Verified the following:
All write nodes, without frame override —> 1 - 4
All write nodes, with frame override —> 4
All write nodes, without frame override —> 1 - 4

Write1, with limitRange, without frame override —> 1 - 10
Write1, with limitRange, with frame override —> 4
Write1, with limitRange, without frame override —> 1- 10

Write1, without limitRange, without frame override —> 1- 4
Write1, without limitRange, with frame override —> 4
Write1, without limitRange, without frame override —> 1 - 4

Did you run the "Job Bundle Output Tests"? If not, why not? If so, paste the test results here.

Timestamp: 2024-07-10T14:56:40.084221-07:00
Running job bundle output test: /Users/chaejung/Desktop/submitter/deadline-cloud-for-nuke/job_bundle_output_tests/group-read

group-read
Test succeeded

Timestamp: 2024-07-10T14:56:41.328517-07:00
Running job bundle output test: /Users/chaejung/Desktop/submitter/deadline-cloud-for-nuke/job_bundle_output_tests/noise-saver

noise-saver
Test succeeded

Timestamp: 2024-07-10T14:56:41.715921-07:00
Running job bundle output test: /Users/chaejung/Desktop/submitter/deadline-cloud-for-nuke/job_bundle_output_tests/multi-load-save

multi-load-save
Test succeeded

Timestamp: 2024-07-10T14:56:42.108924-07:00
Running job bundle output test: /Users/chaejung/Desktop/submitter/deadline-cloud-for-nuke/job_bundle_output_tests/ocio

ocio
Test succeeded

Timestamp: 2024-07-10T14:56:42.485302-07:00
Running job bundle output test: /Users/chaejung/Desktop/submitter/deadline-cloud-for-nuke/job_bundle_output_tests/cwd-path

cwd-path
Test succeeded

All tests passed, ran 5 total.
Timestamp: 2024-07-10T14:59:07.832902-07:00

Was this change documented?
I don't think so.
Is this a breaking change?
This is a fix.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

It probably makes sense to include this as one of the job bundle tests as well to help ensure we don't regress.
The job bundle tests are basically structured in such a way that given a scene file, we can verify the output bundle that gets created. So if we have a write node that has different frames from the project, we are then testing it with the expected bundle matching the write node.
Let me know your thoughts


Relationship to nlsdfnbch/bitex?

Hi, after stalking you a little, I noticed your other project nlsdfnbch/bitex. It seems to be, or at least become a superset of this one. What are your plans? Why not link to the other one in the README? Anyways, thanks for both projects!
Cheers!

Hehe ;D bitex started out as a REST API framework and starting with 2.0 will be purely REST again (i had added websocket clients at some point,  but couldn't figure out a good way to standardise them then).
Btfxwss is a websocket client and thus doesn't fit the framework.
I'm keeping it separate,  because I have not yet found a good way to refactoring websocket connections for other exchanges.
As for the link in the reader,  it just never occurred to me :D

Thanks for the clarification, it makes a lot of sense. Closing this issue, as it's not really an issue.


Building initial vegetation directory structure

This is a test pull request. Still a few more files to add.

We will redo this pull request when @sarahjjacobs has finished working on this feature branch on her fork.  But it was a great test of creating a branch and where the pull request shows up.  See issue #66 more to come later.


Partition number calculator

Fixes Issue🛠

Closes #1950
Description👨💻

Added Partition Number Calculator.
Type of Change📄

[x] New feature (non-breaking change which adds functionality)

Checklist✅

[x] I am an Open Source contributor
[x] I have performed a self-review of my code
[x] My code follows the style guidelines of this project

Screenshots/GIF📷

Resolve the conflicts in this same PR, don't close this @saurabhhsinghh


adds encryption state controller

responsible for creating a single secret in openshift-config-managed with the name destName.
This single secret contains the complete EncryptionConfiguration that is consumed by the API
server that is performing the encryption.

Merged as part of the prune controller PR.


[SITE BROKEN] BOXNOVEL.ORG

Boxnovel.org redirect to a new site (same but renamed?) http://novelpoki.com/
Can you please add this one?

Fixed. Also it seems like http://novelpoki.com and https://novelpoki.com point to different sites.


can't connect to local host 3000

We have written the needed data into your clipboard because it was too large to send. Please paste.
Issue Type: Bug
Hello,
I am experiencing an issue with connecting to localhost. i also am trying to render to chrome, but it only shows a code tree, instead of showing for example what is in between .
I am getting -
crbug/1173575, non-JS module files deprecated.
Also, my npm start doesnt work, i am getting this:
PS C:\beginning react\react-begin\src> npm start
npm ERR! Missing script: "start"
npm ERR!
npm ERR! Did you mean one of these?
npm ERR!     npm star # Mark your favorite packages
npm ERR!     npm stars # View packages marked as favorites
npm ERR!
npm ERR! To see a list of scripts, run:
npm ERR!   npm run
npm ERR!      C:\Users\pavol\AppData\Local\npm-cache_logs\2022-06-19T18_16_57_977Z-debug-0.log
PS C:\beginning react\react-begin\src>
I have tried to find solution, looking it up on google and youtube, trying it, but nothing helped.... Would you be able to help me? Thank you
VS Code version: Code 1.68.1 (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-14T12:48:58.283Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 x 1992)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.88GB (8.72GB free)

Process Argv
--crash-reporter-id e8ca198a-1b74-42b2-8990-3a8cf06c39a0

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

simple-react-snippets
bur
1.2.6

prettier-vscode
esb
9.5.0

open-html-in-browser
pea
2.1.9

LiveServer
rit
5.7.5

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
vsclangdf:30486550

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


python3Packages.angr: 9.0.9031 -> 9.0.9166

Motivation for this change
Update the angr stack to 9.0.9166
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 131139 run on x86_64-linux 1

14 packages built:

python38Packages.ailment
python38Packages.angr
python38Packages.angrop
python38Packages.archinfo
python38Packages.claripy
python38Packages.cle
python38Packages.pyvex
python39Packages.ailment
python39Packages.angr
python39Packages.angrop
python39Packages.archinfo
python39Packages.claripy
python39Packages.cle
python39Packages.pyvex


Feetech sts3215 serial servos read failure

System Info
lerobot: cloned Nov 18
OS: MacOS Sonoma 14.1
Python: 3.11
numpy: 1.24.3
torch: 2.4.1
lerobot configuration: no virtual env, installed directly

Information

[X] One of the scripts in the examples/ folder of LeRobot
[ ] My own task or dataset (give details below)

Reproduction
`
from lerobot.common.robot_devices.motors.feetech import FeetechMotorsBus
port = ""
arm = FeetechMotorsBus(
port=port,
motors={
# name: (index, model)
'joint1': (1, "sts3215"),
'joint2': (2, "sts3215"),
},
)
arm.connect()
values = arm.read("Present_Position", None).item()
print(values)
`
Expected behavior
Output 2 servos Present_Position. But I always get "[TxRxResult] Incorrect status packet!" error.
Debug:
I found default rxPacket only read 5 numbers: [255, 96, 24, 251, 239]. So I relaxed the function "setPacketTimeout" by adding 200ms to the return. By doing this, I can read 6 numbers in rxPacket: [255, 255, 1, 4, 0, 103].
However, these 6 numbers are still not correct. I am facing checksum not correct error: COMM_RX_CORRUPT.
Board: Bus Servo Adapter (A) Wavesahre, DC 9-12.6V
Servo: Feetech STS3215

Resolved by running the configuration script. I forgot to assign different IDs to every servo before reading.
Reference: https://github.com/huggingface/lerobot/blob/main/examples/10_use_so100.md


docs: add Bump to Adopters

Description
add Bump to Adopters
References
Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Thanks @gr-bump !!
Would you mind to sign the EasyCLA so we can merge it?
Thanks again!


Is this abandoned?

@trixnz

Automatically deleting the semicolon bug has plagued me for a long time.

Automatically deleting the semicolon bug has plagued me for a long time.

Is there an issue for this?

Is anybody maintaining an updated fork?

Automatically deleting the semicolon bug has plagued me for a long time.

Is there an issue for this? I have no idea what you're talking about.

The plugin automatically removes all ';' at the end of a command during automatic formatting. But I need this because the LUA code is compressed and at the end everything is in one line.

See #42 - im working on an updated version. The tests are broken and there a still a few formatting bugs.


Add SQLGetTypeInfo

Also add 2 more extended date datatypes, SqlAttributeStringLength for custom attributes

@pacman82 I added them to make things easier in odbc-futures, since I use a generic to handle any SQL types that are POD. Previously I used std::mem::uninitalized() to allocate them, but I guess I can do std::mem::zeroed() or some custom trait for default values.


extension doesn't support multiple kinds in a single file

I am using a single .yaml file to create all the resources required for the pipeline by separating them with ---.  I get error after I installed this extension.  Not sure if its by design or a bug.
yaml: expected a single document in the stream, but found more

yaml: expected a single document in the stream, but found more

Hi, @VickyWinner this error you get while creating multiple resources in a single file? If yes which command you were running to create resources.

@sudhirverma just take any resource required by the pipeline.  Task, TaskRun, Pipeline, PipelineRun etc.

@VickyWinner I cannot to reproduce this, could you share more detailed steps to reproduce?

its not erroring out while running the kubectl or oc.  Its just the vscode pops errors.

I try this https://github.com/tektoncd/pipeline/blob/main/examples/v1beta1/pipelineruns/pipelinerun.yaml and havent see any errors

this is what I see

@VickyWinner Are you using latest version of vscode-tekton?

I am using v0.14.0

Latest is 0.16.1 try that version

I just did install 0.16.1 but still the same issue.  just an update that I am running vscode in administrator mode.

No.  I am using only .yaml extension for all tekton stuff.  I ran vscode in non-administrator mode, same issue. looks like it has nothing to do with that.

I mean any other vscode extensions(plugins) which can handle/provide some editor features for yaml files.


Fixing the version and correcting the old paths

The README used the old version (9.4.0) and I replaced for 9.12.0. Review the main page and the usage page of the site.
I corrected the old paths, replacing siagalev for highlightjs.

@SirCmpwn, the README and the site needs new rework, because they both used the old version. The main page uses 9.12.0, but the usage page uses 9.4.0.

The changes to the README look good to me, but why is there an added file an-old-hope.css? Can you split this into a separate PR?

+1 to doing separate changes in separate branches in the future. @gusbemacbe I'm pretty sure GitHub has some intro docs on how you can work with separate branches in your fork and submit different PRs. It's a useful skill regardless :-)

@isagalaev, I am going to check the documentation for knowing how to separating correcting two different branches without using the branch master.

@gusbemacbe what I always do is  to create a new branch on my fork of a project (e.g. git checkout -b) and then open a PR from that branch

@ldct
If I want to create two branches, one for theme and another for README, it means:
git checkout -b theme
git checkout - b readme

Then does it create two separate branches, avoiding to push to origin and to pull all files of two branches together?
@isagalaev
I think you must check the usage page:

It still uses the old version.

The page will change upon the next release.


Tabindex does not accept dynamic binding using index value

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

                    <input type="checkbox" id="{{ _getId(index) }}" checked="{{ item.correctAnswer }}">
                    Correct

                <input type="text" tabindex="{{ _getTabIndex(index) }}" class="input" value="{{ item.answer }}">

        </template>

I am unable to dynamically add the tabindex attribute my input in this repeater. If i replace the tabindex value with a simple "1" it appears in the DOM. I am trying to increase the tabindex using the index of each item in my repeater. Seems very strange.

Problem solved - had to add add a dollar sign eg. tabindex$={{...}} since I was binding to an attribute.
https://www.polymer-project.org/1.0/docs/devguide/data-binding.html#attribute-binding


Compatibility with older versions of xerces sax parser

Older versions of sax parser could throw a Throwable that doesn't subclass Exception, so the Exception catch doesn't catch that occurence

Coverage remained the same at 95.067% when pulling d3ae1545073ade010d71a7186aeee4ad638b8f1b on shoe54:master into b8a7c92bb798e005170abf03565f4c60886941b1 on onelogin:master.


Unwanted horizontal scroll

There is a small overflow issue. You can scroll horizontally in both the web and mobile versions.

This has already been fixed.
https://github.com/anomic30/Storz/pull/34


Shafik's image reported to have loading issues

ad-nap.png needs to be changed as pushing the same image still causes loading issues in the AboutUs.md

issue resolved by viewing in incognito / clearing cache.


[Fix] {ShallowWrapper,ReactWrapper}#{type,props}() should work with null nodes

Fixes #113.
^ @lelandrichardson, @goatslacker

@ljharb I'm wondering -- why would we want wrappers with null nodes to get passed to findWhere anyway?  I'm assuming there are still other methods that won't work with null nodes (I stumbled on this problem with .text()).  Wouldn't it be more robust to simply not pass wrappers with null nodes?

That's a good point, and may be an alternative approach.

Yeah I was going to post an issue about .text() in .findWhere() but I could just post an issue about null nodes instead

Let's do that - findWhere and filterWhere etc perhaps shouldn't return null nodes? It's worth a discussion.

Okay, sounds good

And thanks for this awesome project!


Fix getPlayerInfo() - remove status

This pull request removes status from the return type of getPlayerInfo() which was already nearing deprecation status. This may not be favorable as it introduces a breaking change for those reliant on status in getPlayerInfo().
See #384 for an alternative.

Context: As of July 9th, 2021, the endpoint https://users.roblox.com/v1/users/<USERID>/status developed a rate limit around 1 request per minute- which can be considered unusable for most applications.

Doesn't make sense to remove it because of a ratelimit change, the endpoint still exists... People may still want to use it. A better solution imo would be to have a parameter in getPlayerInfo that accepts what data someone would want to retrieve from the Roblox user, but with statuses by default left out. So they would have to explicitly want statuses to be included for the request to be made.

Closing since the upstream rate-limiting issue appears to have resolved itself.


Components should reference chains.json

The following components should reference the new chains.json file to get the fullname of a chain by its ID.
<airnode-ContractAddresses type="mainnet"/>
<dapis-ChainsList/>
<dapis-DapiList/>

Please check the PR for review requests.


Ensure material names from the wiki are in a standard format

Ensure any s's are removed before adding the item to the dict.

Added in commit e212dbe


[Plugin] Should add the operation name by default in execute selector.

For replay this improvement you need:
Test case

Go to SS -> Bazaar page -> Generic plugin and create an operation.
Go to Manage page.

Result: you can observe in execute selector empty space.

Improvement: Add the operation name by default in execute selector.

fixed


[TextField] Fix to show input[type=number] spinner icons in Chrome

[x] I have followed (at least) the PR section of the contributing guide.

before:
In Chrome, the input[type=number] spinner are hidden by default. They will only show when the input receives focus

after:

based on https://davidwalsh.name/always-show-arrows-for-number-input to improve accessibility

the failing test in the E2e keeps failing for me on the latest master branch locally.

In Chrome, the input[type=number] spinner are hidden by default.

Why should MUI change the default behavior?

In Chrome, the input[type=number] spinner are hidden by default.

Why should MUI change the default behavior? Why change the tradeoff the user agents picked? In #19154 all the benchmark seem to show the up/down indicator by default.

2 things:

consistency: all other major desktop browsers (safari, ff) render the spinner buttons
accessibility: without those buttons, how would you know its a number input until you focus it

I'm not entirely convinced. Here's my point of view:

This is something developers can easily control on their own if they need to. This change makes this control harder (higher specificity is needed to overwrite MUI styles)
"Why should MUI change the default behavior? Why change the tradeoff the user agents picked? I would assume they already carefully thought about what would be best to do." - I'm with Olivier on this one.
"without those buttons, how would you know it's a number input until you focus it" - why would you need to know this? How exactly does this impact accessibility? BTW, the spinner buttons appear on hover, not only on focus
Custom-styled text fields without native spinners look better (I do understand this is is subjective, though).

Having said that, I'm not going to block this PR. So if you feel it's important, go ahead.

thanks for your comment @michaldudak - I get your concerns and they make sense to me. esp when having to fight settings in theme customization.
I'll close this one then but if the issue / complains pop up again you know about this little inconsistency

So in the end @aaarichter decided, glad we could have a clear pros & cons discussion on the matter 😁


Add check to create the self-service user for legacy authz runtime

Purpose

Creating organization self service application related system user only when legacy Authorization runtime is enabled.

Related Issue

https://github.com/wso2/product-is/issues/17693

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6872795585

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6872795585
Status: success


feat: SHA256

Resolves INT-1726
Resolves INT-1748
Resolves INT-2580
This PR implements the Sha256 extension and Sha256-Air primitive.
Using interactions to constrain the message schedule turned out to be too inefficient (doing 34 interactions per row). Current implementation uses 470 columns x 17 rows = 7990 cells per block and does 17 interactions every row. I believe the chosen approach was indeed the best one among the 4 discussed options in the linear ticket.
The first 16 rows are round rows and the last one is a digest row. Reading the message happens in the first 4 rows of every block. Final hash computing happens on the 17th (digest) row of every block. Register reads and output write happens on the very last row of every message. The subair utilizes interactions with itself to constrain some values that are 'passed' from a digest row to the next digest row. The padding is completely handled by the Vm chip.
To compare with other implementations: halo2 uses about 7200 cells per block but they are able to access any row from local and not just the next. Also, they are allowing constraints up to degree 4. Considering the additional limitations our implementation does pretty well compared to the halo2's implementation.
Possible optimizations: It is possible to reduce the number of interactions by 8 per row by adding 16 columns (work var carries). I am not sure if this is worth doing after GKR changes?

Copilot generated:
This pull request introduces significant updates to the Cargo.toml files and the Encoder struct, as well as the addition of a new SHA256 implementation. The most important changes include adding new SHA256-related dependencies and modules, modifying the Encoder struct to include a new field, and implementing the SHA256 AIR (Algebraic Intermediate Representation) components.
Dependency and Module Additions:

Cargo.toml: Added new SHA256-related dependencies and modules, including openvm-sha256-air, openvm-sha256-circuit, openvm-sha256-transpiler, and openvm-sha256-guest. [1] [2] [3] [4]

Encoder Struct Modifications:

crates/circuits/primitives/src/encoder/mod.rs: Added a new boolean field reserve_invalid to the Encoder struct and updated the constructor and methods to handle this new field. [1] [2] [3] [4]

SHA256 AIR Implementation:

crates/circuits/sha256-air/: Added a new module for SHA256 AIR implementation, including Cargo.toml, lib.rs, columns.rs, mod.rs, and utils.rs files. This includes defining the structure and functions necessary for the SHA256 AIR. [1] [2] [3] [4] [5]

SDK Configuration Updates:

crates/sdk/src/config/global.rs: Updated the SDK configuration to include SHA256 components in the SdkVmConfig, SdkVmConfigExecutor, and SdkVmConfigPeriphery enums, and modified the impl SdkVmConfig to support SHA256 transpiler extension. [1] [2] [3] [4] [5]

Let's also remember to add this to the book.


Wrong IL for MemAtomicCompareAndSwap instructions

Consider CAS <Xs>, <Xt>, [<Xn|SP>{,#0}] instruction. Apart from compare and swap, this instruction will also save the value loaded from memory to register Xs. Currently generated IL only implements the compare and swap part.
Example instruction
cas        x0,x1,[x2]

Generated IL
0 @ 0x0  if (x0 == [x2].q) then 1 else 3 @ 0x4
1 @ 0x0  [x2].q = x1
2 @ 0x0  goto 3 @ 0x4
3 @ 0x4  undefined

Expected IL
0 @ 0x0  temp0.q = [x2].q
1 @ 0x0  if (x0 == temp0.q) then 2 else 4
2 @ 0x0  [x2].q = x1
3 @ 0x0  goto 4
4 @ 0x0  x0 = temp0.q

Unsure how long ago this was fixed, but as of 4.0.5336 the lifting is correct:


[Test] Fix flaky-test: DistributedClusterTest.testMultiBrokerProduceAndConsumeOnePartitionedTopic

Fixes: #1056
Motivation
The testMultiBrokerProduceAndConsumeOnePartitionedTopic test method fails sporadically. Because the sometimes delete topic will timeout. link PR: https://github.com/apache/pulsar/pull/14060
Modifications

remove the call of deletePartitionedTopic

Remove the release/2.9.1 and release/2.8.2.x since it only affects the Pulsar 2.10.0-rc version.

Add release/2.9.1 and release/2.8.2.x labels again to resolve conflicts of https://github.com/streamnative/kop/pull/1054.


Linux SCHED_IDLE support seems to be broken

From what I can tell, after reviewing the docs, and the code, the SCHED_IDLE support is either only partially implemented, or broken. Can this be confirmed? Alternately, can you provide a stub example (that doesn't use private methods) that shows correct usage?

I have attempted two paths to set Idle scheduling class. The first is not actually "valid" (possibly):

    #[cfg(target_os = "linux")]
    {
        print!("Linux detected. Setting idle scheduling class...");
        let thread_id = thread_priority::thread_native_id();
        let result = thread_priority::set_thread_priority_and_policy(
            thread_id,
            thread_priority::ThreadPriority::Min,
            thread_priority::ThreadSchedulePolicy::Normal(
                thread_priority::unix::NormalThreadSchedulePolicy::Idle,
            ),
        );
        match result {
            Ok(_) => { // we set idle priority
                println!(" done.");
            },
            Err(e) => {
                eprintln!("Warning: Unable to reduce thread priority. Continuing to run at default thread priority. Other application performance may be affected. {:?}", e);
            }
        }

I say this may not be valid, because it specifies ThreadPriority::Min. Assuming it isn't mapped to the valid range for the scheduler policy, this is invalid, because, per man sched(7), the static priority 0 must be used with SCHED_IDLE. If ::Min is being mapped to 0 here, then this is in fact valid, if not, it's invalid usage. When I try like this, everything compiles, and runs, without error. Note that the above "Ok(_)" match arm is used, and "done" is emitted. However, usage of "chrt" on the running process reveals it is still SCHED_OTHER (the default).
I have also attempted to specify 0 as the priority, which runs into not being able to specify 0 directly (the method that would allow that is private). When I use get_current_thread_priority(), I get a "Crossplatform(ThreadPriorityValue(0))" which is rejected by the subsequent set_thread_priority_and_policy() call with "PriorityNotInRange(0..=0)".
In reading the sources (https://docs.rs/thread-priority/latest/src/thread_priority/unix.rs.html#1-795) it seems  as though only Realtime is treated specially, and everything else is left to be done via "niceness" - which won't achieve setting the SCHED_IDLE policy.
Am I totally missing something?


fragment-args-ktx: Remove default parameter implementations

Removed default parameters implementation from delegates to prevent mistakes when a value was not written before reading.
IllegalStateException will be thrown by default if you're trying to read a value that wasn't written before. If you need to return the default value instead, please specify the default parameter manually.
Closes #37

By the way, I think there is a close problem in the *Nullable variants.
public fun Bundle?.stringNullable(key: String? = null): ReadWriteProperty<Fragment, String?> {
    return delegate(
        key = key,
        getValue = { propertyKey -> getString(propertyKey) },
        setValue = { propertyKey, value -> putString(propertyKey, value) },
    )
}

If we have mistake in property name when no key passed, the method will return null caused by the mistake, not because null was stored or not set.
But maybe that kind of mistake is not too hard to find. So we could leave it as it is.

By the way, I think there is a close problem in the *Nullable variants.

I think for nullable types it is expected behavior. There is no difference for Bundle if a value was not stored, or was stored null. It will not be a big surprise if we keep the same behavior for delegates.

By the way, I think there is a close problem in the *Nullable variants.

Yes, I just wanted to let you know, but don't think it's a big deal.


Initialize EC key using EC_PUB_X and EC_PUB_Y

Currently, it's not possible to initialize an EC key using the PARAM_GROUP_NAME, PARAM_EC_PUB_X and PARAM_EC_PUB_Y parameters. EC_PUB_X/EC_PUB_Y only serve as getters. Instead PARAM_PUB_KEY needs to be used.
Going through PARAM_PUB_KEY is not particularly hard, but I feel like this breaks the abstraction of the param API a bit. Rather than specifying a group name and x&y, we need to drop down to lower-level APIs to construct an EC_GROUP from name, initialize an EC_POINT and then export it as an octet string.
Would it make sense to accept EC_PUB_X/EC_PUB_Y as an alternative construction method?

@romen may have some thoughts on this ...

Yes!
There is no need to drop to a lower level API. It is possible to use PARAM_PUB_KEY passing one of the standardized formats in the SECG SEC1 standard (section 2.3.3).
In particular if for some reason the user has separate x and y affine coordinates in uncompressed format, they can pass a buffer filled with 0x04 ¦¦ x ¦¦ y (assuming x and y are already formatted as padded octet strings as specified in the same document).
Better still, when it is an option, the user can avoid extrapolating x and y altogether and just use the encoded point format when going from one format to another.
The reasons why I advocate for this is that the SECG standard precisely defines the expected format without room for ambiguity, it is generally portable across different libraries and frameworks, and supports compressed representations.
In contrast, adding our own x and y import format to the mix does not significantly improve usability, would add complexity to provider implementations that would have to handle more complex logic and more input formats, and does not help the OpenSSL project in keeping bloat in check.
Last time I checked this was a moderate inconvenience for people that have to deal with documents providing points as x and y coordinates (usually without even properly specifying how x and y are encoded). In particular, IIRC, FIPS documents with known answer tests and some JSON encodings.
Arguably, the underdefined format is a defect of those documents, and should be fixed there rather than bloat the ecosystem in name of ill-perceived "usability".
AFAIK, other libraries generally offer the capability of extracting points in SECG format programmatically, and generally do default to the same format when saving public keys to files.
Last, but not least, there are security arguments against supporting our own custom x and y format in input rather than the standardized SECG format: in most cases input public points are under the control of a potential attacker.
Supporting only the SECG format reduces the attack surface and the complexity, and makes it easier to harden provider implementations against attacks.

This is an excellent suggestion.
The vision of EVP, originally at least, was to provide an API framework which was largely independent of the crypto algorithm itself.
With 3.0.0, this has been achieved for DSA, RSA, ED25519, and ED448.  These keys are constructed from (name,value) pairs composed from the same material that was used for the legacy APIs.
This proposal would bring ECDSA into line with these other algorithms and provide a smooth migration path from the legacy API to the EVP framework.  External packing of otherwise perfectly good X and Y values into a buffer seems to me a step back from the lofty ideals of EVP, and an unnecessary obstacle for users keen to get rid of deprecated APIs.

May I nominate this as a useful non-breaking small feature to be merged into the master branch

I'd like to add my support for this functionality here. Combined with #17590, which will automatically change any oversized coordinates that are fed in, it means performing ACVP testing is pretty rough as it includes tests which have out of bounds values. I am trying to generate the octet string as @romen mentioned, hopefully this will bypass EC_POINTs odd functionality.
Thanks,
Andrew

Please can this be attached to, with a firm commitment to deliver by, a specific milestone (preferably 3.2.0).
The present drift and lack of proper planning will result in some very public failures when we crash into 4.0.0 and all the deprecated APIs disappear.


Cross AWS account support

See #105
To better support cross account scenarios, we can add the ability to assume a cross-account role to the controller. Implementation wise, it would be a credential provider that assumes the role specified by an environment variable set on the container.
Once code change is in. Customer would take the follow steps to enable:

Customer creates role in AWS account with permissions to Cloud Map. Role is configured to be assumed by other account.
Customer adds permissions for EKS pod role to assume the role created in step 1.
Customer sets environment variable on controller with arn of role to assume.

This might not be needed. An alternative approach is for customer to associate the service account to an IAM role in the Cloud Map account. Basically, this depends on the EKS cluster's OIDC provider.
See https://aws.amazon.com/blogs/containers/cross-account-iam-roles-for-kubernetes-service-accounts/

Cross AWS account support refers to the ability to access and interact with resources across multiple AWS accounts. This feature allows you to manage resources, share data, and perform operations between different AWS accounts.
There are several mechanisms available for implementing cross-account support in AWS:
IAM Roles: IAM roles are used to grant permissions to entities (such as users, applications, or services) in different AWS accounts. By creating IAM roles in one account and granting access to another account, you can establish cross-account access. This allows users or applications in one account to assume the role and access resources in another account.
IAM Role Switching: AWS CLI and SDKs provide the ability to switch roles programmatically, allowing you to assume a role in another AWS account temporarily. This allows you to perform operations on resources in the target account using the credentials of the assumed role.
AWS Organizations: AWS Organizations is a service that enables you to centrally manage multiple AWS accounts. It provides features like consolidated billing, policy-based management, and service control policies (SCPs) to control access and permissions across member accounts.
AWS STS (Security Token Service): AWS STS provides temporary security credentials that can be used to access resources in other AWS accounts. By using STS, you can generate temporary credentials with limited permissions and assume roles in different accounts.
Cross-Account Roles for Amazon S3: Amazon S3 supports cross-account access through bucket policies and IAM roles. By defining bucket policies and granting cross-account permissions, you can allow specific AWS accounts to access and interact with S3 buckets in another account.
Cross-Account VPC Peering: VPC peering allows you to connect VPCs in different AWS accounts. This enables resources within the peered VPCs to communicate with each other as if they were on the same network.
When implementing cross-account support, it's important to carefully manage permissions and security to ensure proper access controls and protect sensitive data. Proper configuration and adherence to AWS security best practices are crucial for maintaining a secure and well-organized multi-account environment.
To enable cross-account support using Terraform, you can follow these steps:
Step 1: Create an IAM role in the source account:
Define an IAM role in the source account that will have the necessary permissions to access resources in the target account.
Create an IAM policy that defines the required permissions for the role.
Attach the IAM policy to the role.
Step 2: Assume the IAM role in the target account:
In the target account, define an IAM role that allows the source account to assume the role.
Create an IAM policy that grants permissions to the assumed role.
Attach the IAM policy to the assumed role.
Step 3: Use Terraform to provision resources in the target account:
Configure the AWS provider in Terraform with the access key and secret key of the IAM user in the source account.
Define the provider block for the target account, specifying the role ARN of the assumed role in the target account.
Use the provider alias to differentiate between the source account and the target account in your Terraform configuration.
Here's an example Terraform code snippet to illustrate the setup:
Configure the source account provider
provider "aws" {
region     = "us-west-2"
access_key = "SOURCE_ACCOUNT_ACCESS_KEY"
secret_key = "SOURCE_ACCOUNT_SECRET_KEY"
}
Configure the target account provider
provider "aws" {
region     = "us-west-2"
alias      = "target"
assume_role {
role_arn = "arn:aws:iam::TARGET_ACCOUNT_ID:role/TARGET_ROLE_NAME"
}
}
Create a resource in the target account
resource "aws_instance" "example" {
provider = aws.target
ami           = "ami-12345678"
instance_type = "t2.micro"
...
}
In the above code snippet, replace SOURCE_ACCOUNT_ACCESS_KEY and SOURCE_ACCOUNT_SECRET_KEY with the access key and secret key of the IAM user in the source account. Also, replace TARGET_ACCOUNT_ID with the ID of the target AWS account and TARGET_ROLE_NAME with the name of the assumed role in the target account.
By using separate provider blocks and specifying the provider alias (aws.target in this example), you can provision resources in the target account while authenticating using the IAM role from the source account.
Remember to authenticate and configure Terraform with appropriate AWS credentials before running the Terraform commands. You can use the terraform init, terraform plan, and terraform apply commands to initialize the project, plan the changes, and apply the configuration to provision resources in the target account.
Note: Ensure that the necessary trust relationships and IAM policies are properly configured in both the source and target accounts to allow cross-account access.
Please adapt the code snippet to your specific requirements and modify the IAM roles and policies accordingly. Make sure to follow best practices and security guidelines when implementing cross-account access.


OCPQE-20409 Phase I add Sippy API client and unit tests

Add API client with following features

HTTP client to send Get request and support retry strategy
URL parameter builder

add default values for some params

Sippy filter builder to populate filter object list with unit (field, operator, value)
DatetimePicker to get a datetime as endtime
StartEndTimePicker to get from-to time range for component readiness query

Unit test result
Running tests (unittest): /Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy
Running tests: /Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy::test_health_check
/Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy::test_query_component_readiness
/Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy::test_query_jobs_by_currentruns_and_variants
/Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy::test_query_jobs_by_name
/Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy::test_query_tests
/Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy::test_query_variant
/Users/rio.liu/coderepo/release-tests/tests/test_sippy.py::TestSippy::test_start_end_time_picker
./test_sippy.py::TestSippy::test_health_check Passed

./test_sippy.py::TestSippy::test_query_component_readiness Passed

./test_sippy.py::TestSippy::test_query_jobs_by_currentruns_and_variants Passed

./test_sippy.py::TestSippy::test_query_jobs_by_name Passed

./test_sippy.py::TestSippy::test_query_tests Passed

./test_sippy.py::TestSippy::test_query_variant Passed

./test_sippy.py::TestSippy::test_start_end_time_picker Passed

Total number of tests expected to run: 7
Total number of tests run: 7
Total number of tests passed: 7
Total number of tests failed: 0
Total number of tests failed with errors: 0
Total number of tests skipped: 0

Finished running tests!

https://privatebin.corp.redhat.com/?43fd68042616ae2e#Crtqa2mopbWYy1bqdVWVbAZMHhauJgL43xcuUFL33ixF

/assign @jianzhangbjz @kuiwang02 @ming1013

UPDATE
add api call support for variant query, we can filter different variants with name and compare previous/current pass_percentage to determine whether the variant status is green

 unit test result
$ py -m unittest test_sippy.TestSippy.test_query_variant
2024-04-01T11:10:50Z: DEBUG: Starting new HTTPS connection (1): sippy.dptools.openshift.org:443
2024-04-01T11:10:51Z: DEBUG: https://sippy.dptools.openshift.org:443 "GET /api/variants?release=4.16 HTTP/1.1" 200 None
2024-04-01T11:10:51Z: INFO: name: compact
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 0
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 50

2024-04-01T11:10:51Z: INFO: name: osd
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 0
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 0

2024-04-01T11:10:51Z: INFO: name: never-stable
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 3.9087947882736156
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 3.225806451612903

2024-04-01T11:10:51Z: INFO: name: single-node
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 27.61904761904762
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 48.24561403508772

2024-04-01T11:10:51Z: INFO: name: s390x
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 32.394366197183096
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 46.96969696969697

2024-04-01T11:10:51Z: INFO: name: metal-ipi
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 38.25503355704698
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 40.76086956521739

2024-04-01T11:10:51Z: INFO: name: serial
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 51.333333333333336
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 55.0408719346049

2024-04-01T11:10:51Z: INFO: name: libvirt
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 52.51798561151079
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 65.57377049180327

2024-04-01T11:10:51Z: INFO: name: openstack
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 59.09090909090909
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 61.36363636363637

2024-04-01T11:10:51Z: INFO: name: proxy
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 60.869565217391305
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 79.16666666666667

2024-04-01T11:10:51Z: INFO: name: metal-assisted
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 66.66666666666667
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 88.88888888888889

2024-04-01T11:10:51Z: INFO: name: vsphere-ipi
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 67.41573033707866
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 74.07407407407408

2024-04-01T11:10:51Z: INFO: name: metal-upi
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 67.6470588235294
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 76.47058823529412

2024-04-01T11:10:51Z: INFO: name: aggregated
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 68.90243902439025
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 60.869565217391305

2024-04-01T11:10:51Z: INFO: name: azure
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 69.78527607361963
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 68.10457516339869

2024-04-01T11:10:51Z: INFO: name: arm64
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 70.52631578947368
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 71.30434782608695

2024-04-01T11:10:51Z: INFO: name: vsphere-upi
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 72.41379310344827
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 55.88235294117647

2024-04-01T11:10:51Z: INFO: name: ppc64le
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 73.52941176470588
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 87.5

2024-04-01T11:10:51Z: INFO: name: sdn
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 73.9251040221914
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 74.7675962815405

2024-04-01T11:10:51Z: INFO: name: upgrade-micro
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 75.16170763260025
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 72.37991266375546

2024-04-01T11:10:51Z: INFO: name: ovn
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 75.65324316015985
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 74.62728551336146

2024-04-01T11:10:51Z: INFO: name: gcp
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 76.12612612612612
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 65.7516339869281

2024-04-01T11:10:51Z: INFO: name: amd64
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 76.61971830985915
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 75.24082270242124

2024-04-01T11:10:51Z: INFO: name: ha
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 76.63478935125356
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 75.36957558416786

2024-04-01T11:10:51Z: INFO: name: upgrade
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 76.94704049844236
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 70.4201680672269

2024-04-01T11:10:51Z: INFO: name: techpreview
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 77.03703703703704
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 69.94219653179191

2024-04-01T11:10:51Z: INFO: name: realtime
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 77.62237762237763
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 47.593582887700535

2024-04-01T11:10:51Z: INFO: name: upgrade-minor
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 78.60576923076923
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 68.35443037974683

2024-04-01T11:10:51Z: INFO: name: aws
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 80.44308632543927
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 82.88948069241012

2024-04-01T11:10:51Z: INFO: name: fips
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 83.53510895883777
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 87.22741433021807

2024-04-01T11:10:51Z: INFO: name: hypershift
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 84.30493273542601
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 87.79527559055119

2024-04-01T11:10:51Z: INFO: name: assisted
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 93.33333333333333
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 88.88888888888889

2024-04-01T11:10:51Z: INFO: name: etcd-scaling
2024-04-01T11:10:51Z: INFO: current_pass_percentage: 100
2024-04-01T11:10:51Z: INFO: previous_pass_percentage: 80

Ran 1 test in 0.856s

OK

/approve


Remove test dependency on notepad.exe

The other usage was already removed in ee0d5b1115d28e7672e8d64a0a45229093f0fbdf
This change removes some tests that I believe were never finished.
Closes #277

The test that failed is Microsoft.Build.UnitTests.GenerateResource_Tests.InProc.RequiredTransformations.NothingOutOfDateExceptReference.  This test is flaky since its using timestamps :(
AccessDenied wasn't actually testing anything related to ACLs so I assumed it wasn't finished...

@dotnet-bot test Windows_NT Build for CoreCLR  please


pulseaudio nixos: do not force start pulseaudio.service and use upstream units

Motivation for this change
Currently, systemd will spawn a pulseaudio.service for each user when the user logs on interactively because we are unconditionally starting it.
This is bad.
"each user" above also means "root".
This is very bad.
What we should do instead is to socket activate it so it is only started when needed.
The PR does the following:

Removes the loading of the service by default.target.
Uses the unit files from upstream instead of defining our own.

I have left in 2 NixOS custom config directives, so the configuration should be the same as when we were providing our own.
I don't know what the purpose is of setting DISPLAY in the service environment, but I left it in to avoid changing too many things at the same time.
This PR works perfectly fine under KDE5, but I am yet to test it out with XFCE.
Things done

[X] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

DISPLAY: https://github.com/NixOS/nixpkgs/pull/15840

Did you not add these changes yourself in the past? https://github.com/NixOS/nixpkgs/pull/14395

I did indeed add those changes. #14395 enabled pulseaudio to run as a proper systemd user service which is perfectly fine. Always running it however, is not so fine...
As for the DISPLAY part, I don't think we need this - the solution to the error in #15840 is not to set the variable as the pulseaudio service should never be spawning dbus. That however is no longer relevant when it is run from systemd.

+1 for using upstream definitions if they work. I hope this doesn’t break e.g. zeroconf audio streaming, but I don’t have any time to check unfortunately.

The upstream units are identical to the ones we define so I don't foresee any breakage.

@fpletz merge?


EU banned materials or restricted materials

It would be sweet if there would be an equivalent to the IFRA for EU banned or restricted materials to use.
So that would also be an integrated part of the software solution.
Also, if it would be possible to add addendums to the 49th ifra restriction added, so adding the 50th to the already existing ifra added.

Not a bug.
Please refer to https://www.jbparfum.com/knowledge-base/


lib: expose lib.cli namespace to lib

Description of changes

These two functions are heavily underused, and I often see them reimplemented in modules which want to generate args based on the module settings. I believe one of the contributing factors to this could be that they aren't exposed to lib directly. And I see no reason why they should not be.
I've tested that this successfully implements the desired behaviour, by loading the flake in the nix repl and using lib.toGNUCommandLine.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

A name like toGNUCommandLine might seem specific enough that this shouldn't be a problem, but another feature of having "sublibraries" like this is that we can redesign parts of the library without breaking everything that depends on it. If we have reasons to write a cli2 or shellargs sublibrary, those will be on the same level as cli. Unlike, say, lists it has quite some design freedom.
I also don't believe the syntax is a problem, so I agree with @infinisil.
let
  inherit (lib) attrNames;
  inherit (lib.cli) toGNUCommandLine;

or if with is your thing (not me):
with lib;
with lib.cli;

or if you like the "single with" rule:
with lib // lib.cli;


Latest release only includes amd64 binaries

Even though the README lists several architectures, the release page only has the amd64 binaries :)

oh thanks I will fix the readme


Does not work

This script does not block youtubes adblock detection pop up using tampermonkey. This is on Chrome browser. I've tried relaunching the browser.

and the readme does not explain how it prevents your account from being blocked if they detect it a number of times
so people are left with an account that cant play back anything :-(