Chain Extension Suite

Project Abstract
Our project focuses on bridging the gap between the Substrate runtime and smart contracts in ink! through the development of the Chain Extension Suite. The primary objective is to automate and streamline the process of exposing runtime methods to smart contracts, addressing the challenges developers face due to the intricacies of low-level communication. The Chain Extension Suite, accompanied by an auto-generating CLI tool, is crafted to simplify this process, reduce boilerplate code, and accelerate the development cycle.
Grant level

[ ] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $30,000, 3 approvals
[x] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (chain-extension-suite.md).
[x] I have read the application guidelines.
[x] Payment details have been provided
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[ ]  I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

Thanks @deep-ink-ventures for the application. The suite would be nice to have, but I will say though that the cost seems pretty high to me, especially considering that we've already paid out 200k to your team for various grants. Did you already try getting treasury funding for this? Since your referendum passed for the hookpoints-cli perhaps the community would be willing to fund this project as well.

Thanks for the Feedback.
We are confused about the nature of this grant structure: Our understanding was that the w3f grant program is for bringing infrastructure, libraries and other reusable building blocks to the polkadot / substrate ecosystem - which is why we thought this is a good fit. Especially because it's unrelated to Genesis Dao and we can keep the things in separate lanes.
Isn't that the case anymore and everything should be go to opengov and if so what kind of grants are you looking for.
Whenever we notice things that are lacking or where we struggled with because of missing tooling, we try to conceptualize it as abstract as possible and to find a solution that helps the ecosystem and this is what we have done here as well.

Got ya. Are you up for a quick call to see if there's room for either a smaller price tag or a bigger scope?

@deep-ink-ventures sure thing, feel free to book a slot: https://calendar.app.google/osmD7mQtxyHoBr6o8

Booked :)

@keeganquigley Did you have time to take a look?

Hi @deep-ink-ventures are you intending to make further changes to address the above comments?

Yep. We had corona running the team, will update by eow!

Went through it, but didn't get all questions and asked for more details.

@deep-ink-ventures I added follow-up comments. LMK if you have further questions.

@deep-ink-ventures, are you still planning to submit changes? It seems as if there are still some open questions to be addressed.

Yes! One of our rust devs is getting at this, but he came back from xmas vacation with a cold. We'll finish it this week!

pinging @deep-ink-ventures

Hey Sebastian, thanks for pinging again. I'm closing it for now so you have it from your list and then we'll reopen it. We are currently in talks with some projects that might want to use it and this might a) give a better argument on why approving this grant and b) might alter the requirements a bit.


Add transcoder for stake transaction metadata. Add support for approve component for this new txn type.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #290

PR #291

PR #292

PR #293   👈

This stack of pull requests is managed by Graphite.


A15 Version?

Is it possible to get an alpha15 version?

Yes, here -> https://www.dropbox.com/s/z4sh4v5yc5ercrk/BetterPawnControl_v1.1.0.zip?dl=0


karma not in sync with build.test.watch on Windows

We're having problems with karma re-running before build.test has completed. We initially thought it was our 'fork' but tested it on the seed and get the same behavior.

Would you provide more details for this issue?

npm run build.test.watch      # 1st window
npm run karma.start  # 2nd window
make a change to a ts file and save. build.test runs automatically again, karma runs and reports 0 tests

Thanks for the feedback! We'll take a look at this as soon as possible.

@dodoshanti this issue should be fixed by https://github.com/mgechev/angular2-seed/tree/fix-551

This could be due to autoWatchBatchDelay config property in karma.conf.js.
It defaults to 250ms, that might be not enough.

@ludohenin yeah, playing with the issue I found that:

Change in files is detected
The build task removes the files from dist
Karma detects changes
Karma runs tests
Files are being transpiled

In the end there's missing karma call.
@dodoshanti would you try if autoWatchBatchDelay fixes your issue?

@mgechev @ludohenin We did try autoWatchBatchDelay  but it didn't work.
Will try the fix

Fix-551 works but introduces 2 minor issues:

no tests are run at first pass until you edit a ts file
can't debug in chrome as window opens and closes

I've tried setting up autoWatchBatchDelay: 3000 and it does work.
The only thing is it executes the test twice:

once with no test (files have just been deleted)
2nd time is OK

Looks like this might be an issue with our setup cause that setting does not make any difference.
I suppose you can close the issue.
Thanks!


Feature request: override input stringification

Often times, we want inputs to correspond to arrays of command line arguments (not just single strings). For example, I might want to run
foo --arg1 bar baz --arg2 doo
with the following configuration dict:
inputs:
  arg1: bar baz
  arg2: doo
script:
  - foo --arg1 $arg1 --arg2 $arg2

However, this is incompatible with Canine, since any inputs that contain spaces will be wrapped in single quotes by the stringification here:
https://github.com/broadinstitute/canine/blob/bdd42083cef0def94a5c53fd3be9b859a1200a07/canine/orchestrator.py#L118
and thus Canine will dispatch my job like so
foo --arg1 'bar baz' --arg2 doo

which will break many tools out there that expect --arg1 to be a space-delimited list of multiple arguments, e.g. anything using Python's argparse module:
argparse.ArgumentPareser().add_argument("arg1", nargs = "+")
This will also break things if inputs are being used to put together arbitrary chunks of command line. Qing ran into the following:

I have gatk: gatk --java-options -Xmx10g, which Canine will translate into export gatk="'gatk --java-options ....'". and it cannot find 'gatk

I think this would be best controlled in the override section — if the localization type is None, then prepare_job_inputs should strip any stringification-added wrapping single quotes here:
https://github.com/broadinstitute/canine/blob/bdd42083cef0def94a5c53fd3be9b859a1200a07/canine/localization/base.py#L477-L480
This is consistent with how the "null" type localization is already described in the Canine docs, i.e.

null: Forces the input to be treated as a plain string. No handling whatsoever will be applied to the input.

What do you think?

So right now, this actually occurs in localization, when the setup script is put together:
https://github.com/broadinstitute/canine/blob/master/canine/localization/base.py#L539
The stringify step is not responsible for quoting, it just makes sure that objects are strings, so in this case, no effect. I'm not opposed to changing the quoting so that the null override is not quoted, but default handling and other overrides still get quoted.  Does that sound okay?

@julianhess Actually, I'm thinking that maybe these quotes are also redundant? Like, just use shlex.quote or nothing for the null override:
https://github.com/broadinstitute/canine/blob/bdd42083cef0def94a5c53fd3be9b859a1200a07/canine/localization/base.py#L537

Fixed: now the double-quoting is fixed. The null override is not necessary


Fix duplicate authors

Description
The problem was that the .dockstore.yml authors weren't overriding the descriptor authors properly in the scenario where the .dockstore.yml only contained ORCID authors, resulting in a version with .dockstore.yml authors and descriptor authors. The expected behaviour is that descriptor authors are ignored if there are .dockstore.yml authors present.
From first glance, the fix would've been to also check whether version.getOrcidAuthors was empty before adding descriptor authors to the version in the language handlers. I realized that the existing logic wasn't working as expected because it assumes that version.getAuthors only contains non-ORCID .dockstore.yml authors, which isn't true because it can also contain descriptor authors.
This PR moves the "overriding" logic outside out the workflow language handlers. It lets the handlers add descriptor authors to the version if they exist, then later on, we replace the version authors with .dockstore.yml authors if they're present. I think this is a cleaner way to do it because the language handlers don't need to worry about figuring out if they should add descriptor authors.
Issue
#4888
Please make sure that you've checked the following before submitting your pull request. Thanks!

[ ] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future

I like this PR, it's a nice, globally-oriented, forward-looking improvement.  IMHO, in general, the language handlers should care as little about the contents of .dockstore.yml as possible.

I had to cherry-pick some things from develop to the hotfix branch for the tests to pass (see updated PR for the cherry-picked commits).


Reusing ExoPlayer with Rtmp streams is crashing the app

I have an ExoPlayer with Surface view on my MainActivity and I'm trying to switch between multiple Rtmp Stream directly from the MainActivity.
The initial Rtmp Stream works as expected but whenever I try to switch to a new Rtmp Stream it crashes on me.
This is the code used for both playing the first stream/video & switching to different stream/video.
public void preparePlayer(Context context, Uri uri, VideoStreamingType videoStreamingType) {
        if (mRendererBuildingState == RENDERER_BUILDING_STATE_BUILT) {
            stopVideo();
        }
        mPlayerNeedsPrepare = true;
        mVideoUri = uri;
        mRendererBuilder = getRenderer(context, uri, videoStreamingType);
        if (mPlayerNeedsPrepare) {
            prepare();
            mPlayerNeedsPrepare = false;
        }
        mExoPlayer.setPlayWhenReady(true);
    }

public void prepare() {
        mVideoFormat = null;
        mVideoRenderer = null;
        mRendererBuildingState = RENDERER_BUILDING_STATE_BUILDING;
        maybeReportPlayerState();
        mRendererBuilder.buildRenderers(this, mMediaCodecAudioVideoTrackRendererEventListener);
    }

public void stopVideo() {
        mRendererBuilder.cancel();
        mExoPlayer.stop();
        mExoPlayer.seekTo(0L);
    }

getRenderer() provides me ExtractorRendererBuilder class that you modified on the integration of this Library and ExoPlayer if I'm passing in a link for rtmp stream.
I tested switching between normal videos (mp4, webM, mkv) and hls stream videos they work as expected no crashes so far.
Could you help me find a solution for this issue ?

I think the problem may be about closing the rtmp connection, if you want
to open another connection without closing the previous one, it may throw
an exception. So let me ask you, are you sure you close the previous rtmp
connection while switching?
On Sun, Feb 21, 2016 at 7:26 PM, Bikrant Tripathi<EMAIL_ADDRESS>wrote:

