Generate Release Notes Build Task fails with a TLS 1.2 exposed TFS server

Azure DevOps Extension you are using
Generate Release Notes Build Task v3.0.8 for the package, Version : 2.23.1 for the build task
Where are you running it?

on-premise TFS 2018.3.2

Version of Extension/Task
*Generate Release Notes Version : 2.23.1
Expected behaviour and actual behaviour
Error message:
2019-05-02T09:50:58.6985428Z Task         : Generate Release Notes
2019-05-02T09:50:58.6985755Z Description  : Generates a release notes file in a format of your choice
2019-05-02T09:50:58.6986046Z Version      : 2.23.1
2019-05-02T09:50:58.6986318Z Author       : Black Marble
2019-05-02T09:50:58.6986669Z Help         : Version: 2.23.1. [More Information](https://github.com/rfennell/vNextBuild/wiki/GenerateReleaseNotes%20-Tasks/)
2019-05-02T09:50:58.6987082Z ==============================================================================
2019-05-02T09:50:58.7018645Z Preparing task execution handler.
2019-05-02T09:50:59.1494010Z Executing the powershell script: C:\Agt1\_work\_tasks\GenerateReleaseNotes_661bc005-61be-430f-b994-065bf08c0f39\2.23.1\GenerateReleaseNotes.ps1
2019-05-02T09:50:59.1496968Z **Build Number**  : $($build.buildnumber)
2019-05-02T09:50:59.1497326Z **Build created** : $("{0:dd/MM/yy HH:mm:ss}" -f [datetime]$build.startTime)
2019-05-02T09:50:59.1497570Z **Source Branch** : $($build.sourceBranch)
2019-05-02T09:50:59.1497799Z ###Associated work items
2019-05-02T09:50:59.1497988Z @@WILOOP@@
2019-05-02T09:50:59.1498275Z * **$($widetail.fields.'System.WorkItemType') $($widetail.id)** [Assigned by: $($widetail.fields.'System.AssignedTo')]     $($widetail.fields.'System.Title')
2019-05-02T09:50:59.1498535Z @@WILOOP@@
2019-05-02T09:50:59.1498744Z ###Associated change sets/commits
2019-05-02T09:50:59.1498937Z @@CSLOOP@@
2019-05-02T09:50:59.1499173Z * **ID $($csdetail.changesetid)$($csdetail.commitid)** $($csdetail.comment)
2019-05-02T09:50:59.1499386Z @@CSLOOP@@)
2019-05-02T09:50:59.7004251Z ##[error]System.Management.Automation.MethodInvocationException: Exception calling "DownloadString" with "1" argument(s): "The underlying connection was closed: An unexpected error occurred on a send." ---> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
2019-05-02T09:50:59.7005830Z    at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
2019-05-02T09:50:59.7006165Z    at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
2019-05-02T09:50:59.7006476Z    at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
2019-05-02T09:50:59.7006775Z    at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
2019-05-02T09:50:59.7007059Z    at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
2019-05-02T09:50:59.7007350Z    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
2019-05-02T09:50:59.7007709Z    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
2019-05-02T09:50:59.7008004Z    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
2019-05-02T09:50:59.7008284Z    at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
2019-05-02T09:50:59.7008520Z    at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
2019-05-02T09:50:59.7008768Z    at System.Net.ConnectStream.WriteHeaders(Boolean async)
2019-05-02T09:50:59.7008989Z    --- End of inner exception stack trace ---
2019-05-02T09:50:59.7009229Z    at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
2019-05-02T09:50:59.7009465Z    at System.Net.WebClient.DownloadString(Uri address)

Note:
I disabled TLS 1.0 and 1.1 on TFS last monday, and since, this task fails, it seems a  TLS .12 instruction is missing:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Steps to reproduce the problem

Expose a TFS Server on https with TLS 1.2 only
Run a build with the Generate Release Note v 2.23.1 task

Obviously you are not on the lastest build in the extension VSIX, but the only difference is the 3.x series is that it uses the PowerShell3 engine and Azure DevOps libraries, as opposed to basic PowerShell web calls. I guess this is worth a try, but I am not sure it will help.
If you are using the task in a release, it is also worth trying is the node based CrossPlatform version, though note there is a slight difference in templating, this has the aadvantage of using the same API calls is the TFS UI, as opposed to my own bespoke logic.
After that I am going to have to experiment as you suggested, but not sure when I will get a chance

hi @rfennell, the 3.x version of the tasks fails with even less log message.
I'm aware of the XPlat version, but some of my users like to generate their release notes in Build process. Wouldn't it be nice to have the XPlat version with the build visibility?

Update: forcing Strong Crypto for .NET solved the issue:
More info: https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

Happy you found a solution


Support for different config suffixes

Clear and concise description of the problem
My eslint config names .eslintrc. It'll report an error:
[nuxt] [request error] [unhandled] [500] Cannot find module '**/eslint.config.js'

Obviously, only configuration files with the suffix config.js are currently supported.
Suggested solution
Support for configuration files with different suffixes.
https://eslint.org/docs/latest/use/configure/configuration-files#configuration-file-formats
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Sorry no, this project is tend to, and would only work with the new flat config format: https://eslint.org/docs/latest/use/configure/configuration-files-new


argocd-applicationset-controller Pod loses ssh-known-hosts ConfigMap mount

Today we faced the second time on a different cluster than before the case that the argocd-applicationset-controller v0.1.0 Pod has lost its ConfigMap mount of the ssh-known-hosts.
Following is being logged by the Pod in such case:
time="2021-08-11T09:40:48Z" level=info msg="git fetch origin --tags --force" dir="/tmp/git@git.local:7999_opsrepos_myapplication" execID=98vW5
time="2021-08-11T09:40:48Z" level=error msg="`git fetch origin --tags --force` failed exit status 128: error: cannot fork() for ssh -i /dev/shm/169189448 -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/app/config/ssh/ssh_known_hosts: Resource temporarily unavailable\nfatal: unable to fork" execID=98vW5
time="2021-08-11T09:40:48Z" level=info msg=Trace args="[git fetch origin --tags --force]" dir="/tmp/git@git.local:7999_opsrepos_myapplication" operation_name="exec git" time_ms=2.6243960000000004
time="2021-08-11T09:40:48Z" level=error msg="error generating params" error="Error during fetching repo: `git fetch origin --tags --force` failed exit status 128: error: cannot fork() for ssh -i /dev/shm/169189448 -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/app/config/ssh/ssh_known_hosts: Resource temporarily unavailable\nfatal: unable to fork" generator="&{0xc0004dd820}"
2021-08-11T09:40:48.983Z        ERROR   controller-runtime.manager.controller.applicationset    Reconciler error        {"reconciler group": "argoproj.io", "reconciler kind": "ApplicationSet", "name": "myapplication", "namespace": "argocd", "error": "Error during fetching repo: `git fetch origin --tags --force` failed exit status 128: error: cannot fork() for ssh -i /dev/shm/169189448 -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/app/config/ssh/ssh_known_hosts: Resource temporarily unavailable\nfatal: unable to fork", "errorVerbose": "`git fetch origin --tags --force` failed exit status 128: error: cannot fork() for ssh -i /dev/shm/169189448 -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/app/config/ssh/ssh_known_hosts: Resource temporarily unavailable\nfatal: unable to fork\nError during fetching repo\ngithub.com/argoproj-labs/applicationset/pkg/services.checkoutRepo\n\t/workspace/pkg/services/repo_service.go:159\ngithub.com/argoproj-labs/applicationset/pkg/services.(*argoCDService).GetDirectories\n\t/workspace/pkg/services/repo_service.go:84\ngithub.com/argoproj-labs/applicationset/pkg/generators.(*GitGenerator).generateParamsForGitDirectories\n\t/workspace/pkg/generators/git.go:78\ngithub.com/argoproj-labs/applicationset/pkg/generators.(*GitGenerator).GenerateParams\n\t/workspace/pkg/generators/git.go:62\ngithub.com/argoproj-labs/applicationset/pkg/controllers.(*ApplicationSetReconciler).generateApplications\n\t/workspace/pkg/controllers/applicationset_controller.go:349\ngithub.com/argoproj-labs/applicationset/pkg/controllers.(*ApplicationSetReconciler).Reconcile\n\t/workspace/pkg/controllers/applicationset_controller.go:93\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:263\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:235\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:198\nk8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext.func1\n\t/go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:185\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1\n\t/go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:155\nk8s.io/apimachinery/pkg/util/wait.BackoffUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:156\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:133\nk8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext\n\t/go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:185\nk8s.io/apimachinery/pkg/util/wait.UntilWithContext\n\t/go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:99\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1371"}
github.com/go-logr/zapr.(*zapLogger).Error
        /go/pkg/mod/github.com/go-logr/zapr@v0.2.0/zapr.go:132
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:267
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:235
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1.1
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.7.0/pkg/internal/controller/controller.go:198
k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext.func1
        /go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:185
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1
        /go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:155
