Move ThriftClientHandler into a separate file.

TabletServer is very big. Moving ThriftClientHandler into a separate file would cut its size almost in half. This would also make it easier to continue refactoring TabletServer at a later date. They will still be very tightly coupled.
I can do this if it would be acceptable.

@andrewglowacki I agree. Go ahead and submit a pull request. Please keep the change as minimal as necessary to refactor the class out, in order to lessen the burden on any code reviewers. Any subsequent improvements can be handled in follow-on tasks.

Sounds good, thanks!


please provide maven downloads

Please upload kilim to a maven repo somewhere.  This makes your library far easier to use!
The minimal artificat is kilim-0.7.2.jar:
(cd classes; jar cvf ../kilim-0.7.2.jar *; jar i ../kilim-0.7.2)
Other nice ones to have include:
kilim-0.7.2-sources.jar
kilim-0.7.2-javadoc.jar
kilim-0.7.2-test-sources.jar
kilim-0.7.2-test-javadoc.jar
kilim-0.7.2-tests.jar
A pom.xml is also helpful:

4.0.0
<groupId>kilim</groupId>
<artifactId>kilim</artifactId>
<version>0.7.2</version>

<properties>
    <jdk.version>1.6</jdk.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>asm</groupId>
        <artifactId>asm-all</artifactId>
        <version>2.2.3</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>

            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>

            <executions>
                <execution>
                    <id>kilim-weave</id>
                    <phase>process-classes</phase>

                    <goals>
                        <goal>java</goal>
                    </goals>
                </execution>
            </executions>

            <configuration>
                <mainClass>kilim.tools.Weaver</mainClass>

                <arguments>
                    <argument>-d</argument>
                    <argument>${project.build.outputDirectory}</argument>
                    <argument>${project.build.outputDirectory}</argument>
                </arguments>
            </configuration>
        </plugin>
    </plugins>
</build>

(That last bit with the exec plugin will automatically weave your compiled code with kilim when building with maven.)
Lastly, here is how I made the javadoc:
mkdir d; javadoc -keywords -linksource -link http://java.sun.com/javase/6/docs/api -author -version -use -d d -source 1.6 -private -sourcepath test -classpath libs/asm-all-2.2.3.jar;libs/junit.jar;kilim-0.7.2.jar -subpackages kilim; (cd d; jar cvf ../kilim-0.7.2-test-javadoc.jar *; jar i ../kilim-0.7.2-test-javadoc.jar)
Similarly for src directory.

kilim is the such a great secret no one know about it in java world, please add it to maven repositories. For example learn from this guy how to run popular project: Their are projects that are nothing but wrappers are very very popular just they publish to maven repositories and have excellent java docs. Also add your tests to Travis will ya, it is free for open source projects like these


Sample-Based WebRTC Storage Canary

Overview
Introduces the Media Server WebRTC with Storage Canary. The canary consists of two canary apps: a master end and a consumer end. The master canary is a modified version of the kvsWebRTCClientMaster sample which includes the following changes:

Change C files to C++ to use relevant canary files and libraries
Integrate with existing canary CloudWatch architecture
Add configurability using environment variables
Add and manage timers and threads for metrics publishing and duration scheduling
Use CloudWatch logging rather than file logger

For a diff of the master sample changes, refer to this draft PR.
The WebRTC canary Jenkins runner job was restructured to build both master and consumer ends in a modular fashion. Some changes to the canary described in this unmerged PR are also included.
The following metrics are emitted by the canary:

RTP outbound metrics
Profiling metrics
Exit status code
E2E latency between initiating master end and receiving first frame in consumer end (periodic case only)
E2E latency between master end sending first frame to Media Server and receiving first frame in consumer end (periodic case only)
Time taken to send out first frame after a 60min Media Server disconnect
Ingested fragment continuity (long-run case only)

Testing

[!NOTE]
The canary channel and stream can be configured to ingest media into a KVS stream using these instructions.

WebRTC-End
Set env vars:
export CANARY_CHANNEL_NAME=<storage-configured channelName>
export CANARY_IS_MASTER=TRUE
export CANARY_TRICKLE_ICE=TRUE
export AWS_KVS_LOG_LEVEL=2
export CANARY_DURATION_IN_SECONDS=<300 or more for Media Server compatibility>
export CANARY_LABEL=<WebrtcLongRunning or WebrtcPeriodic>

Run:
./kvsWebrtcStorageSample

Consumer-End
Set env vars:
export CANARY_STREAM_NAME=<storage-configured streamName>
export CANARY_DURATION_IN_SECONDS=<300 or more for Media Server compatibility>
export CANARY_LABEL=<WebrtcLongRunning or WebrtcPeriodic>
export AWS_DEFAULT_REGION=us-west-2

Run:
java -classpath target/aws-kinesisvideo-producer-sdk-canary-consumer-1.0-SNAPSHOT.jar:$(cat tmp_jar) -Daws.accessKeyId=${AWS_ACCESS_KEY_ID} -Daws.secretKey=${AWS_SECRET_ACCESS_KEY} com.amazon.kinesis.video.canary.consumer.WebrtcStorageCanaryConsumer

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

I'm leaving extra logs and print statements in for now until after testing any requested changes.

TODO:

Decide on run interval lengths and nomenclature
Decide on consumer metric interval lengths
Make consumer e2e metrics safer (check for late consumer end starts, etc.)
Finalize what metrics are to be tracked in the dashboard and fix a typo in the description for Offer Received to First Frame Sent (TimeToFirstFrame)

The webrtc c sdk PR draft for diff comparison: https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1847

The WebRTC PR for easy diff viewing is updated too: https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1847


Memory leaked every time formatKotlin task is run

It seems like each invocation of formatKotlin leaks tens of MiB of heap on a small codebase (2500loc). This is using Gradle 7.0 with kotlinter 3.4.4 and kotlin 1.5.0.
Here's the sequence of output from the class histogram (obtained via jcmd 15861 GC.run && jcmd 15861 GC.class_histogram | grep kotlin | head) after running the formatKotlin task several times, capturing the histogram after each run:
% jcmd 15861 GC.run && jcmd 15861 GC.class_histogram | grep kotlin | head
15861:
Command executed successfully
   3:        502184       16069888  org.jetbrains.kotlin.name.FqNameUnsafe
   4:        502184       12052416  org.jetbrains.kotlin.name.FqName
   5:        502183       12052392  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Exports
   9:        236643        5679432  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Requires
  10:        228052        5473248  org.jetbrains.kotlin.cli.jvm.modules.CoreJrtVirtualFile
  13:         93720        2249280  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Explicit
  14:         93720        2249280  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Root
  15:         93720        2249280  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo
  22:         17219         964264  org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.InterfaceExtensionPoint
  23:         39831         955944  org.jetbrains.kotlin.cli.jvm.index.JavaRoot
% jcmd 15861 GC.run && jcmd 15861 GC.class_histogram | grep kotlin | head
15861:
Command executed successfully
   3:        547837       17530784  org.jetbrains.kotlin.name.FqNameUnsafe
   4:        547837       13148088  org.jetbrains.kotlin.name.FqName
   5:        547836       13148064  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Exports
   9:        258156        6195744  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Requires
  10:        248784        5970816  org.jetbrains.kotlin.cli.jvm.modules.CoreJrtVirtualFile
  13:        102240        2453760  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Explicit
  14:        102240        2453760  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Root
  15:        102240        2453760  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo
  22:         18781        1051736  org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.InterfaceExtensionPoint
  23:         43452        1042848  org.jetbrains.kotlin.cli.jvm.index.JavaRoot
% jcmd 15861 GC.run && jcmd 15861 GC.class_histogram | grep kotlin | head
15861:
Command executed successfully
   3:        593490       18991680  org.jetbrains.kotlin.name.FqNameUnsafe
   4:        593490       14243760  org.jetbrains.kotlin.name.FqName
   5:        593489       14243736  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Exports
   9:        279669        6712056  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Requires
  10:        269516        6468384  org.jetbrains.kotlin.cli.jvm.modules.CoreJrtVirtualFile
  13:        110760        2658240  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Explicit
  14:        110760        2658240  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Root
  15:        110760        2658240  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo
  22:         20343        1139208  org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.InterfaceExtensionPoint
  23:         47073        1129752  org.jetbrains.kotlin.cli.jvm.index.JavaRoot
% jcmd 15861 GC.run && jcmd 15861 GC.class_histogram | grep kotlin | head
15861:
Command executed successfully
   3:        639143       20452576  org.jetbrains.kotlin.name.FqNameUnsafe
   4:        639143       15339432  org.jetbrains.kotlin.name.FqName
   5:        639142       15339408  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Exports
   9:        301182        7228368  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Requires
  10:        290248        6965952  org.jetbrains.kotlin.cli.jvm.modules.CoreJrtVirtualFile
  13:        119280        2862720  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Explicit
  14:        119280        2862720  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Root
  15:        119280        2862720  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo
  21:         21905        1226680  org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.InterfaceExtensionPoint
  22:         50694        1216656  org.jetbrains.kotlin.cli.jvm.index.JavaRoot

Here's the same type of data, this time on a fresh daemon (./gradlew --stop && ./gradlew classes to create a warmed up daemon), then showing the first two invocations of formatKotlin.
% jcmd 16318 GC.run && jcmd 16318 GC.class_histogram | grep kotlin | head
16318:
Command executed successfully
  17:          5254         210160  kotlin.reflect.jvm.internal.impl.protobuf.SmallSortedMap$1
  21:          1817         159896  kotlin.reflect.jvm.internal.impl.metadata.ProtoBuf$Type
  26:          5254         126096  kotlin.reflect.jvm.internal.impl.protobuf.FieldSet
  33:          1072          94336  kotlin.reflect.jvm.internal.impl.metadata.ProtoBuf$Function
  42:          1203          76992  kotlin.reflect.jvm.internal.impl.metadata.ProtoBuf$ValueParameter
  47:          2570          61680  kotlin.reflect.jvm.internal.impl.name.Name
  49:          2478          59472  kotlin.reflect.jvm.internal.ReflectProperties$LazySoftVal
  58:           515          45320  kotlin.reflect.jvm.internal.impl.metadata.ProtoBuf$Property
  62:          1226          39232  kotlin.reflect.jvm.internal.impl.name.FqNameUnsafe
  70:           847          33880  kotlin.reflect.jvm.internal.impl.metadata.jvm.JvmProtoBuf$JvmMethodSignature