I have an ExoPlayer with Surface view on my MainActivity and I'm trying to
switch between multiple Rtmp Stream directly from the MainActivity.
The initial Rtmp Stream works as expected but whenever I try to switch to
a new Rtmp Stream it crashes on me.
This is the code used for both playing the first stream/video & switching
to different stream/video.
public void preparePlayer(Context context, Uri uri, VideoStreamingType videoStreamingType) {
if (mRendererBuildingState == RENDERER_BUILDING_STATE_BUILT) {
stopVideo();
}
mPlayerNeedsPrepare = true;
mVideoUri = uri;
mRendererBuilder = getRenderer(context, uri, videoStreamingType);
if (mPlayerNeedsPrepare) {
prepare();
mPlayerNeedsPrepare = false;
}
mExoPlayer.setPlayWhenReady(true);
}
public void prepare() {
mVideoFormat = null;
mVideoRenderer = null;
mRendererBuildingState = RENDERER_BUILDING_STATE_BUILDING;
maybeReportPlayerState();
mRendererBuilder.buildRenderers(this, mMediaCodecAudioVideoTrackRendererEventListener);
}
public void stopVideo() {
mRendererBuilder.cancel();
mExoPlayer.stop();
mExoPlayer.seekTo(0L);
}
getRenderer() provides me ExtractorRendererBuilder class that you
modified on the integration of this Library and ExoPlayer
https://github.com/ButterflyTV/ExoPlayer-with-RTMP-and-FLV-seek/blob/master/demo/src/main/java/com/google/android/exoplayer/demo/player/ExtractorRendererBuilder.java
if I'm passing in a link for rtmp stream.
I tested switching between normal videos (mp4, webM, mkv) and hls stream
videos they work as expected no crashes so far.
Could you help me find a solution for this issue ?
—
Reply to this email directly or view it on GitHub
https://github.com/ButterflyTV/LibRtmp-Client-for-Android/issues/2.

Thanks for replying back.
I thought closing the rtmp connection was supposed to be ExoPlayer's task, meaning when I call mExoPlayer.stop() .
Although, as you said because I was not closing the previous rtmp connection myself assuming that ExoPlayer would do that for me lead to the instantly crash when trying to switch to another video.
I made one change on the ExtractorRendererBuilder cancel() method and it did fixed the instant crash but whenever I tried to touch any thing in the UI it crashes because of this change.
I'm calling the Renderer's cancel() method  from the stopVideo() method of the player as you can see on the first comment.
    @Override
    public void cancel() {
        if (mDataSource instanceof RtmpDataSource) {
            try {
                mDataSource.close();
            } catch (IOException e) {
                e.printStackTrace();
           }
       }
    }

Could you please send the logcat output and paste your code?
On Mon, Feb 22, 2016 at 5:14 PM, Bikrant Tripathi<EMAIL_ADDRESS>wrote:

Thanks for replying back.
I thought closing the rtmp connection was supposed to be ExoPlayer's task,
meaning when I call mExoPlayer.stop() .
Although, as you said because I was not closing the previous rtmp
connection myself assuming that ExoPlayer would do that for me lead to the
instantly crash when trying to switch to another video.
I made one change on the ExtractorRendererBuilder cancel() method and it
did fixed the instant crash but whenever I tried to touch any thing in the
UI it crashes because of this change.
I'm calling the Renderer's cancel() method from the stopVideo() method of
the player as you can see on the first comment.
@Override
public void cancel() {
    if (mDataSource instanceof RtmpDataSource) {
        try {
            mDataSource.close();
        } catch (IOException e) {
            e.printStackTrace();
       }
   }
}

—
Reply to this email directly or view it on GitHub
https://github.com/ButterflyTV/LibRtmp-Client-for-Android/issues/2#issuecomment-187224646
.

Here is the logcat output. The crash reliably happens during the init sequence after onPlayWhenReadyCommitted is called.
02-22 13:55:41.586 12487-12487/com.exoplayer.videoplayer D/VideoPlayer: onPlayWhenReadyCommitted 02-22 13:55:43.180 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:55:44.181 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:55:45.182 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:55:46.182 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:55:47.183 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:55:48.183 5027-5027/? W/Atfwd_Sendcmd: AtCmdFwd service not published, waiting... retryCnt : 2 02-22 13:55:58.184 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:55:59.184 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:56:00.185 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:56:01.185 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:56:02.110 12487-15487/com.exoplayer.videoplayer A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x10 in tid 15487 (Loader:Extracto) 02-22 13:56:02.111 12487-14611/com.exoplayer.videoplayer W/MessageQueue: Handler (com.google.android.exoplayer.upstream.Loader$LoadTask) {9a5ad5a} sending message to a Handler on a dead thread                                                                          java.lang.IllegalStateException: Handler (com.google.android.exoplayer.upstream.Loader$LoadTask) {9a5ad5a} sending message to a Handler on a dead thread                                                                              at android.os.MessageQueue.enqueueMessage(MessageQueue.java:543)                                                                              at android.os.Handler.enqueueMessage(Handler.java:631)                                                                              at android.os.Handler.sendMessageAtTime(Handler.java:600)                                                                              at android.os.Handler.sendMessageDelayed(Handler.java:570)                                                                              at android.os.Handler.sendEmptyMessageDelayed(Handler.java:534)                                                                              at android.os.Handler.sendEmptyMessage(Handler.java:519)                                                                              at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:218)                                                                              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)                                                                              at java.util.concurrent.FutureTask.run(FutureTask.java:237)                                                                              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)                                                                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)                                                                              at java.lang.Thread.run(Thread.java:818) 02-22 13:56:02.186 5027-5027/? I/ServiceManager: Waiting for service AtCmdFwd... 02-22 13:56:02.215 509-509/?  A/DEBUG: Build fingerprint: 'google/angler/angler:6.0.1/MMB29Q/2480792:user/release-keys' 02-22 13:56:02.215 509-509/? A/DEBUG: Revision: '0' 02-22 13:56:02.215 509-509/? A/DEBUG: ABI: 'arm64' 02-22 13:56:02.216 509-509/? A/DEBUG: pid: 12487, tid: 15487, name: Loader:Extracto  >>> com.exoplayer.videoplayer <<< 02-22 13:56:02.216 509-509/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x10 02-22 13:56:02.235 509-509/? A/DEBUG:     x0<PHONE_NUMBER>000004  x1   0000007f6f7beb72  x2<PHONE_NUMBER>00000e  x3<PHONE_NUMBER>000000 02-22 13:56:02.235 509-509/? A/DEBUG:     x4<PHONE_NUMBER>000000  x5<PHONE_NUMBER>000000  x6<PHONE_NUMBER>000080  x7   ff646c606d2c6efe 02-22 13:56:02.236 509-509/? A/DEBUG:     x8<PHONE_NUMBER>0000ce  x9   ff0972241f397224  x10  7f7f7f7f7f7f7f7f  x11<PHONE_NUMBER>010101 02-22 13:56:02.236 509-509/? A/DEBUG:     x12<PHONE_NUMBER>000038  x13<PHONE_NUMBER>00001e  x14<PHONE_NUMBER>000001  x15<PHONE_NUMBER>000001 02-22 13:56:02.236 509-509/? A/DEBUG:     x16  0000007f8a3d16b0  x17  0000007f8a363e6c  x18<PHONE_NUMBER>00001e  x19<PHONE_NUMBER>000010 02-22 13:56:02.236 509-509/? A/DEBUG:     x20<PHONE_NUMBER>000000  x21  00000000ffffffc2  x22  0000007f6f7beb72  x23<PHONE_NUMBER>000006 02-22 13:56:02.236 509-509/? A/DEBUG:     x24  0000007f6f7beb40  x25  0000007f6f7f5000  x26  0000007f6f7beb80  x27<PHONE_NUMBER>000000 02-22 13:56:02.236 509-509/? A/DEBUG:     x28<PHONE_NUMBER>000000  x29  000000006fc500e0  x30  0000007f71ed8088 02-22 13:56:02.236 509-509/? A/DEBUG:     sp   0000007f6f7bea30  pc   0000007f71ed8004  pstate<PHONE_NUMBER>000000 02-22 13:56:02.244 509-509/? A/DEBUG:     #00 pc<PHONE_NUMBER>006004  /data/app/com.exoplayer.videoplayer-2/lib/arm64/librtmp-jni.so (RTMP_SendPacket+948) 02-22 13:56:02.244 509-509/? A/DEBUG:     #01 pc<PHONE_NUMBER>0079e0  /data/app/com.exoplayer.videoplayer-2/lib/arm64/librtmp-jni.so (RTMP_SendCtrl+224) 02-22 13:56:02.244 509-509/? A/DEBUG:     #02 pc<PHONE_NUMBER>00a1b0  /data/app/com.exoplayer.videoplayer-2/lib/arm64/librtmp-jni.so (RTMP_ClientPacket+1548) 02-22 13:56:02.244 509-509/? A/DEBUG:     #03 pc<PHONE_NUMBER>00a358  /data/app/com.exoplayer.videoplayer-2/lib/arm64/librtmp-jni.so (RTMP_ConnectStream+160) 02-22 13:56:02.245 509-509/? A/DEBUG:     #04 pc<PHONE_NUMBER>003c88  /data/app/com.exoplayer.videoplayer-2/lib/arm64/librtmp-jni.so (Java_net_butterflytv_rtmp_1client_RtmpClient_open+128) 02-22 13:56:02.245 509-509/? A/DEBUG:     #05 pc<PHONE_NUMBER>5eaeb0  /data/app/com.exoplayer.videoplayer-2/oat/arm64/base.odex (offset 0x3a1000) (int net.butterflytv.rtmp_client.RtmpClient.open(java.lang.String, boolean)+164) 02-22 13:56:02.245 509-509/? A/DEBUG:     #06 pc<PHONE_NUMBER>7fbccc  /data/app/com.exoplayer.videoplayer-2/oat/arm64/base.odex (offset 0x3a1000) (long com.exoplayer.videoplayer.player.datasource.RtmpDataSource.open(com.google.android.exoplayer.upstream.DataSpec)+144) 02-22 13:56:02.245 509-509/? A/DEBUG:     #07 pc<PHONE_NUMBER>756608  /data/app/com.exoplayer.videoplayer-2/oat/arm64/base.odex (offset 0x3a1000) (void com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load()+300) 02-22 13:56:02.245 509-509/? A/DEBUG:     #08 pc<PHONE_NUMBER>5cfa30  /data/app/com.exoplayer.videoplayer-2/oat/arm64/base.odex (offset 0x3a1000) (void com.google.android.exoplayer.upstream.Loader$LoadTask.run()+692) 02-22 13:56:02.245 509-509/? A/DEBUG:     #09 pc<PHONE_NUMBER>31a3d0  /data/dalvik-cache/arm64/system<EMAIL_ADDRESS>(offset 0x1ed8000) 02-22 13:56:02.483 919-16106/? W/ActivityManager:   Force finishing activity com.exoplayer.videoplayer/.MainActivity

So the error from above happens when switching video streams. I found that the RtmpClient takes too long to close down (and seems to be doing so asynchronously) when the ExoPlayer releases. I have to put in a multiple-second delay between releasing the ExoPlayer (and closing the RtmpClient) and re-launching the ExoPlayer. Otherwise, it seems that the RtmpClient is "corrupted" some how on the ExoPlayer re-initialization and the read errors from above show up reliably to kill the app.