k8s.io/apimachinery/pkg/util/wait.BackoffUntil
        /go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:156
k8s.io/apimachinery/pkg/util/wait.JitterUntil
        /go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:133
k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext
        /go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:185
k8s.io/apimachinery/pkg/util/wait.UntilWithContext
        /go/pkg/mod/k8s.io/apimachinery@v0.19.2/pkg/util/wait/wait.go:99

No mass event of such type of defect seen for other applications. All other Pods of Argo CD on the same cluster do not have that issue at the same time, i.e. the argocd-repo-server has the same ConfigMap mounted runs just fine. Runs sind 15 days and has 18k log lines available by now.
$ oc logs argocd-repo-server-8548544d4f-nsc6p | grep -c "Resource temporarily unavailable"
0

OpenShhift cluster version:
Server Version: 4.6.29
Kubernetes Version: v1.19.0+d856161

Hi @jgwest, please let me answer your questions:

yes, SCCs are in place; the OpenShift default ones plus a few custom ones; none SCC specific for Argo CD or ApplicationSet

$ oc get pods argocd-applicationset-controller-6dc5c45f9b-cnlzx -o yaml | grep -A7 security
    securityContext:
      capabilities:
        drop:
        - KILL
        - MKNOD
        - SETGID
        - SETUID
      runAsUser:<PHONE_NUMBER>
--
  securityContext:
    fsGroup:<PHONE_NUMBER>
    seLinuxOptions:
      level: s0:c29,c24
  serviceAccount: argocd-applicationset-controller
  serviceAccountName: argocd-applicationset-controller
  terminationGracePeriodSeconds: 30
  tolerations:

on a worker node

sh-4.4# cat /proc/sys/kernel/pid_max
4194304
sh-4.4# grep -ni pid /etc/kubernetes/kubelet.conf
53:    "SupportPodPidsLimit": true

no PID limit as parameter of kubelet in the process list

accidentially I have seen an argocd-applicationset-controller Pod in Terminating state and a new one starting
Checking some clusters with a bit more activity I have found one where such an automated restart must have happened:

$ oc get pods
NAME                                                READY   STATUS    RESTARTS   AGE
argocd-application-controller-0                     1/1     Running   0          15d
argocd-applicationset-controller-745c57dcb4-5wg5x   1/1     Running   0          104s
argocd-dex-server-596f45b989-wsqdf                  1/1     Running   0          15d
argocd-redis-68dd9cbdb5-4n94c                       1/1     Running   0          13d
argocd-repo-server-5c77996f94-l5rgr                 1/1     Running   0          15d
argocd-server-7886dd956b-lq44z                      1/1     Running   0          15d

Now even on the same cluster some moments later:
$ oc get pods | grep controller
argocd-application-controller-0                     1/1     Running   0          15d
argocd-applicationset-controller-5648f488b4-2zjp8   1/1     Running   0          2m51s
argocd-applicationset-controller-666dd8bb58-lg986   1/1     Running   0          38s

The older one of the ApplicationSet Controllers then got terminated. Creation of a new Pod and terminating the previous one happens frequently on that cluster (to my surprise).

as well on the cluster with the frequent Pod recreations (<5min) and another active cluster I do not see many git processes; now and then a single git by observing
watch ps -ef
which quickly is gone

on the cluster where the first event of a non-functions applicationset-controller Pod occured some time ago the Pod still lives and operates
argocd-applicationset-controller-58cc5559b9-2b6nc   1/1     Running   0          26h
on the cluster where the applicationset-controller Pod barely lives for 5 minutes I spotted in the Pod log an error resulting from a dev team having produced an invalid kubernetes object name - would that cause frequent Pod recreations?

OK, everything there sounds correct, and it doesn't seem like anything you describe above would cause the issue.
Is it possible that some other container/OS process on the worker node is hogging all the processes? I'm not a Kubernetes/OpenShift admin so I don't know if there is an official way of checking this, beyond just SSHing into the underlying worker node and doing sudo ps -ef | wc -l to count the number of processes :thinking: .
Beyond this, I'm not sure what else to suggest. It's the operating system that is blocking the fork, and thus it's either OpenShift/Kubernetes, or the actual underlying Linux Kernel/OS that's returning that error, and it doesn't seem like the ApplicationSet controller is contributing to the issue (at least as far as you have described thus far).

Those values are exposed, but my understanding is they came from kubebuilder template, and haven't had a lot of love since then, so they aren't guaranteed to actually work as expected :smile: . For example: https://github.com/argoproj-labs/applicationset/issues/123
If you do have success using them, I'd be interested to hear.


Fix the invalid java version pattern

Current java version: 11.0.1
The current pattern matches 11.0.1

Let it roll.

Cherry picked to release100 as bd30bf252


[mgmt] migrate mgmt package to esm 5

https://github.com/Azure/azure-sdk-for-js/issues/32184
@azure/arm-chaos
@azure/arm-cognitiveservices
@azure/arm-commerce
@azure/arm-commerce-profile-2020-09-01-hybrid
@azure/arm-communication

API change check
API changes are not detected in this pull request.


Improve documentation around adding custom plugin definitions, which currently takes a user down a rabbit hole of having to learn Singer concepts

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2384
Originally created by @DouweM on 2020-10-08 22:50:20

We can make it easier to determine capabilities and how to fill in settings, and we explain how README docs around config.json and catalog.json map over to Meltano concepts.

View 4 previous comments from the original issue on GitLab

Dupe of https://github.com/meltano/meltano/issues/6107


ngModel not work in 1.0.0-beta.3

OS: Ubuntu 16.04 - X64
@angular/cli: 1.0.0-rc.0
node: 7.6.0
os: linux x64
@angular/common: 2.4.8
@angular/compiler: 2.4.8
@angular/core: 2.4.8
@angular/forms: 2.4.8
@angular/http: 2.4.8
@angular/platform-browser: 2.4.8
@angular/platform-browser-dynamic: 2.4.8
@angular/router: 3.4.8
@angular/upgrade: 2.4.8
@angular/cli: 1.0.0-rc.0
I update from 1.0.0-beta.2 (angular2-select) to 1.0.0-beta.3 (ng-select).
I use component like:
<ng-select
  name="cbxGroup"
  [options]="groupsList"
  [(ngModel)]="selectedGroupValue"
  (selected)="onGroupChanged($event.value)"
  class="fnt_imp"
></ng-select>

When I set value to 'selectedGroupValue', no selected in component.
I downgrade to 1.0.0-beta.2, All is work.

This example still works with ng-select version 1.0.0-beta.3. Can you show the behavior with a plunkr maybe?

The problem is that the ng-select is not initialized with the ngModel value.
As you show in your plunker, the property in ngModel is correctly updated when something is selected.
Here is a plunker : LINK

I had the same issue. My problem was that the options where fetched from the server and were not available at the time the model was bound. The solution was to set the options before the model value.
I have not dug deeper but it seems that ng-select resets the value when no matching option is present.
Hope this helps...

In the upcoming beta.6 it will be possible to set the value before setting the options. This should solve the issue.


Not able to record audio in Android 10

The following code works in Android 8:
var onSuccess = function (e) {
	console.log('onSuccess', e);
};
var onError = function (e) {
	console.log('onError', e);
};
my_media = new Media(cordova.file.externalDataDirectory + 'audio.mp3', onSuccess, onError);
my_media.startRecord();

However startRecord gives an error {code: 1} in Android 10.
What have I tried with same result:
my_media = new Media(cordova.file.cacheDirectory + 'audio.mp3', onSuccess, onError);
my_media.startRecord();

my_media = new Media(cordova.file.applicationStorageDirectory + 'audio.mp3', onSuccess, onError);
my_media.startRecord();

my_media = new Media(cordova.file.dataDirectory + 'audio.mp3', onSuccess, onError);
my_media.startRecord();

I also tried to create file before recording:
resolveLocalFileSystemURL(cordova.file.externalDataDirectory , function (entry) {
	entry.getFile('audio.mp3', {
		create: true,
		exclusive: false
	}, function (fileEntry) {
		console.log('getFile', fileEntry);
                my_media = new Media(cordova.file.externalDataDirectory + 'audio.mp3', onSuccess, onError);
                my_media.startRecord();
	}, function (err) {
		console.log(err);
	});
	}, function (err) {
	console.log(err);
});