% jcmd 16318 GC.run && jcmd 16318 GC.class_histogram | grep kotlin | head
16318:
Command executed successfully
   8:         45654        1460928  org.jetbrains.kotlin.name.FqNameUnsafe
  10:         45654        1095696  org.jetbrains.kotlin.name.FqName
  11:         45653        1095672  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Exports
  19:         21513         516312  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Requires
  20:         20732         497568  org.jetbrains.kotlin.cli.jvm.modules.CoreJrtVirtualFile
  26:          5535         221400  kotlin.reflect.jvm.internal.impl.protobuf.SmallSortedMap$1
  27:          8520         204480  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Explicit
  28:          8520         204480  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Root
  29:          8520         204480  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo
  32:          1976         173888  kotlin.reflect.jvm.internal.impl.metadata.ProtoBuf$Type
% jcmd 16318 GC.run && jcmd 16318 GC.class_histogram | grep kotlin | head
16318:
Command executed successfully
   4:         91307        2921824  org.jetbrains.kotlin.name.FqNameUnsafe
   6:         91307        2191368  org.jetbrains.kotlin.name.FqName
   7:         91306        2191344  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Exports
  14:         43026        1032624  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Requires
  15:         41464         995136  org.jetbrains.kotlin.cli.jvm.modules.CoreJrtVirtualFile
  24:         17040         408960  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Explicit
  25:         17040         408960  org.jetbrains.kotlin.resolve.jvm.modules.JavaModule$Root
  26:         17040         408960  org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo
  30:          5535         221400  kotlin.reflect.jvm.internal.impl.protobuf.SmallSortedMap$1
  32:          3161         177016  org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.InterfaceExtensionPoint

I've attached a heap graph created with my heap analysis tools in case that's instructive. It's clear that there are a whole lot of PicoContainers being made, among other kotlin internal classes, so perhaps there is some reference being cached when it shouldn't be either in the plugin or in ktlint itself?
gradle daemon heap graph.svg.gz

At the risk of sounding naive, are we sure this isn't normal lazy garbage collection behavior on the gradle daemon?
A ran a series of formatKotlin commands and they sawtooth upwards for 4 runs or so and then eventually GC kicks in and things go back to baseline. These are the small saw teeth on the left side of the graph. Then I ran test on a fairly large project and you can see a similar effect: the heap is large afterwards. I hit the manual GC button in VisualVM and back the baseline again. So the behavior of lintKotlin and formatKotlin don't look different than other gradle commands.

Are you seeing the baseline climb after GC? This is using gradle 7.
I ran the same tests with kotlinter 3.3.0 and kotlin 1.4.32 and behavior seemed the same.

Nothing naive about being thorough! :) Unfortunately, in my measurements above, I'm running a GC (the jcmd ... GC.run part) before each measurement, and you can see the occupancy numbers rising. jcmd .. GC.heap_info shows a similar story, and when observing in visualvm, you can see GC time spike up and then eventually max out for a while before the JVM gives up.
I'd try repeat 100 ./gradlew formatKotlin or equivalent -- just a handful of runs isn't enough. FWIW I'm also seeing this behavior in a larger (real) project on x64 linux. The above output was captured on x64 macOS, all using the Zulu 16.0.1 JVM (sdk i java 16.0.1-zulu if you want to match it).

Ok, bigging into a bigger codebase with thousands of lines of code, I do see the problem.

Only effectsformatKotlin not lintKotlin
Appears to scale with the amount of code being operated on
Is a regression between 3.3.0 and 3.4.4
Happens in gradle 6.8.3 and 7.0.2, so not sensitive to that

I can comb through the changes between the versions again. My best guess it's a side effect of upgrading ktlint 0.40.0 -> 0.41.0. Although certainly maybe we're using it wrong in some way?

I haven't forgotten about this issue, but I haven't had the chance to delve into the guts of ktlint where the leak most likely is. hiding. I have a feeling, not scientific whatsoever, that ktlint is going to spin a new release soon upgrading to kotlin 1.5 and this leak will be fixed. I could be wrong though.

This memory leak can happen on lintKotlin as well, most easily seen when gradle --rerun-tasks lintKotlin. Does appear as frequently because incremental builds keep the number of files examined small.
I wonder if the root cause is the same as https://github.com/JLLeitschuh/ktlint-gradle/issues/507?
People have pointed to the usage of gradle workers as being the potential culprit. Perhaps this could be, but I believe workers are being used according to gradle's instructions here and there's nothing to explicitly close or return. It could be newer versions of gradle have introduced a bug with workers leaking memory, but I'm doubtful.
I still suspect there's a memory leak at the ktlint level, perhaps even in the embedded kotlin compiler that we use to parse files.

Update on this. The leak is still present in kotlinter 3.5.0 and ktlint 0.42.1.
I believe, but don't have the cause pinpointed yet, that the leak was introduced in ktlint 0.41.0.
I'll go file a bug there to investigate.

With 3.7.0 (ktlint 0.43.0) this issue appears to be fixed. I was able to run formatKotlin in a loop 100 times without trouble and using GC button in VisualVM restored the gradle daemon memory back to the pre-run baseline. I assume updates to kotlin or ktlint have closed the hole.
Closing, but please let me know if anyone sees the issue crop up again.


Would like to know whether ServiceNow EventManagement plugin is required for incident creation

We are looking for leveraging ITSM Connector to integrate with ServiceNow ITSM tool to create the incidents for Azure Alerts.
Would like to know whether the ServiceNow EventManagement Plugin is required for incidents creation by Azure ITSM connector.
Also, would like to understand how ITSM connector connects to ServiceNow instance and creating incidents. Does it creates records in events and alerts table in ServiceNow instance?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 82e5fdf6-4687-0a17-9a80-07703684b78f
Version Independent ID: 42ed8d94-6250-54ba-5e8b-de62c0181e82
Content: Supported connections with IT Service Management Connector in Azure Log Analytics | Microsoft Docs
Content Source: articles/log-analytics/log-analytics-itsmc-connections.md
Service: log-analytics
GitHub Login: @JYOTHIRMAISURI
Microsoft Alias: v-jysur

@KumaresanLakshmanan
Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@snehithm
(PM owner for ITSM Connector)
FYI and action please.
Regards

@KumaresanLakshmanan
ITSM Connector doesn't need Event Management plugin to send incidents to ServiceNow.
When an alert fires in Azure, based on your ITSM Action configuration, we will send the alert as an incident to ServiceNow. This gets first put into Import_Set table and our App on the ServiceNow instance will then put it into Incident table.
If you already have Event Management, you can also chose to send Azure alerts as events or alerts into ServiceNow. This path directly writes into Event/Alert table directly.
Summary - ITSM Connector can work with and without Event Management plugin in ServiceNow.
Regards,
Snehith

@snehithm
Please let me know for any documentation updates.
Regards,
Jyothi

Thanks for the update, Snehith.
@KumaresanLakshmanan
Updated the related note to include the detail Snehith Muvva shared.
"Note
ITSM Connector can send incidents to ServiceNow without any other modules installed on your ServiceNow instance. If you are using EventManagement module in your ServiceNow instance and wish to create Events or Alerts in ServiceNow using the connector, add the following roles to the integration user:
evt_mgmt_integration
evt_mgmt_operator.

This update will be live Redmond time, March 14, first half on  https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-itsmc-connections#connect-servicenow-to-it-service-management-connector-in-azure
Regards"

Thanks all for providing clarifications.
I would suggest to update the document with the clarifications along with flow or integration diagram. This will help a lot for understanding integration.

Hello,
Thanks all for providing clarifications.
I would suggest to update the document with the clarifications along with flow or integration diagram. This will help a lot for understanding integration.
Regards,
Kumaresan.

From: Jyothi Suri<EMAIL_ADDRESS>Sent: Wednesday, March 14, 2018 3:09:16 PM
To: MicrosoftDocs/azure-docs
Cc: KumaresanLakshmanan; Mention
Subject: Re: [MicrosoftDocs/azure-docs] Would like to know whether ServiceNow EventManagement plugin is required for incident creation (#5716)
Thanks for the update, Snehith.
@KumaresanLakshmananhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkumaresanlakshmanan&data=02|01||c782310557ec46b8c80008d5898f7565|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636566171599631067&sdata=sKU1aVXQbE1Tne640ijgUemxkl6NBHb1gfL5sPv8%2FVI%3D&reserved=0
Updated the related note to include the detail Snehith Muvva shared.
Note
ITSM Connector can send incidents to ServiceNow without any other modules installed on your ServiceNow instance. If you are using EventManagement module in your ServiceNow instance and wish to create Events or Alerts in ServiceNow using the connector, add the following roles to the integration user:
evt_mgmt_integration
evt_mgmt_operator.

This update will be live Redmond time, March 14, first half on https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-itsmc-connections#connect-servicenow-to-it-service-management-connector-in-azurehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Flog-analytics%2Flog-analytics-itsmc-connections%23connect-servicenow-to-it-service-management-connector-in-azure&data=02|01||c782310557ec46b8c80008d5898f7565|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636566171599787332&sdata=WFqdTZnU3ELKyUGgvoGHNb4SwmKId9pRYB3gJfkSmTk%3D&reserved=0
Regards
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F5716%23issuecomment-372959666&data=02|01||c782310557ec46b8c80008d5898f7565|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636566171599787332&sdata=mbUJOlANtSVxNDsyvYoiZounMfE0kwXHd8VrAGI8pS4%3D&reserved=0, or mute the threadhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAjdxTjO-Zo5steLJznDSZAhYJdCXYgrsks5teOVEgaJpZM4So3ac&data=02|01||c782310557ec46b8c80008d5898f7565|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636566171599787332&sdata=VPvvYos6yiUvgEjM2aumh5UpCfgP4ACN1x0NawVPrF4%3D&reserved=0.

the required information was release noted on March 14 2018. marking this as complete now.

#close


navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia

For new version of mozilla firefox not working

Fixed on #27 .


change compiler detection to be more general

Fixes the problem if no CXX compiler is available. (e.g. only gcc installed but not g++)
The tool uses COMPILER_CXX_VERSION and COMPILER_CXX_ID for issues and nuget generation but stuff also has to work without compiler detection.
Also makes the detection more general if request by the tool. E.g. if the tool decides to pass -DUSED_LANGUAGES=<list of valid languages> the compiler for all those languages will be hashed correctly. (e.g. in the future there could be a language field in the manifest which is an array of used languages.)

I will be converting your PR to draft status. When you're ready, please revert to "ready for review".

@MonicaLiu0311
Why?
Be aware that changes to the compiler detection (should) never influence single ports (would fail at the beginning of the pipeline).
As such the build errors should be investigated by the team because they hint at something else being wrong somehow.
Since the pipeline didn't fail completely the errors are unrelated to this PR.

@BillyONeal

https://github.com/microsoft/vcpkg-tool/blob/bdbd8dcf04283ea2e4ed0b5a8f9a3872e6f75573/src/vcpkg/commands.build.cpp#L701 The tool currently requires the C++ compiler to be present.

https://github.com/microsoft/vcpkg-tool/blob/bdbd8dcf04283ea2e4ed0b5a8f9a3872e6f75573/src/vcpkg/commands.build.cpp#L701 The tool currently requires the C++ compiler to be present.

And? This change does not touch that currently. The idea is to change the script in a way that it could run only with a C compiler if requested to do so. This is a multistage PR. a) make the script happy with running less or more languages. b) actually teach the tool to leverage it. Doing b) first is basically impossible.