Hi,
I take a look at the logcat output and read your last comments. It seems
that rtmp client can handle one connection at a time. Opening a new
connection without closing the previous one causes this error. I think we
can fix it. Do you need this feature urgently? or I can tell how to do that
if you want to make it with your ownself.
On Tue, Feb 23, 2016 at 5:43 PM, Shaun Gerner<EMAIL_ADDRESS>wrote:

So the error from above happens when switching video streams. I found that
the RtmpClient takes too long to close down (and seems to be doing so
asynchronously) when the ExoPlayer releases. I have to put in a
multiple-second delay between releasing the ExoPlayer (and closing the
RtmpClient) and re-launching the ExoPlayer. Otherwise, it seems that the
RtmpClient is "corrupted" some how on the ExoPlayer re-initialization and
the read errors from above show up reliably to kill the app.
—
Reply to this email directly or view it on GitHub
https://github.com/ButterflyTV/LibRtmp-Client-for-Android/issues/2#issuecomment-187754663
.

Hi Mekya,
Thank you for replying! I was hoping to get it working by the middle of next week at the latest, so it is not too urgent. The sample app I have does release the ExoPlayer and close the RtmpClient before it attempts to open the next stream. However, I get those intermittent crash errors popping up, which leads me to believe there is something not getting cleaned up, I'm not sure though. I will get you access so you can check it out. If you didn't get the github invite, please let me know.
By the way, I had to modify the rtmp-client build.gradle file as follows to allow lower end devices to not crash since I need to support down to API 16.
android {
compileSdkVersion = 19
buildToolsVersion = "19.1"
    defaultConfig.with {
       // applicationId = "net.butterflytv.rtmp_client"
        minSdkVersion.apiLevel = 16
        targetSdkVersion.apiLevel = 19
        versionCode = 1
        versionName = "0.1.1"
    }
}

That problem and solution (back down to API 19) is explained here:
http://stackoverflow.com/questions/28504875/android-ndk-cannot-load-libc-shared-so-gets-cannot-locate-symbol-rand-refe

I got the github invite. thank you.
yeah you are right about the rtmp-client build.gradle. Yesterday, one guy
told me this issue and we have fixed that by making  compileSdkVersion 16.
https://github.com/ButterflyTV/LibRtmp-Client-for-Android/blob/master/rtmp-client/build.gradle
new version is 0.2.1
compile 'net.butterflytv.utils:rtmp-client:0.2.1'
On Wed, Feb 24, 2016 at 4:46 PM, Shaun Gerner<EMAIL_ADDRESS>wrote:

Hi Mekya,
Thank you for replying! I was hoping to get it working by the middle of
next week at the latest, so it is not too urgent. The sample app I have
does release the ExoPlayer and close the RtmpClient before it attempts to
open the next stream. However, I get those intermittent crash errors
popping up, which leads me to believe there is something not getting
cleaned up, I'm not sure though. I will get you access so you can check it
out. If you didn't get the github invite, please let me know.
By the way, I had to modify the rtmp-client build.gradle file as follows
to allow lower end devices to not crash since I need to support down to API
16.
android {
compileSdkVersion = 19
buildToolsVersion = "19.1"
defaultConfig.with {
   // applicationId = "net.butterflytv.rtmp_client"
    minSdkVersion.apiLevel = 16
    targetSdkVersion.apiLevel = 19
    versionCode = 1
    versionName = "0.1.1"
}

}
That problem and solution (back down to API 19) is explained here:
http://stackoverflow.com/questions/28504875/android-ndk-cannot-load-libc-shared-so-gets-cannot-locate-symbol-rand-refe
—
Reply to this email directly or view it on GitHub
https://github.com/ButterflyTV/LibRtmp-Client-for-Android/issues/2#issuecomment-188284539
.

I am closing this issue.
Native library is compiled with sdk level16 with 0.2.1 version

I have come across the exact same problem. I am using Toro Library. Whenever I put a few seconds delay between the initialising and the playing it works, however very unstable. The error from logcat is the same as the one from @shroge . Toro: 3.1.0 ExoPlayer 2.5.1
Any idea on resolving this issue?
Thanks

Is it possible to share some source code for me in order to create the test environment quickly?

It actually works with the newest version of Exoplayer. Thanks anyway

Yeah we have fixed a bug about this issue and afaik exoplayer uses that version in the new release.


python3 add version 3.12.2

Library name
python3
New version number
3.12.2
Other information that may be useful (release notes, etc...)
https://www.python.org/downloads/release/python-3122/

On VCPKG we are at version 3.11.8#4 as for today which is around 7 months old. Latest Python version is 3.12.5.

We soon need to provide binaries with python 3.12 as a dependency. Is there anything blocking us from upgrading to 3.12?


Use upath

with the new upath module we do not need to do the normalization by ourselfs.
So i deleted the replace part

@johnspackman can you merge this? for some reason, I can't.


Try more minimal packages

Oh, scheme-minimal seems to be required in our case. We need to investigate.


The cell files should be cloned from samples repo.

Description:
At the moment, cell files are committed to the repo under https://github.com/wso2-cellery/cellery-automation-scripts/tree/master/integration-tests/test-cases/cells directory. This is wrong as we are maintaining two copies of the same .bal file.
Therefore these resources should be cloned from cellery/samples repo at the runtime.
Suggested Labels:
Improvement
Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Closing since resolved


Update overview.md

Per details on https://jairocadena.com/2016/11/08/how-sso-works-in-windows-10-devices/comment-page-1/#comment-1991 adding additional caveats to the hybrid join details.  Added note below hybrid Azure AD join state and PRT info in resource access section.

@John-Gallagher-JPG : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


warning: absolute value function 'labs' given an argument of type 'int64_t'

I am trying to compile the library for an embedded system based on an ARM Cortex A7.
I have not been able to compile the project yet due to several errors that I have to fix to complete the port.
In particular, I noticed this warning:

The labs and llabs functions are defined as follows:
long labs (long);
long long llabs (long long);
Where the long type has a size of 4 bytes.
Any suggestions?

Hello @parmi93, thanks for reporting. Indeed the utils_intToText has an int64_t input and provides it to labs(long) which truncates the value on a 32bit machine.
This should have been caught by the unit tests. However the test never reaches this line with a value which actually gets truncated. I'll prepare a fix for that.

Thanks to both of you!


Top-level service accessors are broken (TypeError: this.ensureApp(...).auth is not a function)

[READ] Step 1: Are you in the right place?
This is a bug report.
[REQUIRED] Step 2: Describe your environment

Operating System version: macOS Sonoma
Firebase SDK version: 11.11.0
Firebase Product: any
Node.js version: 18.18.0

[REQUIRED] Step 3: Describe the problem
The top-level service accessors (auth(), firestore()) provided by the firebase-admin don't work when provided an App object.  However, the per-product accessors (getAuth(), getFirestore()) work fine.
Doesn't work:
import { auth, firestore } from "firebase-admin"
import { initializeApp } from "firebase-admin/app"

const firebase = initializeApp()
const authx = auth(firebase) // this fails
const firestorex = firestore(firebase) // also fails

// These do not fail when passed no args - they properly get the default app.

Full error when using accessors with an App instance looks like this:
/path/to/node_modules/firebase-admin/lib/app/firebase-namespace.js:136
            return this.ensureApp(app).firestore();
                                       ^
TypeError: this.ensureApp(...).firestore is not a function
    at fn (/path/to/scripts/node_modules/firebase-admin/lib/app/firebase-namespace.js:136:40)
    at <anonymous> (/path/to/scripts/src/bootstrap_emulator.ts:8:20)
    at Object.<anonymous> (path/to/scripts/src/bootstrap_emulator.ts:19:6)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Object.S (/path/to/scripts/node_modules/tsx/dist/cjs/index.cjs:1:1250)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:169:29)
    at ModuleJob.run (node:internal/modules/esm/module_job:194:25)

Node.js v18.18.0

However, these do work using per-product accessors:
import { initializeApp } from "firebase-admin/app"
import { getAuth } from "firebase-admin/auth"
import { getFirestore } from "firebase-admin/firestore"

const firebase = initializeApp()
const authx = getAuth(firebase)
const firestorex = getFirestore(firebase)

Having the same exact issue

@CodingDoug thanks for providing workaround. The code you provided seems to be namespace API (like in the docs). Judging by client library transitioning to modular api, the same accessors are used there. Supposing what we see is a half-done migration without the proper update of docs.

`
require("dotenv").config();
const admin = require("firebase-admin");
const { initializeApp } = require("firebase/app");
const { getAuth } = require("firebase/auth")
const { onRequest } = require("firebase-functions/v2/https");
const { onObjectFinalized, onObjectMetadataUpdated } = require("firebase-functions/v2/storage");
const { getStorage, getMetadata, getDownloadURL, listAll, ref, updateMetadata, uploadBytes, uploadString, uploadBytesResumable } = require("firebase/storage");
let firebaseConfig = {
apiKey: process.env.API_KEY,
authDomain: process.env.AUTH_DOMAIN,
projectId: process.env.PROJECT_ID,
storageBucket: process.env.STORAGE_BUCKET,
messagingSenderId: process.env.MESSAGING_SENDER_ID,
appId: process.env.APP_ID,
measurementId: process.env.MEASUREMENT_ID,
auth: true,
credential: admin.credential.applicationDefault(),
};
initializeApp(firebaseConfig); // Initialize the Firebase app
let app = initializeApp(firebaseConfig);
let storage = getStorage(app);
let auth = getAuth(app);
module.exports = {
app,
auth,
admin,
ref,
storage,
listAll,
getMetadata,
getDownloadURL,
uploadBytes,
uploadString,
updateMetadata,
onRequest,
onObjectFinalized,
onObjectMetadataUpdated,
uploadBytesResumable
};
`
Error thrown:
TypeError: this.ensureApp(...).auth is not a function     at FirebaseNamespace.fn (C:\Users\...\firebase-admin\lib\app\firebase-namespace.js:92:40)     at new Auth (C:\Users\...\functions\controllers\AuthCT.js:15:28)     at new Functions (C:\Users\...\functions\functions.js:16:24)     at Object.<anonymous> (C:\Users\...\functions\index.js:2:27)     at Module._compile (node:internal/modules/cjs/loader:1376:14)     at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)     at Module.load (node:internal/modules/cjs/loader:1207:32)     at Module._load (node:internal/modules/cjs/loader:1023:12)     at Module.require (node:internal/modules/cjs/loader:1235:19)     at require (node:internal/modules/helpers:176:18)