The file is created but recording does not start.
Please tell if I am doing something wrong or if this plugin is not working with Android 10+ so I will not waste my days trying to make it work.
P.S. similar issues suggests requestLegacyExternalStorage flag but it is not solving problem anymore because Play Market now requires apps to use API level 30.

Sorry, posted in wrong repository.
Moved my question to https://github.com/apache/cordova-plugin-media/issues/322

@July- did you able to solve it facing the same issue for android 10 and 11

@ibrahimahmed No, waiting for the plugin to update


[WIP] Add MultiWatcher for watching multiple sources

Summary
Add in a new MultiWatcher watcher type which can create multiple "child" watchers and then resolve their entries.
PRs

[x] #310
[ ] #311
[x] #312
~[ ] #313~
[x] #314
[x] #315

Todo

[ ] reducer method for ping? and backends
[ ] configuration for reducer method
[ ] documentation

Tests

[ ] unit tests
[ ] creating multiple Zookeeper watchers
[ ] resolution between multiple Zookeeper watchers

Reviewers
TODO:
@austin-zhu @lcharignon @bsherrod

Fleshing out the idea a bit more: the reduce function will accept the children watchers and decide how to get the backends from them.
For example, to always choose the primary ones:
def reduce(watchers)
    return watchers['primary'].backends
end

We may also want to implement ping? to do something similar: have a way to reduce the different ping? results into one.
I'm not sure what the configuration for this would look like: perhaps we can have multiple Reducer classes (similar to the multiple Watcher classes) which each implement the API. That would the cleanest, in my opinion.

Tracked under #311


Release v2.0.0 has no rotated bounding boxes

commit e33db5c2c2

@wangzyon , your statement is wrong. I will close the issue as invalid. Feel free to provide more details.


[DOC] fix odd author formatting on pypi

Fixes #151, by removing email information from all authors.
The information is still there in the maintainers entries, and the formatting issue is resolved.

Codecov Report

Merging #157 (553268b) into main (78000b2) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #157   +/-   ##
=======================================
  Coverage   82.92%   82.92%
=======================================
  Files          39       39
  Lines        2799     2799
=======================================
  Hits         2321     2321
  Misses        478      478

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


Cannot destructure property 'title' of 'e' as it is undefined.

