Fix issue with CreateConnectorComponent

I'm seeing the following in the web console log upon browser refresh in the CreateConnector wizard.  May be related to recent back button PR.
react-dom.development.js?469f:88 Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
in CreateConnectorComponent (created by CreateConnectorPage)
in div (created by CreateConnectorPage)
in CreateConnectorPage (created by Context.Consumer)
in Route (created by RouteWithSubRoutes)
in RouteWithSubRoutes (created by RenderRoutes)
in Switch (created by RenderRoutes)
in RenderRoutes (created by Context.Consumer)
in Route (created by RouteWithSubRoutes)
in RouteWithSubRoutes (created by RenderRoutes)

I spent some time looking into this, but have not identified a solution yet.
To reproduce the issue, click 'Create a Connector' to enter the wizard.  Once within the wizard, click browser refresh - which will result in the console warning trace.  The problem code is the following 'useEffect' within CreateConnectorComponent -
React.useEffect(() => {
window.history.pushState(null, '', basename+history.location.pathname);
window.addEventListener('popstate', onBackButtonEvent);
return () => {
window.removeEventListener('popstate', onBackButtonEvent);
};
}, []);

I spent some time looking into this, but have not identified a solution yet.
To reproduce the issue, click 'Create a Connector' to enter the wizard.  Once within the wizard, click browser refresh - which will result in the console warning trace.  The problem code is the following 'useEffect' within CreateConnectorComponent -
React.useEffect(() => {
window.history.pushState(null, '', basename+history.location.pathname);
window.addEventListener('popstate', onBackButtonEvent);
return () => {
window.removeEventListener('popstate', onBackButtonEvent);
};
}, []);

Raised pr https://github.com/debezium/debezium-ui-poc/pull/274
Yeah @mdrillin it has some problem with window.history.pushState(null, '', basename+history.location.pathname);
i have now updated the implementation logic, now using react-router <Prompt>

Raised pr https://github.com/debezium/debezium-ui-poc/pull/274
Yeah @mdrillin it has some problem with window.history.pushState(null, '', basename+history.location.pathname);
i have now updated the implementation logic, now using react-router <Prompt>

Pr merged.

Pr merged.


Create Integration for Json Printing any Webhook Payload

Create Integration for JSON Printing any Webhook Payload
Useful for webhook testing
https://chat.zulip.org/#narrow/stream/127-integrations/topic/webhook.20testing

@zulipbot claim

@zulipbot add "area: integrations"

PR is awaiting review


StackOverflowException causes  dnx.exe to crash

Views/
Home/
_aside.cshtml   (  file B )
Index.cshtml
shared/
_aside.cshtml  ( file A )
_Layout.cshtml
This is file B's content
@Html.Partial("_Aside")  //I want to Render file A
,
I know this is wrong , I shoud write " ../shared/_aside " , but It should not causes dnx.exe  to crash.

Yes it should absolutely crash. Stackoverflows always crash the process.


Fix YuNet parser data types

This PR fixes the issue with the YuNet parser not being able to connect its output to the detection parser's input.
Previously, the output could not be connected to the input because of the way depthai-core checks data types send around throughout the pipeline.
Additionally, this PR changes the parent type of the ImgDetectionsExtended, allowing depthai-core to dynamically cast it to ImgDetections. With the parent class being just dai.Buffer, depthai-core could not cast it and as a result would log an error message.
For more context, refer to this conversation.
I removed the last PR as it was rather short and did not want to deal with re-basing.

@lnotspotl I'm just working on YuNetParser and ImgDetectionsExtended, adjusting them for parsers-v2 (HERE). If this change can wait a bit more, I can add it there in order to prevent this change get's lost during the merge process?

Yeah, that's fine. Add these changes to the linked PR instead. @jkbmrz
Looking at the implementation, I think we should also change the parent class for the CornerDetections class, making it inherit from the dai.ImgDetections class.

@lnotspotl I think we can close this PR, right?


Target Android 13 (API level 33)

Just using this as a dumping ground for things I may need to check when targeting 33.

https://developer.android.com/about/versions/13/behavior-changes-13#playback-controls says that the logic for determining which media controls to show has changed. I remember that Android's logic around this seemed buggy in the past. And yeah, NotificationCreator.kt contains this:
        // This is silly.
        val numActions = (if (showPlay || showPause) 1 else 0) +
            (if (showPrev) 1 else 0) +
            (if (showNext) 1 else 0)
        if (numActions > 0) {
            style.setShowActionsInCompactView(
                *when {
                    numActions == 3 -> intArrayOf(0, 1, 2)
                    numActions == 2 -> intArrayOf(0, 1)
                    else -> intArrayOf(0)
                }
            )
        }

Do I need to handle user-initiated stopping of the foreground service as described at https://developer.android.com/guide/components/foreground-services#handle-user-initiated-stop? It sounds like this affects all apps under 13 regardless of whether they're targeting it.

https://developer.android.com/about/versions/13/behavior-changes-all#intents describes some intent-filter changes.

Here are various errors I encountered and how I fixed them:
Installed Build Tools revision ... is corrupted

https://ngoclb.com/2022/11/android-build-failed-installed-build-tools-revision-33.0.1-is-corrupted.../
In my local android/build-tools/33.0.1 directory, symlinked d8 script to dx and lib/d8.jar to lib/dx.jar.

org.erat.nup.test.CoverLoaderTest > initializationError FAILED
    java.lang.IllegalArgumentException at RobolectricTestRunner.java:260
        Caused by: java.lang.IllegalArgumentException at DefaultSdkPicker.java:118

https://stackoverflow.com/questions/72879919/jacoco-fails-with-initializationerror-failed
Upgraded to org.robolectric:robolectric:4.9.2 and junit:junit:4.13.2.

Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01············
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
...

https://stackoverflow.com/questions/66722945/android-build-warning-mapping-new-ns-to-old-ns
Upgraded to com.android.tools.build:gradle:7.3.1 (7.0.2 produced a warning about it not being tested with buildSdk 33). I also had to upgrade my gradle installation to 7.6 and kotlin to 1.8.0.

WARNING:DSL element 'dexOptions' is obsolete and should be removed.

Removed dexOptions from nup/build.gradle.

w: Argument -Xopt-in is deprecated. Please use -opt-in instead

Updated nup/build.gradle.

Removed deprecated onRemoveQueueItemAt() override in NupService and replaced various deprecated toLowerCase() calls with lowercase().

package="org.erat.nup" found in source AndroidManifest.xml: .../nup/src/main/AndroidManifest.xml.
Setting the namespace via a source AndroidManifest.xml's package attribute is deprecated.
Please instead set the namespace (or testNamespace) in the module's build.gradle file, as described here: https://developer.android.com/studio/build/configure-app-module#set-namespace

Removed from AndroidManifest.xml and added namespace "org.erat.nup" to android block in nup/build.gradle.

After upgrading kotlinx-coroutines-test, a bunch of tests started failing. Per
https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-test/MIGRATION.md,
replaced TestCoroutineScope with TestScope, TestCoroutineDispatcher with UnconfinedTestDispatcher, runBlockingTest with runTest(dispatcher), and removed a bunch of scope.launch calls from PlaybackReporterTest.

Shockingly, it seems to still work.


[BUG] BruteForcer Bad Speed

Its proxyless config In old version it was doesn't stuck and gives a lot retries and was CPM up to 800

See https://github.com/openbullet/openbullet/issues/98 for the reasons of your ban


Fixed broken link to workflow example

The vite-plugin-ssr.com  link to workflow example was pointing to a 404 Page.
https://github.com/brillout/vite-plugin-ssr/blob/master/.github/workflows/docs-website.yml
Instead of:
https://github.com/brillout/vite-plugin-ssr/blob/master/.github/workflows/docs.yml

Good catch, thanks!


Different behavior between PFx and PA

The following expression is PFx valid but PA invalid:
Text(30470.01953125, "YYYY-MM-DD HH:MM:SS.000000")
PFx result: "1983-06-03 00:28:07.500000"
PA result: Date/time and numeric format specifiers cannot be used together.

Excel compatibility (experimental feature) should be on.


No next execution for this job

I am trying to enqueue a job with the following parameters ["1h", {"first_at"=>"2018-02-09T19:25:00+01:00", "last_at"=>"2018-02-09T22:55:00+01:00"}]
But it shows "No next execution for this job"
It is the "first_at" not the right parameter?
This is how it shows on the Web UI:

Hi @bengg
first_at is the parameter name you have to use.
It seems the first_at value is previous to current time. Look for this in your logs:
2018-02-13T00:54:43.413Z 9627 TID-grldt85mo WARN: {"context":"Exception during Sidekiq lifecycle event.","event":"startup"}
2018-02-13T00:54:43.413Z 9627 TID-grldt85mo WARN: ArgumentError: cannot set first[_at|_in] in the past: "2018-02-13T01:54:00+01:00" -> #<EtOrbi::EoTime:0x005609d9b47330 @seconds=1518483240.0, @zone=#<TZInfo::DataTimezone: +01:00>, @time=nil>

You should set first_at to a point in the future.
I don't know what your use case is. Maybe you'll need to set your schedule in a programmatic way, instead of using a config file. Take a look at https://github.com/moove-it/sidekiq-scheduler#load-the-schedule-from-a-different-file, and https://github.com/moove-it/sidekiq-scheduler#dynamic-schedule to get some ideas.

Hi @bengg, do you have any update on this?

Hi @snmgian thank you for the quick reply.
Finally I used "first_in" instead of "first_at" and works as expected.


File.tmpfile requires administrator rights on Windows

verylonglogin.reg (@denis-sh) reported this on 2012-02-18T00:42:44Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=7537
CC List

bugzilla (@WalterBright)
bugzilla (@WalterBright)
dlang-bugzilla (@CyberShadow)
lovelydear

Description
---
import std.stdio;

void main() {
    File.tmpfile();
}
---
dmd 2.058 compiled version running from non-administrator fails with: std.exception.ErrnoException Could not create temporary file with tmpfile() (Permission denied) at std\stdio.d(875)