openldap: add configDir option

Motivation for this change
Add configDir Option to openldap-module to use a slap.d-config-dir instead of slapd.conf (useful for migration from an existing ldap-server
Things done

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

[x] NixOS 16.09
[ ] OS X
[ ] Linux

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

Ok. Changed type to path. Succesfully tested.

Thanks. Please squash when you're ready to integrate.

What do you mean? Is there anything I should do?

@DerTim1 yes, squash the commits into a single commit (with git rebase) and force push the result. See e.g., https://help.github.com/articles/about-git-rebase/

@joachifm Thanks for advise. I think I'm done.

Try something like
$ git rebase -i upstream/master

You should end up with a single commit. Then do
$ git push --force myfork openldap-add-configDir-option

to update the pull request.

Thanks again @joachifm

@joachifm we can actually choose to squash, rebase or merge through github now :)

@globin Indentation fixed...

Thanks!


cli: import from directory

Coverage decreased (-2.8%) to 88.292% when pulling 54e6c96f359572d49f7944cd8498516d6cbcec91 on jirikuncar:cli-dir into a17c9a56a687881f3d041b5fcc8313658e1bed2e on inveniosoftware:master.

Coverage decreased (-2.8%) to 88.292% when pulling 54e6c96f359572d49f7944cd8498516d6cbcec91 on jirikuncar:cli-dir into a17c9a56a687881f3d041b5fcc8313658e1bed2e on inveniosoftware:master.

Coverage decreased (-3.09%) to 88.033% when pulling 74d055fd79bd25f9a21147c57f2d2f9fb4a8de8f on jirikuncar:cli-dir into 905420e7d75124cc8324d56b6b960057796abb05 on inveniosoftware:master.

Coverage decreased (-3.08%) to 88.047% when pulling 1a0e59a16fb1a4c835161a5e76e1e177ef3550a1 on jirikuncar:cli-dir into 905420e7d75124cc8324d56b6b960057796abb05 on inveniosoftware:master.

Coverage decreased (-3.04%) to 88.09% when pulling 22f17f6d4b53f6f1de5b17d24f1e4b63c541fcc7 on jirikuncar:cli-dir into 905420e7d75124cc8324d56b6b960057796abb05 on inveniosoftware:master.


(iOS) post text is clipped in the editor at 500 chars

Text can become covered by the post character count at reasonably low character lengths.

Not sure if this would be considered a bug or feature request, but if it’s the latter I’d be willing to try to implement the change.


Allow ID as prop

useful to identify an individual switch.

@pgrimard please review.

You could achieve the same result by simply using a ref attribute on the switch could you not?  Seems to me providing the switch with an id opens it up to manipulation outside of a React context.  Maybe I'm just not understanding your use case.

yeah i can understand that - for my use case, having an id prop makes life so much easier using this with https://github.com/mozilla-services/react-jsonschema-form.

Closing this PR because this repo is being archived and will no longer be maintained.


[DOCS] Copy-to-Clipboard action required on each command section to make it easier for any user

Current Behavior

There is no Copy-to-Clipboard action on each command section of contributing guide. It is very hard to click around each section to copy and paste commands.
Desired Behavior

It will be easier for a user to clip any section while following the contributing guide and running through the commands in one click.
Implementation

Add Copy-to-Clipboard action on each command section.
Mockups

Contributor Guide

hi @warunicorn19, how to integrate that Copy-to-Clipboard button  in .md file built on top of jekyll. Any idea? I found this on google as here.

@afzal442 yeah this should work, do you want to try?

Also going through the document doesn't make it seem like a good first issue, more complicated than I though it is. What is your view on this @afzal442 ?

Yep, exactly what you understood. It doesn't even seem first-timers as well. I put up this issue so y'all can suggest some solution.

yeah this should work, do you want to try?
I need your suggestions first. where and how to integrate? thanks.

Above, you can see the desired result, I added a screenshot as a use-case by which we might improve each page having instructions content.

i think we should wait for @leecalcote to give his suggestion on this because integrating this is going to be a task i think, as there are a lot of code snippets in the docs, and if the copy feature is added it needs to be added to all. Also, if we do implement this we would want it to be similar to the screenshot that you have provided above.

Yes, r8. It would be very helpful if we can achieve it though.

I agree

Do the existing integrated “ Clipboard Feature” work —> https://docs.meshery.io/project/contributing-docs

Nope, it doesn't copy the text.

i was just playing around a little bit, this is how it looks for now. @leecalcote do we want to implement this?
https://user-images.githubusercontent.com/53532328/127773412-2296c521-2cc6-4c3b-9a7a-597f1d755548.mov

Yes, we do want a clipboard feature. I swear we already have one in the site somewhere. Do you mind searching the code base for “clipboard” to find it and evaluate use of the existing function?

Yes, we use clipboard.js in some places but I couldn't understand the use of it, I'll look into it.

hey Adi, I have found the logic of clipboardjs used on which pages. Here it is https://docs.meshery.io/installation/platforms for example https://docs.meshery.io/installation/platforms/docker.

Yup @afzal442 , I found it too, some commands don't require the copy feature, that's why I have just added the documentation, as to how to add the copy feature if required, thanks!


Renumber CreateTestUsers app

Describe the issue
Most of our PTEs are starting their object IDs at 50000, for several reasons that I don't think I need to go into.
If we want to add test users to a database that already has a PTE installed the Object Ids will conflict with this error:
The application object of type 'Page' with the ID '50000' is defined in multiple apps. The apps are: CreateTestUsers by Microsoft 16.0.10221.0; "MyPTE" by "My Company" 17.0.19371.0.

I don't disagree with this app using the 50000-99999 number range (as #612 did) . But I would appreciate if it would use object id's in the upper part of the range (like 91234 or something other odd) instead of starting at 50000. Of course this is not bullet proof either, but the risk for having conflicting Object Ids would decrease drastically. :)
ps. This is not an urgent request, but it would be nice if it was changed the next time you need to touch that code

@freddydk https://dev.azure.com/businesscentralapps/CreateTestUsers seems to have been deactivated, does the source exist anywhere else?
I thought I could use -createTestUsersAppUrl to work-around #2951

The new location is here; https://github.com/BusinessCentralApps/HelperApps

Thanks @freddydk 👍


Question - Getting coordinates array for Polyline component

Question
How can I get the coordinates array for the polyline? At the time being, i'm using react-native-maps-direction package but is there a way to do that without using that package?

You could use the Google Maps Direction API directly if you wanted but this is not something this library supports.
https://developers.google.com/maps/documentation/directions/overview


Some users still can't see the button in Asana

OS version: Windows 10
Browser version: Chrome <IP_ADDRESS>
Extension version: 2.0.17

Relevant integration (if any):
https://app.asana.com
🐛 Describe the bug
This user doesn't see the button in Asana. We recently fixed this issue but there are a couple of users that still claim they can't see it. This specific user shared the most detail and screenshot, you can find them in intercom. We asked the user to disable all other extensions, we asked them to see their integration settings, to remove the extension and add it back.. nothing helped.
Expected behaviour
The user should see the button in list and task details view
Steps to reproduce
Unable to reproduce

Another user who claims they can't see Asana. Intercom.

And another.

Random thought: Is there a chance the users who can't see Asana are using the Asana desktop app?

This user seems to have the same problem

case reference
Case reference

@vedr4n One user sent us webapp screenshots.

@nunofmn The button is not showing in the task details view when users change their language in "my settings" in the Asana web app, it works in English only

connected issue #2124

case reference

case reference


Keypool size

https://github.com/ALQO-Universe/ALQO/blob/dfadacbab94c0b19e72dfd77482781b8b6f2eed1/src/wallet/wallet.cpp#L2706
Currently generating 1000 keys on launch, this is slow and not useful without z-type assets. Let's agree on a number of 250 or 500 and have it reduced.

Hmm. 250 is plenty. Agreed? @BlockMechanic @captaingeeky @raptor1001?

250 agreed

Resolved in https://github.com/ALQO-Universe/ALQO/pull/38


Added UNID (red.unid.mx)

Universidad Interamericana para el Desarrollo
I have an e-mail that looks like<EMAIL_ADDRESS>The main school site is unid.edu.mx though.

+1

@RobertoGongora @EduardoRT I am sorry for a delay with processing your request. Could you please give us a reference to a page on the official website or other internal university policy which confirms that the emails from this domain are owned by the teachers and students of this university only?
I failed to find a strong connection between studying in Universidad Interamericana para el Desarrollo and having an email from this domain.

Don't worry, we're all busy!
And okay, give me a second and I will look for the information. If possible, I will talk with the school's administration to see if they can give me an official document stating the validity of the domain.

Here's the official website stating that the @red.unid e-mails are for students only:
http://www.unid.edu.mx/servicios/correoredunid.html

@RobertoGongora Thank you very much! The issue is that according to whois service, the domain unid.mx is registered for another organization:
whois unid.mx
[...]
Registrant:
   Name:           Grupo Integer
   City:           Garza Garcia
   State:          Nuevo Leon
   Country:        Mexico
Thus, some proof from the university administration (on the website or in any other form) will definitely clear the issue.

@philipto Yeah... The way they handled their domains is super weird to me, but I can show you a page in the official domain where they use the unid.mx domain as their official contact e-mail along with a telephone:
http://www.unid.edu.mx/unidvirtual.html
Scroll down to the footer of the page and you will see:
Contacto
☎ 01800 770 9090
✉<EMAIL_ADDRESS>There they use the unid.mx for their email, so red.unid.mx is just a subdomain for that one.

@RobertoGongora Yes, it's now clear. Pull request merged. Thank you!

@philipto Thank you for taking the time to sort out this weirdness :+1:

@philipto Idem!


Add documentation for explicitCharkey option

Coverage remained the same at 97.74% when pulling a21295009e4cbc1f9847bdff0f9b933b5005e690 on fnimick:master into 1832e0b6b2de30a5e326d1cf21708cd32305a538 on Leonidas-from-XIV:master.

Coverage remained the same at 97.74% when pulling a21295009e4cbc1f9847bdff0f9b933b5005e690 on fnimick:master into 1832e0b6b2de30a5e326d1cf21708cd32305a538 on Leonidas-from-XIV:master.

@Leonidas-from-XIV found this outstanding, still worth keeping open for merge?

Good point, thanks!