TypeError: Cannot destructure property 'title' of 'e' as it is undefined.
    at ae (https://malmur-halmex.tlon.network/apps/talk/assets/grid.4818f5f1.js:1:1610)
    at Ko (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:19:52865)
    at ea (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:23:8695)
    at Js (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:23:935)
    at Qf (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:23:866)
    at sn (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:23:725)
    at mo (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:21:10863)
    at https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:19:38697
    at e.unstable_runWithPriority (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:8:3835)
    at st (https://malmur-halmex.tlon.network/apps/talk/assets/react-beautiful-dnd.a94a7f90.js:19:38475)

Hi, what were you trying to do when you saw this error and which browser were you using?

This is in leap, I just ran into it.


First pass at a source foundations stylesheet

What are you changing?
Adds first pass at design tokens for Source with custom transforms for Style Dictionary to generate a base stylesheet.

Closing as the hackday stylesheet was only intended to be temporary and as of #976 we have moved from Style Dictionary to Cobalt and DTFM tokens.


Wikipedia tools should return text, not documents (Tools aren't DataLoaders!)

Description
IMO, a tool should work differently from a Data Loader. A tool should return the content, and just the content, if possible.
It should not expose to the LLM the fact that it is a Python program. The original implementation gives off the lower-level details to the LLM by emitting characters like these in the Observation:
[Document(id_='ea46abda-4165-4ba1-8cc6-36b0e681c0c5', embedding=None, metadata={}, excluded_embed_metadata_keys=[], excluded_llm_metadata_keys=[], relationships={}, hash='735a0b01227b2ff21ece7f97445fbb9816668aee7922123966d16e057b0a1268', text='

This PR thrives to fix that. Here's a demo:
Before:
    {
      "role": "user",
      "content": "Look up cheesecakes on Wikipedia."
    },
    {
      "role": "assistant",
      "content": "Thought: I need to use a tool to help me find information about cheesecakes.\nAction: load_data\nAction Input: {'pages': ['Cheesecake']}"
    },
    {
      "role": "user",
      "content": "Observation: [Document(id_='ea46abda-4165-4ba1-8cc6-36b0e681c0c5', embedding=None, metadata={}, excluded_embed_metadata_keys=[], excluded_llm_metadata_keys=[], relationships={}, hash='735a0b01227b2ff21ece7f97445fbb9816668aee7922123966d16e057b0a1268', text='Cheesecake is a dessert made with a soft fresh cheese

After:
    {
      "role": "user",
      "content": "Summarize Wikipedia page on Wellerism."
    },
    {
      "role": "assistant",
      "content": "Thought: I need to use a tool to help me answer the question.\nAction: load_data\nAction Input: {'page': 'Wellerism', 'lang': 'en'}"
    },
    {
      "role": "user",
      "content": "Observation: Wellerisms, named after sayings of Sam Weller in Charles Dickens's novel

I also don't think it's wise to load multiple pages with this tool, because each Wikipedia page alone is prone to exceed the context window of the LLM. Plus, the document separators would be too tiny for the LLM to notice. Most importantly, the multi-page support just doesn't match the README!
Type of Change
Please delete options that are not relevant.

[ ] New Loader/Tool
[x] Bug fix / Smaller change
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[x] I stared at the code and made sure it makes sense

Suggested Checklist:

[ ] I have added a library.json file if a new loader/tool was added
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

Fair arguments @tslmy. I can get behind this.
Can you fix so that it passes lint checks?

Done. Thanks for the review, @nerdai  :D

looks like format check not passing still. Did you run make format and make lint?

@nerdai , not yet, sorry. I was at work and no access to my personal dev machine. Doing it now.


[$250] [TS migration] Migrate VideoPlayerControls and VideoPopoverMenu component files to TypeScript

TypeScript migration
Make sure you read through our TypeScript's style guide, cheatsheet and PropTypes conversion table before you start working on this migration issue.
Files related to the VideoPlayerControls and VideoPopoverMenu components

src/components/VideoPlayer/VideoPlayerControls/index.js
src/components/VideoPlayer/VideoPlayerControls/ProgressBar/index.js
src/components/VideoPlayer/VideoPlayerControls/VolumeButton/index.js
src/components/VideoPopoverMenu/index.js

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013b85f928413973c4
Upwork Job ID:<PHONE_NUMBER>458262016
Last Price Increase: 2024-02-16
Automatic offers:

situchan | Reviewer | 0

Can work on this

Dibs

Could I work on this migration?

Proposal
Please re-state the problem that we are trying to solve in this issue.
Change files to typescript instead of javascript, and add type safety.
What is the root cause of that problem?
Files were written in javascript, need to change to typescript.
What changes do you think we should make in order to solve the problem?
Change files to [.ts] and interfaces and types for all necessary variables, functions, and parameters.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01af68b88d54bcd60a

I am Koustubh, a full stack developer. I’d like to work on this job.

Hello! I'm Kamil Owczarz from Software Mansion, the expert agency and I would like to work on this issue.

@hayata-suenaga please assign @kowczarz

Hey, I'm leaving the Expensify-SWM team for now and @smelaa will handle this task.

Hello! I'm Aleksandra Smela from Software Mansion, the expert agency and I would like to work on this issue.

we don't have to hire smelaa. They're from SWM.

we don't have to hire smelaa. They're from SWM.

Hi! I would like to work on this, if this issue is not handled by someone already. Thanks!

Also, could someone guide me on how to interact with the contributors community? In the Contributing.md doc, it's mentioned that I have to send a mail to<EMAIL_ADDRESS>with Slack Channel Invites as the subject. I have done so multiple times, but have received no response.
It would be great if someone could help me out.
Thanks!

@daksh4469 thank you for your interests in contributing to the Expensify community!
I'll check your email. Meanwhile, please don't post proposals to the issue until you're approved to join the community 🙇
Also, there are certain formats and rules when posting proposals. Please review the contributor guidelines 🙇

@hayata-suenaga Got it! Thanks a lot 😄

@daksh4469 I checked the email. I see you first emailed us last Friday. Please understand that internal employees take weekends. We kindly ask your patience while a person responsible for approving invite requests handle your case 🙇

Yeah, sincere apologies...

Hi! I'm now approved in the community. I'd like to work on this issue.
Can I post a proposal for this now?🙇🏻♂ @hayata-suenaga

for this particular issue, it's already taken. Please review the contribution guideline and find other open issues 🙇

PR is in draft

PR isin draft

Same ^

The PR has been merged. Please handle payment for @situchan for C+ review work

Payouts due:

[ ] Contributor+: $250 @situchan (NewDot)

@adelekennedy I am still using upwork


[performance] Reduce the number of single byte writes to Direct ByteBufs

From the flamegraph it is clear that the Kafka encoder calls too many times writeByte(byte) on DirectBufferOutputStream.
This happens because we pass a DirectByteBuffer for the "value"
This is the code of Utils.writeTo()
public static void writeTo(DataOutput out, ByteBuffer buffer, int length) throws IOException {
        if (buffer.hasArray()) {
            out.write(buffer.array(), buffer.position() + buffer.arrayOffset(), length);
        } else {
            int pos = buffer.position();
            for (int i = pos; i < length + pos; i++)
                out.writeByte(buffer.get(i));
        }
    }

Modification:

introduce a simple buffer in order to group the writes to direct memory

superseded by #52


[QBD] [Export] Preferred exporter page

Details
[QBD] [Export] Preferred exporter page
Fixed Issues

$ https://github.com/Expensify/App/issues/49708
PROPOSAL:
Tests

Prerequisites:

Turn on Beta quickbooksDesktopOnNewDot on your account
Connect your workspace to QBD in OldDot. (Help doc)
Set multiple admins for the current workspace

Sign in on an account above
Go to any Workspace -> Accounting
Click on "Export" menu under QuickBooks Desktop connection
Click on Preferred exporter
Verify that there is a list of admins on the screen and after selecting one of them, it becomes the current exporter

[x] Verify that no errors appear in the JS console

Offline tests

Prerequisites:

Turn on Beta quickbooksDesktopOnNewDot on your account
Connect your workspace to QBD in OldDot. (Help doc)
Set multiple admins for the current workspace

Sign in on an account above
Go to any Workspace -> Accounting
Click on "Export" menu under QuickBooks Desktop connection
Click on Preferred exporter
Verify that there is a list of admins on the screen and after selecting one of them, it becomes the current exporter

QA Steps

Prerequisites:

Turn on Beta quickbooksDesktopOnNewDot on your account
Connect your workspace to QBD in OldDot. (Help doc)
Set multiple admins for the current workspace

Sign in on an account above
Go to any Workspace -> Accounting
Click on "Export" menu under QuickBooks Desktop connection
Click on Preferred exporter
Verify that there is a list of admins on the screen and after selecting one of them, it becomes the current exporter

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/025335a9-2de9-4eb8-9e26-6b02856406b1

Android: mWeb Chrome
https://github.com/user-attachments/assets/370a19ab-a089-45f6-9af8-86941c37fde0

iOS: Native
https://github.com/user-attachments/assets/44121705-b480-4a26-a0f5-50854715a966

iOS: mWeb Safari
https://github.com/user-attachments/assets/84e287ae-e465-4d89-9301-e26cca947930

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/343ea41a-25d1-4b93-910a-a8263b40d460

MacOS: Desktop
https://github.com/user-attachments/assets/1acfa3ee-6269-4cb6-8e4f-61d4f081c239

@ZhenjaHorbach https://github.com/Expensify/App/pull/50234 has been merged

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

Team is struggling to connect here
Guided by https://help.expensify.com/articles/expensify-classic/connections/quickbooks-desktop/Connect-To-QuickBooks-Desktop, we downloaded WebConnector and QBO Desktop on the machine. Now we have to activate QBO Desktop.


Idea: Use Processing Library to create our GUI

Hey @XBHSCS15/graphical-user-interface Team
As you're planning your GUI designs, consider looking at a great little library called Processing that I've used in the past. Processing is very beginner friendly, and has a pretty simple structure that makes it easy to get started. Take a look at this "Getting Started" tutorial to get a feel for it.

Also, when you're looking at the Processing website, you'll notice that they like to suggest that you use their own IDE. While I think they're IDE is very simple (maybe too simple) and easy to use, it might not be the best for everyone. If you're interested in hooking up the library to your IDE, see this tutorial (which is about Eclipse, but the instructions for NetBeans are pretty similar).


Open recent does not consider editors opened with the file explorer

Testing #127172

verify the list of recently opened grows in file picker with the most recently opened editors appearing to the top

When opening and closing an editor in VS Codes file explorer sidebar, the file does not appear in File -> Open Recent.

However, it does so if I use the file picker.
I'm not sure those files should appear there, but the verification steps don't specify that.

This works in the quick open view.


redux push action doesn't work the first time. Reducer updated, match.params is not.

Version
"react-router-dom": "^4.2.2",
"react-router-redux": "^5.0.0-alpha.6",

Steps to reproduce

Setup some routes, with React Router Link and push action to navigate.
Notice the links work as expected
Altough the route changes in the url bar, the push action doesn't work the first time. It needs to be triggered twice.

Expected Behavior
Both the React router link and the push action should produce the same result.
Actual Behavior

The content of match.params doesn't match the location from the router reducer
The action needs to be triggered twice in order to really switch the route

First log is on load
Second log is when using the push action
Third log is when clicking on a

See this guide: https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/redux.md

I have seen it. Thank you.
The log I show is from my main component in which I'm interested to render. So the rendering is triggered, but match doesn't contain the updated route.

After wrapping that component with withRouter, my render is called twice, instead of once when clicking on a Link.
Twice, first one with the wrong match. Then with the right match.

Even if I wrap this component with withRouter, which is not needed since I know the render function si called. It still doesn't work.

the withRouter was missing on another parent component. So problem fixed I guess...


New azure driver prints out "Creating subnet..." when specifying an existing subnet.

I am using the 0.7.0-rc1 to create machines in azure. When an existing network is passed as an option, the command prints out "Virtual network already exists.".. For the subnet, it always prints a message "Creating subnet..." regardless of the existence of the subnet. For consistency it would be better to print a similar message when the subnet exists: "Subnet already exists".

cc @ahmetalpbalkan

@tmds that's because we check existence of virtual network but we do a CreateOrUpdate operation for subnet without checking its existence, so the message is accurate. This is to reduce number of HTTP requests we make. Also CreateOrUpdate call to subnet can extend the specified CIDR range, but we can't update virtual network, so it’s by design.
Does this impact the desired behavior? I  assume it works just fine?

Yes, it works fine. It is just a a bit confusing.
What I expected the command to do: create a subnet if it did not exist. In case it existed and a subnet range is specified, check whether they are the same. If they aren't, give an error message and stop.
I can't tell whether these expectations make sense to most of the users and I don't know if they are consistent with the behavior of other drivers.
Since the command takes a while to execute, you don't want to run it multiple time to figure out the arguments.

@tmds If the subnet exists, we still issue a HTTP request but as long as the range is the same, API doesn't do anything about it, if not, it gives an error just as you said. And if the subnet does not exist, the same request is used in creating the subnet. The Azure APIs don't have plain "Create", we have "CreateOrUpdate" mostly.
I think the stuff that could fail pretty much executes within the first 10-20 secs so it should be reasonable. Also, I think the upsert logic we have is pretty much alright. If you run into issues please let me know.

As a suggestion: maybe the text can change to "Configuring subnet".
For my information, do you have a reference that describes the behavior you've explained?
Thanks!

@tmds calling it "Configuring" is certainly a good idea, I'll submit a PR.


feat(CategoryTheory): add some API for countable products and countable filtered colimits

This is used in #18497 to prove that light condensed modules satisfy countable AB4*

Thanks!
bors d+
(juste in case, please merge again with master and check it still passes CI)

bors merge


in get_pubkey_hash_account_for_slot use take_account earlier

Problem
Trying to remove mmap on append vecs to relieve memory pressure.
Summary of Changes
call take_account earlier so that LoadedAccount doesn't have to impl ReadableAccount so that data doesn't always have to be available as &[u8]
Fixes #

Codecov Report
Attention: Patch coverage is 0% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 81.9%. Comparing base (c0be86d) to head (de3f8c1).
Report is 10 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #688     +/-   ##
=========================================
- Coverage    81.9%    81.9%   -0.1%
=========================================
  Files         851      851
  Lines      230475   230498     +23
=========================================
+ Hits       188785   188790      +5
- Misses      41690    41708     +18


ImportError: cannot import name 'randn_tensor' from 'diffusers.utils'

Runtime error
tches).load()
File "/app/env/lib/python3.9/importlib/metadata.py", line 86, in load
module = import_module(match.group('module'))
File "/app/env/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/app/src/autotrain/cli/autotrain.py", line 8, in
from .run_llm import RunAutoTrainLLMCommand
File "/app/src/autotrain/cli/run_llm.py", line 11, in
from autotrain.trainers.clm.main import train as train_llm
File "/app/src/autotrain/trainers/clm/main.py", line 23, in
from trl import SFTTrainer
File "/app/env/lib/python3.9/site-packages/trl/init.py", line 7, in
from .extras import BestOfNSampler
File "/app/env/lib/python3.9/site-packages/trl/extras/init.py", line 16, in
from .best_of_n_sampler import BestOfNSampler
File "/app/env/lib/python3.9/site-packages/trl/extras/best_of_n_sampler.py", line 7, in
from ..models import SUPPORTED_ARCHITECTURES, PreTrainedModelWrapper
File "/app/env/lib/python3.9/site-packages/trl/models/init.py", line 29, in
from .modeling_sd_base import (
File "/app/env/lib/python3.9/site-packages/trl/models/modeling_sd_base.py", line 27, in
from diffusers.utils import randn_tensor
ImportError: cannot import name 'randn_tensor' from 'diffusers.utils' (/app/env/lib/python3.9/site-packages/diffusers/utils/init.py)
ERROR conda.cli.main_run:execute(47): conda run /bin/bash -c autotrain setup && autotrain app --port 7860 failed. (See above for error)

i'm getting the same error started after the last commit by @abhishekkrthakur
https://github.com/huggingface/autotrain-advanced/pull/222

which command causes this error?

which command causes this error?

!autotrain dreambooth
--model ${MODEL_NAME}
--project-name ${PROJECT_NAME}
--image-path images/
--prompt "${PROMPT}"
--resolution ${RESOLUTION}
--batch-size ${BATCH_SIZE}
--num-steps ${NUM_STEPS}
--gradient-accumulation ${GRADIENT_ACCUMULATION}
--lr ${LEARNING_RATE}
$( [[ "$USE_FP16" == "True" ]] && echo "--fp16" )
$( [[ "$USE_XFORMERS" == "True" ]] && echo "--xformers" )
$( [[ "$TRAIN_TEXT_ENCODER" == "True" ]] && echo "--train-text-encoder" )
$( [[ "$USE_8BIT_ADAM" == "True" ]] && echo "--use-8bit-adam" )
$( [[ "$GRADIENT_CHECKPOINTING" == "True" ]] && echo "--gradient-checkpointing" )
$( [[ "$PUSH_TO_HUB" == "True" ]] && echo "--push-to-hub --token ${HF_TOKEN} --repo-id ${REPO_ID}" )

ok it looks like it's working again now so far thank you!

Hi there. The same issue seems to be happening again:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
google-colab 1.0.0 requires pandas==1.5.3, but you have pandas 2.0.3 which is incompatible.
tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 4.23.4 which is incompatible.
Traceback (most recent call last):
File "/usr/local/bin/autotrain", line 5, in
from autotrain.cli.autotrain import main
File "/usr/local/lib/python3.10/dist-packages/autotrain/cli/autotrain.py", line 8, in
from .run_llm import RunAutoTrainLLMCommand
File "/usr/local/lib/python3.10/dist-packages/autotrain/cli/run_llm.py", line 11, in
from autotrain.trainers.clm.main import train as train_llm
File "/usr/local/lib/python3.10/dist-packages/autotrain/trainers/clm/main.py", line 23, in
from trl import SFTTrainer
File "/usr/local/lib/python3.10/dist-packages/trl/init.py", line 7, in
from .extras import BestOfNSampler
File "/usr/local/lib/python3.10/dist-packages/trl/extras/init.py", line 16, in
from .best_of_n_sampler import BestOfNSampler
File "/usr/local/lib/python3.10/dist-packages/trl/extras/best_of_n_sampler.py", line 7, in
from ..models import SUPPORTED_ARCHITECTURES, PreTrainedModelWrapper
File "/usr/local/lib/python3.10/dist-packages/trl/models/init.py", line 29, in
from .modeling_sd_base import (
File "/usr/local/lib/python3.10/dist-packages/trl/models/modeling_sd_base.py", line 27, in
from diffusers.utils import randn_tensor
ImportError: cannot import name 'randn_tensor' from 'diffusers.utils' (/usr/local/lib/python3.10/dist-packages/diffusers/utils/init.py)

@upperhouse New version of https://github.com/huggingface/diffusers/releases was released three hours ago. Try to dowangrade the version of the library, for me it's helped.
First, check which version of diffusers you have right now:
pip show diffusers
If it's 0.21.0, remove it and install the previous release
pip uninstall diffusers
pip install diffusers==0.20.2

Same issue again, what should I do?
Traceback (most recent call last):
File "/usr/local/bin/autotrain", line 5, in
from autotrain.cli.autotrain import main
File "/usr/local/lib/python3.10/dist-packages/autotrain/cli/autotrain.py", line 8, in
from .run_llm import RunAutoTrainLLMCommand
File "/usr/local/lib/python3.10/dist-packages/autotrain/cli/run_llm.py", line 11, in
from autotrain.trainers.clm.main import train as train_llm
File "/usr/local/lib/python3.10/dist-packages/autotrain/trainers/clm/main.py", line 23, in
from trl import SFTTrainer
File "/usr/local/lib/python3.10/dist-packages/trl/init.py", line 7, in
from .extras import BestOfNSampler
File "/usr/local/lib/python3.10/dist-packages/trl/extras/init.py", line 16, in
from .best_of_n_sampler import BestOfNSampler
File "/usr/local/lib/python3.10/dist-packages/trl/extras/best_of_n_sampler.py", line 7, in
from ..models import SUPPORTED_ARCHITECTURES, PreTrainedModelWrapper
File "/usr/local/lib/python3.10/dist-packages/trl/models/init.py", line 29, in
from .modeling_sd_base import (
File "/usr/local/lib/python3.10/dist-packages/trl/models/modeling_sd_base.py", line 27, in
from diffusers.utils import randn_tensor
ImportError: cannot import name 'randn_tensor' from 'diffusers.utils' (/usr/local/lib/python3.10/dist-packages/diffusers/utils/init.py)

please run autotrain setup or update trl to main branch manually

Still faced this issue while finetuning using autotrain fixed it by changing dockerfile of training model huggingface space created by autotrain to:
FROM huggingface/autotrain-advanced:latest
RUN pip uninstall -y diffusers
RUN pip install diffusers==0.20.2
CMD autotrain api --port 7860 --host <IP_ADDRESS>


Add way to get resource / building list

Feedback from new player info: having resource / building lists in text format helped when pasting into the "Notes" tab when making plans.
Add some way to display text. A button maybe? Above player names? Or in settings?
Also what about adding an option tab in the notes / move log, where this option as well as the planet fill can be changed?

Actually I think maybe just removing the building drawwings and adding a square with the text info of resources + buildings + the income there instead should be good. The rest (planet types, power area, VP count, range, ...) is clear enough.


Narcissistic numbers printer implementation

This is the solution for the assignment - Narcissistic numbers.

Solution to printing narcissistic numbers for the range given from the input.
Added unit test cases to test the narcissistic checker and printer.

I agree to rename my test file to narcissisticNumber.test.js but why shall I not keep my main logic (the function which I am responding to out of the folder) in index.ts? Why to make an extra file with keeping only export & import in the index file? Any reason behind this?
I agree if there are multiple functions need to be exported from a single folder where we keep each function in a different file and we need an index file to group them and export together. Shall we still do it if I am exporting one function for my folder?
By keeping the logic in index.ts at the scenario of one function to export, When I am navigating (Ctrl + p), I can directly land to my logic by typing folder name. Thoughts?

why shall I not keep my main logic (the function which I am responding to out of the folder) in index.ts? Why to make an extra file with keeping only export & import in the index file? Any reason behind this?

Yes. This is a best practice. The idea is that outsiders, developers who use our package, should not meddle with its internal structure, search for files inside our package folder. We export only what’s necessary in auth/index.js and keep the rest hidden from prying eyes.

Shall we still do it if I am exporting one function for my folder?

You should be mindful about best practices even when you think your code is very little. It's about getiing into the habit

I think if there is more than one context and more than one  function of every context then we should maintain files of functions and maintain index file to import/export all the function .
In case Narcissistic problem .
best directory structure should be :
NarcissisticProblem/
test/
index.test.ts
index.ts

Yes. It is good to move the tests to a different folder as it separates the test code from parent logic. But for the test file in __tests__ folder, we don't the require the name as index.test.js since we are not importing it anywhere and the tests are auto picked. Also it will be bit difficult to navigate to it from search/Ctrl+P by typing filename. So I advice to still keep the test file name as narcissistic.test.js.

@nirajunify mentioned there shall be index.ts in every folder whose job shall be just to do grouping of functions from other files in the folder. Any thoughts? @zulqer-nain


Service name is too arbitrary

Use the EKS console to add the plug-in and the following configuration:
{
  "collector": {
    "serviceAccount": {
      "annotations": {},
      "create": true,
      "name": "adot-collector"
    },
    "mode": "deployment",
    "replicas": 1,
    "resources": {
      "limits": {
        "cpu": "256m",
        "memory": "512Mi"
      },
      "requests": {
        "cpu": "64m",
        "memory": "128Mi"
      }
    },
    "amp": {
      "enabled": true,
      "remoteWriteEndpoint": "xxx"
    },
    "cloudwatch": {
      "enabled": true
    },
    "xray": {
      "enabled": true
    }
  }
}

Generated service name:

It would be more appropriate to change the name to:

opentelemetry-collector
opentelemetry-collector-headless
opentelemetry-monitoring

We have an upcoming release that will address this. I cannot give an exact ETA but I will update this issue with more specifics when I have them.

We have changed the service account name in the new release of the EKS Add-on v0.88.0.  The service name can now be configured for each preconfigured custom resource which you can read about in the new advanced configuration.  The instructions for how to setup the service account and the name for the service account depends on the preconfigured custom resource.

Closing this ticket if there are no further questions regarding this issue.  Please feel free to re-open if any arise.


[DRAFT] ENSIP Verifiable Credentials & Presentations

Maybe add the fact that some names use JSON-stringified array instead of other types under backwards compatibility


url encoded doesn't compile with newest dependencies

% rustc --version
rustc 1.0.0-nightly (f1398d273 2015-01-31 20:21:02 +0000)

snippet of Cargo.lock:
...

[[package]]
name = "urlencoded"
version = "0.1.0"
source = "git+https://github.com/iron/urlencoded.git#5df1e4a90ccf2dd469661610ab27ab0bd3979262"
dependencies = [
 "iron 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "plugin 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "typemap 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "url 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
]

/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:20:43: 20:51 error: unresolved import `std::collections::hash_map::Occupied`. There is no `Occupied` in `std::collections::hash_map`
/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:20 use std::collections::hash_map::{HashMap, Occupied, Vacant};
                                                                                ^~~~~~~~
/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:20:53: 20:59 error: unresolved import `std::collections::hash_map::Vacant`. There is no `Vacant` in `std::collections::hash_map`
/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:20 use std::collections::hash_map::{HashMap, Occupied, Vacant};
                                                                                ^~~~~~
/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:23:14: 23:23 error: unresolved import `plugin::PluginFor`. There is no `PluginFor` in `plugin`
/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:23 use plugin::{PluginFor, Phantom};
                                                                                ^~~~~~~~~
/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:24:5: 24:19 error: unresolved import `typemap::Assoc`. There is no `Assoc` in `typemap`
/Users/andrew/.cargo/git/checkouts/urlencoded-e7ea91c8b879fcb4/master/src/lib.rs:24 use typemap::Assoc;
                                                                                ^~~~~~~~~~~~~~
error: aborting due to 4 previous errors
Could not compile `urlencoded`.

Fixed in master!


Go CLI distribution

Related to new Go-CLI  https://github.com/openwhisk/openwhisk/pull/238
The design for python CLI is to be available in https://$apihost/cli/download
A user will install using $ sudo pip install --upgrade https://new-console.ng.bluemix.net/openwhisk/cli/download
For Go-CLI we should have a good deprecation period and have both available, making transition smooth.
Have the go cli binaries available at https://$apihost/cli/go/download
The go/download directory will have the build out per platform and cpu architecture
linux\...
mac\...
windows\...

Nginx should be configure to list directory content
location cli/go/download {
               autoindex on;
        }

This allow user to navigate to find the download he wants.
Also something like a website bluemix can have direct links:
Some examples of direct url downloads
https://$apihost/cli/go/download/mac/amd64/wsk
https://$apihost/cli/go/download/windows/amd64/wsk
https://$apihost/cli/go/download/linux/386/wsk
https://$apihost/cli/go/download/linux/amd64/wsk
All the builds being generated today:
.
├── linux
│   ├── 386
│   │   └── wsk
│   ├── amd64
│   │   └── wsk
│   ├── arm
│   │   └── wsk
│   ├── arm64
│   │   └── wsk
│   ├── mips64
│   │   └── wsk
│   ├── mips64le
│   │   └── wsk
│   ├── ppc64
│   │   └── wsk
│   └── ppc64le
│       └── wsk
├── mac
│   ├── 386
│   │   └── wsk
│   ├── amd64
│   │   └── wsk
│   ├── arm
│   │   └── wsk
│   └── arm64
│       └── wsk
└── windows
    ├── 386
    │   └── wsk.exe
    └── amd64
        └── wsk.exe

@nauerz-ibm previously mentioned that the wsk CLI should have parity with the Bluemix CLI's architecture/CPU support.  The Bluemix CLI download page http://clis.ng.bluemix.net/ui/home.html lists the following platform/architectures:

Mac OS X
Linux 64-bit (need to confirm CPU)
Windows 64-bit

Bluemix provides an installer for the Mac and Windows and a tgz for Linux.  Currently the OpenWhisk CLI is pretty simple, so perhaps just downloading the binary is sufficient.

HI @mdeuser Also checkout the Cloud Foundry CLI release page, the offer both Installers and Binaries
I think we can start by offering binaries. but if you take a look closely the binaries are tgz for Linux and Mac, and zip for Windows.
If there is savings in download payload by compressing I would suggest we also do the same and offer a compressed payload to help speed the downloads.

I'll update the build to create a wsk.exe.zip for each Windows binary, a wks.zip (if that's the Mac custom) for each Mac wsk binary, and a wsk.tar.gz for each Linux wsk binary.  These files will be in addition to the uncompressed files and will be located in the same build output folder as each uncompressed counterpart.

tar.gz will work for mac also.

ok.  mac binaries will be compress to .tar.gz

Vincent @houshengbo - You will probably want to use the compressed Go binary files as the downloadable binaries.

For comments.  Both CF and Bluemix name their CLI binary downloads with additional identification labeling.  Such as Bluemix_CLI_0.3.3_amd64, cf-cli_6.19.0_winx64.zip, cf-cli_6.19.0_linux_i686.tgz
Probably something for us to consider.  We can handle the platform/architecture bits right now (if agreed), but will need some OpenWhisk wide version value (may be there and I just don't know about it) to add the version number.
/cc @csantanapr @houshengbo

I think it will be good to have granular download os+arch
About the CLI version, today the CLI has a version and it's the build id timestamp
whisk CLI version	2016-06-09T16:31:10Z
You get the version from today using wsk property get check with @dubeejw where is this value
I think since we should try to keep the url constant across builds, that way people, the UI, the url doesn't change to download it from the nginx proxy https://$apihost/cli/go/download/mac/amd64/wsk_amd64.tgz
@rabbah what do you think?
$ wsk property get
whisk auth		23bc46b1-...
whisk API host		<IP_ADDRESS>
whisk API version	v1
whisk namespace		_
whisk CLI version	2016-06-09T16:31:10Z

Perhaps for another issue, but the CLI version being a timestamp does not seem right to me.  There's a version in the python CLI download file, openwhisk-0.1.0.tar.gz, that does not match the whisk CLI version property value.  Perhaps what we currently have is more like a "CLI build" - similar to the whisk API build property for the API.

@mdeuser So we are in agreement to not include any build id in to the name of the binary and be just os+arch wsk_mac_amd64.tgz wsk_win_amd64.zip wsk_linux_i386.tgz etc...

@csantanapr - Yes, I don't think the build id is helpful.  But perhaps a CLI version (v.r.m) would be.

OK Mark we are in agreement again  the v.r.m doesn't exist today but the in the future will be helpful

See https://github.com/openwhisk/openwhisk/pull/675#issuecomment-226796231 for current compressed file names.
/cc @houshengbo @johnsolm

I was able to confirm that https://$APIHOST/cli/go/download/ now contains the go CLIs 👍

@csantanapr - what was the $APIHOST value you used?

Are these tested yet?

No.  Test case issue -> #782

@dubeejw has informed me that https://openwhisk-test.stage1.ng.bluemix.net/cli/go/download is now working properly.
Waiting on https://openwhisk.stage1.ng.bluemix.net/cli/go/download to be available before release the Whisk UI CLI Download Page.

Go CLI is now available for download from openwhisk-dev, bluemix YS0, and bluemix YP.  Automated tests are also in place to validate the download from nginx.  I believe this issue can be closed.
@dubeejw @houshengbo @johnsolm - Do you concur that this issue can be closed?

👍

@johnsolm @houshengbo - Feel free to open another issue if there is something missing from the Go CLI distribution work.

I will say this issue can be closed. Thank you, folks, for all the tests.


[Refactor Preview] Cannot apply refactoring because 'x' file has changed in the meantime

We try to enable preview refactoring when the user renames a package from file explorer, but it seems pretty often to run into the notification "Cannot apply refactoring because 'x' file has changed in the meantime", even though we didn't really modify these files.

Screencast: https://streamable.com/eoyh9w
BTW, if you want me to provide reproduce steps, i can package a private vscode-java.vsix, and share how to reproduce it using a Java sample code.

// @jrieken

This messages is rooted here and here (same file) and it means what it says. Either the file on disk or in memory has changed before applying the workspace edit - it will then fail to apply. Can you try setting breakpoints in the locations I have pointed out to see why the file changes?

Thanks for the instruction. I enabled two breakpoints at what you mentioned, the conflicted files are the sub files from the renamed folder. Given we didn't change these sub files, so vscode will receive FileDidChangeEvent for sub files when renaming a parent folder, right?

When renaming a package (folder), we will start a job when receiving onWillRenameFiles event, waitUntil and save the result to a shared variable. And then when receiving onDidRenameFiles, if the result is already computed, apply/preview the edit directly.
So when receiving FolderDidRenameEvent, looks like it'll trigger sub files didChangeEvent at the same time. Is there any safe way to make sure FolderDidRenameEvent listener to know all sub file didChangeEvent ready?

Given we didn't change these sub files, so vscode will receive FileDidChangeEvent for sub files when renaming a parent folder, right?

idk - @bpasero do you? are events fired for all children when a folder is being renamed?

i found the language server actually received 'workspace/didChangeWatchedFiles' notification twice during renaming a Java folder.
The first one is indeed related with rename operation, which only contains old location delete, new location create, and no sub files event.
The second one is received after calling the api workspace.applyEdit to trigger preview. Also the server received a series of didOpen/didClose textDocument events (bulkEditPreview.ts) before the didChangeWatchedFiles notification. Since the server didn't receive any didChange textDocument event, there must be some code changing the disk file instead of the document. And the changed sub files in the second didChangeWatchedFiles notification are just same as the error "Cannot apply refactoring because 'x' file is changed in the meantime".  The weird thing is the changed sub files are not same when trying multiple times. It probably changed 1 file, 2 files, 4 files etc. Kind of a multi-threaded competition issue.

The second one is received after calling the api workspace.applyEdit to trigger preview

This is you triggering the event. See https://github.com/microsoft/vscode/blob/master/src/vs/vscode.d.ts/#L9255-L9265

This is you triggering the event. See https://github.com/microsoft/vscode/blob/master/src/vs/vscode.d.ts/#L9255-L9265

Sorry for the confusion. The second didChangeWatchedFiles notification is not rename event.
I draw the whole workflow below. The second 'didChangeWatchedFiles' notification (step 6) just says some sub files under the renamed folder are changed during previewing the workspace edit. And if i commented out step 3, the extension won't receive this extra 'didChangeWatchedFiles' notification. That's why i suspect the applyEdit api changed some files due to some reason.
1. In file explorer, try to rename a Java folder
src/main/java/org/springframework/samples/petclinic/vet to vetnew
                                ↓
2. onWillRenameFiles event arrives. In the event callback, the extension will call waitUntil to
waiting for computing the workspace edit, then save the result to a global variable
instead of passing it to waitUntil promise. We want to preview the edit, it's not suitable to
do that in the onWill listener, so we just let waitUntil promise returns null.
                                ↓
3. onDidRenameFiles event arrives. In the event callback, the extension will call
workspace.applyEdit to preview the cached edit .
                                ↓
4.  'workspace/didChangeWatchedFiles' notification arrives. Below is its payload:
Params: {
    "changes": [
        {
            "uri": ".../src/main/java/org/springframework/samples/petclinic/vetnew",
            "type": 1
        },
        {
            "uri": ".../src/main/java/org/springframework/samples/petclinic",
            "type": 2
        },
        {
            "uri": ".../src/main/java/org/springframework/samples/petclinic/vet",
            "type": 3
        }
    ]
}
                            ↓
5. A series of textDocument/didOpen and textDocument/didClose notifications arrive. These text
documents all are the files touched by the applied workspace edit. And these text document events
may start to arrive after step 3.
                            ↓

6. A second notification 'workspace/didChangeWatchedFiles' arrives.  Its payload:
Params: {
    "changes": [
        {
            "uri": ".../src/main/java/org/springframework/samples/petclinic/vetnew/Specialty.java",
            "type": 2
        },
        {
            "uri": ".../src/main/java/org/springframework/samples/petclinic/vetnew/Specialty.java",
            "type": 2
        }
    ]
}

                            ↓
7. In the REFACTOR PREVIEW panel, click "Apply Refactoring" button, will get the error saying
'Specialty.java' is changed in the meantime.

it turns out the Java language server modified some files when it received textDocument/didOpen events for the sub files under the renamed folder.
Will close the issue, thanks for the support!


Improve Wagtail page statuses to be more descriptive

This is going to be a pain to review. Sorry in advance. It should make you feel a bit less worried about our shared vs live vs draft state handling. Anyway, with the addition of sharing pages in Wagtail, we've complicated the statuses. There are certain odd states of the pages that required more descriptive statuses so this fixes that. More in the notes.
Additions

has_unshared_changes field to CFGOVPage

Changes

CFGOVPage.serve() now checks the status of the page's has_unshared_changes field before serving the page.
Our hook function share_the_page() sets state of has_unshared_changes appropriately.

Testing

Run ./cfgov/manage.py migrate
Take a page all the way down to the DRAFT state.
Check that the status is DRAFT
SHARE it.
Check that the status of the page is SHARED
Check that it exists as it's supposed to.
Check that it doesn't exist on the live site.
Make an edit. The hit SAVE AS DRAFT.
Check that the status of the page is SHARED + DRAFT
Check that the edit didn't show on the shared site.
Check that the page still doesn't exist on the live site.
Publish the page.
Check that the status of the page is LIVE
Check that the page exists on both sites.
Make edits and save a draft
Check that the status of the page is LIVE + DRAFT
Make sure edits don't end up on either site
Share the page.
Check that the status of the page is LIVE + SHARED
Verify the edits now show on the shared site but not production.
Save a draft.
Check that the status of the page is LIVE + (SHARED + DRAFT)
Unpublish
Check that the status of the page is SHARED + DRAFT
Verify the production site page is not longer accessible.
Unshare
Check that the status of the page is DRAFT
Verify the shared site page is no longer accessible

Review

@kave
@richaagarwal
@rosskarchner

Notes
New page status reference

The page is just started, it is neither SHARED nor LIVE. — DRAFT
The page moves from draft to share on content but is not LIVE — SHARED
The page is SHARED and has unshared updates — SHARED + DRAFT
The page is published to www (and shared on content) -- LIVE
The page is LIVE and has unpublished updates -- LIVE + DRAFT
The page is LIVE and has shared updates -- LIVE + SHARED
The page is LIVE and has shared updates and has unpublished updates - LIVE + (SHARED+DRAFT)

Todos

Document this later on before we're training folks on Wagtail

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[x] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[x] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

@kurtw
"Make edits and save a draft
Check that the status of the page is LIVE + DRAFT
Make sure edits don't end up on either site"  - This shows up as LIVE + (SHARED + DRAFT) for me.
And relatedly, I'm not sure I understand the difference between these two:

The page is LIVE and has unpublished updates -- LIVE + DRAFT
The page is LIVE and has shared updates and has unpublished updates - LIVE + (SHARED+DRAFT)

In both cases, the page is live and shared, and if you modify any content, it's in draft for both of them. If you share the page, then the status ends up "LIVE + SHARED".
In short, I'm unable to create LIVE + DRAFT, only LIVE + (SHARED + DRAFT).
But, maybe we should use "LIVE + DRAFT" for when a page has been published, not shared, and also has edits that have been published. Right now, that shows as "DRAFT" which is kind of misleading.

@richaagarwal The intended difference in scenario form:
LIVE + DRAFT: The page is live, and meanwhile I made edits to it in Wagtail that are saved, but not pushed to the content server (so not shared) and not on the live version (not published)
LIVE + (SHARED + DRAFT): The page is live, meanwhile discussions are happening about updates -- an updated version has been shared to the content server for stakeholder review, meanwhile I have started to make additional edits to it in Wagtail (perhaps some stakeholder feedback has come through but not all) and saved those edits but not shared them to the content server.
Does that make sense?

@schaferjh Yes, that makes sense, but that's not what's happening :)

Closing to do more testing.

Ready for review again.

This should be addressed at a later date.


bug(theme): schematic doesn't ask for error hex color

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
As of v18.2, a theme can be generated with a custom color with the following schematic:
ng generate @angular/material:m3-theme
The schematic then prompts for hex codes for primary, secondary, tertiary, neutral colors.
It auto generates an error code palette based on the primary hex provided. It doesn't prompt the user to enter their own error color.
Reproduction
StackBlitz link:
Steps to reproduce:

Ensure app and material are on latest stable version - v18.2
Run the schematic ng generate @angular/material:m3-theme to generate a custom theme.
Notice that the schematic doesn't prompt to enter hex color to be used to represent the error color palette.

Expected Behavior
The schematic should prompt user to enter hex code that is used to represent the error color palette.
Actual Behavior
Schematic doesn't prompt to enter hex color to be used to represent the error color palette.
Environment

Angular: 18.2
CDK/Material: 18.2
Browser(s):
Operating System (e.g. Windows, macOS, Ubuntu):

It also does not offer the crucial "exact color match" option that the actual theme generation utility includes.


Expose execution time remaining to invocations

I have a Python server / function that doesn't behave well when thawed after timing out (it's an underlying C library problem and processing continues after the Lambda function is resumed). As a workaround for that, I set a timeout to kill the process just before Lambda would have timed it out (so that Lambda will restart it automatically).
Within up, I see 2 ways of achieving the same thing: 1) pass get_remaining_time_in_millis() (its equivalent, really) as an X-header; 2) expand the proxy retry behavior to kill the target server after a timeout (vs. the server knowing to stop itself).

oOo weird, I'm not sure that's something Up should be concerned about, I haven't hit any issues like that. What does the C lib do which interacts poorly?

It's GDAL, which I'm using to reproject imagery. I give GDAL a URL and information about what to do with the image(s) and it goes off and does its own thing (using its own thread pool). There's no way to cancel pending operations (node-mapnik has the same problem), so when Lambda times the function out and freezes the process, it resumes execution when thawed, using up some of the available CPU for something that will never be used.
(1) seems like the cleanest option for Up; I can see a benefit to knowing how much time is left on the clock (similar to the amount of available memory) and leave the app to do what it will with that information.

Interesting thanks for the details. If we pass X-* that wouldn't be any different really than your app just starting the timer to kill no? Since the Go reverse proxy itself really only introduces say 1-5ms at worst, I guess I'm not sure it's worth passing a field.

The app doesn't know what the timeout in the Lambda configuration is, so the timer needs to be separately configured; the Node shim does (in the form of context).
(Oddly, needing to work around this and take Lambda implementation details into account is making me wish for Apex's function deployment (w/o the proxy) combined with Up's CloudFormation, etc. management (which are fantastic, thank you!).)

Haha yeah I'm tempted to combine them at some point, especially if Up can be sustainable, probably won't worry about it otherwise. Sounds like passing X-Lambda-{Timeout,Memory} (or maybe JSON etc) would do the trick?

Yup, that'd definitely work.

closing this one for now, fargate will mitigate this issue for longer running requests


As an employee, I want to generate a report listing all capital cities in a continent organized by population size.

A capital city report requires the following columns:
Name.
Country.
Population.


Problem pass-arguments-to-command, question parse-parameters-as-json

Hi, made relatively simple hook and it works but problem is:
CAN NOT get "pass-arguments-to-command" to work anyhow?!
[webhook] 2021/02/15 05:15:09 [78d2e1] error extracting command arguments: couldn't retrieve argument for {Source:payload Name:message EnvName: Base64Decode:false}

OS: Win10
Command:
curl -H 'Content-Type: application/json; charset=utf-8' -d '{message%3D%7B%22anyname1%22%3A%22ANYDATA1%22%2C%22anyname2%22%3A%22ANYDATA2%22%2C%22anyname3%22%3A%22ANYDATA13%22%7D}' -X POST http://<IP_ADDRESS>:9000/hooks/tvhook

or
curl -H 'Content-Type: application/json; charset=utf-8' -d '{message={"anyname1":"ANYDATA1","anyname2":"ANYDATA2","symbol":"ANYDATA3"}}' -X POST http://<IP_ADDRESS>:9000/hooks/tvhook

or
without "message="
Hook:
[
   {
      "id":"tvhook",
      "execute-command":"balert.bat",
      "command-working-directory":"c:/",
      "http-methods":[
         "Post "
      ],
      "include-command-output-in-response":false,
      "response-message":"success",
      "trigger-rule-mismatch-http-response-code":400,

      "pass-arguments-to-command":[
         {
        "source": "payload",
        "name": "message"
      }
      ]
   }
]

I tried 100x changing almost everything but always same result. Suspected in incompatible libraries so downloaded compiled webhook 2.8 but again the same. Since pass arguments do not work wasnt able to parse parameters as well (wish to parse and send command, as  ANYDATA1, ANYDATA2...)  (or should I try/use "pass-environment-to-command"?)
What I  doing wrong  or whats wrong?? Please help.

Go:  version 1.15.6 windows/amd64

You must send valid JSON in the payload.  Use a JSON validator to make sure you're doing that right.  Try something like this:
curl -H 'Content-Type: application/json; charset=utf-8' -d '{"message":{"anyname1":"ANYDATA1","anyname2":"ANYDATA2","symbol":"ANYDATA3"}}' -X POST http://<IP_ADDRESS>:9000/hooks/tvhook

already tested that  but will ty again and post result

sent: curl -H 'Content-Type: application/json; charset=utf-8' -d '{"message":{"anyname1":"ANYDATA1","anyname2":"ANYDATA2","symbol":"ANYDATA3"}}' -X POST http://<IP_ADDRESS>:9000/hooks/tvhook
response:
[webhook] 2021/02/16 18:56:17 [a00c94] error occurred: exit status 1
[webhook] 2021/02/16 18:56:17 [a00c94] finished handling tvhook
[webhook] 2021/02/16 19:01:53 [93f390] incoming HTTP POST request from <IP_ADDRESS>:8679
[webhook] 2021/02/16 19:01:53 [93f390] tvhook got matched
[webhook] 2021/02/16 19:01:53 [93f390] tvhook hook triggered successfully
[webhook] 2021/02/16 19:01:53 [93f390] 200 | 7 B | 2.9388ms | <IP_ADDRESS>:9000 | POST /hooks/tvhook
[webhook] 2021/02/16 19:01:53 [93f390] error extracting command arguments: couldn't retrieve argument for {Source:payload Name:message EnvName: Base64Decode:false}
[webhook] 2021/02/16 19:01:53 [93f390] executing balert.bat (c:\balert.bat) with arguments ["balert.bat" ""] and environment [] using c:/ as cwd
[webhook] 2021/02/16 19:01:54 [93f390] command output:
c:>echo ""
so the same, what else could be wrong ?!

Problem is in syntax how windows send/reead cURL !!!
(finally resolved thanks to https://stackoverflow.com/questions/11834238/curl-post-command-line-on-windows-restful-service)
so the right way is:
curl -H "Content-Type:application/json" -d "{"message":{"anytest1":"hi","anytest2":"bye"}}" -X POST http://localhost:9000/hooks/tvhook
Great thanks for support to @adnanh &  @moorereason :)


Let the instrumenter log exceptions too

This seems like a missing piece in the instrumentation feature.

Is there any plan on releasing a new version soon? I'd like to have this on the gem at some point, instead of having to bundle the git fork, which is slower 😅

@foca https://rubygems.org/gems/http/versions/5.2.0

You're the best! ❤


Compiling using Bazel Emscripten toolchain

I am currently attempting to compile LYRA into web assembly using the Bazel Emscripten toolchain.
https://github.com/emscripten-core/emsdk/tree/main/bazel
However, it keeps on emitting "Build did NOT complete successfully." and fails to compile.
Is there something I am missing here, or is LYRA simply impossible to convert to web assembly at the moment?

I have never used that toolchain, or try to port Lyra to WASM, but I know there are some issues with it. Maybe you can find some pointers in #49?