dlang-bugzilla (@CyberShadow) commented on 2012-04-19T09:10:28Z
The filename is chosen by the C runtime, not the operating system. It is a bug in the DigitalMars C runtime. It probably tries to use the hard-coded %WINDIR%\Temp directory, instead of the user profile directory or %TEMP%.

lovelydear commented on 2012-04-19T09:01:44Z
This is not a bug. It works as intended. Should close.

dlang-bugzilla (@CyberShadow) commented on 2012-04-19T09:03:04Z
What?? How is this not a bug?

dlang-bugzilla (@CyberShadow) commented on 2012-04-05T19:23:30Z
File.tmpfile is just a simple wrapper around core.stdc.stdio.tmpfile, so the issue is with the DMC's C standard library.

dlang-bugzilla (@CyberShadow) commented on 2014-01-28T01:52:42Z
(In reply to comment #3)
> What?? How is this not a bug?

I may have been wrong here. The problem is not present on Win32, but on Win64 the MS runtime does what the DMC runtime used to do - attempt to create the file in the drive root. And it's not a bug, it's working according to the documentation:

> The tmpfile function creates a temporary file and returns a pointer to that
> stream. The temporary file is created in the root directory. To create a
> temporary file in a directory other than the root, use tmpnam or tempnam in
> conjunction with fopen.

Conclusion: this function is horrible and needs to be replaced with something better.

Some relevant discussion here:
https://github.com/D-Programming-Language/phobos/pull/691

bugzilla (@WalterBright) commented on 2019-12-12T16:58:52Z
Is this still not fixed?

lovelydear commented on 2012-04-19T09:19:52Z
Oh, I just saw the author of the issue. It's not "random Denis".
Anyway, has a bug report been done in DMC C bugzilla ?
Else this one will stay open forever, I'm affraid.

bugzilla (@WalterBright) commented on 2012-04-19T11:23:55Z
(In reply to comment #5)
> The filename is chosen by the C runtime, not the operating system. It is a bug
> in the DigitalMars C runtime. It probably tries to use the hard-coded
> %WINDIR%\Temp directory, instead of the user profile directory or %TEMP%.

Actually, it uses stdio.h's _P_tmpdir, which on Windows is "\\". Did I say that implementation is rather old? I also noticed that Windows 7 does not allow writing to the root directory. XP allowed it.


Incredibly slow ETL on remote orientdb server

The speed on the OrientDB server is incredibly slow for ETL.
We have a m3.lx out on AWS that is suppose  to be our OrientDB server but running the ETL against it through remote mode is incredibly slow.

extracted 308 records (0 records/sec) - 308 records -> loaded 153 vertices (0 vertices/sec) Total time: 197545ms [0 warnings, 0 errors]

I turned up logging to FINE on the server and didnt see anything that stands out. Our ETL extract records and creates 7 node with 7 edge each max. Running it on plocal it jumps to ~800 vertices/sec. Having such a slow ETL and performance on a remote OrientDB would rule out OrientDB for us as we are looking to store ~100s of records within the DB and will be looking to set up cluster mode behind a load balancer. I am assuming that I am just missing something critical with the setup but most of it is the default settings for version 2.1.8.
Any help would be appreciated.
Is the ETL package actively being worked on? Is it worth writing our own ETL process?

To better support you, it would be better if you can send the ETL json config and a sample csv with some data, maybe generated or anonymized if necessary. ETL works very well for first batch import, when you can use plocal without WAL.

closing due to lack of infos


fix regex not meeting criteria

Closes #80

Codecov Report
Base: 56.95% // Head: 56.95% // No change to project coverage :thumbsup:

Coverage data is based on head (e794269) compared to base (15fe4b3).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #81   +/-   ##
=========================================
  Coverage     56.95%   56.95%
  Complexity      476      476
=========================================
  Files            96       96
  Lines          1928     1928
  Branches        202      202
=========================================
  Hits           1098     1098
  Misses          784      784
  Partials         46       46

Impacted Files
Coverage Δ

src/main/java/seedu/address/model/tag/Tag.java
80.00% <ø> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
25.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Add Rocky Linux (based on QCOW2 cloud images).

(read PR title)

Thank you for your contribution!


V0.2 - getting tests running [WIP]

The rocks lib build takes 10 minutes. You should probably skip it in the non-rocks test runs.


http_proxy is routing incorrectly

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
When using istio-proxy in non transparent proxy mode, a cluster is used when choosing a route without taking into account the requested port.
For example, if there is no port 80 in the target SVC, but only port 8080
apiVersion: v1
kind: Service
metadata:
  name: black-box
  namespace: black-box
spec:
  ports:
  - name: http
    port: 8080
    protocol: TCP
    targetPort: application
  selector:
    app: black-box
  type: ClusterIP

then if you request (I have proxyHttpPort: 15007)
$ curl http://black-box.black-box.svc.cluster.local:8080 -s -x http://<IP_ADDRESS>:15007 -v
*   Trying <IP_ADDRESS>:15007...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 15007 (#0)
> GET http://black-box.black-box.svc.cluster.local:8080/ HTTP/1.1
> Host: black-box.black-box.svc.cluster.local:8080
> User-Agent: curl/7.85.0
> Accept: */*
> Proxy-Connection: Keep-Alive
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 503 Service Unavailable
< content-length: 19
< content-type: text/plain
< date: Thu, 11 Jan 2024 04:27:05 GMT
< server: envoy
<
* Connection #0 to host <IP_ADDRESS> left intact

The body is: no healthy upstream
when I added such lines to the SVC above, http-80 is required to be the first in the list, otherwise there will be no changes
  - name: http-80
    port: 80
    protocol: TCP
    targetPort: application

the same query starts working, but it can be seen from the log that the cluster is selected for port 80 instead of 8080
{
"authority": "black-box.black-box.svc.cluster.local:8080",
"downstream_local_address": "<IP_ADDRESS>:15007",
"upstream_cluster": "outbound|80||black-box.black-box.svc.cluster.local"
}

And if you form a request for a port that does not exist at all in the SVC, it will also come as if it was sent to port 80
{
"authority": "black-box.black-box.svc.cluster.local:8888",
"downstream_local_address": "<IP_ADDRESS>:15007",
"upstream_cluster": "outbound|80||black-box.black-box.svc.cluster.local"
}

Version
$ istioctl version
client version: 1.20.1
control plane version: 1.20.1
data plane version: 1.20.1 (449 proxies)

$ kubectl version
Client Version: v1.28.3-eks-e71965b
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.4-eks-8cb36c9

$ helm version --short
v3.7.1+g1d11fcb

Additional Information
No response

cc @ramaraochavali

I've added annotation for the pod traffic.sidecar.istio.io/excludeOutboundPorts: "15007" and now I have the iptables rule:
Chain ISTIO_OUTPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination
   23  1380 RETURN     tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:15007
``
After that, the behavior did not change.

still actual
$ istioctl version client version: 1.23.0 control plane version: 1.23.0 data plane version: 1.23.0 (670 proxies)


Feature/historic

Superseded pull request for websocket. Adds and integrates historic data with live data.

See #77 first


Fixes S3 bucket unecessary alerts

Change interval of health checks to 4 minutes.
S3 pings up to three times before returning Unhealthy.
(Also, removed redundant logging)

This change is

src/SIL.Machine.AspNetCore/Configuration/IServiceCollectionExtensions.cs line 8 at r1 (raw file):
Previously, ddaspit (Damien Daspit) wrote…
This doesn't have any impact on our health checks. This only affects IHealthCheckPublisher implementations, which we aren't using.

With options.Period set to 4 minutes:

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:15:44

...

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:19:44

With options.Period set to 30 seconds:

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:21:58

...

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:22:28

This is talking about gRPC health checks and mentions this solution: https://learn.microsoft.com/en-us/aspnet/core/grpc/health-checks?view=aspnetcore-7.0#configure-health-checks-execution-interval. I tried it, and it works generally. I can't seem to find a way to configure this in a semantically clearer way. Like I said, "I don't understand why/how", but it definitely has an effect. If this isn't the right way to do it, do you know what the right way is?

src/SIL.Machine.AspNetCore/Configuration/IServiceCollectionExtensions.cs line 8 at r1 (raw file):
Previously, Enkidu93 (Eli C. Lowry) wrote…
With options.Period set to 4 minutes:

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:15:44

...

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:19:44

With options.Period set to 30 seconds:

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:21:58

...

machine-engine-cntr | info: S3HealthCheck\[0\]

machine-engine-cntr | 09/15/2023 20:22:28

This is talking about gRPC health checks and mentions this solution: https://learn.microsoft.com/en-us/aspnet/core/grpc/health-checks?view=aspnetcore-7.0#configure-health-checks-execution-interval. I tried it, and it works generally. I can't seem to find a way to configure this in a semantically clearer way. Like I said, "I don't understand why/how", but it definitely has an effect. If this isn't the right way to do it, do you know what the right way is?

(And of course, maybe we don't want to tweak the checking interval - which is fine too - just let me know).

src/SIL.Machine.AspNetCore/Configuration/IServiceCollectionExtensions.cs line 8 at r1 (raw file):
Previously, ddaspit (Damien Daspit) wrote…
Yes, you are correct. I didn't realize that the gRPC Health Checks service registers a IHealthCheckPublisher. The gRPC health check API includes a Watch endpoint that can stream health check reports from the server to the client. The publisher is required to support this endpoint. If you fix the S3 health check to not hang, then I don't think we need to change this.

I've realized, Damien, that because of the retry policy on the HttpClient/AmazonS3Client for the ClearML/S3 Healthchecks, the endpoint will hang regardless. What's the best way to handle this? I hate to have the health checks use custom code to interact with AWS/ClearML rather than using our existing service code both for maintainability and consistency, but I'm not sure how else to have this policy one place and not the other. I could generate and close the client on each call and have optional policy parameters in the function calls, but that seems excessive and potentially expensive (?).

src/SIL.Machine.AspNetCore/Configuration/IMachineBuilderExtensions.cs line 107 at r2 (raw file):

            .AddHttpClient<ClearMLService>()
            .AddTransientHttpErrorPolicy(
                b => b.WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)))

When will this actually error out?  Can the calculation be included as a comment so we don't have to try to figure out 2^1 + 2^2 + 2^3 = 14 seconds?

src/SIL.Machine.AspNetCore/Configuration/IServiceCollectionExtensions.cs line 8 at r1 (raw file):
Previously, ddaspit (Damien Daspit) wrote…
I took a look at the code for the library, and it doesn't have any way to handle the periodic downtime that we want to be able to deal with, so we probably don't want to use it. I think it is fine to not use the shared file service in the health check.

OK, I'll go ahead and copy-paste into the health checks to avoid the retry policy :thumbsup: .

src/SIL.Machine.AspNetCore/Services/ClearMLHealthCheck.cs line 25 at r3 (raw file):
Previously, ddaspit (Damien Daspit) wrote…
Are we sure that we can get multiple valid access tokens for the same user at the same time? I know there are some systems that will invalidate previous access tokens when a new one is created.

Running an NMT E2E test while the health checks are running should be sufficient to test this, right?

src/SIL.Machine.AspNetCore/Services/ClearMLHealthCheck.cs line 25 at r3 (raw file):
Previously, ddaspit (Damien Daspit) wrote…
I understand why you didn't use the ClearMLAuthenticationService to get the access token, since it has a retry policy on it that can potentially hold up the health check. Go ahead and use it anyway. It will only happen if the server has just started and hasn't retrieved the access token yet.

So do you still want a static class to hold (just the) CallAsync method now?

It is a little crazy how this simple thing is giving us such pains :-)

src/SIL.Machine.AspNetCore/Services/ClearMLHealthCheck.cs line 25 at r3 (raw file):
Previously, ddaspit (Damien Daspit) wrote…
We don't need to add it. I retracted those comments.

Oh, I see now. Sorry, I've never encountered Reviewable before here. Apparently, I should take some time to figure it out.

src/SIL.Machine.AspNetCore/Services/ClearMLHealthCheck.cs line 25 at r3 (raw file):
Previously, Enkidu93 (Eli C. Lowry) wrote…
Oh, I see now. Sorry, I've never encountered Reviewable before here. Apparently, I should take some time to figure it out.

Done.

src/SIL.Machine.AspNetCore/Services/ClearMLHealthCheck.cs line 25 at r3 (raw file):
Previously, ddaspit (Damien Daspit) wrote…
We want to get the access token every time the CallAsync method is called, otherwise the ClearMLAuthenticationService might update the token and we won't get the new token.

Done.


Feature: Stream support to bridge with data flow

see #4

Cool !

Once it works well, I think you could do a small screencast to show the feature (displaying the video on a minecraft map), put it on YouTube and then link it to your readme.
That's an interesting feature and having a video showing it make it clear to everyone ;)


Pp/cpc ctc stats

Added option to capture data for future visualizations (save them across different epochs during training, or just see what is produced after the training) - representations, CPC predictions and CPC-CTC alignments
Example run that saves data each 2 epochs for 33% of provided 'capture dataset':
python train.py --pathDB /pio/scratch/1/i283340/MGR/zs/ds2
--pathTrain /pio/scratch/1/i283340/MGR/zs/sometries/ds2part.txt
--pathVal /pio/scratch/1/i283340/MGR/zs/sometries/ds2part.txt
--pathCaptureDS /pio/scratch/1/i283340/MGR/zs/sometries/ds2part.txt
--captureDSfreq 33 --captureEachEpochs 2
--pathCaptureSave /pio/scratch/1/i283340/MGR/zs/capture/try2
--saveRepr --savePred --saveAlign
--pathCheckpoint /pio/scratch/1/i283340/MGR/zs/checkpoints/cpcctc_tests2
--file_extension .flac --n_process_loader 2 --max_size_loaded 40000000
--batchSizeGPU 16 --nPredicts 8 --CPCCTC --CPCCTCNumMatched 12
--CPCCTCSelfLoop --CPCCTCSkipBeg 1 --CPCCTCSkipEnd 2

Yeah, another function seems better - I just didn't want to have entirely separate run file with constructing all stuff from args and went a bit too far in "everything together" direction; updated


useDownloader hook

Feature Request
Just thought I'd throw it out there that it would be cool to have a hook that could be consumed in any component.  How I imagine it would work is that you'd create a new DownloadQueue() and run .init() at the top level of the app somewhere.  Then in any component, you could do something like below:
import {useDownloader} from 'react-native-background-downloader-queue';

const MyComponent = () => {
 const downloader = useDownloader();
 const [downloadProgress, setDownloadProgress] = useState()

 useEffect(() => {
   const myDownloadId = downloader.addUrl('http://example.com/lala.mp3'); // Returns a unique id?
   setDownloadProgress(downloader.progress(myDownloadId)); // should be able to call downloader.progress() and get entire queue, or download.progress(id) to get only specific progress for the id
 }, [downloader])

 return <View><Text>{downloadProgress}% downloaded</Text></View>
}

I didn't fully think through how the API would look, but something like the above.  The main feature would be able to add and get the progress of all downloads or specific downloads from any component.  I'm sure we'd want to be able to pause/cancel/resume and all the other niceties, too.

I think some hooks would be great -- certainly for the way that many people will likely want to use this library.
How should we handle the various options available at init? I wonder if it'd be easiest to provide a React.Context around this, to encapsulate all the various inits. So it'd look something like this:
import {DownloadQueueContextProvider} from 'react-native-background-downloader-queue';

export default function App() {
  return (
    <DownloadQueueContextProvider
      domain='someUserId'
      urlToPath={url => new URL(url).pathname}
      netInfoAddEventListener={NetInfo.addEventListener}
      activeNetworkTypes={["wifi", "ethernet"]}
    >
      <MyComponent />
    </DownloadQueueContextProvider>
  );
}

function MyComponent() {
  const myFavUrl = 'https://boo.com/8675309.mp3';
  const downloader = useDownloader();  // This gets the DownloadQueue instance from the provider
  const [percent, bytesWritten, total] = useDownloadProgress(myFavUrl);
  const finished = useDownloadDone(myFavUrl);

  // finished === true iff percent === 1.0 && bytesWritten === total

  function onPressPause() {
    downloader.pauseAll();  // You can call all DownloadQueue functions, as usual.
  }
}

The idea would be to get all setup done via DownloadQueueContextProvider, which gives you a chance to set domain and a few other init() options. Notably, I'm proposing (for your feedback) that you can't pass handlers directly via the context provider, but that there are instead hooks for all those handlers that each take a url.
Thoughts on this approach?

Closing due to lack of activity/interest.


Document how to develop a Hawtio.next plugin

Document the new plugin API defined and implemented at #32.

Checking info on plugin implementation to do this and the example

Leaving this in hold until the new API migration stabilizes.

We already have some documentation in readme of the examples, but leave it open so that we don't forget to write a full documentation some days.
https://github.com/hawtio/hawtio-sample-plugin-ts
https://github.com/hawtio/hawtio-sample-war-plugin-ts

Moved to hawtio/website/issues/50


Automatic open-needs-ls fails if current user has no sudo

I am not sure if this is a usecase to be handled, but this is something what happened to me.
I had an older version of open-needs-ls installed and the extension notified me of a newer version.
I had removed the "sudo" for current user for security reasons. The automatic uninstallation of needls failed because of the following permission issue.

PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/needls/'

It seems to be possible to do a manual pip install of a newer version without sudo and the new version gets installed "locally".
Does it make sense to remove the uninstall step all together and do a new install only? Would this work for cases where sudo is not available?

Mhh it all depends on the folder permission setup of the OS or docker container.
Removing the pip uninstall ... part could help, but I guess that pip install should be affected as well.
I'm not sure and have to make some tests.

I close this as the issue is related to the general Python environment setup and its permission configuration must be right.
All we can do is detect problems and write meaningful error messages.
But I would not change the internal behavior.

Installing esbonio when rST Extension offers the pop works fine in the same environment. I guess it is worth looking at the difference in implementation.
https://github.com/vscode-restructuredtext/vscode-restructuredtext/blob/0386a90bedf1b1a9ec80172cdd443d8a01ae8836/src/util/python.ts#L246
If no noticeable difference in implementation is present, it would be nice to have an error message to use pip manually as done by rST extension.

Hi,
This project is not maintained anymore and is archived.
All the current features have been moved to project Sphinx-Needs: https://github.com/useblocks/sphinxcontrib-needs/tree/master/sphinx_needs/lsp. The features will be automatically detected by VsCode extension reStructuredText: https://github.com/vscode-restructuredtext/vscode-restructuredtext in your Sphinx-Needs project.
Further features development will be done inside the Sphinx-Needs project.
Thanks.


Allow public bind address from web settings

I'm creating an integration with this application for Home Assistant, and have found that I needed to add  --http-bind-address <IP_ADDRESS> to the daemon shortcut to allow remote connections to the API/Websocket.
This isnt the simplest setup and would like to see this in the GUI/Webapp, so others are able to easily allow remote connections

I've been meaning to do this for a while, when the daemon was originally written it was never intended to be accessed outside of localhost, but that changed over time via requests.. The WebUI config has continued to grow since, and would definitely benefit from having a UI panel at this point to allow more fine grained configuration.
I'll look into this for the 0.12 release, while I finish tidying up functionality.

I think that for many streamers with a separate streaming setup it can be useful to control the GoXLR with their main setup.
@timmo001: can you post your integration i wanted to do the same and got stuck at the same point :)

I think that for many streamers with a separate streaming setup it can be useful to control the GoXLR with their main setup.
@timmo001: can you post your integration i wanted to do the same and got stuck at the same point :)

Will do when its ready to use. Current stage is experimenting and setting up a basic integration

I think that for many streamers with a separate streaming setup it can be useful to control the GoXLR with their main setup.
@timmo001: can you post your integration i wanted to do the same and got stuck at the same point :)

Will do when its ready to use. Current stage is experimenting and setting up a basic integration

Ich kann mittesten wenn du etwas funktionsfähiges hast

Here's the custom integration repository.
To start with, I have added some basic volume sensors but plan to add more to the integration in the future.

This is implemented in d9873dd6, and is labelled in the settings as 'Allow UI network access' (that may be renamed before release), if checked the UI will bind to all interfaces (<IP_ADDRESS>) on startup.
For legacy purposes, if --http-bind-address is in use, it will override that setting (and allow more fine-grained settings for those who want it).

Perfect! I'll look forward to the next release 👍


404 after upgrading to 1.7.0

This may be related to #3819, but am thinking not because I can deploy without a problem.
Recently, I upgraded from 1.2.x to 1.6.1 and then today from 1.6.1 to 1.7.0 (using the "in-place upgrade" instructions for both). Alas, despite being able to deploy without problem, all of my apps now 404 (Including Deis' own example-nodejs-express, which I just deployed).
fleetctl list-units shows everything up. Looking through the logs for the router doesn't reveal anything obvious, except the following, which might have been while I was upgrading:
Jun 09 12:18:19 ip-10-21-2-14.eu-west-1.compute.internal sh[2486]: [INFO] - 2015/06/09 12:18:19 [emerg] 742#0: invalid port in upstream "<IP_ADDRESS>:" in /opt/nginx/conf/.nginx.conf159700271:164
Jun 09 12:18:19 ip-10-21-2-14.eu-west-1.compute.internal sh[2486]: 2015-06-09T12:18:19Z 9cffb69233b8 confd[47]: ERROR Config check failed: exit status 1

Yet if I do deis logs, it seems the application is up and running and everything's fine.
Any suggestions?

I think this is related to #3819 but what is interesting is you can still push.

@aendrew Apologies for the disruption.  In the meantime please try this as a workaround:
$ deisctl config set publisher image=deis/publisher:v1.6.1
$ deisctl restart publisher

.. then wait 10s or so and retry access your deployed apps.

@gabrtv Thanks for getting back to me! I'm trying that, but all I get is the usage instructions —
Usage:
  deisctl config <target> get [<key>...]
  deisctl config <target> set <key=val>...

Sorry, syntax problem in my comment:
$ deisctl config publisher set image=deis/publisher:v1.6.1
$ deisctl restart publisher

@gabrtv Amazing, my stuff's back up! Thanks a million! :+1:

deisctl config publisher set image=deis/publisher:v1.6.1 is the correct usage. There seems to be some race condition in publisher that was introduced which is hard to track down.

Let's close this since we're tracking the problem in #3819. That way we can keep it all in one place. Thanks!

@bacongobbler Awesome. Thanks a bunch!


Can't compile... EnumSetType not found

Just asking for help, I am pretty sure I just messed up / forgot something... New to rust and to cursive..
Problem description
Can't compile the simplest example
Cargo.toml:
[dependencies]
cursive = "*"

main.rs:
use cursive::views::{Dialog, TextView};
fn main() {
    let mut siv = cursive::default();
    siv.add_layer(Dialog::around(TextView::new("Hello Dialog!"))
                         .title("Cursive")
                         .button("Quit", |s| s.quit()));
    siv.run();
}

Error:
/home/denis/.cargo/bin/cargo build --color=always --package tui-app --bin tui-app --message-format=json-diagnostic-rendered-ansi
   Compiling cursive_core v0.1.2
error[E0412]: cannot find type `EnumSet` in this scope
 --> /home/denis/.cargo/registry/src/github.com-1ecc6299db9ec823/cursive_core-0.1.2/src/theme/effect.rs:4:10
  |
4 | #[derive(EnumSetType, Debug)]
  |          ^^^^^^^^^^^ not found in this scope
  |
  = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing one of these items
  |
1 | use crate::printer::EnumSet;
  |
1 | use enumset::EnumSet;
  |

error[E0422]: cannot find struct, variant or union type `EnumSet` in this scope
 --> /home/denis/.cargo/registry/src/github.com-1ecc6299db9ec823/cursive_core-0.1.2/src/theme/effect.rs:4:10
  |
4 | #[derive(EnumSetType, Debug)]
  |          ^^^^^^^^^^^ not found in this scope
  |
  = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing one of these items
  |
1 | use crate::printer::EnumSet;
  |
1 | use enumset::EnumSet;
  |

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0412, E0422.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `cursive_core`

Environment
~$ rustc --version
rustc 1.49.0 (e1884a8e3 2020-12-29)

~$ uname -r
5.9.0-0.bpo.5-amd64

Hi, and thanks for the report!
Cursive 0.15 depends on the enumset crate, which went through a few hard times:

First, it relied on a non-public API of its syn dependency, which broke builds for a while.
Then, it fixed the issue but brought non-compatible changes in the same major version.

As a result, "old" versions of cursive like 0.15 try to use the latest version of enumset but compilation fails because of these changes.
The current solution is to update cursive to the latest 0.16 version (which currently replaces enumset with wasmer_enumset).

I confirm using 0.16 solves the problem!
Thanks:)


Fix Java.Lang.NoSuchMethodError in TouchEffect

Description of Change
Android Foreground property is available starting API 23. We shouldn't use it on versions lower than it.
Bugs Fixed

Fixes #969

API Changes
None
Behavioral Changes
None
PR Checklist

[ ] Has tests (if omitted, state reason in description)
[X] Has samples (if omitted, state reason in description)
[X] Rebased on top of main at time of PR
[X] Changes adhere to coding standard
[ ] Updated documentation

@jfversluis pls re-run CI tests


hide.bs.modal called on smalot/bootstrap-datetimepicker hide

hello
when datetimepicker hide function is called, modal hide function is triggered too ..
is this problem in bootstrap modal or it's problem of smalot/bootstrap-datetimepicker? https://www.malot.fr/bootstrap-datetimepicker/
example:
https://jsfiddle.net/0egyfdjg/

Unfortunately we are unable to provide assistance with third-party libraries such as smalot/bootstrap-datetimepicker.
Perhaps try asking on https://github.com/smalot/bootstrap-datetimepicker/issues or on one of the Bootstrap community forums (e.g. StackOverflow; see https://github.com/twbs/bootstrap/blob/v3-dev/README.md#community for links).


Catch failed req()

This isn't a problem with the code here, but in some bundler contexts (I'm seeing this with parcel), generated output looks like:

... i.e., req may wind up undefined because the bundler helpfully determined at build time that resolve exists, even though at runtime it doesn't.
A try/catch is a bit of an ad-hoc fix but it's doing the trick in this instance.

Thanks.  Webpack (via create-react-app) & rollup were fine with this.  I did not check parcel. Thanks!


Goal time appears incorrect when playing live compaign

That's champion medal from previous map.
When playing solo problem doesn't exist

@AmaSpirit thank you for creating issue. I'll try to recreate and fix it!


Option to prevent redirect in 'signInWithOAuth'

Feature request
It would be nice to add an option to disable automatic redirect in signInWithOAuth.
Is your feature request related to a problem? Please describe.
We use electron and now it redirects user to same window. It's much better to open a new default browser (because user has stored usernames/password in his browser)
Describe the solution you'd like
Add if :)
https://github.com/supabase/gotrue-js/blob/b7b66fef9e5dc8db755a589ed5a404720832f666/src/GoTrueClient.ts#L944

It's coming soon.
https://github.com/supabase/gotrue-js/pull/575


Include easy way to retrieve the IDs of core tasks?

Done, with https://github.com/fractal-analytics-platform/fractal/pull/273


Design About Us page of the website.

"I want to work on this issue under JWOC please assign it to me"


Method request: Start single file

I want to request a new method to start single files, the reason is quite simple:
So I set "autoUpload" to "false" and add individual endpoints for each file being submitted simply using the "setEndpoint" method.
But now I need to fire the upload process for this single file id. As far as I can see sadly "uploadStoredFiles ()" is the only method to start uploading - but this will start all queued uploads, including freshly added ones possibly even those with yet-to-be-set endpoints.
So my idea is either to extend the existing method "continueUpload (id)" to also work on queued uploads, or to just extend "uploadStoredFiles" to take an argument for the file id.
Or maybe someone could point me to how to achieve this with existing methods.
There is a solution I can think of off the top of my head, this would however imply the use of jQuery promises on the validation process and I'd need to keep "autoUpload" "true".
I think my suggestion'd work way better also it doesn't needlessly involve jQuery promises.
Thanks in advance,
Christian.

Why not just set the endpoint, per file, in the onSubmit callback handler?

Hey, thanks for the quick reply :)
The problem is - I forgot to mention this before - my endpoints are set by requesting them from the server via Ajax, while starting the upload.

The onSubmit callback allows you to return a promise.  So, you can return a promise, make your call, update the endpoint, and then resolve the promise.


Optimize output and flags

2nd and 3rd bullets of #191

should also change rootCmd description. Any idea?

should also change rootCmd description. Any ideas?

"A tool for synthesizing and optimizing VPC network configurations"


Fix recent history exclude not working

Fix #157395

Hey sorry. I was on vacation. Something I'm curious about... if you add this to search.exclude do they go away? I doubt it but I just want to make sure.

As @TylerLeonhardt mentioned, it turns out to be a bug, exclude settings will only affect it on configuration changes, not even on history/window reload

By the way, both files.exclude and search.exclude should work, but it's slightly different than how it works on file explorer and search panel, you have to use a file match pattern instead of directory one
e.g. **/.git will not work but **/.git/** will

Actually now I remembered why the code works as is: there is still users out there (including me and some from our team) that navigate editors exclusively via the file history. This is cool because you only need a single keybinding and UI piece for all matters of editor accessing and opening.
If we were to change how history works, this scenario would break:

open an editor from an excluded resource
navigate back in history to the previous editor
try to navigate back to the excluded resource
🐛 you can no longer do that even though the editor is open

I will push a change to go back to the original solution but will revisit this when I am back from leave.

Yep, that's what I said 🤣

And if we actually exclude these files from the get go, we can't use quick open to switch to these files while they are still opened which is something you can do to non files (e.g. settings page), so I'm not sure would we want that

I am sorry but have decided to not accept the change in this area and since we are in grooming iteration, I am closing this PR.

I am sorry but have decided to not accept the change in this area and since we are in grooming iteration, I am closing this PR.

Well... That's pretty sad, could you tell me why if you will
And does that mean this 'bug' will not be fixed?
Should I reopen this after 'grooming iteration' or just leave it?

I was not convinced to force exclude history entries that are opened, such as https://github.com/microsoft/vscode/pull/161300#issuecomment-1259366596 indicated.

Didn't you already rollback to the original solution which will only remove the excluded file's history after closing the editor(tab) ?

Even then, I am not sure this might break peoples assumption. For example users might have setups where editors are closed:

there is a setting to auto-close editors based on a limit
I for example always close all editors before starting a new task

In essence, with this change the editor history is less deterministic and may no longer reflect the actual history of editors that were opened.

Well, ok then, sounds reasonable...


python38Packages.flask_wtf: 0.15.1 -> 1.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.flask_wtf is: "Simple integration of Flask and WTForms."
meta.homepage for python38Packages.flask_wtf is: "https://github.com/lepture/flask-wtf/"
meta.changelog for python38Packages.flask_wtf is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.0.0 with grep in /nix/store/4j37wrb34irq94qws1bysi8kz0v14zi3-python3.8-Flask-WTF-1.0.0

found 1.0.0 in filename of file in /nix/store/4j37wrb34irq94qws1bysi8kz0v14zi3-python3.8-Flask-WTF-1.0.0

Rebuild report (if merged into master) (click to expand)

32 total rebuild path(s)

16 package rebuild(s)

16 x86_64-linux rebuild(s)
16 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
apache-airflow
archivy
buku
etesync-dav
python38Packages.apache-airflow
python38Packages.flask-admin
python38Packages.flask-appbuilder
python38Packages.flask-mongoengine
python38Packages.flask_wtf
python38Packages.ihatemoney
python39Packages.apache-airflow
python39Packages.flask-admin
python39Packages.flask-appbuilder
python39Packages.flask-mongoengine
python39Packages.flask_wtf
python39Packages.ihatemoney

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4j37wrb34irq94qws1bysi8kz0v14zi3-python3.8-Flask-WTF-1.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.flask_wtf https://github.com/r-ryantm/nixpkgs/archive/01340b1e7c7e8fa243d6295bec9f636d2d589c7e.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4j37wrb34irq94qws1bysi8kz0v14zi3-python3.8-Flask-WTF-1.0.0
ls -la /nix/store/4j37wrb34irq94qws1bysi8kz0v14zi3-python3.8-Flask-WTF-1.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

python38Packages.ihatemoney
python39Packages.ihatemoney

13 packages built:

apache-airflow (python39Packages.apache-airflow)
archivy
buku
etesync-dav
python38Packages.apache-airflow
python38Packages.flask-admin
python38Packages.flask-appbuilder
python38Packages.flask-mongoengine
python38Packages.flask_wtf
python39Packages.flask-admin
python39Packages.flask-appbuilder
python39Packages.flask-mongoengine
python39Packages.flask_wtf

Maintainer pings
cc @mic92 for testing.

We need to update ihatemoney: https://github.com/spiral-project/ihatemoney/blob/9bffe72607029464561069a9953bcbd6dd54af53/setup.cfg#L37
or it will break after this update.
cc @symphorien

I pushed a commit that fixes this. Thanks for the ping.
@GrahamcOfBorg test ihatemoney.ihatemoney-postgresql ihatemoney.ihatemoney-sqlite


Declare tokens.studio TypeScript types

This repo seems to be taking some shy steps in the TypeScript ecosystem.
I believe there would be quite a bit of value in declaring a typescript type structure to express what is documenting on https://docs.tokens.studio/available-tokens/available-tokens .
Would this repo be the right place to contribute this change?

Hm yeah I have been thinking about this as well, because at the moment in this library, a "design token" is typed as DesignToken type from style-dictionary library, but this doesn't map 1 to 1 with design tokens as they are created in Tokens Studio.
I believe it would be very useful if we had a type for tokens studio design tokens, where we also have an enum type for the token type based on the available tokens in tokens studio.
@six7 I am guessing such a type already exists somewhere in the tokens studio / figma plugin source code, perhaps it's an idea to export it somewhere so it can be reused here in this library as well as by consumers for their own purposes.
I am not completely sure where that "somewhere" should be, I'm personally not against putting it in this library if we don't have somewhere that makes more sense that's also published as an npm package.
As for my philophy behind Typescript, for what it's worth, it's something like this:
Type safety is an absolute must, both for library maintainers and consumers. However, Typescript compilation step during local development, testing and demoing, has too often proven a massive overhead, along with Typescript patch/minor updates often breaking the types. The main benefit with using .js files + JSDoc comments is that the code always runs regardless of a broken type somewhere, and you don't need a mandatory compilation step, thus speeding up development significantly. Yet, you get all the same benefits of full type safety such as maintenance, spotting certain bugs early, self-documentation of public API, etc. Even though the ergonomics of JSDocs may not really match that of writing TS files, it's worth it when considering all the negatives of Typescript files, in my personal opinion.

There is, we do have those types defined for tokens studio itself. Should we just have a @tokens-studio/types package that exports this and is being used by this package and by the plugin (and by future products)?

Yeah I think that would make sense 👍🏻 I don't mind doing it, if you can point me to the type definition in a DM or something :)

This should be the entry point for those: https://github.com/tokens-studio/figma-plugin/blob/main/src/types/tokens/SingleToken.ts

For a new project, I'm looking into using some of these transformers; and I am more than willing to contribute to this project. We have some additional generic transformers and we could always help with unit testing and proper project set up and the likes. The latter is what I'm currently running into with the project as is. TypeScript is the first thing that I would expect here.
I've read your reasoning

However, Typescript compilation step during local development, testing and demoing, has too often proven a massive overhead, along with Typescript patch/minor updates often breaking the types.

I have maintained a large design system in TypeScript for a year and we rarely to never had issues with TypeScript patch/minor updates. Furthermore, the overhead is not that big. With a good setup, you don't need to compile during local development and testing. You will of course have to when publishing your release files and this does add some time, but with a library of this size we are talking about mere seconds. Micro-optimalisations.

The main benefit with using .js files + JSDoc comments is that the code always runs regardless of a broken type somewhere

This is the sole reason you want type checking, to make sure your code runs only when the input and output is as expected. Of course there's still ways to bypass this check with actual TS but this is never really advised.
Add in the mix that writing the JSDocs probably takes up more time than the few seconds TS compilation during release adds, and the fact that JSDocs needs extra extensions and such installed for proper support and full type safety; and TS is just the better option.
I'd be more than willing to submit a PR with a TS rewrite but of course only if I'm sure that it won't be disregarded anyways..

I have maintained a large design system in TypeScript for a year and we rarely to never had issues with TypeScript patch/minor updates. Furthermore, the overhead is not that big.

I understand. My experience is different, and that perhaps has to do with my usage of JavaScript Mixins and the TypeScript inheritance hell that you get when using this pattern, this repository fortunately doesn't require such patterns.

This is the sole reason you want type checking, to make sure your code runs only when the input and output is as expected. Of course there's still ways to bypass this check with actual TS but this is never really advised.

If I'm making quick refactors or playing around with some code, experimenting, doing small POCs, I don't want to deal with not seeing results until I fix types. It's a waste of time. JavaScript is a nimble language, which is why I am fast and productive writing it, TypeScript compilation restrictions makes it less nimble.

Add in the mix that writing the JSDocs probably takes up more time than the few seconds TS compilation during release adds, and the fact that JSDocs needs extra extensions and such installed for proper support and full type safety; and TS is just the better option.
I'd be more than willing to submit a PR with a TS rewrite but of course only if I'm sure that it won't be disregarded anyways..

Agree to disagree. This simply hasn't been my experience trying both methods extensively in many different projects. You don't need extra extensions. The autocomplete/suggest and typescript language server in VS Code as well as other editors, works just fine with TS files as JSDocs comments in JS files. It has worked great since at least the introduction of the checkJs/allowJs TS options, before that I'm not sure.
I appreciate your perspective on this though, and I understand the argument that if you want to invite collaboration and contributions, which is quite crucial to this particular project, it is wiser to go with the more popular choice, even if it isn't a personal preference. Lowering barrier to entry for collaboration is the most important thing here, more important than me sticking to my personal preference.
Therefore, I've raised a draft PR to switch the project to TypeScript.

Fixed, we have a package for our shared types now! https://github.com/tokens-studio/types


Is the math in getUniv2DataGivenIn incorrect?

We are calculating newReserveA as being reserveA + aInWithFee, but aInWithFee is 997 times too big, no?
export const getUniv2DataGivenIn = (
  aIn,
  reserveA,
  reserveB
) => {
  const aInWithFee = aIn.mul(997);
  const numerator = aInWithFee.mul(reserveB);
  const denominator = aInWithFee.add(reserveA.mul(1000));
  const bOut = numerator.div(denominator);

  // Underflow
  let newReserveB = reserveB.sub(bOut);
  if (newReserveB.lt(0) || newReserveB.gt(reserveB)) {
    newReserveB = ethers.BigNumber.from(1);
  }

  // Overflow
  let newReserveA = reserveA.add(aInWithFee); // this is 997 times too big?
  if (newReserveA.lt(reserveA)) {
    newReserveA = ethers.constants.MaxInt256;
  }

  return {
    amountOut: bOut,
    newReserveA,
    newReserveB,
  };
};

Should it be..
javascript let newReserveA = reserveA.add(aIn);

You have to subtract the 3% fee right? so reserveA.add(aIn * .97)

so
let newReserveA = reserveA.add(aInWithFee.div(1000))

  public getOutputAmount(inputAmount: CurrencyAmount<Token>): [CurrencyAmount<Token>, Pair] {
    invariant(this.involvesToken(inputAmount.currency), 'TOKEN')
    if (JSBI.equal(this.reserve0.quotient, ZERO) || JSBI.equal(this.reserve1.quotient, ZERO)) {
      throw new InsufficientReservesError()
    }
    const inputReserve = this.reserveOf(inputAmount.currency)
    const outputReserve = this.reserveOf(inputAmount.currency.equals(this.token0) ? this.token1 : this.token0)
    const inputAmountWithFee = JSBI.multiply(inputAmount.quotient, _997)
    const numerator = JSBI.multiply(inputAmountWithFee, outputReserve.quotient)
    const denominator = JSBI.add(JSBI.multiply(inputReserve.quotient, _1000), inputAmountWithFee)
    const outputAmount = CurrencyAmount.fromRawAmount(
      inputAmount.currency.equals(this.token0) ? this.token1 : this.token0,
      JSBI.divide(numerator, denominator)
    )
    if (JSBI.equal(outputAmount.quotient, ZERO)) {
      throw new InsufficientInputAmountError()
    }
    return [outputAmount, new Pair(inputReserve.add(inputAmount), outputReserve.subtract(outputAmount))]
  }

i just looked and how uniswap does in their sdk and they seem to just add the inputamount to the reserve

Yeah but inputAmount wasn't multiplied by 997 @htkcodes . Compared to in this project

Yeah but inputAmount wasn't multiplied by 997 @htkcodes . Compared to in this project

const inputAmountWithFee = JSBI.multiply(inputAmount.quotient, _997)

same thing

When they return the new reserve amount, they add inputAmount, not inputAmountWithFee.

Code is referencing UniswapV2Library.sol
https://github.com/Uniswap/v2-periphery/blob/master/contracts/libraries/UniswapV2Library.sol#L43
Try calculating the reserves by hand and compare to the output

Yes so input amount in @libevm project is "aIn". Its the same thing

Code is referencing UniswapV2Library.sol
https://github.com/Uniswap/v2-periphery/blob/master/contracts/libraries/UniswapV2Library.sol#L43
Try calculating the amount outs given reserves by hand and compare to the output obtained by the router

@libevm the amount out is correct. The reserveA update is not. amountInWithFee is 1000x larger than the actual reserve update, no? Uniswap just doesn't name its variables amountInWithFeeTimes1000 even when they are

Right exactly ^^

@htkcodes I agree that input amount is the same, but the newly calculated reserves are different.

@htkcodes I agree that input amount is the same, but the newly calculated reserves are different.

So i think this should be the fix no?
let newReserveA = reserveA.add(aIn);

Just like the sdk's

@libevm the amount out is correct. The reserveA update is not. amountInWithFee is 1000x larger than the actual reserve update, no? Uniswap just doesn't name its variables amountInWithFeeTimes1000 even when they are

@jtsiskin  No need for the passive aggressiveness -- I gain nothing open sourcing this
@mmarkell I see, nice find. PRs welcomed!

Hmm @libevm when I try to push a PR branch, it says access denied. Do you need to update settings?

@mmarkell you'll need to fork it, then make a PR from your fork

Oh I see

Closed https://github.com/libevm/subway/pull/4


Amd specific exts

Add AMD specific APIs and defines available for a long time under https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Mykyta Kozlov 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.

Thanks for contributing this! I agree it would be great to have these definitions upstream. A few comments:

It seems this PR has the NVidia definitions from #118 as well. I assume that was not intended.
You will need to sign the CLA before we can accept the contribution.
These being vendor definitions, a review from AMD and NVidia will be needed (cc @nikhiljnv @b-sumner)
These definitions should be added to the XML file describing all API definitions (https://github.com/KhronosGroup/OpenCL-Docs/blob/master/xml/cl.xml)

l looked at NVIDIA extension specific defines. Seem ok to me. But, there are few more changes that I need to upstream. So, wouldn't mind dropping these from this change and I can take care of this.

Ok, it seems that I signed CLA already but some misconfiguration with git username and github username prevents the signing.
I will do the required work on xml documentation too.

I don't have much to add to the comments above, so I'll just reiterate:

Thanks for doing this!  It'll be great to have all of these extensions in one place vs. scattered in vendor SDKs.
Since these are AMD extensions they should have a review from someone from AMD (re-ping @b-sumner @saleelk).
We also need to add these definitions to the API XML file, especially if we move to auto-generated extension headers (see #113).  I can take care of this, just re-mentioning it for completeness.
There are a few additional extensions mentioned in this gist that we could consider adding to this PR, or could add in a subsequent PR.

Thanks again!


Maintainers: Remove Vaishali from the maintainers list

Today is my last day at Polar Signals. As I don't plan to be active in the parca-agent project after that, remove myself as a maintainer. :)

Thank you for your service! You'll be missed!


Regular expression search replacements show with literal $1 if grouping added to query after initial search

VSCode Version: Code 1.18.1 (929bacba01ef658b873545e26034d1a8067445e9, 2017-11-16T18:34:22.110Z)
OS Version: Linux x64 4.4.0-98-generic (Ubuntu 16.04.3 LTS)
Extensions:

Extension
Author (truncated)
Version

EditorConfig
Edi
0.11.1

django-html
bib
1.2.0

path-intellisense
chr
1.4.2

vscode-eslint
dba
1.4.3

python
ms-
0.8.0

final-newline
sam
0.3.2

rewrap
stk
1.5.3

spellchecker
swy
1.2.13

jinja
who
0.0.8

change-case
wma
1.0.0

Steps to Reproduce:

Create a python file containing a Python 2 style print statement (as an example replace target -- print "foo")
Open the search pane
Enable regular expression based searching
Add a search of print .*
Search
Add a replacement of print($1)
Open one of the search results to preview the change
(Realise you need to modify the search string)
Modify the search string to be print (.*) Edited to add: I make the change by adding the parenthesis individually; this changes the UI around the search results from the red/green of the replacement preview to the usual orange of search results
Open one of the search results to preview the change

Minor bug: the replacement doesn't show up yet, which is odd

Close the file tab used for the preview (this causes the replacement results to now be previewed in the search pane)

Bug: the replacement results all show as the literal print($1) rather than the expected print("foo"). Doing the replacements at this point also replaces the text with print($1) rather than the expected print("foo") (etc.).

Edit: I've put a screen recording of the issue at https://youtu.be/d36QSz2lsIo
It's possible to work around this by re-triggering the search by toggling the regular expression mode or by clicking in the query box and pressing Enter.
Reproduces without extensions: Yes

I can't repro this, 11 doesn't cause the replace to show up. But this doesn't really sound like an issue - you changed the search string without triggering the search again. When you changed the search string, it invalidates the replace preview and just shows the previous results as is. You can confirm that by changing the search query to something with different matches - you can see that it isn't running the search again.

@roblourens Thanks for having a look. I'll double check the instructions tomorrow, though I do think there's an issue here. (For my understanding: are you trying to reproduce with the same build, or with something else?)
I realise that I'm not explicitly triggering a new search to run after the modification of the query string, though from what I recall the UI does change from showing just the search results (orange) to showing replace results (red/green). If it would be useful I'll see whether I can record a video of it.

@roblourens I've checked the instructions and the issue definitely reproduces for me. I've recorded a demo of my screen at https://youtu.be/d36QSz2lsIo in case that helps.
I can see what you mean about the search not being re-run, though I hope you'll agree that the changes to the UI while altering the query can create confusion.

I see what you mean. There was no group, so there was nothing to replace $1 with. And when you change the query without running the search, we can't really show a useful replace preview. So I'm not going to change anything here.

Yeah, I think the confusion comes from the results display changing when the regex is invalid. If that didn't happen it would avoid the impression that the search had been re-run.


Fixed White button hover on groups list

Fixes #1034 White button hover on groups list
Describe the changes you have made in this PR -
Changed white background color on hover and added animation
Screenshots of the changes (If any) -

Coverage remained the same at 84.266% when pulling 973898e0adef382d57b8512f98c33a83f0504817 on darkshredder:patch-4 into 478909f6b397bc4e2100b5730833e411c66f5c56 on CircuitVerse:master.

@nitin10s @tachyons @aayush-05


for those who incrementally migrating to fsd

Found a way to replace errors with warnings (for pre-commit hook linter). https://github.com/bfanger/eslint-plugin-only-warn/pull/12

This is nice, yes. I don't think this needs to be an issue though, so I will close it


Fixed convert path problem. Missing split space between input and out…

…put dirs
Seems related with issue https://github.com/silvanmelchior/RPi_Cam_Web_Interface/issues/330
Also it seems important to set permissions accordingly, but it's working for me now (media folder permissions 774)

Thanks. That is the same change as I had made to fix this.

Good to hear, closing this one then!


added coverage ignore pattern for definition files

Issue #, if available:
Description of changes:

changed test environment
removed unnecessary jest config
added coverage ignore pattern for ts definitions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2825 into master will increase coverage by 2.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2825      +/-   ##
==========================================
+ Coverage   63.54%   65.61%   +2.06%
==========================================
  Files         201      195       -6
  Lines       10182     9861     -321
  Branches     1969     1910      -59
==========================================
  Hits         6470     6470
+ Misses       3421     3100     -321
  Partials      291      291

Impacted Files
Coverage Δ

...ages/amplify-appsync-simulator/src/server/index.ts

...sync-simulator/src/velocity/value-mapper/mapper.ts

...amplify-appsync-simulator/src/server/operations.ts

...appsync-simulator/src/mqtt-server/trie-listener.ts

...plify-appsync-simulator/src/server/subscription.ts

...s/amplify-appsync-simulator/src/resolvers/index.ts

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 7609018...39bafdf. Read the comment docs.


update stackdriver-exporter to 0.6.0 with new options

What this PR does / why we need it:
updates stackdriver-exporter chart to new version, adds new options.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @paulczar

/ok-to-test
/assign

/lgtm


Hotfix plugin header installation directory

Signed-off-by: methylDragon<EMAIL_ADDRESS>🦟 Bug fix
Fixes an erroneous install directive
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

This should target gz-plugin2

should target gz-plugin2 as well

Retargeted

That's weird.. it still isn't working

That's weird.. it still isn't working

it's failing to compile the gz-plugin2 branch. I think that job won't pass until we merge this


Related to the loading of file after saving the code

Type: Performance Issue
there is an issue related to the loading of html form in running after saving the code it shows that language is unsupported however I had already download the html extension
VS Code version: Code 1.81.1 (6c3e3dba23e8fadc360aed75ce363ba185c49794, 2023-08-09T22:22:42.175Z)
OS version: Windows_NT x64 10.0.22621
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz (8 x 1190)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.77GB (1.62GB free)

Process Argv
--crash-reporter-id cf3e8669-da46-470c-b37f-cd3661519825

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	    83	  3804	code main
    0	    44	  2668	   utility-network-service
    0	    47	  2748	fileWatcher [1]
    0	    93	  8016	window [2] (Issue Reporter)
    0	   175	  8240	window [1] (index.html - HTML - Visual Studio Code)
    0	    28	  8916	   crashpad-handler
    0	   124	 13668	   gpu-process
    0	    94	 16836	extensionHost [1]
    0	    38	  3852	     electron-nodejs ("C:\Users\Lenovo\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\Lenovo\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\html-language-features\server\dist\node\htmlServerMain" --node-ipc --clientProcessId=16836)
    0	    84	 21192	     electron-nodejs ("C:\Users\Lenovo\AppData\Local\Programs\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\Lenovo\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\json-language-features\server\dist\node\jsonServerMain" --node-ipc --clientProcessId=16836)
    0	    74	 17304	shared-process

Workspace Info
|  Window (index.html - HTML - Visual Studio Code)
|    Folder (HTML): 9 files
|      File types: html(6) mhtml(1) css(1) txt(1)
|      Conf files:;

Extensions (18)

Extension
Author (truncated)
Version

vscode-html-css
ecm
1.13.1

code-runner
for
0.12.0

isort
ms-
2023.10.1

python
ms-
2023.14.0

vscode-pylance
ms-
2023.8.20

cmake-tools
ms-
1.15.31

cpptools
ms-
1.16.3

cpptools-extension-pack
ms-
1.3.0

java
red
1.21.0

LiveServer
rit
5.7.9

cmake
twx
0.0.17

intellicode-api-usage-examples
Vis
0.2.7

vscodeintellicode
Vis
1.2.30

vscode-java-debug
vsc
0.53.0

vscode-java-dependency
vsc
0.23.1

vscode-java-pack
vsc
0.25.13

vscode-java-test
vsc
0.39.1

vscode-maven
vsc
0.42.0

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931:30280409
vshan820:30294714
vstes263:30335439
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
py29gd2263cf:30792227
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
vscccc:30803845
2e4cg342:30602488
f6dab269:30613381
showlangstatbar:30737416
vsctsb:30748421
03d35959:30757346
pythonfmttext:30731395
pythoncmvfstrcf:30756944
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
gsofa:30804715
pythonnosmt12:30797651
pythonidxptcf:30805731
pythonnoceb:30805159
dsvsc013:30795093
dsvsc014:30804076
diffeditorv2:30810526

@Bhumika107 Can you please mention the steps to reproduce this issue, It helps people to understand what the issue and all the things around.

first like I had write my code
then when after compiling I run the code it shows that the language is unsupported

can you show me your workspace and the file extensions for better understanding

how to ??

Please give detailed steps: Something like

create the following file 'abc.htmlwith content...`
Make a change on line 10 and save
This is what I get (screenshot), This is what I expect (description)

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


1.15 changelog - fix processor names

In 1.15 changelog, need to update:
Reverse DNS Processor Plugin(execd) to (reverse_dns)
Starlark Processor Plugin(execd) to (starlark)
URL for relevant page?
https://docs.influxdata.com/telegraf/v1.15/about_the_project/release-notes-changelog/
What products and version are you using?
Where did you look before opening the issue?

Fixed!


feat: improve the build using rollup

Description
To avoid complications of ESM and CJS build, Implement rollup as bundler.
We created new package @wdio/electron-pkg-builder because there are some logic to create rollup configurations.
This could be achieved by simply creating a common configuration file and use from each package, but we packaged it to improve the quality of the entire library by introducing a unit test for the logic that creates the rollup configuration itself.
Feature

The input parameter is automatically created based on exports field of package,json
Reduce the effort of synchronizing package.json settings and Rollup settings.

Create parameters that enable ESM and CJS style output.

Synchronizes @rollup-plugin-typescript settings with rollup settings and enables output of *.d.ts files.

Related Issue
#880
@goosewobbler
Since this is a major modification, I would appreciate it if you could give me your frank opinions on whether or not to create a new package, and on the following structural changes for dist.

I think extracting the rollup configs and having another package is ok, I would call it @wdio/electron-bundler - however, there's a lot of code here simply to create rollup config files.  I think a simpler approach would be better, I will take a look at it in more depth over the holiday...

@goosewobbler
thank you for your review.
your thoughts that is too much  source code is understandable for me....
The part what increases the amount of source code is following functionality.

Determination for input option of rollup based on read exports field of package.json (related code)

If it will be determined that maintained manually by each package, as a result we can reduce the code.

Determination for output option of rollup based on read main , module  field of package.json

If it will be determined that maintained manually or fixed value, as a result we can reduce the code. (related code)

some option parameter is existing that is not required for now (related code)
test code (basically, we can recognize the bag using E2E not using unit test)


Derive Decode and Image Sources from a new ResourceSourceBintr virtual class

Want to have common Bintr level services to get/set URI and file paths for DecodeBintrs (URI, File, and RTSP) and ImageBintr.
To be used by the new RendererPlayerBinter ... see #445
There are no changes to the DSL API

Done... no doc updates required


How to use Application.MainLoop correctly

Hi,
I am programming a process window for a test runner. To visualize all the information I am using your GUI. I figured a way out to constantly update my window but I am not quite sure if I do it as it's supposed to.
this is where I set the Mainloop and run the application
`
private void WatchCompletedTests()
{
//Application.Init is already invoked and the Application has already  a top view
        Terminal.Gui.Application.MainLoop.Invoke(() => UpdateProcessWindow());

        Terminal.Gui.Application.Run();
    }

`
As far as I understand: After calling Application.Run the Application Mainloop is Invoked, in this case  "UpdateProcessWindow". To keep my process window constantly updated I keep the thread in a while loop as long as some condition comes true.
`
public void UpdateProcessWindow()
{
while (true)
{
           //do stuff

            if (//some condition came ture)
            {
                  Application.RequestStop();
            }

            Thread.Sleep(500);
         }
    }

`
It works but I wonder if this is the correct way. Also while the while loop is running, the size of the top window does not change its height or width when I change the frame of the console window, although I've set the Height/Width properties of the process win to Dim.Fill(). When the thread leaves the while loop the top window automatically fits into the frame of the console (tried it in some other code).

Hi, see if this link can help you in some how. Dealing with screen buffer is very complicated.
https://github.com/migueldeicaza/gui.cs/issues/339#issuecomment-595395407


Re-enable operand fusion for Vulkan GPU benchmarks

The breakage at https://github.com/google/iree/issues/6086
cannot be reproduced now and was fixed by some previous commit.

Sorry about the lengthy summary. It will be improved in #6124.
"MobileNetV2 [fp32,imagenet] (TensorFlow) kernel-execution with IREE-Vulkan @ SM-G980F (GPU-Mali-G77)" is down to 17ms, which is what I'd expect.


How to set log file ?

Hello ruby hackers!
How to set log file globally for this gem ? I want to log all requests.

Hi @rusikf, unfortunately the HTTP rubygem that we use for HTTP request/response does not yet support this, you can follow httprb/http#209 to see the latest discussions on how this might be implemented in the future.


alsa-lib and alsa-plugins: impurities by default

Describe the bug
When a derivation/program is built with alsa-lib at a specific version, it will look up ALSA_PLUGIN_DIR up at runtime, and discover the version of alsa-plugins that is available in the current system's closure on NixOS. This leads to errors like
ALSA lib pcm.c:2655:(snd_pcm_open_conf) Either /nix/store/mdgpj79x2j8hmdlzpiby6g9dw631h7r4-alsa-plugins-<IP_ADDRESS>/lib/alsa-lib/libasound_module_pcm_pulse.so cannot be opened or _snd_pcm_pulse_open was not defined inside

This is because the derivation/program I am running was built with alsa-lib 1.2.6, but it is discovering alsa-plugins <IP_ADDRESS> at runtime, which makes this incompatible.
I believe this is an undiscovered impurity that has not been discovered since alsa-lib has not been updated for years. But now that it has, the impurity is obvious.
alsa-lib in Nixpkgs was updated recently which exacerbates the issue.

https://github.com/NixOS/nixpkgs/commit/a1edc2fe67a6efd0c4fd0febb8008091daa5c2ef
https://github.com/NixOS/nixpkgs/commit/020ca659d7fd00f117c6aa308d1aaa276480f1f8

Steps To Reproduce
Steps to reproduce the behavior:

Build a program that uses alsa-lib from an older Nixpkgs like 22.05 or 21.11
Run it, and see if it errors out similar to the error I posted

Expected behavior
That the impurity would be fixed and unable to occur, like most things in Nixpkgs.
Additional context
This was discovered mainly from debugging the following PR to Godot
https://github.com/NixOS/nixpkgs/pull/186692#issuecomment-1219604294
Notify maintainers
@L-as
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.18.13, NixOS, 22.11 (Raccoon), 22.11.20220729.2a93ea1`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.10.3`
 - channels(root): `""`
 - channels(matthew): `""`
 - nixpkgs: `/nix/store/1ha33ma070pyxw5kkcx61qi7ypzzxzah-source`

I'm not sure this is a bug, because it's for "plugins".

@L-as it's an impurity that can be removed, and it's an interesting one that if not addressed, just leads to people doing fixes like setting ALSA_PLUGIN_DIR for every package that they discover this in. Such as https://github.com/NixOS/nixpkgs/pull/186692 or https://github.com/NixOS/nixpkgs/pull/168004. It may be fine to continue with this pattern of setting ALSA_PLUGIN_DIR whenever this is re-discovered in a particular package. I'm just not sure about it. It seemed worth bringing up to get some opinions.

How can this be fixed?

Add a build hook to alsa-plugins to automatically wrap binaries with ALSA_PLUGIN_DIR. Hacky and prevents using system plugins.
Patch alsa-lib to use build time plugin dir, with fallback to system dir. Increases closure size. Otherwise could work.
Also inclined to just leave it be until a better solution is found.

Does it need to be fixed? Most/all programs shouldn't be using ALSA, and instead use PipeWire/PulseAudio.
Intuitively it makes sense that the plugins are part of the system, but perhaps I'm wrong.
I'd rather argue for making the problematic programs not use ALSA.
Why does espeak-ng need ALSA at all?

Does it need to be fixed? Most/all programs shouldn't be using ALSA, and instead use PipeWire/PulseAudio. Intuitively it makes sense that the plugins are part of the system, but perhaps I'm wrong.
I'd rather argue for making the problematic programs not use ALSA. Why does espeak-ng need ALSA at all?

Not sure why espeak-ng wants ALSA, but a lot of Linux MIDI programs seem to be using the ALSA interface. Most cases where I encountered issues related to ALSA's plugin loading came up due to MIDI interfacing attempts.

The impure behaviour seems to be a workaround for an older bug: https://github.com/NixOS/nixpkgs/issues/6860
Since this makes the correct operation of the nixpkgs packages dependent on the operating environment, I would suggest to depend on an alsa-lib that provides a correct plugin directory in the first place (implemented in https://github.com/NixOS/nixpkgs/pull/277180).

Isn't there an ALSA shim interface for PipeWire? alsa-plugins arguably shouldn't be in the system closure at all.

@L-as it's an impurity that can be removed, and it's an interesting one that if not addressed, just leads to people doing fixes like setting ALSA_PLUGIN_DIR for every package that they discover this in. Such as #186692 or #168004. It may be fine to continue with this pattern of setting ALSA_PLUGIN_DIR whenever this is re-discovered in a particular package. I'm just not sure about it. It seemed worth bringing up to get some opinions.

Initially, I also found this pattern attractive, but it becomes more messy when it's a shared object instead of an executable that must be fixed. This involves either propagating the wrapper up to the executable that uses the shared object (example: https://github.com/NixOS/nixpkgs/pull/273757), or modifying the environment before alsa-lib gets called (example: https://github.com/NixOS/nixpkgs/pull/273955).
I think an aggregate package that handles the plugin loading (implemented in https://github.com/NixOS/nixpkgs/pull/277180) is much more clean and maintainable because it can work as a drop-in replacement for vanilla alsa-lib.

Isn't there an ALSA shim interface for PipeWire?

That sounds promising, but I'm not yet sure whether it fully solves the issues that lead to ALSA_PLUGIN_DIR fixups becoming necessary. Maybe someone knows how to apply the shim interface in actual cases that currently require alsa-plugins, e.g. https://github.com/NixOS/nixpkgs/issues/284069


Better support for JSDoc @example tag.

VSCode Version:1.25.1 (1.25.1)
OS Version: 10.14 Beta (18A353d)

Steps to Reproduce:

Create JSDoc comment in JavaScript with @example tag.
Add spaces for indentation of example (see following code example).

/**
 * Component can be instantiated with the new keyword, or extended to create a custom version of the Component.
 * @class Class to create a component.
 * @example New instance of Component class:
 * const title = new Component({
 *   container: 'header',
 *   state: 'World',
 *   render: message =>
Hello, {message}!

 * })
 * @example Extending Component class:
 * class UserList extends Component {
 *   constructor(props) {
 *     super(props)
 *     this.state = users
 *     this.container = 'section'
 *   }
 *   render(users) {
 *     return (
 *

 *        {
 *          users.map(user =>
{user.name}
)
 *        }
 *

 *     )
 *   }
 * }
 */

When hovering over the class, VSCode shows the call signature complete with the above JSDoc content. The @example tags have proper colored highlighting, but all the whitespace for indentation is stripped. For very simple examples this is not so bad. But when you have an example with several layers of indentation, especially with braces, the result is unreadable.
Example image:

I am aware that the @example tag is not listed in the supported tags at https://github.com/Microsoft/TypeScript/wiki/JsDoc-support-in-JavaScript. However, VSCode does recognize the tag and highlight its content correctly. Is adding whitespace support for the @example tag impossible? Seems like it would allow much richer and better looking intellisense.

Duplicate of https://github.com/Microsoft/TypeScript/issues/15749


Support locally hosted webmap

Support locally hosted webmap in the boilerplate.
cc @kellyhutchins

https://github.com/Esri/Viewer/wiki/local-definition


Fix download cleanup issue caught by Functional test

When pre-checks fail, service was not cleaning up the upgrade downloads directory. This issue was caught by FT in CI build nodes, which don't have ProjFS inboxed causing pre-check to fail.
Updated service to do the cleanup even when pre-check or download tasks fail.

The other thought I had is when do we want to clean up the download directory? Is it only if there are no newer updates? Do we do it in other places (after we have downloaded and installed an update)? What about with a failed download - do we want to clean up or is there value in keeping around the download artifacts for investigation?

Scenario 1

Install VFSForGit Version 1.0.18289.1.
Set the upgrade.ring to “Slow/Fast”.
Restart GVFS.Service. Now VFSForGit version 1.0.18297.1 upgrade release would get downloaded.
Manually download and install VFSForGit version 1.0.18297.1 from Github/Release.
Run git commands on an enlistment. The upgrade reminder message would show, even though you are running the latest version.

Scenario 2 (this is not reproducible today)

Install latest Slow release version of VFSForGit. Make sure there is a newer Fast release version that is available out there in Github/release.
After installing Slow release, set local upgrade.ring to “Fast”.
Restart GVFS.Service. This will download the latest Fast upgrade installer.
Switch back to “Slow” again. Now the PC will have the latest Fast release downloaded. But is up-to-date with respect to the Slow ring that it is configured to use.

A few options

GVFS.Service does its periodic upgrade check. When it finds that the current version is up-to-date, it can delete the previously downloaded releases. In between the user may see reminder messaging while running git commands.
User manually runs gvfs upgrade. When gvfs cli finds that the current version is up-to-date it deletes the un-needed release downloads. User would no longer see reminders.
A more complete solution would be for git post command hook to determine the current vfsforgit version and current upgrade ring. Then use that info to decide whether the downloaded release represents a valid upgrade before showing the reminder. This approach can negatively impact the Git hook perf a little.


Fix remote debugging for web API functional tests

The problem is that when you run web API functional tests with debugger, it tries to connect to PHPStorm on the host originating the call (guest machine), and obviously fails. Change of remote connect back to static IP in XDebug configuration should help, but need to make sure that it will always work in other cases.
Temporary workaround if you need to run debugging for web API functional tests is:

On the guest (if using PHP 7): vim /etc/php/7.0/cli/conf.d/20-xdebug.ini
Change xdebug.remote_connect_back=1 to xdebug.remote_host=<IP_ADDRESS> (or whatever is your host IP)

Fixed in scope of #54


Unnecessary prompt for FrameworkVersion when installing a local Framework

What happened:
When installing a local Framework, a prompt for installing an official FrameworkVersion occurs:
➜  0.1.0 git:(av/zk-kep-9) $GOPATH/src/github.com/kudobuilder/kudo/bin/kubectl-kudo install . --instance zk
framework.kudo.k8s.io/v1alpha1/zookeeper created
frameworkversion.kudo.k8s.io/v1alpha1/zookeeper-0.1.0 created
No official FrameworkVersion has been found for ".". Do you want to install one? (Yes/no) no
No Instance tied to this "." version has been found. Do you want to create one? (Yes/no) Yes
The only answer that works is "no" (Yes gives a duplicate error), so this dialog should be removed.
Environment:

Kubernetes version (use kubectl version):
Kudo version (use kubectl kudo version):
Framework:
Frameworkversion: v0.3.0
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

Closed by #428


The document about memory usage need be clarify

The document : https://prometheus.io/docs/operating/storage/#memory-usage

Prometheus keeps all the currently used chunks in memory. In addition, it keeps the most recently used chunks in memory up to a threshold configurable via the storage.local.memory-chunks flag. If you have a lot of RAM available, you might want to increase it above the default value of 1048576 (and vice versa, if you run into RAM problems, you can try to decrease it). Note that the actual RAM usage of your server will be much higher than what you would expect from multiplying storage.local.memory-chunks by 1024 bytes. There is inevitable overhead for managing the sample data in the storage layer. Also, your server is doing many more things than just storing samples. The actual overhead depends on your usage pattern. In extreme cases, Prometheus has to keep more chunks in memory than configured because all those chunks are in use at the same time. You have to experiment a bit. The metrics prometheus_local_storage_memory_chunks and process_resident_memory_bytes, exported by the Prometheus server, will come in handy. As a rule of thumb, you should have at least three times more RAM available than needed by the memory chunks alone.

I have a dev vm, it only have 512MB memory (Most like the common cloud hosting provided us like DigitalOcean, Vultr or others ). How to set this flag?
And if i want to deploy premetheus to production server, which may have 4GB or 8GB or 16GB memory.
How to set the flags?
Would you please gave a real example to show us ? We have not experience on how to configure the flags. and do not quite understand how the flag will affect the result memory usage.
for example. may we configure
storage.local.memory-chunks=4096

The default unit was byte or kilobyte?

I can search many issues reported by user, will caused by the lack of clarify document .
https://github.com/prometheus/prometheus/search?q=storage.local.memory-chunks&type=Issues&utf8=✓

We tried to make it as clear as possible. Most user issues were reported by users who weren't aware of that part of documentation at all.
In any case, if you have suggestion to clarify the documentation, PRs are welcome.

For 512MB vm, what's the best value of the storage.local.memory-chunks ?
If could add the example value on the document. will be better for new users who want to try prometheus in a cloud box or local vm

The doc says "As a rule of thumb, you should have at least three times more RAM available than needed by the memory chunks alone." So that's at most 512MiB/1kiB/3 = 174762 memory chunks at most. (Talking to people working in tech, I'd assume I don't have to do the math for various example values.) The doc also says "Also, your server is doing many more things than just storing samples. The actual overhead depends on your usage pattern. In extreme cases, Prometheus has to keep more chunks in memory than configured because all those chunks are in use at the same time. You have to experiment a bit."
In short: There is no single best value. It's plainly impossible to tell users "set this flag to that value, and everything is fine". See also #455, which will, once solved, get things closer to "use that much RAM, and adjust everything else accordingly".

Please send your questions to the https://groups.google.com/forum/#!forum/prometheus-users mailing list.