"data": [
{
"id": 890003,
"url-identifier": "g/FountainJS/fountain-generator",
"name": "FountainJS/fountain-generator",
"url": "https://lgtm.com/projects/g/FountainJS/fountain-generator"
},
{
"id": 890022,
"url-identifier": "g/d3/d3-interpolate",
"name": "d3/d3-interpolate",
"url": "https://lgtm.com/projects/g/d3/d3-interpolate"
},
{
"id": ...,

},
{
  "id": 900374,
  "url-identifier": "g/apache/jena",
  "name": "apache/jena",
  "url": "https://lgtm.com/projects/g/apache/jena"

<EMAIL_ADDRESS>}
],
"nextPageUrl": "https://lgtm.com/api/v1.0/projects?start=AfedU4ccyzfnSHtjxvwRCugyWWWHJreUZtzmoRj2vXSfkOiOcXaOTNWC4acK4VVT31ISIVSZWT21paRQxB4GL91FI2O7oYG4k5inz2dd0QA0WF569x-rMV0NpE9zVXpd-w"
Open}


Possible PhysX?

Since this engine is in it's infancy, I thought it might be a good time to question the reasoning behind the use of bullet, considering the performance degradation (although minuet with recent updates). Getting gameworks access is far from complicated, as even I got access... Please don't take this as a suggestion, it is more of a question!
EDIT:
Licensing is another thing... Although I'm pretty sure that if you made a system like the Unreal Engine has (have a bat file that grabs all needed dependencies from the respective company sites themselves), you could maintain the MIT license? I'm not sure... I ain't a lawyer :D

It's true that PhysX performs a bit better in some cases, however the performance difference can be ignored. For example, RAGE engine which was used to build GTA IV & V, is actually using Bullet. Even NASA used Bullet for a robotics project.
So it's fair to say that when a physics library passes a certain performance threshold, it's good for most of the things you might want to do. Taking performance out of the equation, Bullet is open source and it also uses the very permissive zlib license (unlike PhysX) while providing you with everything you need.
If things change, I'll make the switch to any solution that's the best, and this goes for any part of the engine, but PhysX (for the time being) won't change your experience in a meaningful way.
If I am missing something, don't hesitate to let me know.
Thanks for your interest erherhh4herh :-)

That answered my question. Thank you!

Anytime man


Modify x264 settings for SD encodes for speed

Based on tests I've done, these settings should significantly speed up SD encodes compared to the current settings while keeping the size down and with a negligible perceptible difference in quality.
Might be related to this pull request, but I was debating on whether or not to remove the parameters --range tv --input-range tv --colormatrix smpte170m as x264 automatically pulls those settings from the source if they're not specified by the user and AVISynth can make those adjustments in the AVS script.

This is basically a change that I have thought we should do for a while now. The list of settings we had were almost a restatement of the placebo preset anyway, and plenty of sources online show that -placebo only yields single-digit compression improvements over veryslow but increases encode length many times.
Using veryslow drops TESA motion prediction which is probably where the most speed is gained, and since we don't encode real-life footage I doubt we're missing anything there. The b-frame settings in veryslow are very close to my personal settings so obviously I agree with those.
On the topic of the color matrix and range settings - I am wary about these just because I've done testing of this in the past and found wildly varying output depending on AviSynth and x264 being in agreement or not. I think if we can show that the bt.601 transfer matrix flag is correctly set in the output video, and the colors aren't washed out, then removing those settings is fine. Perhaps @despoa has already done this testing?

I've done brief testing with the --range tv --input-range tv --colormatrix smpte170m parameters removed and the only difference I can tell is that the resulting file doesn't have the Color Range flags as programs like MediaInfo would show. There doesn't appear to be an perceptible difference. In fact, by comparing the two files, there only appears to be a couple dozen bytes increase in size by including the parameters, which is probably the inclusion of the Color Range flags. If what Zinfidel said is true, then more testing will be needed as to make sure that AviSynth and x264 are in agreement and won't result in washed out colors without the parameters.

If range/matrix params need a separate discussion and tests, I guess it's fine to merge this one and have that discussion whenever a new PR arrives that drops them?

Yeah, that would be fine.


Docker image 7.4.2-jdk17 is broken on 4.15 kernel

java --version results in:
Failed to start thread - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 8k, detached.
Found similar fresh issue https://github.com/flyway/flyway/issues/3457
Someone argue that problem is not reproducible with alpine version.
Most probably due to new 17.0.3 temurin jdk build.
Expected Behavior
Gradle images use more robust JDK distributions
Current Behavior
Failed to start thread - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 8k, detached.
Steps to Reproduce
Kernel 4.15.
Dockerfile:
FROM gradle:7.4.2-jdk17

RUN ulimit -s
RUN /opt/java/openjdk/bin/java --version

Your Environment
Linux kernel 4.15

worth point to gradle' forum thread with no feedback:
https://discuss.gradle.org/t/bitbucket-pipelines-oom-with-gradle-7-4-works-with-gradle-7-2/43032/1

@up-to-you
This Docker image is not maintained by the Gradle team. Could you please report this issue to the Github repository of the Docker image?


update client

Signed-off-by: Sertac Ozercan<EMAIL_ADDRESS>What this PR does / why we need it:
Updates client in manager to use controller-runtime client instead of restclient
Which issue(s) this PR fixes (optional, using fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when the PR gets merged):
Fixes #
Special notes for your reviewer:

@cpuguy83 rebased now


The accuracy of C3D training from scartch is low

The accuracy of C3D training from scratch is 30% with lr=1e-5 and the accuracy is below 1% with lr=1e-3 , which are lower than the paper claimed. I also notice someone added BN to C3D and the accuracy is about 45%. Anybody knows why?

The acc reported in this repo may be not based on the implementation in this repo. The performance can simply improved by standardizing the input:

Normalize input into [0, 1] by x/255;
Standardize input using mean [0.485, 0.456, 0.406] and variance [0.229, 0.224, 0.225].

The acc reported in this repo may be not based on the implementation in this repo. The performance can simply improved by standardizing the input:
Normalize input into [0, 1] by x/255;
Standardize input using mean [0.485, 0.456, 0.406] and variance [0.229, 0.224, 0.225].
After standardizing, the acc is about 50%.

@civat What about R2Plus1D? The accuracy of R2Plus1Dtraining from scratch is also very lower (1%)


Too much spacing betwen items on iPad

Compared to the default UITabBarController from UIKit, this view controller spread its items along the full width (similar to how flexbox's space-around works). Is there any way I can disable this?
Normal behavior from Apple's News App:

Screenshot from Demo project:

I thought it may be a collection view where you could over ride it, but
Afraid not.
As last resort, Yiu could try adding empty items on left and right.

It's all handled by auto layout constraints. I'll probably fork and override createViewContainers()

did you make any head way with this?

It's not very high on my list, but I'll fix it within the next two weeks and can share it via PR if you want

I would love that.
Some inspiration
https://soundcloud.com/camokrooked/essential-mix-2017


animation doesnt work with fragments

When I go to another fragment and return to the fragment where is an ImageView with animation the ImageView, disappear.

As I said in your previous issue #1, I don't think this is an issue with this library, since we use this library in production and it works as expected. If you can make a minimal reproducible example, I'll take another look.

ok I already saw where is the issue, the issue is when I used de raw json, when I use de java animation it works, so when I go back the image is still there, but with json is disappear, this just happend when using fragments and replace one by other when it backs there is no image, but just whe I using de raw json form

Can you give more detail about how you're leaving and returning to the fragment? Are they in a pager, a fragment transaction, or just different activities? I can't reproduce this.

so I had a navigation drawer, in one fragment of the navigation I put the animation with the json form, but when I go to another option of the menu of navigation drawer( that means I changed on one fragment to another ), then I go back and the animation disappears, in the same option I had a pager, but in this case the pager doesnt show the problem of animation dissappear, just when o go to another option of the menu in the navigation drawer, I resolve the problem making the animation with the java form declaration of the animations.


CSS and deferred JS execution order

For example, I have a webpage with such structure in , which is pretty common i guess:
<link rel="stylesheet" href="styles.css"> // here goes big css bundle
 // relatively small javascript bundle with defer attribute

And there is  on the page.
CSS bundle contains #element { display: none; }.
JS bundle contains (using jquery here):
$(document).on('turbolinks:load', () => {
  console.log($('#element').css('display'));
});

The result will be different from time to time. Sometimes JS executes earlier than CSS and the result is 'inline', sometimes it is 'none' as it should be.
The situation is reproducible without Turbolinks with 'document ready' event. But in that case I can simply put my js bundle to the end of the page to make it non-blocking for performance. And it will solve this issue. With Turbolinks I should keep bundles in  and use defer attribute.
window:load is not a best option too, because it will be fired when not only css but all resources will be downloaded including images.
So I want JS to be not-blocking and be executed after CSS to get consistent and predictable results. Maybe there is something I can do?

I've found a solution. It includes the using of the link 'load' event and the 'sheet.cssRules' property.
The complete code is here: https://codepen.io/maskedcoder/project/editor/XrBBYM


DS - Checkbox Group Component Flagship Work Setup

Description
This is a ticket for Product to create an epic and work with Flagship to plan the work.
Notes

Global: https://app.zenhub.com/workspaces/va-mobile-60f1a34998bc75000f2a489f/issues/gh/department-of-veterans-affairs/va-mobile-app/9967
H&B: https://app.zenhub.com/workspaces/va-mobile-60f1a34998bc75000f2a489f/issues/gh/department-of-veterans-affairs/va-mobile-app/9966

Acceptance Criteria

[x]   A ticket has been created for the app teams to install the new component
[ ]   Dev adds implementation details to ticket
[ ]   UX adds design implementation details to ticket

The Flagship Epics are ready to add any design and technical details to help aide implementation.

Updated both epics with additional engineering implementation notes


Correcting parsing for svg elements in unescaped html

Overview
When SVG elements were being rendered via unescaped HTML ({{{ svg }}}) their namespaces weren't properly being set. This corrects the issue

Codecov Report

Merging #289 into master will increase coverage by -0.07%.

@@            Coverage Diff             @@
##           master     #289      +/-   ##
==========================================
- Coverage   84.44%   84.37%   -0.07%
==========================================
  Files         121      121
  Lines        6551     6561      +10
==========================================
+ Hits         5532     5536       +4
- Misses       1019     1025       +6

Impacted Files
Coverage Δ

src/template/html_parser.js
89.18% <40%> (-7.69%)
:x:

src/template/html_parser.prod.js
89.18% <ø> (-7.69%)
:x:

Continue to review full report at Codecov.

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

@MattDeeg do we block on coverage decrease?

Not sure.. I can go back and restore coverage numbers. Just wanted to get the PR up for testing


DSD-504: Chakra icon

Fixes JIRA ticket DSD-504
This PR does the following:

Updates the Icon component to use Chakra's Icon component.
Updates the CSS style object using NYPL's them.
Updated all the other components, tests, and documentation where Icon is imported.
Note: I think some places can be further refactored but it is more of an issue of the consuming component. For example, some updates to the Link component should be another ticket/PR that further updates the combination from this PR.
I verified all the documentation pages where the Icon was updated but it'd be good to go through every single [component].stories.mdx page to verify (compared to development or production) that the changes are internal and the Icon displays just as before.

How has this been tested?
Storybook.
Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] All new and existing tests passed.