Ssl ubuntu fix

SSL tests (for version 3) are failed with a seg-fault in ubuntu x64 github actions tests. This PR fixes that bug.
The error can be seen in the log file.
ubuntu_ssl_error.txt

Linux test PASSed.

Windows test PASSed.


Tab bar scrolls into notch in NestedScrollView

Issue
In my application, I have a profile screen with a NestedScrollView to display a profile header and then a body with a tab bar and multiple sections for the user; "About me", "Posts" and "Certificates".
Now, I'm implementing better support for phones with notches (instead of just putting SafeArea's around all screens).
As you see, this makes the blurred profile picture seep into the notch area, which is good, but if you then scroll down in the scrollview, you see that the tab bar goes into the notch.
A solution would be to give the profile header a collapsedHeight so that it fills the notch when collapsed, but I've tried many times to do exactly that and it still collapses fully.
I'd love some help with this! Thanks in advance :D
Video
Here's a video illustrating the problem. I scroll up, and you see the tab bar go too far up where the notch would be. Unfortunately the notch itself isn't displayed in the screen recording, but it's supposed to have an iPhone X through 13 notch around the height of the other icons (clock/time, wifi, etc.)
https://user-images.githubusercontent.com/94898347/198279702-3b05f948-deb7-41fd-972b-57cb742a2048.mp4
Reproductible code example & flutter doctor

Reproductible code example
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

Future<void> main() async => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) => MaterialApp(
        theme: ThemeData(
          useMaterial3: true,
          primaryColor: Colors.white,
          textTheme: TextTheme(
            headline1: TextStyle(color: Colors.grey.shade900, fontWeight: FontWeight.w600, height: 1.5, fontSize: 24.0),
          ),
          tabBarTheme: const TabBarTheme(
              unselectedLabelStyle: TextStyle(fontWeight: FontWeight.w400),
              labelStyle: TextStyle(fontWeight: FontWeight.w600)),
          colorScheme: ColorScheme.fromSwatch().copyWith(primary: const Color(0xFFFFC109), secondary: const Color(0xFF845EF7)),
        ),
        themeMode: ThemeMode.light,
        home: Scaffold(body: ProfileScreen()),
      );
}

/// I put the following class together for this sample!
/// This would be the profile screen in the video (excluding the bottom navigation bar)
class ProfileScreen extends StatefulWidget {
  @override
  State<ProfileScreen> createState() => _ProfileScreenState();
}

class _ProfileScreenState extends State<ProfileScreen> with TickerProviderStateMixin {
  @override
  Widget build(BuildContext context) => SliverTabBarScreen(tabController: TabController(vsync: this, length: 3));
}

class SliverTabBarScreen extends StatelessWidget {
  final TabController tabController;

  const SliverTabBarScreen({required this.tabController});

  @override
  Widget build(BuildContext context) => NestedScrollView(
        physics: const ClampingScrollPhysics(),
        headerSliverBuilder: (BuildContext context, _) => <Widget>[
          _buildAppBar(context),
          _buildTabBar(),
        ],
        body: TabBarView(
          physics: const ClampingScrollPhysics(),
          controller: tabController,
          children: const <Widget>[
            Center(child: Text('About me screen')),
            Center(child: Text('Posts screen')),
            Center(child: Text('Certificates screen')),
          ],
        ),
      );

  SliverAppBar _buildAppBar(BuildContext context) => SliverAppBar(
        expandedHeight: 340.0,
        toolbarHeight: 72.0,
        leading: const SizedBox.shrink(),
        flexibleSpace: FlexibleSpaceBar(
          collapseMode: CollapseMode.pin,
          background: DecoratedBox(
            decoration: BoxDecoration(
              color: Colors.grey,
              image: DecorationImage(
                fit: BoxFit.cover,
                colorFilter: ColorFilter.mode(Colors.black.withOpacity(0.5), BlendMode.darken),
                image: const NetworkImage('https://media-exp1.licdn.com/dms/image/D4E03AQHtcuSJcyZSaw/profile-displayphoto-shrink_800_800/0/1665872018613?e=2147483647&v=beta&t=L37_wDBirDmV0BidIQZlKlliwgsmn3rBmJubXPkMtts'),
              ),
            ),
            child: BackdropFilter(
              filter: ImageFilter.blur(sigmaX: 8.0, sigmaY: 8.0),
              child: Center(
                  child: Text('Profile info',
                      style: Theme.of(context).textTheme.headline1?.merge(const TextStyle(color: Colors.white)),
                      textAlign: TextAlign.center)),
            ),
          ),
        ),
      );

  SliverPersistentHeader _buildTabBar() =>
      SliverPersistentHeader(pinned: true, delegate: SliverTabBar(tabController: tabController));
}

class SliverTabBar implements SliverPersistentHeaderDelegate {
  @override
  @override
  final double minExtent, maxExtent;
  final TabController? tabController;

  const SliverTabBar({this.minExtent = 72.0, this.maxExtent = 72.0, this.tabController});

  @override
  Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) => Material(
        elevation: 16.0,
        shadowColor: const Color.fromRGBO(33, 37, 41, 0.05),
        child: Container(
          color: Colors.white,
          height: maxExtent,
          child: Material(
            color: Colors.transparent,
            child: Row(
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: <Widget>[
                Expanded(
                  child: TabBar(
                    controller: tabController,
                    isScrollable: true,
                    tabs: const <Widget>[
                      SizedBox(height: double.infinity, child: Tab(text: 'About me')),
                      SizedBox(height: double.infinity, child: Tab(text: 'Posts')),
                      SizedBox(height: double.infinity, child: Tab(text: 'Certificates')),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ),
      );

  @override
  bool shouldRebuild(SliverTabBar oldDelegate) => false;
  @override
  FloatingHeaderSnapConfiguration? get snapConfiguration => null;
  @override
  OverScrollHeaderStretchConfiguration? get stretchConfiguration => null;
  @override
  PersistentHeaderShowOnScreenConfiguration? get showOnScreenConfiguration => null;
  @override
  TickerProvider? get vsync => null;
}

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.6, on macOS 13.0 22A380 darwin-arm, locale en-NL)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.72.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

Hello @appcapsergen. Thank you for filing this issue. Can you please provide the following information?

A complete and minimal, reproducible example. Ideally, a single main.dart file that can be run directly.

Please provide the information in the form of text. See how to make collapsible sections with Markdown here.

@exaby73 done! I transformed the code sample I had into a reproductible code example :D

Hello @appcapsergen. Is is possible for you to simplify the code? The code has a lot of unnecessary widgets being used. Since the issue is about the TabBar and NestedScrollView, an example that highlights those 2 widgets is enough for a reproducible example

@exaby73 I edited it again, this is as small as I can get it without straying away too much from my application

I'm glad to announce that I solved my problem!
If you add the following to the SliverAppBar, it will perform as expected.
SliverAppBar(
  pinned: true,
  toolbarHeight: 72.0,
  {...}
);

Super glad btw because I've had this problem for weeks.. Woohoo!


[DOCKER] fix keras install

@leandron @Lunderberg

Though it doesn't seem to be an issue right now, I think we don't need to have the pin on the h5py version, just keras.  The previous time it was pinned, there was a comment with a tensorflow issue.  With the upgrade to tensorflow 2.4.x, the pinned h5py shouldn't be necessary anymore.
# h5py is pinned to minor than 3 due to issues with tensorflow: https://github.com/tensorflow/tensorflow/issues/44467
That said, testing new docker versions with fewer moving parts/upgraded versions may also make sense.


[Feature Request] make a discord server for configs

I think it would be great if you guys could make a discord server for configs

Maybe. Have to finish rebase as soon as possible. Hoping to do a beta in one or two weeks if everything goes to plan.

There will be a public Discord server for the community as we finish the rebase.


memory leak: getVariableStatements & getExportedDeclarations

Describe the bug
Version: 15.1.0
Node: 10.9.0

To Reproduce

Loop .ts 10 files from a directory, read each one of them and run getExportedDeclarations on the sourceFile
Expected behavior

It returns correctly the resulting classes and Nodes but it takes so much RAM it often crashes node.
For looping 10 files I had to add --max-old-space-size=8192 to make it work. And it takes ~50 seconds

@gp187 I'm not sure if this is a memory leak. Perhaps it is just using a lot of memory?
Here's an example script that I believe should demonstrate a memory leak, but I'm not seeing one. All the numbers are holding fairly stable:
const project = setupProject();
const files = project.getDirectory("src").getDirectories().map(d => d.getSourceFile("index.ts")!).filter(s => s != null);
const dummySourceFile = project.createSourceFile("test.ts", "");

for (let i = 0; i < 10_000; i++) {
    for (const file of files)
        file.getExportedDeclarations();
    forceTypeCheckerRecreation();
    global.gc(); // garbage collection
    console.log(`Memory: ${memoryUsage.heapUsed} | ${memoryUsage.heapTota} | ${memoryUsage.rss}`);
}

function forceTypeCheckerRecreation() {
    // manipulations will cause the internal compiler API type checker to be recreated
    dummySourceFile.addStatements("test;");
}

Honestly, I'm not that experienced running memory profiles in node.js/javascript (I am only used to doing it with c# and there are some pretty good tools there that show me everything going on), so I may be doing something wrong or not looking in the right place.

Closing. Please reopen if I'm mistaken and this actually is a memory leak.


Fix decompress_hdu and compress_hdu tests

This gets all the decompress_hdu tests to pass. I noted something that might be a Numpy bug - will investigate.

@Cadair this fixes most of the decompress_hdu and compress_hdu tests with the exception of the compression with PLIO_1, which I'll investigate another time (and I assume isn't urgent since it's not going to be a very common compression type - decompression works though).


Migrate GHA deployment workflows to ArgoCD triggering

- Update Build & Deploy Development workflow

Add logic to check for changes to the Helm chart files
Update trust-over-ip-configurations repo with chart/app version and image tag as necessary
Trigger remote workflow to propagate changes to the GitOps repo
Trigger ArgoCD Sync if no Helm chart changes, otherwise deploy with the chart changes

- Update Helm Chart Release workflow

Update Chart versions for Test and Production environments in the GitOps repo
Explicitly trigger ArgoCD Sync via webhook

- Miscellaneous

Update workflows and actions to use the latest stable publicly available actions

- Note
When updating the Helm chart default values, changes must be merged into trust-over-ip-configurations repo before merging a PR in this repo.

Addresses https://github.com/bcgov/traction/issues/1198
Part of https://github.com/bcgov/DITP-DevOps/issues/158#issuecomment-2145969763

@i5okie this is good to go, merge ahead when ready to move forward


input mask

I saw some year old discussions from tarruda regarding input mask updates, but do not see those in this repository. Is it possible to expose those if they exist or propose that as an enhancement?  This would enable speedier keyboard input on the input field.  Use case is when tabbing to or entering the input element, the user uses the number pad to enter only numbers (12 12 12 12 12 12) and the input displays this as 12/12/2012 12:12:12.
Cheers!

Is there any potential of adding a mask inside of this plugin?


Duplicate CRUD Test - Profile Picture

Removes a duplicate User CRUD test for Profile Picture.
There are two reasons for this commit.

Duplicate of https://github.com/meanjs/mean/blob/master/modules/users/tests/server/user.server.routes.tests.js#L833-L848
This test is problematic in Windows environment.
Related to:
https://github.com/visionmedia/supertest/issues/230
https://github.com/visionmedia/supertest/issues/258

The latter may be an issue with the .attach method not completely loading the file into memory before the 400 status response is sent back due to no User logged in.

This may seem trivial. However, I have been fighting with this issue for a few days; ever since this test was merged in. This test has been failing for me over 50% of the time.
It appears, from asking others, that this only an issue in Windows. If someone can confirm that they are experiencing an issue with this test on Windows too, that would be very helpful.
I'll keep an eye on this issue by watching the supertest & superagent libraries. But for now, this test isn't needed since the only difference between it & the duplicate is the attach method. Since this test isn't attempting to test the actual upload, we don't need to attach a file to the request.

@mleanos the test you removed is indeed less verbose also from the one that we kept so I'm generally ok, and we definitely don't need duplicate tests.
With that said:

Testing the ability to upload files is important and we need a test that does that successfully
Does this test work just fine in your environment?  it('should be able to change profile picture if signed in'
What is the problem exactly with the .attach method on Windows?

@lirantal Yes, that test does work for me. Every other test that uses .attach works for me as well.
The issue with the one I removed, is that we are sending back the 400 error response since there is no User. It appears that something is going on with the connection. When Supertest tries to assert the response Status, the response object is undefined. I'm not exactly sure why, but for some reason the connection is being reset. When I dig deeper into Supertest, i see a ECONNRESET error.
My guess is that the file isn't fully in memory when attached to the request. Then when we send the 400 response back so quickly, something is going wrong.
In the update profile picture method, you can see a 400 error returned when an upload error occurs; this works fine everytime. Bit of a strange one this is. And it doesn't always fail; somewhere around 60% of the time.

I see. So we can take the image upload issue in another PR but we really need to look into it. Are you already investigating it?

What image upload issue are you referring to? AFAICS, everything else is working as expected.
I think this issue is specific to supertest/superagent. But I am going to pay attention to it. It may be hinting at a bug in something we're doing, or one of the libraries.

I'm talking about the image upload issue that you referenced with some test that sometimes fail and sometimes not, when using the .attach method.

Ok. Got it. Yea, I'll be investigating the root cause of the issue. Our implementation is fine right now, and all the other tests work fine.
I'll just have to stay on top of the supertest/superagent issues/discussions.

@lirantal Can this be set to 0.4.2? This is causing the tests to fail for me locally. Since this is a duplicate test, I think it can just be removed now to avoid any further issues.

LGTM

@lirantal To follow up on my investigation in to the issue with this test.. These are my findings.
https://github.com/visionmedia/superagent/issues/747https://github.com/visionmedia/superagent/issues/747
I'll keep on top of this issue, but it's really not relevant to us at the moment.
This PR is ready to be merged.

Ok, keep us posted on that issue opened in superagent

Will do. Thanks!

@mleanos , @lirantal
any resolution to your issue? I'm getting a similar issue where the res is undefined because of which im getting error noted in this https://github.com/visionmedia/supertest/issues/298
this is using supertest framework. any thoughts on this issue? thanks

@varunj90 I did not experience an actual issue but rather I think it was @mleanos said that there is some kind of issue under Windows.
@varunj90 It is probably wiser to open a new issue and put all of the information there with how to reproduce, your environment, etc.

@lirantal thanks ! i've already added the details in 298 :  visionmedia/supertest#298


Upgrade crypto for unpacker to resolve CVEs

Upgrade to golang.org/x/crypto

PR https://github.com/portainer/compose-unpacker/pull/32


Support for heketi

Currently kismatic already supports storage provisioning via kismatic CLI. However, there is a project called heketi, whichs claims to add dynamic storage provisioning for glusterfs.
In their setup, they are deploying gluster into kubernetes itself, where as the KET is managing gluster from the outside (which I personally prefer much more).
I think it would be a nice think to see a KET solution for StorageClasses and dynamic provisioning, and maybe heketi worths a look

Thanks @xetys
We (brielfy) looked at heketi in the past, but decided not to enable dynamic provisioning at that time. We definitely see the value in it, but I don't think we'll focus on it in the next couple of releases.
I do want to know if we are blocking you from manually deploying heketi though. Is that the case?

Closing due to inactivity.


remove clear-timeouts ?

i can't upgrade our repos to the latest duo-test because mocha uses it to emit events, timeout of tests etc..

Actual problem here is clear-scripts, which is removing the jsonp scripts duo-test is adding to the page after clear-scripts has recorded a snapshot of the current scripts on the page. For some reason this problem only affects pre-ES5 browsers; tested IE8, PhantomJS (which is mostly only ES3-compliant).
Hacky fix here for the curious: https://github.com/segmentio/clear-scripts/commit/99094b1b437608cec2323ffbfe7b063bbd5d3d5a


Renaming Package to meet Guidelines

The JuliaRegistrator Guidelines state that no Package should begin with 'Ju'. We've ran into this problem with JustRelax.jl.
As you probably want to register JustPIC in the future, I suggest to rename it to your liking.

I hope we can make the case to still be able to register "Ju" starting package names.

JustRelax.jl PleaseConverge.jl
JustPIC.jl PleaseAdvect.jl/PleaseMove.jl
and can complement it with FastIce.jl PleaseChill.jl  :sunglasses:

Hmm, this suggests it may not converge. Do we want to live with that for the coming years?
What about PseudoTransient… ?
On 18. Oct 2023, at 10:00, albert-de-montserrat @.***> wrote:

JustRelax.jl PleaseConverge.jl
JustPIC.jl PleaseAdvect.jl/PleaseMove.jl
and can complement it with FastIce.jl PleaseChill.jl 😎
—
Reply to this email directly, view it on GitHubhttps://github.com/JuliaGeodynamics/JustPIC.jl/issues/13#issuecomment-1768001683, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOXV6NX3GUWBKIVTJ6UPEDTX76LAVAVCNFSM6AAAAAA6D5VHISVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRYGAYDCNRYGM.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Indeed, not ideal. We'll think about some good naming. But ideally we could make the case for Ju** naming...

The online registry says that this may simply not be merged automatically. Yet it also complains about lacking [compat] for the various packages.
I believe that was fixed meanwhile; yet you have to manually retrigger the registry for this to reconsider it again.
Let’s try and see if they are happy to merge this after all


run "./main ../tests/input/supremacy_28.qasm" in directory build, but got  "unrecognized token version",  so what's the right command line with GPU device ?

when with  command "./run-single.sh",  also found “unrecognized token version”
[ 79%] Linking CXX executable two-group-h
[ 83%] Linking CXX executable local-ctr
[ 87%] Linking CXX executable bench-blas
[ 91%] Linking CXX executable local-single
[ 91%] Built target two-group-h
[ 91%] Built target local-ctr
[ 91%] Built target bench-blas
[ 91%] Built target local-single
[ 95%] Linking CXX executable process
[ 95%] Built target process
[100%] Linking CXX executable main
[100%] Built target main
unrecognized token version

As mentioned in readme, you should
Specify the compute capability in CMakeLists.txt (CUDA_NVCC_FLAGS) and third-party/cutt/Makefile (GENCODE_FLAGS)

before compile the project.

if it's convenient,are you willing to offer you wechat ID, so that you can help me solve the problem more easily! or I can offer my wechat  "<PHONE_NUMBER>6"

thanks for your patience, I have solved the problem!


Moved get after set to fix issue when initializing in Angular2

Fixes #151
The following is error seen when initializing a Angular2 app:
Can't bind to 'options' since it isn't a known property of 'input'.
Related to Angular2 issue:
https://github.com/angular/angular/issues/5477

It fixed the issue for me.
Angular 2.2.1
ionic 2.0.0-rc.4

Works.
Angular 2.3.1

Unfortunately not working.
Moved getter under setter.
Updated to Angular 2.3.1 / ionic 2.0.0-rc.4.
Rebuild modules...

@Partovic Can you check whether the .js files have indeed been rebuilt on your system after changing the .ts files?


test_cqc_extractor failed due to DeprecationWarning

Information

Qiskit IBMQ Provider version:
Python version:
Operating system:

What is the current behavior?
This terra-main run failed at test test_cqc_extractor due to:

DeprecationWarning: Passing a Qobj to Backend.run is deprecated and will be removed in a future release. Please pass in circuits or pulse schedules instead.

Steps to reproduce the problem
NA
What is the expected behavior?
NA
Suggested solutions
TBD

This will be fixed by #38. Closing as duplicate.


Rive models move on their own when more than one model is present

I've attached a repro case. With no changes, the Rive model animates correctly. But if you add more than one, all models will fly off screen despite no code being attached. The Orthographic Camera library is added to help visualise the issue (set zoom to 0.1).
Interestingly, the game object's position stays the same while this is happening. I have a sprite that updates its position to be the position of one of the bones, but it stays in place while the models fly off screen. The print statement also shows this.
This also works with different models. Adding either the boxman or sneksoldier Rive scenes will produce this bug, but will work fine on their own.
Tested with Defold 1.4.3 alpha, and macOS Ventura 13.1.
RiveTest.zip

Reposting this from #64, since I used the same version for this issue:
Editor SHA1: e6df2106a6f0ffaa1ae220ac1bcb288d303a5e3d
Engine SHA1: e6df2106a6f0ffaa1ae220ac1bcb288d303a5e3d

Fixed in release 1.0


Fix TS 2.3.1 Compiler Errors in 'workbench/parts/git'

TS 2.3.1 introduced a breaking change by switching to covariant types for callbacks. This revealed a number of issues in our codebase.
https://github.com/Microsoft/vscode/pull/25315 fixed many of these but there are still a few problems in workbench/parks/git/ that require attention:
[10:40:29] Error: /Users/matb/projects/vscode/src/vs/workbench/parts/git/browser/gitServices.ts(130,11): Argument of type '(editorInput: EditorInput) => EditorInput' is not assignable to parameter of type '(value: TPromise<EditorInput> | TPromise<EditorInput[]>) => EditorInput'.
  Types of parameters 'editorInput' and 'value' are incompatible.
    Type 'TPromise<EditorInput> | TPromise<EditorInput[]>' is not assignable to type 'EditorInput'.
      Type 'TPromise<EditorInput>' is not assignable to type 'EditorInput'.
        Property '_onDispose' is missing in type 'TPromise<EditorInput>'.

[10:40:29] Error: /Users/matb/projects/vscode/src/vs/workbench/parts/git/browser/gitServices.ts(196,5): Type 'TPromise<IEditorInput>' is not assignable to type 'TPromise<EditorInput>'.

[10:40:29] Error: /Users/matb/projects/vscode/src/vs/workbench/parts/git/browser/gitServices.ts(199,5): Type 'TPromise<IEditorInput>' is not assignable to type 'TPromise<EditorInput>'.

[10:40:29] Error: /Users/matb/projects/vscode/src/vs/workbench/parts/git/browser/gitActions.contribution.ts(121,5): Type 'TPromise<IViewlet>' is not assignable to type 'TPromise<null>'.

[10:40:29] Error: /Users/matb/projects/vscode/src/vs/workbench/parts/git/browser/gitActions.contribution.ts(121,5): Type 'TPromise<IViewlet>' is not assignable to type 'TPromise<null>'.
  Type 'IViewlet' is not assignable to type 'null'.

[10:40:29] Error: /Users/matb/projects/vscode/src/vs/workbench/parts/git/browser/gitActions.contribution.ts(662,5): Type 'TPromise<IViewlet>' is not assignable to type 'TPromise<null>'.

Steps
After https://github.com/Microsoft/vscode/pull/25315 is merged:

Using the latest coder insiders, make sure you are using TS 2.3.1 in the editor by running the select TypeScript version command and selecting to use VSCode's version of TypeScript
Restart vscode and open the referenced files
Fix any errors in these files. Make sure the code still compiles under TS 2.2.2

Please let me know if you have any questions about fixing these errors

@mjbvz I switched it to 2.3.1-insiders.20170425.1 but I still don't see any errors in those files.

TS moved this change out of 2.3 to 2.4. You can still take a look at this error by installing typescript@next


Modals throw errors sometimes.

http://members.iracing.com/jforum/posts/list/25/3349275.page#9815863

Bug found. When clicking on the options tab up top, and selecting race times, it locks up can still click boxes but will not check or uncheck them but can see it working in the background, and also can't close of x out of the options. Using chrome.

Had a play and noticed humanize function was throwing an error so will investigate that

Think this is fixed


Fix private prefer

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.15%. Comparing base (efce84f) to head (a6810f5).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #325   +/-   ##
=======================================
  Coverage   97.15%   97.15%
=======================================
  Files         152      152
  Lines        9160     9160
=======================================
  Hits         8899     8899
  Misses        261      261

Files
Coverage Δ

include/async_mqtt/packet/impl/v3_1_1_publish.hpp
83.33% <ø> (ø)

include/async_mqtt/packet/impl/v3_1_1_publish.ipp
99.31% <ø> (ø)

include/async_mqtt/packet/impl/v5_publish.hpp
83.33% <100.00%> (ø)

include/async_mqtt/packet/impl/v5_publish.ipp
98.87% <ø> (ø)

include/async_mqtt/packet/v3_1_1_publish.hpp
100.00% <ø> (ø)

include/async_mqtt/packet/v5_publish.hpp
100.00% <ø> (ø)


Ignore Black formatting commits in the blame view

Codecov Report

Merging #5664 (c6b475c) into master (9eccce8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5664   +/-   ##
=======================================
  Coverage   96.19%   96.19%
=======================================
  Files         743      743
  Lines       72754    72754
=======================================
  Hits        69989    69989
  Misses       2765     2765

Flag
Coverage Δ

servertests
36.89% <ø> (ø)

unittests
96.13% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add support for showing the Live AuctionVC inside a SansSerifVC

Wraps up the presentation work for going from a URL -> LiveAuctions 👍

Where’s the top menu VC part that shows nav VCs modally?

Is in https://github.com/artsy/eigen/pull/1435 = here

Ah right, cool 👍


Fix to enable successful build on MacOSX

[C.f #92] changed the CMakeLists.txt file BUILD_TEST block to increase readability, fix broken build on OSX systems.

refactored CMakeLists.txt in BUILD_TEST block
added test for OSX detection to turn off CORR_TEST_WITH_ACML

I targeted Master, but since it's just a change to CMakeLists.txt I thought it would be ok.

Thanks!

I didn't realize you made the pull request against master branch. Can you make one against develop branch? I am going to revert this pull request.


NameError: name 'MeshDS' is not defined

Hi, I'm getting multiple errors when running demo.py
Traceback (most recent call last):
  File "demo.py", line 1, in <module>
    from core import conformal_manger
  File "C:\Users\junew\Desktop\maps-main\maps-main\core\conformal_manger.py", line 1
    from __future__ import annotations
    ^
SyntaxError: future feature annotations is not defined

Traceback (most recent call last):
  File "demo.py", line 1, in <module>
    from core import conformal_manger
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\conformal_manger.py", line 4, in <module>
    from core.decimate import Decimate
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\decimate.py", line 5, in <module>
    from core.mesh_ds import MeshDS
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\mesh_ds.py", line 25, in <module>
    class MeshDS(GeometryDS):
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\mesh_ds.py", line 184, in MeshDS
    def to(self, device: D) -> MeshDS:
NameError: name 'MeshDS' is not defined

See similar issue here.
A simple fix is to use python>=3.7

@amirhertz
Thanks, that fixed the problem.
Is there any requirement for the input mesh? I'm getting an AssertionError when using the stanford bunny with 69451 tris.
Traceback (most recent call last):
  File "demo.py", line 24, in <module>
    main()
  File "demo.py", line 12, in main
    cm = conformal_manger.ConformalManger(mesh, min_vs=num_faces // 32 + 2)
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\conformal_manger.py", line 430, in __init__
    self.ds: Decimate = Decimate(raw_mesh, min_vs=min_vs)
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\decimate.py", line 395, in __init__
    self.queue, self.updated_positions = self.extract_independent_set()
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\decimate.py", line 331, in extract_independent_set
    return self.extract_low_independent_set()
  File "C:\Users\jg\Desktop\maps-main\maps-main\core\decimate.py", line 321, in extract_low_independent_set
    assert (edge_a - edge_d).eq(0).all().item()
AssertionError

The code works only with closed non-manifold triangular meshes. Maybe this is the issue.


Convert bezier-rs intersection functions to SVG

This PR converts all the intersection functions in the wasm representation to return an SVG tag instead of JS points.

If the code review comments above have been resolved, please mark them as such (otherwise resolve them, or point out if I should give my opinion on any of them if things are uncertain). Once that's done, I can come back and give this an actual code review. Thanks! And sorry for the long delay, October is a crazy month.


8/03 Publish

Docs Build status updates of commit bb7594b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

rd/index.yml
:white_check_mark:Succeeded
View

rd/kinfey-lo.yml
:white_check_mark:Succeeded

rd/map.yml
:white_check_mark:Succeeded
View

rd/media/profiles/kinfey-lo.jpg
:white_check_mark:Succeeded

rd/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Puppeteer fails in Docker when an emulator is used and a full-page screenshot is taken

We have a Puppeteer script that takes screenshots of web pages. We want to have mobile device emulation and take full-page screenshots. On my Mac Book Pro everything works fine, but the script fails in a Docker container.  And it fails when both the emulation and full-page features are enable.
Steps to reproduce
Tell us about your environment:

Puppeteer version: 0.10.2
Platform / OS version: Debian Stretch, kernel 4.9.49-moby (Docker image)

What steps will reproduce the problem?
I prepared a Docker image: https://github.com/Jeiwan/pup-emulator-bug You need to clone the repo and run make docker-run. It will build an image and run the script inside a container, but the script will fail.
If the fullPage: true option is removed, the script works fine. It also works fine locally on my MacBook when fullPage is true.
What is the expected result?
It should take a screenshot of a page.
What happens instead?
It fails with:
(node:7) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Page crashed!
(node:7) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

The fail is also reproducible on https://www.washingtonpost.com/

Perhaps related to the shared memory space being very limited (64mb) on docker. There's a suggestion on https://github.com/GoogleChrome/puppeteer/issues/809 that may help.

Related to my issue #811 as well

Seems like increasing shm-size helped! I'll run more tests and reply with results in a couple of days.

Confirmed, it works! I added --shm-size=1gb flag to docker run.
@ebidel Thank you!


Copy returned bytes from TSI meta functions.

Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass
[x] CHANGELOG.md updated

@e-dard I added comments about the byte copying in 8ad2048. The slices just need to be copied if they will be used after the fileset is released. Within the FileSet.Retain() & FileSet.Release() the files are guaranteed to stay memory-mapped.

@benbjohnson ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ DoUbLe ApProVE ⭐ ⭐ ⭐ ⭐ ⭐


Atom cannot start Julia (0.5), after updating Julia-client package to 0.5.7

Hi,
Atom cannot start Julia (0.5), after updating Julia-client package to 0.5.7 - on Windows 10-64bit. Thank you

This should be fixed on 0.5.8 -- can you try updating?

Dear  @pfitzseb, thank you very much for the prompt response. Having update to 0.5.8, it worked.

Great, glad it's working now!


Session for winbind users is not always reconnect

When a winbind user has started a xrdp session using DOMAIN\username. Then he disconnect the session and later try’s to reconnect. But he uses only the username, the session is then not reconnected but a new session is created.
OS: Ubuntu 20.04.2 LTS
Version: 0.9.12

hi @swer21
Thanks for raising this.
I think I can see what's happening here - at the moment we look for a matching session by checking the username string, which is normally unique. In the winbind case (and possibly with sssd), the same user can have different forms. hence the new sessions.
One way to work around this might be for the code to match on UID rather than username when looking for an existing session.

As a work around im currently blocking any logins with DOMAIN\USERNAME using this pam code.
auth [success=1 default=ignore] pam_succeed_if.so user !~ DOMAIN* auth requisite pam_deny.so
Only downside is that some rdp client are sending the domain by default. At least mstsc on windows server 2012.

One way to work around this might be for the code to match on UID rather than username when looking for an existing session.

This would be very good. On my domain, there are at least 6 or 7 "valid" username forms that will be accepted by both winbind and sssd (tested via getent passwd _______):

samid
upn
mail
example\samid
ad.example.edu\samid
samid@example
<EMAIL_ADDRESS>
samid -- SAMAccountName in active directory
upn -- userPrincipalName in active directory
mail -- email address
In my case, the upn is in the form of<EMAIL_ADDRESS>where the name part could be the same as samid, but mostly isn't. I'm not absolutely certain that mail gets used in an AD environment (mail and upn are always the same in ours) but it does get used in a non-AD LDAP with sssd.


remove unused list_* samples

Tests are currently unaltered, as the tests have variable dependencies. An example being the listContexts function stores a count into a contexts variable, which is then used to verify deleteContext functions as expected.
If I can get help refactoring test files that would be great. Otherwise, I will take a stab at them later this week.

A lot of ML samples need to be very loosely tested as the technology often changes underneath us.
I put a "do not merge" tag until you get the tests back.

Apparently I wasn't thinking when I commented yesterday.

Assigning to myself to get the tests updated for these.

@Strykrol should there be more deletions than just the list methods?
I'm gonna break up the tests into individual files.

@Strykrol, um mind pulling down the latest changes then just merging in master to the branch?
I was trying to do it, but just ended up creating a new branch on here. https://github.com/GoogleCloudPlatform/java-docs-samples/tree/Strykrol-snippetCleanup

Closing, something got lost in this PR and the tests are not finishing.
I've opened this one https://github.com/GoogleCloudPlatform/java-docs-samples/pull/2602 that I can directly edit.


Date picker

This adds a Primer Date Picker component 🎉
Screenshots

Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

This is a gift. Thank you @dusave


Remove  "|"

How to remove a sign "|" in the title of the page?

The theme adds it. For example, Antimatter does it in this line: https://github.com/getgrav/grav-theme-antimatter/blob/develop/templates/partials/base.html.twig#L7
To edit it, you should create a child theme (https://learn.getgrav.org/themes/customization#theme-inheritance), and edit that line.


Curric/lessons scrolling bug CUR-311

Description

Fixes scrolling bug on IOS

Issue(s)
Fixes #CUR-311
How to test

Go to https://deploy-preview-2032--oak-web-application.netlify.thenational.academy/teachers/curriculum/english-secondary-aqa/units on an iOS device.
Tap on a unit with a lot of lessons (e.g. The Tempest)
Open the lessons in unit modal and swipe to scroll up and down.
Scrolling should be smooth and easy no matter where your finger is located within the scrollable area.
Other parts of the page should be unaffected by this change.
Other browsers/device types should be unaffected by this change.

Checklist

[ ] Added or updated tests where appropriate
[ ] Manually tested across browsers / devices
[ ] Considered impact on accessibility
[ ] Design sign-off
[ ] Approved by product owner
[ ] Does this PR update a package with a breaking change

:tada: This PR is included in version 1.283.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


This crashs everytime when we import ipfs package from vue code

I'm using this package: yarn add ipfs-http-client
And if I import it from vue3, then I run yarn watch, I got errors
https://github.com/ipfs/js-ipfs/issues/3858#issuecomment-1046617510

yarn run v1.22.17
$ node scripts/watch.js
Pre-bundling dependencies:
  vue
  element-plus
  ipfs-http-client
(this will be run only when your dependencies or config have changed)
✘ [ERROR] No matching export in "browser-external:url" for import "parse"

    node_modules/electron-fetch/lib/index.es.js:1:9:
      1 │ import { parse, format, resolve } from 'url';
        ╵          ~~~~~

✘ [ERROR] No matching export in "browser-external:url" for import "format"

    node_modules/electron-fetch/lib/index.es.js:1:16:
      1 │ import { parse, format, resolve } from 'url';
        ╵                 ~~~~~~

✘ [ERROR] No matching export in "browser-external:url" for import "resolve"

    node_modules/electron-fetch/lib/index.es.js:1:24:
      1 │ import { parse, format, resolve } from 'url';
        ╵                         ~~~~~~~

✘ [ERROR] No matching export in "browser-external:http" for import "STATUS_CODES"

    node_modules/electron-fetch/lib/index.es.js:3:9:
      3 │ import { STATUS_CODES } from 'http';
        ╵          ~~~~~~~~~~~~

✘ [ERROR] No matching export in "browser-external:stream" for import "PassThrough"

    node_modules/electron-fetch/lib/index.es.js:6:17:
      6 │ import Stream, { PassThrough } from 'stream';
        ╵                  ~~~~~~~~~~~

Error: Build failed with 5 errors:
node_modules/electron-fetch/lib/index.es.js:1:9: ERROR: No matching export in "browser-external:url" for import "parse"
node_modules/electron-fetch/lib/index.es.js:1:16: ERROR: No matching export in "browser-external:url" for import "format"
node_modules/electron-fetch/lib/index.es.js:1:24: ERROR: No matching export in "browser-external:url" for import "resolve"
node_modules/electron-fetch/lib/index.es.js:3:9: ERROR: No matching export in "browser-external:http" for import "STATUS_CODES"
node_modules/electron-fetch/lib/index.es.js:6:17: ERROR: No matching export in "browser-external:stream" for import "PassThrough"
    at failureErrorWithLog (/Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:1602:15)
    at /Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:1248:28
    at runOnEndCallbacks (/Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:1033:63)
    at buildResponseToResult (/Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:1246:7)
    at /Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:1355:14
    at /Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:665:9
    at handleIncomingPacket (/Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:762:9)
    at Socket.readFromStdout (/Users/yingshaoxo/CS/libgen2/node_modules/esbuild/lib/main.js:632:7)
    at Socket.emit (node:events:390:28)
    at addChunk (node:internal/streams/readable:315:12) {
  errors: [
    {
      detail: undefined,
      location: [Object],
      notes: [],
      pluginName: '',
      text: 'No matching export in "browser-external:url" for import "parse"'
    },
    {
      detail: undefined,
      location: [Object],
      notes: [],
      pluginName: '',
      text: 'No matching export in "browser-external:url" for import "format"'
    },
    {
      detail: undefined,
      location: [Object],
      notes: [],
      pluginName: '',
      text: 'No matching export in "browser-external:url" for import "resolve"'
    },
    {
      detail: undefined,
      location: [Object],
      notes: [],
      pluginName: '',
      text: 'No matching export in "browser-external:http" for import "STATUS_CODES"'
    },
    {
      detail: undefined,
      location: [Object],
      notes: [],
      pluginName: '',
      text: 'No matching export in "browser-external:stream" for import "PassThrough"'
    }
  ],
  warnings: []
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

You tried import build-in node.js modules in renderer, but it's impossible. Read Working with dependencies section.

You tried import build-in node.js modules in renderer, but it's impossible. Read Working with dependencies section.

Hi, I would love to have a solution
Because, as you see, ipfs-http-client is indeed a browser-based package, it's not a node package: https://github.com/ipfs-examples/js-ipfs-http-client-bundle-webpack/blob/main/src/App.js#L2
I just don't get why by only importing it, I got errors.

Something in your dependency chain imports the browser-external:http, which in turn tries to import the http, which leads to an error. You should set ipfs-http-client as an external dependency, import it into the preload, and expose the method to renderer.

Something in your dependency chain imports the browser-external:http, which in turn tries to import the http, which leads to an error. You should set ipfs-http-client as an external dependency, import it into the preload, and expose the method to renderer.

Thanks, I tried that method.
It indeed works.
But I lost the type-definition, which makes me annoying, which may let me have a chance to make mistakes.

Something in your dependency chain imports the browser-external:http, which in turn tries to import the http, which leads to an error. You should set ipfs-http-client as an external dependency, import it into the preload, and expose the method to renderer.

Thanks, I tried that method.
It indeed works.
But I lost the type-definition, which makes me annoying, which may let me have a chance to make mistakes.

Alright, I've fixed it:


⚠ Bofrost.de has degraded performance

In 98af0a3, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1228 ms

Resolved: Bofrost.de performance has improved in e148e98 after 309 days, 2 hours, 28 minutes.


components: Use f{32,64} as wrapped type of Val::Float{32,64}

Currently the wasmtime::component::Val::Float32 and ::Float64 variants wrap u32 and u64 values:
https://github.com/bytecodealliance/wasmtime/blob/b47e644c3dcd857221ef7163e780a0399a183966/crates/wasmtime/src/component/values.rs#L502-L503
I suspect this is just an oversight as typed functions do use f32/f64. I'm happy to make this update if it makes sense.

For the record, this floats-as-bits representation was copied from the equivalent API for modules: https://github.com/bytecodealliance/wasmtime/blob/b47e644c3dcd857221ef7163e780a0399a183966/crates/wasmtime/src/values.rs#L22-L32, which was added in this commit: https://github.com/bytecodealliance/wasmtime/commit/f88e92a57ce9654917193c88a55cb3de863653ee.  I imagine that if we're going to change this API, we should also change the module API as well.

We do this in Cranelift too. I don't know if it's for the same reason that Wasmtime's API works this way, but Cranelift's reason was discussed in #2251. In short, Rust doesn't make any guarantees about the bit-representation of NaN values being preserved in floating-point types. So if you care about that, you need to keep the raw bits in an integer type until the time when you want to do actual floating-point operations on them.

@jameysharp Thanks for that context. The component model requires canonicalization of NaNs so it seems like it makes sense to diverge from the copied API here.

I agree that while this matches the core wasm API it can be different for hte ocmponent model due to all NaN's being canonicalized. @lann would you be up for PR-ing this change?

Sure, I can take it.


Proposal: standardise protocols

Let's standardise the way addrs are handles by swarm:
--------------                   ---------------------                   ----------------
| swarm join | ----------------> | discovery service | ----------------> | swarm manage |
--------------                   ---------------------                   ----------------
                                           |                             --------------
                                           ----------------------------> | swarm list |
                                                                         --------------

Swarm join
swarm join will support those formats:

tcp://<ip:port>
http://<ip:port>
https://<ip:port>
<ip:port>

Any other protocol will be denied
Swarm manage
swarm manage will work the same way as docker:

tcp://<ip:port>: swarm will try to connect using https if the --tls otherwise http
http://<ip:port>: swarm will always connect using http
https://<ip:port>: swarm will always connect using https
<ip:port>: swarm will transform this to tcp://<ip:port>

Swarm list
swarm list will always display addrs with a protocol, either tcp://, http:// or https://

I have some non-encrypted Docker daemons running for testing, and letting me see whats happening, and then many tls ones that I talk to - please don't make it hard to mix them!

LGTM

Ok I updated the issue description and the code.
The cluster needs to be full http or full https we don't allow mixing the two.
The code is now much simpler.
@aluzzardi please merge when you have time


Example config of conductor with Standalone Redis that requires authentication

Can you please provide an example config on how to setup conductor with just one redis instance that requires auth? I cannot seem to get conductor up and running with persistence using our existing infrastructure which should be enough

Please refer https://github.com/Netflix/conductor/tree/master/server#redis-authentication.


Add releases to githubs Releases page

Currently they are only tags. Many/most other projects use releases (including changelogs in there)

It is a great idea, thanks for sharing it.


DRILL-5697: Improve performance of filter operator for pattern matching

Implement character by character matching for simple patterns and fallback to regex for more complicated patterns. See DRILL-5697 for more details.

@paul-rogers Paul, thanks a lot for the review. I made changes as per your comments. Please review updated diffs.

@kkhatua Kunal, we can add more patterns later if we want. For now, let us get the most simple cases done first.


How to make work with JSP EL expression

We are hosting our static resources over CDN, so all our static resources URL get prefixed by CDN url.
We are using JSP, so our static resources like

Obviously, cache burst wont be able to resolve the JSP EL. So, how do I configure cache burst to burst these resources.

Hi @spshukla,
Was there meant to be a code example in this issue? Sounds like an easy thing to fix, just need to see an example

We map our static assets to CDN (Cloudfront) url, so in our JSPs any static resource is represented like this
Hi @hollandben

Lets suppose ${cdn_url_path}=http://cdnurl.aws.com
This CDN url is mapped to our LB IP, that LB in turn sends the request to our application web servers.
So, while using your plugin this JSP EL expression needs to be mapped with our context root folder, so that those files could be found and perform cache bursting accordingly.
Please let me know for any more info.

Ahh ok. You could probably get away with setting the cdnPath option to be ${cdn_url_path}. Don't see why that shouldn't work.

@hollandben
Please find the logs and verify the configuration.
Inside "web" folder contains all the JSPs, CSS in folders (project wise)
Got error message like this whilc running grunt task---
Static asset "web/${static_file_path}/common/css/commonHeader_SS_L_7.css" skipped because it wasn't found, original reference=$%7Bstatic_file_path%7D/common/css/commonHeader_SS_L_7.css
Confguration in Grunt JS:--
cacheBust: {
options: {
encoding: 'utf8',
algorithm: 'md5',
length: 16,
jsonOutput: true,
cdnPath: '${static_file_path}'
},
assets: {
files: [{
baseDir : 'web/',
src: ['web/**/.']
}]
}
}

@hollandben  Please help with this.

I've had deeper look into the code and the original suggestion unfortunately won't work. The other option I can see will be to use the replaceTerms option, but that will actually replace ${cdn_url_path} with the path that you give it - could read the config file where that's stored into your Gruntfile.

Appears the be the resolution as #161 - should work in 1.x.x


1.66.X poor performance in Xubuntu 20.04 VM

Issue Type: Bug
After installing version 1.66.1 (or 1.66.0) from the PPA, VSCode becomes totally unusable in my VirtualBox VM (my host is Windows 10).
Simple actions (opening the app, closing the app, opening a tab, closing a tab, switching tabs) take a very long time (at least 30 seconds).
To keep using it, I have no other choice than to downgrade to 1.65.2:
sudo apt install code=1.65.2-1646927742
and then freeze the version:
sudo apt-mark hold code
VS Code version: Code 1.66.1 (8dfae7a5cd50421d10cd99cb873990460525a898, 2022-04-06T14:51:26.173Z)
OS version: Linux x64 5.4.0-107-generic
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (1 x 2712)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: disabled_offoop_rasterization: disabled_offopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
0, 0, 0

Memory (System)
11.70GB (7.94GB free)

Process Argv
--unity-launch --crash-reporter-id ec7fe02f-12b1-474b-b2df-9466fbfb945c

Screen Reader
no

VM
100%

DESKTOP_SESSION
xubuntu

XDG_CURRENT_DESKTOP
XFCE

XDG_SESSION_DESKTOP
xubuntu

XDG_SESSION_TYPE
x11

Extensions: none

Please check if the issue is present with latest stable 1.73 and try running with --disable-gpu

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!


New passwords/logins after reboot

Until the server has calculated the "line" is it possible to register new accounts? Or does it need a bunch of correct logins first so it can do the necessary math, and only then register accounts?

Hi @asgh, thanks for contacting us!
If the server doesn't have information about the secret it can still create new accounts. The difference is that these accounts are created as regular salted hashes until the secret is available. Once the secret is available, the accounts salted hashes are updated into their encrypted form.
Let me know if this answers your question.

It does answer the question. (So you should add this info to the readme and then close this issue.)

You are right. I'll add this soon and close this issue once it is added.
Thanks for your feedback!


⚠ Bofrost.de has degraded performance

In b32f9a1, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1192 ms

Resolved: Bofrost.de performance has improved in 98d0ffd after 6 minutes.


Fixed startup failure for kanidm service.

This PR only affects the systemd service postStart script
Observed behavior: systemd service kanidm quits after 60 seconds.
One cause/symptom is that the kanidm process receives a SIGTERM+3 signal
exactly 60 seconds after starting. Which is odd because the
postStart is designed to quit after 30 seconds if the service
is not healthy. I wasn't sure what sent that signal, but I determined
that the service was in fact healthy, and the logic for checking
whether the kanidm process had started was failing.
Fixes:

curl was not using system-installed ca certs and failed TLS negotiation. Fix: add --cacert parm using tls_certs configuration setting. Also, isolated health_check into separate function for clarity.
the bash variable 'count' for checking time elapsed was not incrementing. ( count=$((count++)) reset the value to zero each iteration) Fix: allow count to increment
curl was checking the main service url http<s>://idm.example.com, but there's a recommended health check url that returns "true". Fix: append '/status' to the url and verify the output contains "true"
moved set -euo pipefail to after the curl checks because we expect curl might fail and handle that condition.

Tested:

tested on x86_64-linux
nixos-unstable (as of 2024-12-05)
kanidm 1.4.3
kanidm 1.4.4

Things done

Built on platform(s)

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

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

(not applicable)

[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage

[ ] Tested basic functionality of all binary files (usually in ./result/bin/)

[25.05 Release Notes]

(not applicable)

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

One thing I still don't understand is why the previous code
worked for others. Does everyone else use the --insecure flag
and/or an instance url with http (not https)?
If I run the curl check, without --cacert, from the command line,
on the same host as the kanidm service, during the first 30 seconds,
it receives the correct status. The certs are valid (from LetsEncrypt).
The flag is only needed when the health check runs under systemd.
I tried adding /etc/ssl to defaultserviceConfig.BindReadOnlyPaths,
but without the --cacert curl flag, it still fails.

I use a self signed cert on one install and a lets encrypt on another and have never experienced this problem. What cert are you using?
We can probably just drop all the count logic. systemd has a service timeout of its own.

... have never experienced this problem. What cert are you using?

@adamcstephens
It fails for me 100% of the time. I was about to give up on kanidm, thinking it was not mature enough, but figured it would take less time to dig in and diagnose this failure than it would to struggle with ldap. I appreciate your followup on this PR and I'm happy to help continue diagnosing this as kanidm looks like it has a lot of promise.
The cert is an x509-format cert created by certbot with LetsEncrypt
Here's the start of the output from  openssl s_client -connect foo.example.com:443
(replaced host with foo.example.com)
Connecting to <IP_ADDRESS>
CONNECTED(00000003)
depth=2 C=US, O=Internet Security Research Group, CN=ISRG Root X1
verify return:1
depth=1 C=US, O=Let's Encrypt, CN=E6
verify return:1
depth=0 CN=foo.example.com
verify return:1
---
Certificate chain
 0 s:CN=foo.example.com
   i:C=US, O=Let's Encrypt, CN=E6
   a:PKEY: id-ecPublicKey, 256 (bit); sigalg: ecdsa-with-SHA384
   v:NotBefore: Dec  3 23:36:06 2024 GMT; NotAfter: Mar  3 23:36:05 2025 GMT
 1 s:C=US, O=Let's Encrypt, CN=E6
   i:C=US, O=Internet Security Research Group, CN=ISRG Root X1
   a:PKEY: id-ecPublicKey, 384 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar 13 00:00:00 2024 GMT; NotAfter: Mar 12 23:59:59 2027 GMT
---

I have not added any certs to the host's trust store in /etc/ssl/certs, and haven't used security.pki.certificateFiles in the nixos configuration. The ISRG Root X1 signature is accepted, as confirmed by the openssl command.
Adding -vv to the curl command in the postStart script, a successful run (with --cacert) shows:
[0-0] * TLSv1.3 (IN), TLS handshake, Server hello (2):
[0-0] * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[0-0] * TLSv1.3 (IN), TLS handshake, Certificate (11):
[0-0] * TLSv1.3 (IN), TLS handshake, CERT verify (15):
[0-0] * TLSv1.3 (IN), TLS handshake, Finished (20):
[0-0] * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[0-0] * TLSv1.3 (OUT), TLS handshake, Finished (20):
[0-0] * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey

and the failure case (without this PR) shows:
[0-0] * TLSv1.3 (IN), TLS handshake, Server hello (2):
[0-0] * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[0-0] * TLSv1.3 (IN), TLS handshake, Certificate (11):
[0-0] * TLSv1.3 (OUT), TLS alert, unknown CA (560):
[0-0] * TLS connect error: error:80000002:system library::No such file or directory
[0-0] * [HTTPS-CONNECT] connect, all failed
[0-0] * [HTTPS-CONNECT] connect -> 35, done=0
[0-0] * closing connection #0

In case it's relevant, here's the curl version. Some of the search results on the error message suggested that this error may be dependent on the version of the OpenSSL library.
$ curl --version
curl 8.11.0 (x86_64-pc-linux-gnu) libcurl/8.11.0 OpenSSL/3.3.2 zlib/1.3.1 brotli/1.1.0 zstd/1.5.6 libidn2/2.3.7 libpsl/0.21.5 libssh2/1.11.1 nghttp2/1.64.0
Release-Date: 2024-11-06
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets zstd

We can probably just drop all the count logic. systemd has a service timeout of its own.

I agree we don't need a counter. If the kanidm server can take a while to start, we need some kind of availability check, though, because the post-start script imports the user/group provision data into the live server.

If you can create a nixos test that re-creates your failure that would be great ( a) for understanding why it fails and b) to make sure it doesn’t regress once fixed) :)

Ok, working on some experiments. Pleases don't close this yet.

For a reproducible test case, I'll have to create a systemd service, so it can't be a simple variation on the existing kanidm test. With my schedule and the holidays it may be a few weeks before I can get to it.


Remote values.yaml not working

Operating system
macOS Monterey 12.3.1
Helmfile Version
0.148.1, darwin arm64
Helm Version
3.10.1
Bug description
Remote values.yaml not working, and of course it does not work with a downloader plugin too. It should work because it works with helm --values (both remote and downloader plugin), and the helmfile doc says:
...
releases:
   ...
    # Values files used for rendering the chart
    values:
      # Value files passed via --values
      - vault.yaml
...

Example helmfile.yaml
releases:
  - name: temp
    chart: .
    namespace: default
    values:
      - "https://raw.githubusercontent.com/argoproj/argo-helm/main/charts/argo-cd/values.yaml"

Error message you've seen (if any)
in ./helmfile.yaml: [values file matching "https://raw.githubusercontent.com/argoproj/argo-helm/main/charts/argo-cd/values.yaml" does not exist in "."]

Steps to reproduce
Empty dir with the helmfile.yaml example, run helmfile template ..
Working Helmfile Version
NA
Relevant discussion
NA

By looking at the go tests, it looks like helmfile remote values.yaml work with a different syntax from helm. I put the syntax below for those looking for it, and I think that it would bring some clarity with an example in the doc and a sentence or two on the syntax difference.
I am still trying to make it working with a downloader plugin though, not sure yet that it works in that case.
releases:
  - name: temp
    chart: .
    namespace: default
    values:
      - "https://github.com/argoproj/argo-helm.git@charts/argo-cd/values.yaml?ref=argo-cd-5.13.8"

After checking your Go code, I can see that my use case is currently no handled by helmfile, this is not a bug.
Currently helmfile doesn't run the plugin at all, while it should run the downloaders[].command for the appropriate protocols in the plugin.yaml. For example, see in the helmfile repository itself (test/plugins/secrets/4.0.0/helm-secrets/plugin.yaml)[https://github.com/helmfile/helmfile/blob/main/test/plugins/secrets/4.0.0/helm-secrets/plugin.yaml].
It should be resolved in function func resolveFile of storage.go.
I don't have the time to implement it right now but I may do it later in the week or weekend.

By looking at the go tests, it looks like helmfile remote values.yaml work with a different syntax from helm. I put the syntax below for those looking for it, and I think that it would bring some clarity with an example in the doc and a sentence or two on the syntax difference. I am still trying to make it working with a downloader plugin though, not sure yet that it works in that case.
releases:
  - name: temp
    chart: .
    namespace: default
    values:
      - "https://github.com/argoproj/argo-helm.git@charts/argo-cd/values.yaml?ref=argo-cd-5.13.8"

@leotomas837 welcome to post a PR for the docs.

So I started to code something in my spare time in the aim of supporting helm plugins in field values of helmfile.yaml, (note that helm plugins are already supported by field set, but --set-file is overriding values and sometimes we don't want this behaviour). But I found a workaround:

In helmfile.yaml, by using the helmfile go template feature, fetch the right command (may depend on os) for the appropriate protocol of the appropriate plugin.yaml.
Use helmfile function exec to execute the command.

Therefore making field values supporting helm plugins does not seem a priority. Let me know your view but the issue can be closed if that is fine in your side.

@mumoshu WDYT?

Hello
But it worked before, also there's examples of such usage
https://github.com/helmfile/helmfile/blob/main/examples/remote/helmfile.yaml
What happened ?

@ievgenii-shepeliuk
If you look at the helmfile code, it is not using helmfile downloader plugins. Basically what it does is that it uses the github.com/hashicorp/go-getter package to get a remote file (see remote.go).
The example you gave works because git::https://github.com/bitnami/charts.git@bitnami/apache?ref=master is interpreted by the external go-getter package as a valid url to fetch. See line 125 here. But it is not related to helmfile plugin helm-git. Some URL syntaxes different from http or https are recognised by go-getter, this is the case of git and this is explain in the helm-git doc, see their GitHub page here.
If you check the helm-git plugin.yaml, you will see that git is not even a recognised protocol. helm-git recognises the following protocols only: git+file, git+ssh, git+https, git+http. See here.
An additional note is that helm plugins must be run via the right command (for your os) defined in plugin.yaml, and not trying to interpret the files as a URL and download in some way the file. This is because the plugin command can write some changes to the download file before rendering it, or even not downloading files at all but simply rendering a custom file. See the example of plugin helm-kubectl, which render a file based on the result of kubectl.

Well but what's difference if it helm-git / go-getter if it works.
go-getter supports fetching from plain https as well, so the problem of OP should be solved.
Am I missing anything ?

Yes you are missing the point: it works for git as go-getter recognises protocol git:https and git:http by luck.
But what about all the other helm plugins ?

Another example would be: what about if a helm-plugin is defined for protocols http and https themselves ? It would use go-getter and not the custom plugin.

Hello
I am not sure I am able to follow about those subjects like helm-git and helm plugins (???).
Helmfile has support for fetching remote values and this support works ( via go-getter ).
So, the issue that file from OP was not fetched can be same as mine - that I had to remove cache of helmfile.

@ievgenii-shepeliuk I just read the thread again and I understand why you are confused, I may need to change the title and my initial post, because the intermediate comments between and I and @yxxhero were removed. We indeed agreed that it works for remote files but no helm plugins, so then we were on the subject of helm plugins, and I understand now why you only mentioned remote files.

@ievgenii-shepeliuk I may need to change the title/initial post, as indeed as you can see in the comment I re-put below I found that it working with remote values. But not for helm plugins so then we were talking about this.

By looking at the go tests, it looks like helmfile remote values.yaml work with a different syntax from helm. I put the syntax below for those looking for it, and I think that it would bring some clarity with an example in the doc and a sentence or two on the syntax difference. I am still trying to make it working with a downloader plugin though, not sure yet that it works in that case.
releases:
  - name: temp
    chart: .
    namespace: default
    values:
      - "https://github.com/argoproj/argo-helm.git@charts/argo-cd/values.yaml?ref=argo-cd-5.13.8"

The custom format with @ separator is documented here: https://github.com/helmfile/helmfile/blob/main/docs/index.md#loading-remote-environment-values-files
The custom parsing is done here https://github.com/helmfile/helmfile/blob/main/pkg/remote/remote.go#L133-L164
I, myself, passed some time when first used remote FS to understand that helmfile uses a custom system of parsing before passing to go-getter.
PR is welcomed to harmonise with other helm tools :-) if you have a little of time