Front End Review:

[ ] View the example in Storybook

Tugboat has finished building the preview for this pull request!
Link:

https://pr712-v0jnglyjly0kmwkryv6depxsaogyzjst.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/615b39444807c054f1428060

Tugboat has finished building the preview for this pull request!
Link:

https://pr712-v0jnglyjly0kmwkryv6depxsaogyzjst.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/615b39444807c054f1428060


Plan deployment of GCP SEA work with GCP

Describe the issue
We need to get moving with GCP.  We need a meeting to kick off the next stage of work which is deploying an SEA to the test area we have.
Which Sprint Goal is this issue related to?

Note: 'Milestone' is a ZenHub term that we use synonymously with 'Sprint'.

The 'Milestone' description (created in ZenHub) should clearly list Sprint Goals. This section should indicate which 'goal' this issue is related to.
Additional context
Add any other context, attachments or screenshots
Definition of done

Post a "hello, let's meet" in the gcp channel
Meeting with GCP happens
We refined tickets for GCP SEA deployment in ticketing system

Reached out in #gcp-operations waiting to hear back and schedule the meeting


Integrating LPCNET with Fastspeech

@MlWoo have you tried Fastspeech for Mel generation  , its astonishing fast for generating Mel spectrograms, combined with LPCNET vocoder it could be work as realtime voice synthesis.

@MlWoo i did some changes in fastspeech for integrating with lpcnet here are my changes
1.First prepossessed audio (ljspeech) and converted it to pcm(s16)
mkdir -p dataset/LJSpeech-1.1/pcms
for i in dataset/LJSpeech-1.1/wavs/*.wav
#sample rate 16khz for lpcnet or 22050?
do sox $i -r 16000 -c 1 -t sw - > dataset/LJSpeech-1.1/pcms/$(basename "$i" | cut -d. -f1).s16
done

Then use below diff for fastspeech to train the network using 20 mels

https://github.com/alokprasad/binaries/blob/master/fast_speech_lpcnet.diff

@alokprasad  thank you for watching the status of my repo. I am sorry that I would not have time to put effort to TTS. I think Tacotron2 is good enough and fast enough both on GPU(13x
real time on 1080ti) and CPU.  And it could acheieve larger throughput than fastspeech.

@MlWoo I did some inference time for Fastspeech its actually faster than Tacotron2 on CPU.
eg. for 12 sec audio mel generation is taking about 1.2sec on Single Core CPU.

@alokprasad  great job! hope you can share the work with us.  It really fast.

@MlWoo I have right now integrated fastspeech and squeewave
https://github.com/alokprasad/fastspeech_squeezewave

@alokprasad  thank you. I will read it later.

@MlWoo i know you are not working on this , but just wanted too see if you faced any issue similar to
below while integrating tacotron2 and lpcnet
, name: GeForce GTX 1080, pci bus id: 0000:03:00.0, compute capability: 6.1)
Traceback (most recent call last):
  File "test_lpcnet.py", line 83, in <module>
    cfeat = enc.predict([features[c:c+1, :, :nb_used_features], periods[c:c+1, :, :]])
  File "/usr/local/lib/python3.6/dist-packages/keras/engine/training.py", line 1441, in predict
    x, _, _ = self._standardize_user_data(x)
  File "/usr/local/lib/python3.6/dist-packages/keras/engine/training.py", line 579, in _standardize_user_data
    exception_prefix='input')
  File "/usr/local/lib/python3.6/dist-packages/keras/engine/training_utils.py", line 145, in standardize_input_data
    str(data_shape))
ValueError: Error when checking input: expected input_3 to have shape (None, 38) but got array with shape (992, 20)

@alokprasad How many epoch you train Fast Speech to get good results?
I got a noise on 315 epoch


[Event Request] Codeunit 90 Purch.-Post - OnBeforePostInvoicePostBufferLine

Please add a new publisher event to the function PostInvoicePostBufferLine as follows:
LOCAL PostInvoicePostBufferLine(VAR PurchHeader : Record "Purchase Header";InvoicePostBuffer : Record "Invoice Post. Buffer") GLEntryNo : Integer
//>> Start New Publisher Call
OnBeforePostInvoicePostBufferLine(PurchHeader, InvoicePostBuffer);
//<< End New Publisher Call
WITH GenJnlLine DO BEGIN
  InitNewLine(
    PurchHeader."Posting Date",PurchHeader."Document Date",PurchHeader."Posting Description",
    InvoicePostBuffer."Global Dimension 1 Code",InvoicePostBuffer."Global Dimension 2 Code",
    InvoicePostBuffer."Dimension Set ID",PurchHeader."Reason Code");

  CopyDocumentFields(GenJnlLineDocType,GenJnlLineDocNo,GenJnlLineExtDocNo,SrcCode,'');
  CopyFromPurchHeader(PurchHeader);
.
.

New Publisher Event:
LOCAL [IntegrationEvent] OnBeforePostInvoicePostBufferLine(VAR PurchaseHeader : Record "Purchase Header";VAR InvoicePostBuffer : Record "Invoice Post. Buffer")

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Merge golang-fips/openssl-fips with microsoft/go-crypto-openssl

The goal of this issue is to discuss about merging golang-fips/openssl-fips with microsoft/go-crypto-openssl. Well, technically it would mean unforking go-crypto-openssl, as it was forked almost one year ago to add several features which I'll list later on.
It is out of scope to discuss whether we should have one single Go fork which integrate the OpenSSL backend, as the cost-benefit is still not clear.
Questions that should be answered in this issue:

Do we want to do the merge?
Which capabilities exist in one repo but not one the other?
Which API and behavior differences exists and how we reconcile them?
How we do the merge?
Governance: Who can approve a PR? Who has write access? Security policy...

@derekparker @dagood @jaredpar @ueno

These is an exhaustive list of capability only available on go-crypto-openssl:

Supports go1.19 boring API
Portable OpenSSL: more info
Dynamic OpenSSL loading: more info
Unit testing, benchmarking and GitHub Actions integration
Script that verifies OpenSSL bindings have a signature which match the OpenSSL development headers

(cc @dbenoit17 @ueno )
Thanks for creating this issue!

This is a non-exhaustive list of divergences:

go-crypto-openssl supports aes-gcm-192, golang-fips does not, probably on purpose
go-crypto-openssl supports unhashed msg in rsa.SignPKCS1v15 and rsa.VerifyPKCS1v15, golang-fips does not, probably on purpose
go-crypto-openssl supports elliptic curve P-224, golang-fips does not, probably on purpose

My take on these differences is that the OpenSSL backend should support as many algorithms as required by all parties. If someone needs to limit the capabilities, it can be done when integrating the backend in the Go fork.

All functionality from microsoft/go-crypto-openssl has been ported to this repo. Nothing else to do here!


Feat: add global config for threshold and retry options

This pull request fixed #142 and #140

LGTM, thanks for the refactor and contribution!

:tada: This PR is included in version 1.27.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Vins and Jan Dialogue Not Working with Messing Disabled

Discussed in https://github.com/zippity21/Stardew_Valley_Regression_Mod/discussions/54

Originally posted by Coffin123 December 10, 2021
Hello!
Love your mod since I found it!
Tho I don't know why but I couldn't get any new dialogs with Vins or Jan.
I'm playing the latest mod version and using SMAPI beta
Also I did change the json so pooping is false.
Introduction quest is not finished.
Is that what is causing it?
Thank you for your time in advance!

Resolution in #54
I guess I was too hasty in converting this to a bug. 😅


🌐 new translations

Added and corrected some translations of Simplified Chinese in the doc.

@SmileGuide will you fix the conflicts?

Hello @SmileGuide closing this PR as it seems you started from the English translation. If there are any improvements please start from the dev branch.


UI bug in open file

When i open file, at window left-bottom, should not appear "Hide extension".
Platform is Mac OS X.
Atom version is 1.2.4.

Can't reproduce this with Atom 1.14.0-dev-5669246 and macOS 10.12.2, so I'm going to close this out. If you're still running into this with the latest version of Atom off master then feel free to comment and I'll reopen! 😄


History

Great filter
Best I could found for my site.
Can it be simply modified to create a history??
https://www.sitepoint.com/history-back-button-plugins/
No. 8 reallysimplehistory maybe??
And if so can someone tell me howto?

I found it here
https://github.com/jiren/filter.js/issues/98
But I am not that kind of familiar with javascripting to edit the code.
Can someone help me to get this working?
I want to leave the filter and then come back on the page with my last filter search.
Thnx

@jiren This is not fixed. Can you give us a hint? We need to create criteria on the fly with preset values. We save the filter to the localStorage. When we get back at that page, we want to fill in the filter just as it was when we left the page.

Sebastiaan
Wat denk je? Kom je er uit?
Bert

Op 10 april 2017 om 21:02 schreef Sebastiaan Kloos<EMAIL_ADDRESS>@jiren https://github.com/jiren This is not fixed. Can you give us a hint?

We need to create criteria on the fly with preset values. We save the filter
to the localStorage. When we get back at that page, we want to fill in the
filter just as it was when we left the page.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub

https://github.com/jiren/filter.js/issues/152#issuecomment-293046836 , or mute
the thread
https://github.com/notifications/unsubscribe-auth/AZmKPfCIE_wli4noRMusRA9nRQ1XzdJCks5runypgaJpZM4MwgeY
.


[ISSUE #55]Delete the corresponding DLQ and Retry Topic simultaneously when deleting the consumerGroup.

What is the purpose of the change
#55
Brief changelog
XX
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

@zhangjidi2016 would you like to confirm why coverage drop a bit of coverage? We could fix it in the next pr.

OK, code not covered by the previous PR(#59) has been covered in this PR(#63) unit test.


pins2lts-mc / treedbs with state vector of size 1

For small examples,*2lts-mc complains that a state vector of length 1 cannot be handled:
opaal2lts-mc, file treedbs-ll.c, line 488: assertion "nNodes >= 2" failed: Tree vectors too small: 1
This could be improved by adding a dummy state slot dummy:{1}.
There are several use cases for this:

users may try out the tool with a small example
we want to run unit tests on models from external language providers
we should support model checking of pre-computed (explicit) state spaces

A workaround that seems to work is currently: *2lts-mc --state=table.
So an alternative quick solution could be to change the default state representation when the state vector has length 1.


Added the header and class files for MuskyNavGoal

Acknowledging Tasks:
[Task RK314] Changed the costmap yaml file to decrease inflation_radius
[Task RK315] Added Headers & Classes for MuskyNavgoal
[Task RK316] Updated the locations of the Base station
Seems good and error free


Contour e2e

Description
Please provide a meaningful description of what this change will do, or is for. Bonus points for including links to
related issues, other PRs, or technical references.
Note that by not including a description, you are asking reviewers to do extra work to understand the context of this
change, which may lead to your PR taking much longer to review, or result in it not being reviewed at all.
Type of Change

[ ] Bug Fix
[ ] New Feature
[ ] Breaking Change
[ ] Refactor
[ ] Documentation
[ ] Other (please describe)

Checklist

[ ] I have read the contributing guidelines
[ ] Existing issues have been referenced (where applicable)
[ ] I have verified this change is not present in other open pull requests
[ ] Functionality is documented
[ ] All code style checks pass
[ ] New code contribution is covered by automated tests
[ ] All new and existing tests pass

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.6 out of 9 committers have signed the CLA.:white_check_mark: alungu:white_check_mark: aguzovatii:white_check_mark: dobrerazvan:white_check_mark: azun:white_check_mark: amuraru:white_check_mark: ctrlaltluc:x: cristianpetrache:x: cawright-rh:x: Daniel VaseekaranDaniel Vaseekaran seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Ignore protobuf's DeprecationWarning during test

During import of tensorflow (via jax2tf), a bunch of DeprecationWarnings
from google.protobuf (<4.0, e.g. 3.19.x) would be raised:
DeprecationWarning: Call to deprecated create function FileDescriptor().
DeprecationWarning: Call to deprecated create function FieldDescriptor().

Pytest should not fail due to this DeprecationWarning, so we can
explicitly ignore such protobuf-related warnings.

It might be an off-topic, but should I also ignore deprecation warnings from Pillow (via keras via tensorflow)?
    # PIL
    ignore:is deprecated and will be removed in Pillow 10:DeprecationWarning

I suspect this is stale now. Sorry for not looking at it sooner!

Has it been fixed? If not, I can make a rebase and update the PR.

I'm not sure, but there was at least one new TF release since the PR. If you still have this problem, feel free to update and reopen it.


Added support for exemptions for firewall (including exemptions mode).

Added support for exemptions in the GCPRestrictedFirewallRulesConstraintV1 constraint. Also added support for exemptions_mode which allows you to match resource names exactly or by regex.

@rosmo Please make sure tests pass.

Hey @morgante, at least the test are passing for me locally:
data.templates.gcp.GCPRestrictedFirewallRulesConstraintV1.test_exemptions_unset: PASS (19.989345ms)
data.templates.gcp.GCPRestrictedFirewallRulesConstraintV1.test_exemptions_exact: PASS (19.147724ms)
data.templates.gcp.GCPRestrictedFirewallRulesConstraintV1.test_exemptions_regex: PASS (19.181674ms)
PASS: 399/399


Package installers CI step failing

Description
The package installer CI workflow is failing to start on Github actions. This seems to be related to GitHub actions that are not publicly accessible anymore. The list of inaccessible actions are: devbotsxyz/import-signing-certificate, devbotsxyz/xcode-notarize and devbotsxyz/xcode-staple.
Example of failing workflow: https://github.com/MobilityData/gtfs-validator/actions/runs/6114964556/job/16631408879?pr=1566
Expected behavior
Package installers CI step executes successfully.

It's weird.  It looks like https://github.com/devbotsxyz/ deleted all their repos.


Fix issues #4572 and #4703

Fixes issues #4572 and #4703

issue #4572: logarithmic type if all numbers are zero browser crashes "Out of memory"
issue #4703: [BUG] Browser unresponsive on bubble chart with logarithmic axes

The endless loop that the browser ended up in was caused by the minNotZero being null.
The new determineDataLimits code should catch the edge cases.
Removed the options.relativePoints, as it is undocumented and didn't do anything useful. The same options is present in the file scales/scale.linear.js#L84; I doubt it does anything useful other than setting the max to 100.

@etimberg is anything missing in this PR that prevents merging?

@jcopperfield it looks good to me. Would love to get @simonbrunel to take a look too.


iOS UIWebView delegate 'shouldStartLoadWithRequest' can not intercept every url from vue router

for every UIWebview in iOS app. I can not use UIWebView delegate method 'shouldStartLoadWithRequest' intercept url request.
'shouldStartLoadWithRequest' method will intercept every request from h5. if code return NO. this request will invalid.
When I use vue-router 1.x that 'shouldStartLoadWithRequest' return NO. url request will not work. this as expected.
But when I update vue-router 2.x. I find shouldStartLoadWithRequest return NO can not intercept url request

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, gitter or StackOverflow.


wit-component: expose dummy component generation

This exposes the dummy core Wasm component generation, which is useful for binding generation code independent of implementation.
Specifically, I'd like to expose this in order to enable JS binding generation via a similar approach to the wit-bindgen demo.

This seems reasonable enough to me, I know I've needed this in quite a few places.
The precise way it's exposed here I don't think is necessarily the best, but I'm going to merge anyway and I'll handle the merge conflicts in https://github.com/bytecodealliance/wasm-tools/pull/867. Thanks @guybedford!


Add Expression2Reloaded hook and use it to reload CPPI wrap

Fixes https://github.com/wiremod/wire/issues/3055

I feel like there's a more graceful alternative to this. Maybe just check a global to allow this behavior.

It needs to be done in some kind of callback, having a hook that runs when e2 is reloaded carries no downsides, could even be useful for other addons if they do function wraps.
There is no good way to detect e2 reloads right now.

That's a fair reason, but it still bugs me that this code is stored in a hook when ideally it shouldn't have to redefine the function twice in the same tick.


engine: return HTTP 404 when Page404 component is rendered

Extracted from https://github.com/iterative/dvc.org/pull/690#issuecomment-541958989

Example: the engine renders a huge number "404", however it already responded with HTTP 200:

URL: https://dvc.org/doc/command-reference/bad

It would be ideal if the engine could check for the URL path validity first before responding by rendering the general layout (navigation, etc) with HTTP 200, and render it instead with HTTP 404 (and Page404 ).

This can aid in checking links by running script in #690. Once 404 is returned, we will be able to distinguish between existing pages and Not found ones.

And apparently one of these bad URLs from the website, it responds 304 Not Modified, not sure why.
Anyway, I wonder if @iAdramelk has any tips as to how to address these questions?

please, take a look at what URLs exactly does it return 304 (200 if you click it once again, I think - it's just a matter of caching on the browser side), 404. The point here is that it's engine requesting specific *.md files, not a regular dvc.org/doc/something.

@shcheklein Is it possible if we can render Page404 on a different URL? This way we will be able to pass writeHead(404) in server.js. I am not sure about this method though.

@algomaster99 could you elaborate please, not sure I understand the suggestion.

@shcheklein can you tell me in which file are the components mapped to their URL. I don't have much experience in next framework. But with simple react, I'm familiar. Usually the URLs are defined like this <Route path='/' component={App} />. I am looking for something corresponding to this here.
Basically, how does Next map each url to a component?

@algomaster99 the exact .md file to fetch is a convention that is based on based on the page URL + sidebar.json. Check also helper.js file. It's somewhat related to Next.js, but mostly our own logic that maps URLs to source files.

@shcheklein okay so, / is served my the server. Then rest after is mapped by helper.js, right?

@algomaster99 no, I think dvc.org/doc is mapped (by Next.js, implicitly) to the doc.js that is responsible for everything else after that. Unless I'm missing something.

@shcheklein so I went through the next documentation. I found two possible techniques to solve the problem.

https://nextjs.org/docs#custom-error-handling
I tried this but I am not sure on what URL does this component get triggered.

https://nextjs.org/docs#custom-routes-using-props-from-url
We can create a URL /doc/404 where we simply render the 404 component.

What do you suggest?

so, even if change URL to /doc/404 when we render this wget won't detect this. The only way to detect with wget is either add SSR support (@iAdramelk should have more context on this), or use Selenium to write tests (which might be a good idea anyway, since will be able to test more things, not just broken URLs).

@shcheklein wget has a option to follow redirects but that may not be the best solution. Let's wait for @iAdramelk .

wget has a option to follow redirects but that may not be the best solution

Sorry guys, I don't understand the context of your discussions, but with respect to the statement above I can say that:
wget follows redirects by default. To suppress (or disable) this in the script I have used the option --max-redirect=0 (it is even explained with a comment on the script).

@dashohoxha Your script is fine but when we wget pages like /doc/user-guide/this-does-not-exist, our engine responds with 200 OK only. We need to change it to 404 to check links efficiently.

@shcheklein Shall we do it by defining a condition in our server?
if (/\/doc\/404/i.test(pathname)) {
        res.writeHead(404)
        res.end()
    }

I am not sure how can we render afterwards. Can you help?

@shcheklein I will update you after experimenting with it again.

take a look at what URLs exactly does it return 304 (200 if you click it once again, I think - it's just a matter of caching on the browser

Your'e right @shcheklein. This seems to be standard Node server behavior when the browser request includes If-None-Match header (sent if any URL is reloaded, at least in Chrome).

The point here is that it's engine requesting specific *.md files, not a regular dvc.org/doc/something.

 My suggestion is that perhaps this could be evaluated (to determine path validity) before responding 200 with empty layout.

or use Selenium to write tests...

Selenium/ Headless Chrome tests are cool. I wrote a script that loads full dynamic js contents to calculate real web page size some time ago: https://github.com/jorgeorpinel/site-page-size-scraper/. (See full article.) We can still do this separately, but I'm pretty sure Next should be able to return 404 here.

I went through the next documentation. I found two possible techniques...

@algomaster99 I did some searching based on some of the concepts there and found this article. Find the following text, maybe the answer is here: "Next.js by default displays a 404 error page when someone requests a non existing page, but for dynamic routes we need to do it ourselves."

We can create a URL /doc/404...

I don't think redirecting should be the answer because the user will see the website load the empty layout and then reload itself again into the 404.

@jorgeorpinel I tried that but I am not able to send the response code as 404 from front-end (basically when we check if a requested page exists or not).

@shcheklein @jorgeorpinel Can you tell me how a request is processed? I simply typed http://localhost:3000/doc/use-cases before which I had deleted index.js. But still, the Page404 was displayed. Where is the page getting served from?

Unfortunately I'm not familiar enough with the engine code yet to answer that question but I feel like it should be simple enough to answer. For this reason we've tried tagging @iAdramelk a couple times, as he may be the most familiar with the Next.js engine at the moment.

@algomaster99 Sorry, somehow missed mentions.
Basically /doc/* pages now, for legacy reasons, are using non-standard routing mechanism (and we probably should replace it with the standard one to solve this issue:

All /doc/* pages load pages/doc.js file by default. It is configured in the server.js.
Then in shouldComponentUpdate we check for the URL and try to load corresponding md-file.
If there is no such a file, then we render component for 404 error.

With current approach md-file loading happens after actual page load, so there is no way to solve http-headers problem there. Also this is why SSR is not working right now for docs pages.
Better way to render such pages would be by using getInitialProps this also will automatically render _error.js page if some error occurs inside getInitialProps and also by replacing current docs navigation logic with the Next.js  component. I'm not totally sure which header will express return in such situation and can't find info in the docs through.

SSR?

@jorgeorpinel Server Side Rendering.

@iAdramelk closing this. please let me know if it's not resolved yet.

The 404 page is not the same as in other parts of the website, but the status code returned is still 200 (only inside /doc bad paths):

I meant "is now the same".

yep, @iAdramelk, I suppose we should be able to handle this properly, now?

We should be able to do it, yes.

Checked the doc's one more time and it is not this simple it looks. At the time then we run getInitialProps the page has already returned 200 header. So if we want to set correct header we still need to do it in server.js. Basically what we need to do is to run getItemByPath before this line thttps://github.com/iterative/dvc.org/blob/master/server.js#L109 and return with 404 if there is no such page.
But to do so we need to rewrite src/Documentation/SidebarMenu/helper.js in commonjs (and probably move it together with sidebar.json to some directory closer to the root).

@iAdramelk it does not sound bad in terms of complexity, unless I'm missing something. What is your expectation?

@shcheklein Well, it's not that bad, but I initially hoped that we can just return some status from getInitialProps to automate these things. :)


Consider providing the bootstrap instead of having the user do it manually.

From the README:
import { generateNode } from 'faster-dom';
import { createTimer } from './timer';

const timerContainer = document.getElementById('timer');
// create real node element from component
timerContainer.appendChild(generateNode(createTimer()));

Instead of delegating the bootstrap to the user, maybe it'll be better for the library to take care of it kind of how ReactDOM does it with the render method.
Example:
import { bootstrap } from 'faster-dom';
import { createTimer } from './timer';

bootstrap(createTimer, 'timer')

The bootstrap method could be something like so:
import { generateNode } from './path/to/file'

export function bootstrap(factory, selector) {
  if (typeof factory !== 'function') {
    throw TypeError('First argument must be a function');
  }

  const selectorContainer = document.querySelector(selector);

  if (!selectorContainer) {
    throw Error('No container found');
  }

  selectorContainer.appendChild(generateNode(factory()))
}

I guess the type validation is not required for the factory, forgot the library is written in TypeScript.

I think it is will be so good, but factory can have arguments, I think will be near like that bootstarp(selector, factoryFn, ...args)

That makes sense. I'll work on this.

And will be so good, if arguments will be with types


Add frozen_height() to ClientState

Closes: #1618
Description

For contributor use:

[x] Added a changelog entry, using unclog.
[x] If applicable: Unit tests written, added test to CI.
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Updated relevant documentation (docs/) and code comments.
[x] Re-reviewed Files changed in the Github PR explorer.

Thank you for revieiwing! Your suggestion makes sense.
I made the frozen_height private and fixed them.


[XLA] Break the Slice test into different tests for each data type

This allows our backend (and others) to disable types which they do not support.  Previously all types were tested by the same test function.

Can one of the admins verify this patch?

Jenkins, test this please.


No error for blank password when creating new account

if both password fields are left blank, no error is shown

fixed in https://github.com/threefoldfoundation/tfchain-wallet-electron/commit/48314dd14778c76da06418f5c91e18cf317805b2


More consistent SVG badges

This patch uses shields.io to provide consistently styled vector README badges. Personally, I like this a bit better than the current png badges but that's just me :smile:
Either way, thanks for this code!

Looks good. Thanks!


Jobs failing due to parallel load into same partition

Jobs failing due to parallel execution of viewHive for more than 1 files into same partition.
Job fails in local test as well as after being executed in cluster.
Project : etl.navpath-dbsa
etl-util: 1.27.0-20151203060845-a15fd45
Please find the log attached.
dbsa_service_execution.log.zip

If we delete partition from hdfs and if we are not deleting partition from metastore, when we run the job we are getting the same issue.("AlreadyExistsException(message:Partition already exists: Partition....")
Project : etl.farlo-clm

@sintokitteera Right, we'd expect that.  Is there a particular situation where you need to delete the directory while keeping the partition in the metastore?

@sintokitteera what do you expect to happen when you delete hive partitions from hdfs without notifying hive? :)

Did the new maestro version fix this? Please verify and close this issue if it is fixed. As a good practices, please don't leave Hive in an inconsistent state.

@MinuMichaelOlassayil Can you please update this?

Closing as there has been no response.

@rowandavies , @vineethvarghese   I wanted to point the change found in existing behaviour of the API. Prior to the version '1.27.0-20151203060845-a15fd45' and after the next release there is no exception coming in even if we are not deleting the partition from hive metastore. Normally while rerunning our tests we never deleted the partition from metastore(if there is no schema change) since the API is taking care
of it. I agree that deleting metastore is the good practice whenever we delete the partition from hdfs.


Input.activePointer returns last used touch pointer instead of mouse pointer

Version

Phaser Version: 3.24.1

Operating system: iPad OS 13.5.1

Browser: Tested in Safari

Description

When I get the active pointer via input.activePointer using a mouse pointer after I used a touch pointer, it returns the pointer used by a touch pointer instead of returning the mouse pointer.
I’m not sure if this is an edge-case on iPad OS and I can’t test this on another device since this is the only one I have that supports touch and mouse.
Example Test Code

Use mouse pointer, then
Use touch pointer, then
Use mouse pointer, then
Console.log(this.input.activePointer);
All data is identical to the touch pointer
Additional Information

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


Update selenium-java to 4.1.1

Updates org.seleniumhq.selenium:selenium-java from 3.141.59 to 4.1.1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.seleniumhq.selenium", artifactId = "selenium-java" } ]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #115.


Add validation of MySQL database dump

In current version, if mysqldump process is killed during the backup process, the installer will ignore it and continue running, only eventually failing when trying to restore from the dump file.  A validation step should be added after the backup is done.  Restoring to a temp DB from the dump file may be a sufficient validation.

Added validation code on 7/23/18.


fix: prevent 'Lost lock mid-transfer' error with multiple transfers

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
bug fix

What is the current behavior? (You can also link to an open issue here)
Uploading multiple stills at once or one after the other sometimes leads to the Lost lock mid-transfer error
https://github.com/nrkno/sofie-atem-connection/issues/143

What is the new behavior (if this is a feature change)?
The idea is to make the locking more robust by:

unlocking only when the queue is empty,
aborting transfers when an unexpected unlock occurs, but not when a transfer gets queued between sending the unlocking LockStateCommand and receiving LockStateUpdateCommand back

Other information:

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.01 :tada:

Comparison is base (1951a9c) 86.26% compared to head (048a16a) 86.27%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #147      +/-   ##
==========================================
+ Coverage   86.26%   86.27%   +0.01%
==========================================
  Files         174      174
  Lines        5591     5596       +5
  Branches      928      928
==========================================
+ Hits         4823     4828       +5
  Misses        748      748
  Partials       20       20

Impacted Files
Coverage Δ

src/dataTransfer/dataTransferQueue.ts
86.46% <100.00%> (+0.10%)
:arrow_up:

... and 2 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Yeah this is definitely behaving a lot better than before. It appears that previously it would sometimes get stuck for some reason..
There is still an easy to reproduce case of uploads getting stuck, but I expect that is not really related to this change.
Using:
const { Atem } = require('../dist')
const fs = require('fs')

const file = fs.readFileSync('./testframe.rgba')

if (process.argv.length < 3) {
	console.error('Expected ip address as parameter')
	process.exit(1)
}
const IP = process.argv[2]

const conn = new Atem({})

function uploadBatch() {
	const count = 8
	Promise.resolve().then(async () => {
		console.log('starting batch')

		const ps2 = []
		for (let i = 0; i < count; i++) {
			ps2.push(conn.clearMediaPoolStill(i))
		}
		await Promise.allSettled(ps2)
		console.log('batch cleaned')

		const ps = []
		for (let i = 0; i < count; i++) {
			ps.push(uploadNext(i))
		}

		await Promise.allSettled(ps)
		console.log('batch done')

		setTimeout(() => uploadBatch(), 500)
	})
}

async function uploadNext(myNumber) {
	const stuckTimeout = setTimeout(() => {
		console.log('')
		console.log('UPLOAD GOT STUCK')
		console.log('')
	}, 20000)

	const uploadStarted = Date.now()
	// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
	await conn.uploadStill(myNumber % conn.state.media.stillPool.length, file, 'contemplation..', '').then(
		(_res) => {
			console.log(`Uploaded still #${myNumber} in ${Date.now() - uploadStarted}ms at 1080p`)

			clearTimeout(stuckTimeout)
		},
		(e) => {
			console.log(`fail from #${myNumber}`, e)

			clearTimeout(stuckTimeout)
		}
	)
}

conn.on('error', console.log)
conn.on('disconnected', () => {
	console.log('Connection lost')
	process.exit(0)
})
conn.connect(IP).catch((e) => {
	console.error(e)
	process.exit(0)
})
conn.once('connected', () => {
	console.log(`connected`)
	uploadBatch()
})

You might need to increase the count to get it to hit the scenario.
For this it is important to also have the atem software open (for me on another machine, should be fine on the same)
It will upload the first batch fine, with the atem software waiting for the lock to be released (orange circle shows over the thumbnails)
The batch completes uploading, the atem software starts downloading, then the upload of the second batch begins, and fails due to not having the lock (Error: Unknown error 5) (if the download completes first this does not happen, tune the count to get them to overlap)
Trying the same script before this change, it fails to even upload the first batch, with the second image failing due to the lock lost error.
@ianshade I am happy to merge this as is, unless you want to look into this likely unrelated other locking issue first?