No working Buffer.MapAsync functions

Similar to #15 , I'm struggling to use mapAsync() in order to read a buffer back
I finally got the swift syntax correct,
var callback : (BufferMapAsyncStatus) -> Void =
{
	status in
	print("Status \(status)")
	IsFinished = status == .success
}
try readBuffer.mapAsync(mode: .read, offset: 0, size: Int(outputByteSize), callback: callback)

but all I get is
Warning: Old MapAsync APIs are deprecated. If using C please pass a CallbackInfo struct that has two userdatas. Otherwise, if using C++, please use templated helpers.

and a failure (it doesn't throw, but the thread stops, not sure what swift is doing there - unless the function is just blocking and never returns...)

Is there a different function I'm supposed to use?
Is this like #15 and the swift bindings generator missing some cases?
Am I just calling the wrong functons to map a buffer to read back to the CPU....
Thinking about it, the alternatives have WGPUFuture which the linked bug in #15 dawn says, isn't implemented... so now I'm not sure which is the correct function...

My mistake, .mapAsync() runs, I get the warning - but the callback never gets invoked, and all my calls like getConstMappedRange() afterwards always return nil

Aha!
After trying to find some buffer map & read examples, i came across this
https://eliemichel.github.io/LearnWebGPU/basic-3d-rendering/input-geometry/playing-with-buffers.html#asynchronous-polling

If you run the program at this point, you might be surprised (and disappointed) to see that the callback is never executed! We saw this in the Device Polling section of the Command Queue chapter: there is no hidden process executed by the WebGPU library to check that the async operation is ready so we must do it ourselves.

Unfortunately, this mechanism has no standard solution yet, so we write it differently for Dawn, wgpu-native and emscripten, with a little subtlety for the latter:

Thus, I added a device.tick() func, after my call to mapAsync() (the one in the current code/generated) - and I got my callback!

let state = readBuffer.mapState also has the correct state

// Extensions.swift
extension Device
{
	public func tick()
	{
		withUnsafeHandle {
			handle in
			wgpuDeviceTick(handle)
		}
	}
}

I know there has been a lot of discussion and movement around the async methods. It sounds like things have now matured if you're getting a deprecation message. I can take a look at this.
However, in the meantime, I suspect if you call instance.processEvents() periodically (e.g. once per frame), you should find that the callbacks get processed.
It was originally designed for javascript, where I suspect processEvents gets called as part of the JS event loop. I believe the new design allows truly spontaneous callbacks, although this might need some caution as they might be called on a different thread.

Yes, device.tick() probably does the same thing essentially. I would encourage you to use processEvents() though as this is the more standardised method moving forward.
There's some details on where things are headed here.

instance.processEvents() also works!

Working well!
Running a kernel to do rgb -> bgra conversion, reading the buffer & sending the output over to a virtual webcam, and putting that buffer into a texture, to render with swiftui! :)
https://bsky.app/profile/soylentgraham.bsky.social/post/3lahzok5jqs2h

Now, to close this issue - I think I'm going to submit an extension that akin to the below (because the callbacks are also a bit frustrating to write)
await buffer.mapAsync() throws
{
  mapasync()
  //wait for callback/status
  // tick/process explicitly
}


multi tenant_id client creation with get_client_from_cli_profile(SubscriptionClient) fails

If I have more than one tenant -> many subscriptions, then
client = get_client_from_cli_profile(SubscriptionClient)
will fail if my most recent az login was for the non-subscription account.
Failure error: CLIError: Credentials have expired due to inactivity. Please run 'az login'
Steps to reproduce:
az account clear
az login  # for the default subscription account
get_client_from_cli_profile(SubscriptionClient)   # success
az login  # for a different email with different tenant
get_client_from_cli_profile(SubscriptionClient)    # fails
az login  # for the default subscription account again
get_client_from_cli_profile(SubscriptionClient)    # success
Expected behaviour:
get_client_from_cli_profile should always pull the default subscription client regardless of the last login.
Suggestion:
get_client_from_cli_profile should take a subscription_id argument so that it could be selected from accessTokens.json or some other .azure file.
def get_client_from_cli_profile(SubscriptionClient, subscription_id=None):
'''If subscription_id is supplied, retrieve a client for it, otherwise, get the default subscription client'''
Currently, get_client_from_cli_profile does accept subscription_id as a kwarg, but it does not affect the result.

Hi @kbroughton !
That's by design, get_client_from_cli_profile is using the active subscription and tenant, as documented:
https://docs.microsoft.com/python/azure/python-sdk-azure-authenticate?view=azure-python#mgmt-auth-cli
The CLI has not public API in my knowledge to read the configuration file. What you can do is use the the second method get_client_from_auth_file and creates two files for your two configurations.
FYI @yugangw-msft if he has any comments.

Thanks for your reply.  My particular situation is one where i have login credentials for a readonly account (pen-testing) and do not have privileges to create the service principal required for the auth_file login<EMAIL_ADDRESS>recommended using get_client_from_cli_profile and passing in the subscription_id, but as I noted in the last line of the issue, passing subscription_id, although allowed by the function signature via kwargs, did not have any affect.
hacking the code for get_client_from_cli_profile() by starting with a call
set_active_subscription()
with the passed in subscription_id did work for me.
My main suggestion is that auth patterns supported by azcli should also work for the python-sdk.  Following that, there should be a way to use the profile/subscription_id without having to create service principals, which seems to currently be required for python-sdk.
Calling set_active_subscription seems to have the effect of az account set --subscription <sub-id>, but was discouraged by laurant so i'm looking for a way that is compatible with the python-sdk design.

It's a dirty abstraction violation but this seems to work these days:
from azure.cli.core._profile import CredsCache

def get_azure_cli_credentials(resource=None, with_tenant=False, subscription_id=None):
    profile = get_cli_profile()

    # XXX: Abstraction break.
    # Don't use the global creds cache - or we can't manage to have both tenants in effect
    profile._creds_cache = CredsCache(profile.cli_ctx, profile.auth_ctx_factory, async_persist=profile._creds_cache._async_persist)

    cred, subscription_id, tenant_id = profile.get_login_credentials(resource=resource, subscription_id=subscription_id)
    return (cred, subscription_id, tenant_id)

It would be nice if there was a way to ask for this directly via azure.common.credentials. get_azure_cli_credentials or azure.common.credentials import get_cli_profile

@yugangw-msft what do you think?


created is always added to the signature

Hi
Not sure if this is a bug but after an upgrade to 1.7 I see 'created' added systematically.
If created is there I would have expected  (created) in the headers?
I am concerned that when the signature is generated the verifier (of thirdparty banks) may not understand it (the current version works OK) but maybe other implementations could fail.
I tried to disable it but there does not seem to be a way to do this (it is set in the Signer.sign method)
public Signature sign(final String method, final String uri, final Map<String, String> headers) throws IOException {
       final Long created = System.currentTimeMillis();

This is an example:
Signature keyId="SzFeHrH7uq13zen25GD+p+t7XZi8Xlc843SEIxdCR9E=",created=1609935692,algorithm="ecdsa-sha256",headers="(request-target) date digest x-request-id",signature="MEUCIBPKLQGjjKhpVzdQyU0tqkCXW2IlegWF3ZPEcqZL6AeWAiEA8eemIvapqTUHHmOPvG+lb53zuEpyXm8/j164Zi7R3mA="

Is it a bug? Should created only be added if the (created) is set?
I can provide a test case if you'd like and would be happy to make a PR.
p.s. The changes to the constuctors have made Signature a little more confusing (especially since it is used for a Template and the Signature itself). I'd be willing to try to improve it (keeping compatibility) if you would be interested?

Hi @mjeffrey ,
I hit the same bug. Issue is that https://github.com/tomitribe/http-signatures-java/blob/3a84217890d9c7d93d42585c4c9d86225d69f4ff/src/main/java/org/tomitribe/auth/signatures/Signer.java#L99 always creates created/expires values whereas it should only be valued lazily when evaluated in this loop https://github.com/tomitribe/http-signatures-java/blob/3a84217890d9c7d93d42585c4c9d86225d69f4ff/src/main/java/org/tomitribe/auth/signatures/Signatures.java#L64 (lazily).
Another bug related to banks I hit is that created/expires key name can be between parenthesis or not and this is not configurable.
If it helps, in my project code I moved from a signature with explicit values of all potential headers to a Function<String, String> to value the headers and timestamps which enables more easily to clean that up making computed fields lazy - indeed not using a lambda but class enables to bypass the Atomic stuff but it shares the idea:
    @Override
    public String compute(final String keyId, final PrivateKey key, final SigningAlgorithm algorithm,
                          final List<String> headers, final String method, final String pathAndQuery,
                          final Function<String, String> headerReader) {
        final var created = new AtomicLong();
        final var expires = new AtomicLong();
        final Function<String, String> findHeader = headerName -> {
            switch (headerName) {
                case "(request-target)":
                    return method.toLowerCase(ROOT) + ' ' + pathAndQuery;
                case "(created)":
                    if (created.get() == 0) {
                        created.set(Instant.now().getEpochSecond());
                    }
                    return Long.toString(created.get());
                case "(expires)":
                    if (created.get() == 0) {
                        created.set(Instant.now().getEpochSecond());
                    }
                    if (expires.get() == 0) {
                        expires.set(Instant.ofEpochSecond(created.get()).plusSeconds(60).getEpochSecond());
                    }
                    return Long.toString(expires.get());
                default:
                    return headerReader.apply(headerName);
            }
        };
        final String signingString = headers.stream()
                .map(header -> header + ": " + findHeader.apply(header))
                .collect(joining("\n"));
        final Signature signature;
        try {
            signature = Signature.getInstance(algorithm.getJvmAlgorithm());
            if (algorithm.getAlgorithmParameters() != null) {
                signature.setParameter(algorithm.getAlgorithmParameters());
            }
            signature.initSign(key);
            signature.update(signingString.getBytes(StandardCharsets.UTF_8));
            return "keyId=\"" + keyId + "\"," +
                    "algorithm=\"" + algorithm.getSigningAlgorithm() + "\"," +
                    "headers=\"" + String.join(" ", headers) + "\"," +
                    (created.get() > 0 ? "(created)=\"" + created + "\"," : "") +
                    (expires.get() > 0 ? "(expires)=\"" + expires + "\"," : "") +
                    "signature=\"" + Base64.getEncoder().encodeToString(signature.sign()) + "\"";
        } catch (final Exception e) {
            throw new IllegalArgumentException(e);
        }
    }

Hi @mjeffrey ,
I hit the same bug. Issue is that https://github.com/tomitribe/http-signatures-java/blob/3a84217890d9c7d93d42585c4c9d86225d69f4ff/src/main/java/org/tomitribe/auth/signatures/Signer.java#L99 always creates created/expires values whereas it should only be valued lazily when evaluated in this loop https://github.com/tomitribe/http-signatures-java/blob/3a84217890d9c7d93d42585c4c9d86225d69f4ff/src/main/java/org/tomitribe/auth/signatures/Signatures.java#L64 (lazily).
Another bug related to banks I hit is that created/expires key name can be between parenthesis or not and this is not configurable.
If it helps, in my project code I moved from a signature with explicit values of all potential headers to a Function<String, String> to value the headers and timestamps which enables more easily to clean that up making computed fields lazy - indeed not using a lambda but class enables to bypass the Atomic stuff but it shares the idea:
    @Override
    public String compute(final String keyId, final PrivateKey key, final SigningAlgorithm algorithm,
                          final List<String> headers, final String method, final String pathAndQuery,
                          final Function<String, String> headerReader) {
        final var created = new AtomicLong();
        final var expires = new AtomicLong();
        final Function<String, String> findHeader = headerName -> {
            switch (headerName) {
                case "(request-target)":
                    return method.toLowerCase(ROOT) + ' ' + pathAndQuery;
                case "(created)":
                    if (created.get() == 0) {
                        created.set(Instant.now().getEpochSecond());
                    }
                    return Long.toString(created.get());
                case "(expires)":
                    if (created.get() == 0) {
                        created.set(Instant.now().getEpochSecond());
                    }
                    if (expires.get() == 0) {
                        expires.set(Instant.ofEpochSecond(created.get()).plusSeconds(60).getEpochSecond());
                    }
                    return Long.toString(expires.get());
                default:
                    return headerReader.apply(headerName);
            }
        };
        final String signingString = headers.stream()
                .map(header -> header + ": " + findHeader.apply(header))
                .collect(joining("\n"));
        final Signature signature;
        try {
            signature = Signature.getInstance(algorithm.getJvmAlgorithm());
            if (algorithm.getAlgorithmParameters() != null) {
                signature.setParameter(algorithm.getAlgorithmParameters());
            }
            signature.initSign(key);
            signature.update(signingString.getBytes(StandardCharsets.UTF_8));
            return "keyId=\"" + keyId + "\"," +
                    "algorithm=\"" + algorithm.getSigningAlgorithm() + "\"," +
                    "headers=\"" + String.join(" ", headers) + "\"," +
                    (created.get() > 0 ? "(created)=\"" + created + "\"," : "") +
                    (expires.get() > 0 ? "(expires)=\"" + expires + "\"," : "") +
                    "signature=\"" + Base64.getEncoder().encodeToString(signature.sign()) + "\"";
        } catch (final Exception e) {
            throw new IllegalArgumentException(e);
        }
    }

Hi Romain
Thanks for the info. I guess the Banking issues you are referring to are the Berlin Group psd2 specifications. When those specs were made the signing spec did not include created or expired or hs2019 and so many Banks will not recognize them (and potentially fail).
This puts a burden on the (clients) TPPs to adapt to each API (which is very much the case anyway since every api is different) .
so indeed, it is best to do what you do and explicitly create the final string yourself.
p.s. I'm on the Aspsp (bank) side so it is not so much of an issue for us, it was a unit test which fails in case of regression.

Hi Romain
Thanks for the info. I guess the Banking issues you are referring to are the Berlin Group psd2 specifications. When those specs were made the signing spec did not include created or expired or hs2019 and so many Banks will not recognize them (and potentially fail).
This puts a burden on the (clients) TPPs to adapt to each API (which is very much the case anyway since every api is different) .
so indeed, it is best to do what you do and explicitly create the final string yourself.
p.s. I'm on the Aspsp (bank) side so it is not so much of an issue for us, it was a unit test which fails in case of regression.

Hit this myself.  I'll try to find time to ensure created isn't added unless needed.  Meanwhile, anyone encountering this can downgrade to v 1.4

While this fix is yet to be released with version 1.8, we use the following dirty workaround.
PrivateKey key = PEM.readPrivateKey(new FileInputStream(privateKeyPath));
Signer signer = new Signer(key, signature);
Signature signed = signer.sign(method, uri, headers);
String authorization = signed.toString();

if(authorization.contains(",created=")){
	// this is a temp fix, needed only in the current actual lib version 1.7
	// it has been fixed in 1.8-SNAPSHOT but not published yet
	// https://github.com/tomitribe/http-signatures-java/commit/70189bb

	int index1 = authorization.indexOf(",created=");
	int index2 = authorization.indexOf(",", index1 + 1);

	authorization = authorization.substring(0, index1) + authorization.substring(index2);
}

@capslocky Thanks for this ping.  Just released 1.8.  Let me know how it looks -- I don't recall if there was something unresolved that was holding up the release.

@capslocky side note, have a look at https://github.com/tomitribe/churchkey for some significantly better key parsing support

@dblevins wow, so fast! I have checked the newly released version 1.8, and it works just fine, without that dirty workaround.
Thank you!


Enable Preview Deployment Apps for easy review

Context
Pain point: Team members can't currently see a Pull Request's version of an app without fiddling w/code (pulling down the branch and running it). This means there is friction when it comes to reviewing and manually testing, especially for code reviewers.
Preview Apps* for GitHub solve this. Integrating them automatically adds a link right in the PR that leads to a deployed app (pictured below). This would allow the entire team (not just devs) to take a look at a Pull Request's changes even before merging into the (sacred) default branch. This helps w/the feedback loop, code quality, and can help build team confidence for releases.
*encouraged reading

Furthermore, it would lessen the need to send screenshots around and would take us closer to production deployments.
TLDR: Preview Apps allow the team to get feedback early and often and catch issues more easily before merge (without having to build the code locally, which is tedious and shuts out non-technical team members).
Definition of Done

[ ] when a PR is submitted, automated checks are run prior to deploying Preview App
[ ] if checks pass, Preview App is deployed to Vercel
[ ] Preview App should show up as a link in the Pull Request for anyone to access

Engineering Details

[ ] This will need to go into CI
[ ] If we use Vercel, we can start here w/their docs. @mackcooper1408 mentions it's pretty straightforward to set up.

cc @mackcooper1408

this looks great, thanks for all the detail. Let's chat about getting a Vercel account setup with the shared email.

cc @agennadi bc CI-related

cc @mantuok bc also front end

@nickvisut @mackcooper1408  Am I correct in understanding that we need to deploy to Vercel first to enable this feature? If so, should we create a separate issue for deployment and mark this one as blocked by it?


applibs/pwm.h, applibs/adc.h and others are almost empty

I was trying to get used with basic peripherals on my seeed mini dev board, and I realized my pwm.h is almost empty, there's no functions, structs or defines to use, like it should according to the documentation.
I thought the problem was from the SDK, but it is up to date
/// \brief This header contains functionality for interacting with PWM hardware. Access to
/// individual PWMs is restricted based on the Pwm field of the application's manifest.
///
/// PWM functions are thread-safe.

#include <stdbool.h>
#include <stdint.h>

#pragma once

#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
}
#endif

---
#### Détails du document

⚠ *Ne pas modifier cette section. C’est obligatoire pour docs.microsoft.com ➟ Liaison des problèmes GitHub.*

* ID: 5e8f623a-a8a5-ba80-acf3-77cb4f7bc5dc
* Version Independent ID: 949d5e86-d87d-99ac-fc13-6ec3a27049c8
* Content: [Informations de référence sur les bibliothèques d’applications Azure Sphere concernant pwm.h](https://docs.microsoft.com/fr-fr/azure-sphere/reference/applibs-reference/applibs-pwm/pwm-overview)
* Content Source: [AzureSphere/articles/reference/applibs-reference/applibs-pwm/pwm-overview.md](https://github.com/MicrosoftDocs/Azure-Sphere-Docs-pr.fr-FR/blob/live-sxs/AzureSphere/articles/reference/applibs-reference/applibs-pwm/pwm-overview.md)
* Product: **azure-sphere**
* GitHub Login: @esalc
* Microsoft Alias: **azurespheredocs**

@johnhatten2  Please help with the link of document on which above document feedback request is created.
Under this repository we want to make sure any issue is linked to a doc so we can help others that may be having the same issue.

The file i'm refering to is under Microsoft Azure Sphere SDK\Sysroots\5\usr\include\applibs\pwm.h. I followed all the getting-started steps and I could get the blinky working on my seeed mini dev board. I tried to make a PWM peripheral to work, only to realize that pwm.h is emptier than it should (see code above vs this page : https://docs.microsoft.com/fr-fr/azure-sphere/reference/applibs-reference/applibs-pwm/pwm-overview )
I'm quite new in this field and I was looking for some kind of support so I ended up here. not sure if it is the right place.

@johnhatten2  Thank you for sharing the document link, our team will further look into this thread and direct you accordingly.

@johnhatten2 , all PWM APIs are still in Beta for ARV=5, so they won't show up in the production sysroot header. You need to target the Beta sysroot to get the header with the APIs. Basically you need to change your project to target 5+Beta2004.

that works! thanks!


Improvements for MMSOAP

Improvements for MMSOAP including

Install via pip
Exceptions for errors
Prototype-mock for testing incl error cases

Thanks for the nice, clean pull request!


make django wait in a loop until the db is ready

This should make the tests more robust

I don't understand what problem this solves, or I haven't had it happen to me?

If you are building for the first time with no cached postgres docker image the web image can get started before the postgres image is done starting which makes the migrations fail.

I see, still I think it would fit better as a healthcheck in the docker-compose than in the django code


[Build] Create a Docker image for Ruby

Ruby needs to be built with the signing key present in the code base with the locked down credentials model we have in the OpenSearch Project the only place this can happen is in a Jenkins job coupled with the this OpenSearch-Build repository.
In order to build ruby projects we need the correct interpreter to be selectable.  There have been multiple attempts, https://github.com/opensearch-project/opensearch-build/pull/1216, https://github.com/opensearch-project/opensearch-build/pull/1202, and https://github.com/opensearch-project/opensearch-build/pull/1142 and none of them have offer the full functionality that is needed.
We have a nearly functional build pull request that was stifled by the missing docker image. https://github.com/opensearch-project/opensearch-build/pull/1330.
Acceptance Criteria:

There is a new docker file in docker/ci/dockerfiles
The image is lightweight containing

AWS CLI
rvm with the following interpreters installed

ruby-2.7
ruby-3.0
jruby-9.2.X

The docker image can download and install a new interpreter with user permissions with rvm install {interpreter} and set it as default rvm use {interpreter}

Follow up:

Reopen https://github.com/opensearch-project/opensearch-build/pull/1330 and make changes to accommodate the new docker image

@opensearch-project/engineering-effectiveness  Can we close this issue?

We have ruby already included in this image, and can install necessary gem if needed by adding to the dockerfile.
https://github.com/opensearch-project/opensearch-build/blob/main/docker/ci/dockerfiles/current/build.centos7.opensearch.x64.arm64.dockerfile
Thanks.


Will FlutterFire work in Flutter web?

We intend to completely support all of Flutter's API and functionality across modern browsers.

This does not imply that there are plans to add support for Flutter web to all popular plugins, right?
Theoretically, it should not be a problem to add FlutterFire to Flutter web from what I can tell. It would just require another directory in plugins like web, which kind of already exists in Flutter web projects. Firebase is also fully supported for web.
Now, I am just wondering if this is really the plan or not.

https://github.com/flutter/flutter/issues/32637#issuecomment-491947033

@KirolousNashaat Well, it is not a Flutter plugin but rather for Dart for the web. I am not sure if this is the way that Flutter web is planned to make use of packages.

Duplicate of https://github.com/flutter/flutter/issues/32637


Terminal section has new section which consumes space.

Issue Type: Performance Issue
Terminal section has new section to left which gives all terminals active and option to add new or rename. How do i get rid of it?
VS Code version: Code - Insiders 1.56.0-insider (ce791d27dc9889a392f4d29abefe9c53eb0b5129, 2021-04-16T11:23:31.851Z)
OS version: Darwin x64 20.3.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.16GB free)

Process Argv

Screen Reader
no

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
   19	   131	 51337	code-insiders main
    0	    49	 51345	   gpu-process
    0	    16	 51347	   utility
    0	    82	 51371	   shared-process
    0	    16	 51374	     ptyHost
    0	     0	 52315	       /bin/zsh -l
    0	     0	 52342	     /bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    0	   246	 52286	   window (Untitled-1)
    1	   131	 52287	     extensionHost
    0	    49	 52340	   window (Issue Reporter)

Workspace Info
;

Extensions (37)

Extension
Author (truncated)
Version

azurepolicyextension
Azu
0.1.1

path-intellisense
chr
2.3.0

bracket-pair-colorizer-2
Coe
0.2.0

ansible-vault
dho
0.1.3

xml
Dot
2.5.1

LogFileHighlighter
emi
2.11.0

opensslutils
ffa
1.1.1

gc-excelviewer
Gra
3.0.41

ansible
haa
0.2.8

terraform
has
2.10.0

vscode-drawio
hed
1.4.0

rest-client
hum
0.24.5

rainbow-csv
mec
1.8.1

vscode-azurefunctions
ms-
1.3.0

vscode-azureresourcegroups
ms-
0.3.0

vscode-azurestorage
ms-
0.12.0

vscode-azureterraform
ms-
0.3.2

vscode-azurevirtualmachines
ms-
0.3.0

vscode-docker
ms-
1.12.1

vscode-dotnet-runtime
ms-
1.0.0

python
ms-
2021.3.680753044

vscode-pylance
ms-
2021.4.1

jupyter
ms-
2021.6.755784270

remote-containers
ms-
0.168.0

remote-ssh
ms-
0.65.3

remote-ssh-edit
ms-
0.65.3

remote-wsl
ms-
0.56.0

vscode-remote-extensionpack
ms-
0.20.0

azure-account
ms-
0.9.8

azurecli
ms-
0.5.0

powershell-preview
ms-
2021.4.1

azurerm-vscode-tools
msa
0.15.1

material-icon-theme
PKi
4.6.0

code-settings-sync
Sha
3.4.3

vscode-autohide
sir
1.0.7

best-light-themes-pack
the
1.0.2

material-theme
zhu
3.10.13

(2 theme extensions excluded)

This is where the upcoming tabs feature renders. It's an alternative to the dropdown in the panel titlebar (observe that's absent in the screenshot above), and it's turned on by default in Insiders.
That vertical line is draggable, so you can make the tabs take up less space.
Switch them off off in Settings:
"terminal.integrated.showTabs": false

Thank you very much, I missed this settings when I was checking in config.


[Deprecation] 'HTMLVideoElement.webkitDisplayingFullscreen' is deprecated. Please use 'Document.fullscreenElement' instead.

thrown here
function preventWithPropOrFullscreen(el) {
	var isAllowed = el[IIVEvent];
	delete el[IIVEvent];
	return !el.webkitDisplayingFullscreen && !isAllowed; <------
}

happens when i call load() on the video element. using the devices feature under google chrome's dev console for emulating iphone 6. navigator.platform is MacIntel.
userAgent string is Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1

Does this happen on iOS 11? Is iphone-inline-video being forcefully enabled via everywhere:true?

not really ... have corrected the above comments

Strange, I'm testing on a real device (BrowserStack) and document.fullscreenElement is not defined at all, ever
Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A405 Safari/601.1

I read your first comment again. As specified in a console.warn, iphone-inline-video is not guaranteed to work in emulated environments
https://github.com/bfred-it/iphone-inline-video/blob/04ff50b8258b758b47b0ddfaaec3c11c6b9d5eaf/index.js#L321


[io] Add a simple BufReader

Since we require BufRead for reading most rust-bitcoin objects, its somewhat awkward that we don't provide a BufReader in bitcoin-io. This fixes that, providing a simple buffered reader for use around bitcoin_io::Reads.
It differs from std's largely only in missing functionality and in that it requires a reference to a Read rather than a Read directly. This makes it more ergonomic as we don't blanket implement Read for &mut Read unlike std, but also allows for using a BufReader without having to take the inner Read back out as its always a reference.
This was built clean-room without looking at std/core2/etc and thus has no license requirements.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

52 of 52 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 83.217%

Totals

Change from base Build<PHONE_NUMBER>4:
0.04%

Covered Lines:
19754

Relevant Lines:
23738

💛  - Coveralls

Odd, we have that form all over the place without getting clippy warnings.

I was chatting with @arik-so on signal while he was chatting to you some other way @TheBlueMatt, did you see https://github.com/rust-bitcoin/rust-bitcoin/issues/2766#issuecomment-2284806730 before you hacked this up?

I added an issue on rust-bitcoin-maintainer-tools about the debug assertions thing: https://github.com/rust-bitcoin/rust-bitcoin-maintainer-tools/issues/12

The new BufReader doesn't implement BufRead (has private inherent methods of the same name as the BufRead trait methods)? Can you squash everything down into a single commit also please bro.

I don't have an opinion on the min vs assert thing and my ACK is in no way meant to override @Kixunil's view.

Lololol

Glad you were amused by this mistake, writing that review was one of those 'this is too simple, is it me being totally brain dead hear?'
Once again, in-person-meet-ups help lubricate development :)


change BHD website to bhd.one

change BHD website to bhd.one

https://github.com/DePINC/depinc/issues/6


Persist/checkpoint to disk

Do we have some function to persist data into disk when not using a cluster? It would just be a small function that calls compute, writes the data to disk and then loads it back again. I'm currently writing my own wrapper function.
ddf = ddf.checkpoint(to_parquet, filename...)

#do more work with ddf, but computation is faster since ddf is persisted
a = ddf[...]

Since different data types/situations would want to use different file formats, a standard method for doing so would be tricky. As you've done above, writing to parquet and then reading back out is one valid method.

This is sidelong related to the concept of persist in Intake, which specifically has exactly one file format to output for each type of data source. In dask, we could say that the canonical storage for dataframes is parquet and for arrays zarr... or something like that, but this is not a simple problem at all. It may be that Intake or some other pipeline-like system would be a good layer over dask to handle intermediate persistence.

Wow @martindurant Intake is very cool, thanks for letting me know!! Sorry I haven't had time to go through the docs, but have you guys thought of integrating with Great Expectations and DVC for data validation (not just schema, actual data, but statistics and distribution of features). Again sorry if Intake already has these features

Also yes, using Intake to do this in Dask would be a great idea! User can choose to output the data in any way, the container type will be stored in the metadata, and whoever loads the data back in need not worry about what format it is in or how it was saved.

using Intake to do this in Dask would be a great idea

It may be a bit premature ...

have you guys thought of integrating with Great Expectations and DVC for data validation

Honestly I don't know what these are, but please raise on the Intake tracker with some description, and we'd be happy to consider it.
From the point of view of this issue, I don't think we have a solution at the moment beyond specific "store" for arrays and "to_parquet" for dataframes (i.e., the user needs to know which and how); so I suspect we should close this for now.

related: https://github.com/dask/dask/pull/4025


Focus needed

The package either doesn't work on web or it needs focus.
When I was trying it I was using a barcode image on my pc and scan it from my phone on the web version. I have to place the phone really close to the barcode for it to be able to detect it. On android this is not an issue. If I'm 5 meters away and scan the barcode it is able to detect it fast with no problem, but not on the web.
But when I was trying to scan any item on my hand it wasn't detecting it. If I try to be as close as I can it becomes blurry. And I couldn't find a property in the widget for focusing.

Duplicate of #343


Can you read a Lua function by name?

Hi, I was reading the section on calling Lua functions from C# and saw that the example code showed reading the function from the result table by index. Is there a way to read the function by name? Say if I had a function called Init() in Lua, would I be able to read that specific function by doing something like this?
var results = await state.DoFileAsync("example.lua");
var func = results["init"].Read<LuaFunction>();

var funcResults = await func.InvokeAsync(state, new[] { "GE_Graph_Athena01" });

Sorry, but I can't really understand what you want to achieve from just the C# code. Could you please post the code for example.lua?

function init()
    -- ...
end

return init

If you want to access global variables, you don't need to return a function from the Lua side. You can get it with state.Environment["init"].

Oh thanks! I should've thought of that since you can access variables via that method.


Prevent users from scoring their own submission up front

Problem
The app currently lets me attempt to score a submission I submitted, which should not be the case. The intent is that you cannot score your own submission in an effort to prevent muddling with overall score results, so don't let me try and fail here
I assume this error message is triggered since I'm trying to score my own?
Example: https://beta.metricsdao.xyz/app/market/0x61a97cb0ec9104ef06ebfe7b8cdbc377f4a8f908/submission/4
Connected wallet: 0xBf17bE25a18c2F45fe4A8702b92B8dBd77872561

Ideas

Disable the Review & Score button with helper text on hover "You can't score your own submission"
Hide the Review & Score button
@mahgillis @bcinman any strong opinions on UX here?

Agree. It might be nice to have a "Your Submission" indication in place of the button? Not sure if that's necessary though


Fix error in IE11 offsetTop of NULL

Thanks a lot for contributing to react-autowhatever :beers:
Before submitting the Pull Request, please:

Hi @pavel-yagodin, did you have any thoughts on my comment above? If this is still an issue for you, it'd be great to know more so we can get it sorted. If not, no worries, but I will close this PR in a few days.


Minecraft dungeons support

Not an issue by any means, but would a minecraft dungeons version of this mod ever be a possibility ?

yeah it's possible but completely out-of-scope for this mod.


v0.19 daemon - remove include_tip_info parameter

The v19 daemon transaction_list call no longer requires the include_tip_info parameter
2018-02-15 12:22:48,516 WARNING  lbrynet.daemon.auth.server:350: Extraneous parameters for transaction_list command: include_tip_info
2018-02-15 12:22:48,516 WARNING  lbrynet.daemon.auth.server:228: error processing api request: Extraneous parameters for transaction_list command: include_tip_info

@liam took care of this is his PR, closing.

Wrong Liam
On 21 Feb 2018 7:48 pm, "Thomas Zarebczan"<EMAIL_ADDRESS>wrote:

@liam https://github.com/liam took care of this is his PR, closing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lbryio/lbry-app/pull/1020#issuecomment-367448467, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABolKqSAyDn19hLg6ldhvPmEk6x07Z3ks5tXHMXgaJpZM4SHTgi
.

Lol @liam sorry about that! Can we offer you some LBC (https://lbry.io/get) as an apology? hehe


Splash Screen Design.

This is basically done by @AbuHelal, but there was an issue with pull requests. so this will be closed as soon as we are able to merge his commits and build succesfully.

i think kalid berhe got this

When is this going to be merged?


Fix for wrong cover path

The cover path for courses was not working because the path used for image_tag was generated using / eg. /courses/hello-rails.jpg and thus this generated a relative path like <img src="/courses/hello-rails.jpg instead of asset path.
For more details see the issue reported by @divagueame
Closes #46

With this PR I am also starting to add tests for this project :)


Add eden's verse to the default WellFedZones

You need to add these zone names to the lang files too.  Ideally we can switch everything to zone ids at some point.

Hmm.  It sure looks like this isn't translated anywhere.  I guess I didn't consider this when it turned out that ko/cn zone names were localized.  Ideally this could also be turned into a zone id in #1037.


improve the error message for missing zk compiler output

Command:
zkforge zk-create src/Counter.sol:Counter --chain 280 --rpc-url https://zksync2-testnet.zksync.dev:443 --private-key "PK"

Before:
The application panicked (crashed).
Message:  Unable to read file: Os { code: 2, kind: NotFound, message: "No such file or directory" }
Location: cli/src/cmd/forge/zk_create.rs:324

After:
The application panicked (crashed).
Message:  Unable to read contract output file at /onchain/hello-world/zkout/Counter.sol/artifacts.json: Os { code: 2, kind: NotFound, message: "No such file or directory" }
Location: cli/src/cmd/forge/zk_create.rs:325

@tmrtx first official open source PR, thank you!

@tmrtx first official open source PR, thank you!

thanks @berryhill!


feat: add Z utility for creating and extending classes

Closes: https://github.com/sam-goodwin/zod-class/issues/4

[x] Add how to parse values to a zod class to dpcs
[x] Add how to extend a class
[x] Overload the Z utility to standardize and centralize how classes are created, parsed and extended - this replaces the previous `ZodClass

The $ utility function is the swiss army knife in zod-class - you use it for everything.

Define a new class

import z from "zod";
import { Z } from "zod-class";

// define a class using a zod schema
export class Hello extends Z({
  name: z.string(),
}) {
  get message() {
    return `hello ${name}`
  }
}

const hello = new Hello({
  hello: "sam",
});

Parse a value to an instance of a ZodClass

const hello = Z(Hello).parse(someVal)

// use method on the instance
const message = hello.message;

Extend a class

// extend a class by first activating it with `Z(Hello)`
export class World extends Z(Hello).extend({
  world: z.string()
}) {}

const world = new World({
  hello: "world",
  world: "hello"
});

Hey Sam, thanks for your time
I like the idea to unify everything into a single class, but I'm not sure about the dolar sign
I think that a word or a letter instead of a symbol would be more acceptable for the community
ts-pattern for example exports an helper called P (initial of word "pattern", in uppercase), my suggestion would be export a Z in uppercase (similar to zod itself), the uppercase also would be clearer since the most accepted naming convention for classes is to use pascal case
The dollar sign might also cause confusion about jQuery API
Another suggestion would be keep only ZodClass
But let me know your thoughts
About the docs and other changes: LGTM

I have similar concerns over the use of $ symbol as it's used in a lot of places. Z is an interesting idea - I like the symmetry with zod's z.
One thing I've slightly regretter about this library's name, zod-class, is coupling it to zod though. Probably fine for now, but there's no reason it couldn't work with all libraries similar to zod, like arktype, yup, etc.

My concerns regarding the library's name are related to the fact that we have three different paths to consider, each with its own benefits:

Option 1: Keep the library name as zod-class, linking it to Zod. As we continue to add support for other validation/schema libraries, we can create new packages (probably inside a monorepo) for each of them with the -class suffix (e.g., yup-class, arktype-class).

The main advantage of this approach is that it would likely improve SEO for those searching for class support for each library (that's how I found zod-class, by the way).

Option 2: Create a single package with a user-friendly name that references both classes and schemas, and provide built-in support for as many libraries as possible (similar to typeschema).

The library name and description should be easy to find and remember.

Option 3: Create an organization with an appealing name that references classes and schemas, and publish one package for each library we support (e.g., @classy/zod, @classy/valibot).

This approach is a compromise between Options 1 and 2.

Let me know what do you think

I went with Z in the end. It got me thinking, what about this pattern?
export class Bar extends Z.class({
  foo: z.string()
}) {}

I support the change to Z, as I was also already using import { $ as Z } from 'zod-class'; to avoid any conflation with jQuery myself. I do think that having a unified signature is preferable for DX and any of the above suggestions work well, although if I had to choose I would probably go with ZodClass as it is the clearest (to me) in terms of its relationship to zod and the overall pattern. @thawankeane brings up a very good point re: extensibility with other validation packages, but as I'm not the one doing the heavy lifting I'll leave that to you to decide!


Unable to create requirement file

"No matches to create requirement from" exception is thrown when I attempt to create requirement file.

That's correct. I run the test with wrong parameters. Closing this issue.

This task is completed.


[MLIR] tf-mlir-translate not working for keras sequential model

Issue type
Documentation Feature Request
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
2.15
Custom code
Yes
OS platform and distribution
Ubuntu 22.04
Mobile device
No response
Python version
3.10
Bazel version
5.1.1
GCC/compiler version
11.4
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
I wrote a small model to test a few compiler features in tensorflow. The model is saved to a directory using SavedModel format. Then I tried using tf-mlir-translate to convert the model into tf MLIR code. However, that did not work. The conversion terminated abruptly while giving the error message that function with multiple signature detected. I inspected the model with saved-model-cli and found that indeed that __call__ function has two concrete functions with two different set of parameters. I have no idea why the __call__ function has two concrete instantiations. Especially when I never really have any control over how the internal functions get instantiated except for model.fit() call.
I expected the MLIR file to be generated. But instead, it is continuously showing error about multiple concrete functions.
Standalone code to reproduce the issue
Here is the model code:

import tensorflow as tf
import numpy as np

def get_linear_classifier():
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Input(shape = (784)))
    model.add(tf.keras.layers.Dense(32, activation = 'relu'))
    model.add(tf.keras.layers.Dense(10))
    model.summary()
    return model

def dense_train(model, batch_num, train_set):
    train_examples = train_set['data']/255.0
    train_labels = train_set['label']
    num_examples = train_examples.shape[0]
    image_width = train_examples.shape[1]
    image_height = train_examples.shape[2]
    train_examples = np.reshape(train_examples, (num_examples, image_width * image_height))
    temp = np.zeros((60000, 10))
    for i in range(len(train_labels)):
        temp[i][train_labels[i]] = 1.0

    print("Shapes: {} {}".format(train_examples.shape, temp.shape))

    history = model.fit(train_examples, temp, batch_size = 100, epochs = 40)

    return history

tf.random.set_seed(42)
tf.keras.backend.clear_session()

model = get_linear_classifier()

(train_x, train_y), (test_x, test_y) = tf.keras.datasets.mnist.load_data()

model.compile( optimizer= tf.keras.optimizers.Adam(learning_rate=0.01), loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True), metrics=[tf.keras.metrics.CategoricalAccuracy()])
train_data = {'data': train_x, 'label': train_y}
training_history = dense_train(model, 100, train_data)

model.save('/path/to/working/directory/graph-artifacts/toy_model1')

Then I ran the following command:
tf-mlir-translate /path/to/working/directory/graph-artifacts/toy_model1 --savedmodel-objectgraph-to-mlir

I got the following error message:
tensorflow/compiler/mlir/tensorflow/translate/tf_mlir_translate.cc:172] SavedModel import failed: INVALID_ARGUMENT: Exported function with exported name(s) '__call__', 'keras_api.__call__' with multiple concrete functions. Add @tf.function(input_signature=[...]) on this function, or use a narrower list of exported names that excludes this function.

### Relevant log output

```shell
saved-model-cli shows the following output after running the command: saved_model_cli show --dir=/home/rashik/Documents/tensorfow_mlir_test/TF-ESRGAN/graph-artifacts/toy_model1 --all

Output:
W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT

MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:

signature_def['__saved_model_init_op']:
  The given SavedModel SignatureDef contains the following input(s):
  The given SavedModel SignatureDef contains the following output(s):
    outputs['__saved_model_init_op'] tensor_info:
        dtype: DT_INVALID
        shape: unknown_rank
        name: NoOp
  Method name is:

signature_def['serving_default']:
  The given SavedModel SignatureDef contains the following input(s):
    inputs['input_1'] tensor_info:
        dtype: DT_FLOAT
        shape: (-1, 784)
        name: serving_default_input_1:0
  The given SavedModel SignatureDef contains the following output(s):
    outputs['dense_1'] tensor_info:
        dtype: DT_FLOAT
        shape: (-1, 10)
        name: StatefulPartitionedCall:0
  Method name is: tensorflow/serving/predict
The MetaGraph with tag set ['serve'] contains the following ops: {'ShardedFilename', 'ReadVariableOp', 'BiasAdd', 'StringJoin', 'SaveV2', 'VarHandleOp', 'NoOp', 'Select', 'AssignVariableOp', 'RestoreV2', 'Const', 'MergeV2Checkpoints', 'StatefulPartitionedCall', 'StaticRegexFullMatch', 'Identity', 'DisableCopyOnRead', 'Relu', 'MatMul', 'Placeholder', 'Pack'}

Concrete Functions:
  Function Name: '__call__'
    Option #1
      Callable with:
        Argument #1
          input_1: TensorSpec(shape=(None, 784), dtype=tf.float32, name='input_1')
        Argument #2
          DType: bool
          Value: True
        Argument #3
          DType: NoneType
          Value: None
    Option #2
      Callable with:
        Argument #1
          input_1: TensorSpec(shape=(None, 784), dtype=tf.float32, name='input_1')
        Argument #2
          DType: bool
          Value: False
        Argument #3
          DType: NoneType
          Value: None

  Function Name: '_default_save_signature'
    Option #1
      Callable with:
        Argument #1
          input_1: TensorSpec(shape=(None, 784), dtype=tf.float32, name='input_1')

  Function Name: 'call_and_return_all_conditional_losses'
    Option #1
      Callable with:
        Argument #1
          input_1: TensorSpec(shape=(None, 784), dtype=tf.float32, name='input_1')
        Argument #2
          DType: bool
          Value: True
        Argument #3
          DType: NoneType
          Value: None
    Option #2
      Callable with:
        Argument #1
          input_1: TensorSpec(shape=(None, 784), dtype=tf.float32, name='input_1')
        Argument #2
          DType: bool
          Value: False
        Argument #3
          DType: NoneType
          Value: None

If you can reproduce the issue, please comment if there are any command line mitigation for that. I would really not like to rewrite existing models using tf.function.

@monowaranjum,
You need to create a wrapper like this and save it (with the wrapper, you specify an explicit @tf.function input_signature=, as the error was suggesting).
Then, when you load it, you need to specify "exported names" for just the functions in your wrapper (in the case of the link I specified, it is just one function "predict").
So after saving the wrapper tf.Module you would load it with something like this:
tf-mlir-translate --savedmodel-objectgraph-to-mlir --tf-savedmodel-exported-names=predict /path/to/tf2_model -o out.mlir
(I notice that you are using a somewhat out of date version of tf-mlir-translate; you should be able to find the corresponding flags in your version; I think the -savedmodel-to-mlir -> -savedmodel-objectgraph-to-mlir change is the only non-obvious renaming)
We also have a Python API that does the same. You can find how it is invoked in common.py which underlies the keras test I linked above.
Thank you!

Thanks, it worked.


re-factor evm_trace

What was wrong?
The evm_trace function is currently defined in the __init__.py file of the ethereum package. This seems to be a bit out of place especially from the perspective of the rendered docs.
How was it fixed?
Moved evm_trace to it's own module within the ethereum package. Additionally, there is no need to keep an initial placeholder function and then replace it with the trace during testing. Updated to make the evm_trace depend solely on the logging level. This way, a trace can be triggered even outside of pytest.
Cute Animal Picture

Codecov Report

Merging #552 (6e09c88) into master (77fac49) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #552   +/-   ##
=======================================
  Coverage   77.82%   77.82%
=======================================
  Files         333      333
  Lines       19243    19243
=======================================
  Hits        14976    14976
  Misses       4267     4267

Flag
Coverage Δ

unittests
77.82% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/ethereum/__init__.py
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


MultiSelect for sheet

I really liked this library, and I would love if was possible to select multiple worksheets (the tabs) each time, in my use case this is the most important part to decide to use this library.

Hey, sorry for a late reply. Sadly, the only way to achieve this would be to fork the project as the requirement is too unique for us to add to the project.


🎨 Modernize test harness

The test suite continues to not work at all, due to:
  1) JsonValidator validate_each with valid JSON data but schema errors
     Failure/Error:
       create_table(:users, force: true) do |t|
         t.text :data
         t.json :smart_data
       end

     NoMethodError:
       undefined method `level' for false:FalseClass
     # ./spec/json_validator_spec.rb:22:in `block (4 levels) in <top (required)>'
     # ./spec/support/macros/database_macros.rb:16:in `instance_exec'
     # ./spec/support/macros/database_macros.rb:16:in `block in run_migration'
     # ./spec/support/macros/database_macros.rb:19:in `run_migration'
     # ./spec/json_validator_spec.rb:21:in `block (3 levels) in <top (required)>'

It is the same error with both MySQL and PostgreSQL drivers.
But this is a big step in the direction of getting it working again.
I'm hoping this is step one on a path to getting the gem working with json_schemer v2!

Hi Peter!
Could you fix the Rubocop errors so that the workflow can fail when running the test suite? 😬 Sorry about that!

@remi Done!


Anxiety Classification

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Implement a feature to classify different types and severity levels of anxiety disorders based on user inputs, behavior patterns, and responses to standardized questionnaires. The classification could cover generalized anxiety disorder (GAD), social anxiety disorder, panic disorder, and specific phobias.
Use Case
A user logs into the "ThereForYou" app and completes a detailed questionnaire about their current symptoms and stressors. The AI assistant, Kai, analyzes the responses and classifies the user's anxiety type and severity. Based on this classification, the app recommends personalized coping strategies, relevant articles, and connects the user with appropriate community resources or professional help.
Benefits
Personalized Support: Provides tailored advice and resources based on specific anxiety types and severity, improving user experience and outcomes.
Early Intervention: Helps identify and address anxiety disorders early, preventing escalation and improving mental health.
Resource Allocation: Enables more efficient use of resources by directing users to the most relevant support options.
Enhanced Engagement: Encourages users to engage more deeply with the app by offering relevant and personalized content.
Community Building: Connects users with similar anxiety profiles, fostering a supportive community and shared experiences.
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@TAHIR0110 sir, can you assign this issue to me

@TAHIR0110 can you please assign this to me


Error: ReferenceError: NgFileSelect is not defined(…)

Hello,
I'm using this code but I get the error NgFilePreview is not defined, with angular rc.6 (wich I currently use) it is not possible to add directives in @component, I don't know if it can explain the problem?
import {Component, NgZone} from '@angular/core';
import {UPLOAD_DIRECTIVES} from 'ng2-uploader/ng2-uploader';
@Component({
selector: 'image-preview',
templateUrl: 'app/components/image-preview/image-preview.html',
})
export class ImagePreview {
@ViewChild(NgFileSelect) private fileSelect: NgFileSelect;
previewData = ''
options: Object = {
url: 'http://localhost:10050/upload',
previewUrl: true,
autoUpload: false
};

Hi, on the demo link there's a link to sample app which is based on RC6.


add vma sanity check in create_existing_sysmem (drivers/hv/dxgkrnl/dxgvmbus.c)

Windows Version
Microsoft Windows [Version 10.0.22631.3527]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 22.04
Other Software
No response
Repro Steps
use dxgkio_create_allocation and the CPU memory to create a GPU allocation. the CPU memory is invalid.
Expected Behavior
create_existing_sysmem() check vma sanity first and doesn't try to pin/get_user_pages_fast() if the sanity test fails.
It's better to have checks like:
do {
vma = vma_lookup(mm, start);
if (!vma) {
// trace error and return
}
start = min(end, vma->vm_end);
} while (start < end);
Actual Behavior
create_existing_sysmem() try to pin/get_user_pages() with invalid vma and get error log:
[ 2565.965121] misc dxg: dxgk: create_existing_sysmem: get_user_pages_fast failed: 103
[ 2565.966084] misc dxg: dxgk: dxgkio_create_allocation: Ioctl failed: -12
Diagnostic Logs
No response

WslLogs-2024-05-05_23-45-18.zip

/question

@iourit to look into this

ping?


Can't get Scopus code to work, Elsevier API Key isn't working

I'm trying to run the Scopus code but I can't get the API key to work and I've created several. Neither the rscopus package website has much information on this, nor does Elsevier's website. I'm close to considering we exclude any database that requires a substantial amount of work to access.
Thoughts?

Seems to need to be accessed to a university VPN maybe? will try that next time I work on it.

don't need this anymore, see #64 and #65


⚠ Mobitopup has degraded performance

In 3739939, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 11063 ms

Resolved: Mobitopup performance has improved in b52126c after 418 days, 16 hours, 39 minutes.


Why is docker version lagging behind git?

Describe the bug
I pulled docker file from main and it is 0.93.3 instead of latest - 0.96.2.
To Reproduce
Follow the documentation to pull docker image from the main branch.
https://www.promptfoo.dev/docs/usage/self-hosting/
Expected behavior
Container has the latest version of promptfoo running.
System information (please complete the following information):

Promptfoo version: 0.93.3 & 0.96.2

Hi @yelonek, thanks for reaching out! Can you please try pulling the latest image again with the following commands?
docker pull ghcr.io/promptfoo/promptfoo:latest
docker run -it ghcr.io/promptfoo/promptfoo:latest promptfoo --version

When I run these, I get version 0.96.2. I'll update the docs to reflect latest over main. Please feel free to reach out with other comments / concerns / questions.

Hi @mldangelo!
Thanks for such a quick reponse. Couple of seconds ago I deleted the old image and downloaded a fresh one. The response is 0.96.1.
Which is still confusing, but good enough for me now. Thanks!

@yelonek A new Docker release should be available in about 20 minutes. You can follow the progress here: https://github.com/promptfoo/promptfoo/actions/runs/11975522898. I’m going to close this issue, but feel free to reopen it if you encounter any other issues or have suggestions for Docker features, improvements, tags, registries, etc.


Items associated with an empty Id are throwing odd errors

It is possible in Octopus Deploy to configure a required item with an empty id.  For example step template references a feed id that is null or empty.  When that happens the cloner stops on a strange (and unuseful) error message.

Fixed in 3.2.2


GH #86: Add LANE to withTrafficCyclewayTags

Fixes #86:

A painted bike lane is still cycling infrastructure that is shared with car traffic. As such, ways that have cycleway=lane tags but also accommodate car traffic should receive a highway-based penalty.
Adding LANE to withTrafficCyclewayTags allows existing BikeCommonFlagEncoder code to levy a highway-based penalty to the way. This penalty will be p - 1, where p is the highway-based PenaltyCode's level.

a highway-based penalty... will be p - 1, where p is the highway-based PenaltyCode's level.

How did you arrive at this formula? What sort of testing have you done to ensure this still gives reasonable routes elsewhere in SF, East Bay, etc?

We assign the p - 1 penalty in existing BikeCommonFlagEncoder code:
if (withTrafficCyclewayTags.contains(cyclewayForward))
  cyclewayForwardPenalty = PenaltyCode.from(highwayPenalty).tickDownBy(1).getValue();
if (withTrafficCyclewayTags.contains(cyclewayBackward))
  cyclewayBackwardPenalty = PenaltyCode.from(highwayPenalty).tickDownBy(1).getValue();

I'll play around with other bike-only routes to make sure this doesn't break things.

We assign the p - 1 penalty

to be clear, the tickDownBy function goes to the next lower penalty, whatever the value is. it doesn't subtract 1 from the penalty


asyncLoading race condition

I'm seeing a race condition when using asyncLoading == true, and the initialization of the rest of the application inside of .run() . What should be listen to in order to ensure the external javascript file has been successfully loaded?

@rightisleft Were you able to solve this issue?


Update Get-SPOGeoMoveCompatibilityStatus.md

Docs Build status updates of commit 85303a0:
:clock10: Full build: the average full build time is 13 min(s) 59 sec(s), this is based on the last 406 build(s) for this repository.

Docs Build status updates of commit 85303a0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOGeoMoveCompatibilityStatus.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 85303a0:
:clock10: Full build: the average full build time is 13 min(s) 59 sec(s), this is based on the last 407 build(s) for this repository.

Docs Build status updates of commit 85303a0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Get-SPOGeoMoveCompatibilityStatus.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


feat: Expose MPSideloadedKit class to public API

Instructions

PR target branch should be against development
PR title name should follow this format: https://github.com/mParticle/mparticle-workflows/blob/main/.github/workflows/pr-title-check.yml
PR branch prefix should follow this format: https://github.com/mParticle/mparticle-workflows/blob/main/.github/workflows/pr-branch-check-name.yml

Summary
This PR exposes the MPSideloadedKit class to the public API and refactors code to consider the changes necessary for the new class - primarily replacing sideloadedKit.register with sideloadedKit.kitInstance.register
Testing Plan

[x] Was this tested locally? If not, explain why.
{explain how this has been tested, and what, if any, additional testing should be done}

Reference Issue (For mParticle employees only.  Ignore if you are an outside contributor)

Closes https://go.mparticle.com/work/SQDSDKS-5351

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


⚠ Bofrost.at has degraded performance

In 336b423, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1986 ms

Resolved: Bofrost.at performance has improved in d078f47 after 18 minutes.


Sharing scripts for generating Figure3 in FALCON-Unzip preprint.

Hi Jason,
Can you share the script to generate Figure 3 in preprint of FALCON and FALCON-Unzip. I think it is great way to compare the contigs from FALCON and FALCON-Unzip to a reference genome. I am trying use that in my assembly instead of IGV.
Thanks.
Jinfeng
Figure 3. SNP density and Structural Variations in the FALCON-Unzip F1 Arabidopsis assembly. The plot shows the primary contigs and haplotigs aligned to chromosome 4 of the TAIR reference assembly as grey line segments. Blue and Red colored dots show the number of Col-0 and Cvi-0 specific SNPs, respectively, per 50 kbp region of the assembled contig. The vertical orange lines indicate the centromere locations. The short vertical tick marks above the grey lines indicate the structural variations against Col-0 (blue) and Cvi-0 (red).

Was the script for generating this figure ever posted?

No. No body response.

在 2016年11月5日，上午6:05，peterdfields<EMAIL_ADDRESS>写道：
Was the script for generating this figure ever posted?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

It is tailored to a specific genome and a specific reference. I am not sure how useful it is and if your genome is different, you will need different visualization.

Thanks, Jason. I think it is a quite useful way to visualize the assembly when reference genome available. I am working on a heterozygous citrus genome where the reference genome available is haploid. The heterozygous snps in the citrus genome are not evenly distributed and cause lots a problem in assembly. I plot the contigs along chromosomes to figure out which parts of genome were poorly assembled. I am still working on improving assembly.
Thanks.
Jinfeng

在 2016年11月6日，上午9:48，Jason Chin<EMAIL_ADDRESS>写道：
It is tailored to a specific genome and a specific reference. I am not sure how useful it is and if your genome is different, you will need different visualization.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

@pb-jchin
Hi Jason,
We have used falcon unzip with great success. I would also like to generate some plots to compare the variation in the heterozygous genome that we are working with. Could you please share the same script with me? I am happy to adapt the script, so that I dont have to reinvent the wheel.
Thanks!

Hi, @kevlim83 those are really just "scripts" tailored toward to Arabidposis and particular runs with http://assemblytics.com.  My suggestion is to use nucmer to align genome to genome and make sure you understand how repeat matching are processed.  Than you can use Assemblytics to generate some summary.


migrations: Add a migration to fix emoji metadata in S3.

bcd179be0e93 fixed this for recent imports, but did not address imports from before it was merged.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

I need to run an end-to-end test of this in my test prod instance.

Tested in a test-prod instance.

Reviewed, only had the one concern noted above.

Merged, thanks @alexmv!


Increase node label font

There has been the observation that viewing node labels was difficult. Suggest to increase label font-size.
Alternative strategies for viewing at low zoom

Navigator or 'birds eye view' : https://github.com/cytoscape/cytoscape.js-navigator
Fish-eye?

on hover --> increase font, node width, and node height based on how large the graph is.

@d2fong You could scale such that the rendered font size is always the same so you get some consistency.  E.g. mult = defaultRenderedSize / currentZoom.  Maybe mult = max( mult, 2 ) too so you guarantee a minimum factor increase.
If you do something like graph size, you'll get inconsistent results.

@maxkfranz Okay, I will try that. Thanks.

Todo
Reduce hover style effect for small graphs;
In small graphs we run cose-bilkent on them which causes nodes to be tightly packed in together.  Coupled with long labels, increasing the label size will cause more harm than good.
Increase node size / edge width of the currently hovered node
Because nodes look so similar, this will give users another visual cue as to where their cursor is in the graph.
Turn this into an extension
Hover seems to add a nice bit of interaction to the graph, so it might be worth it to generalize this into an extension.

idea

animate zoom in on mouseover before applying styles
animate zoom out on mouseout

Can we close? I think this is done as of c23276820dd24ef05114ee602e696942716f218f

Yeah I think so


Add LICENCE

What licence would you like this code to have @imanolperez? Would MIT be ok?

Fixed in #7 - we've gone for MIT.


wait-for-it.sh file if downloaded and unzipped using winrar - creates problem

If using windows operating system this may cause a problem.
Desite supplying a command with host and port as below:
When using command in docker-compose
    command: ["/wait-for-it.sh", "myservice:4444", "npm", "test"]

error
"Error: you need to provide a host and port to test."

Solution, download file manually by clicking 'raw' on github and downloading it.

You need to add in the "--" before the command you want to run. For example:
command: ["/wait-for-it.sh", "myservice:4444", "--", "npm", "test"]


[feature request] House number

Add support for generating fake house numbers

this should probably be just a mixin.
if you only need a number, you can already use:
chance.natural({min: whatever, max: whatever});
but you can add letters:
chance.natural({min: whatever, max: whatever}) + chance.pickone(['A', 'B', 'C', 'D', 'F']);
have a dash or divider in between:
chance.natural({min: whatever, max: whatever}) + "/" + chance.pickone(['A', 'B', 'C', 'D', 'F']);
and of course you can use all options for each generator.
even without a mixin, all you have to do is concatenate strings from each generator.


rotate bug on iOS

I use the circle component to draw arc , but there is a bug about rotate on ios , below is my code
                                               <Circle 								origin="150, 150" 								rotate={0} 								cx="150" 								cy="150" 								r="20" 								stroke="blue" 								strokeWidth="40" 								fill="none" 								strokeDasharray={[ 20 * PI, 40 * PI]} 						/> 						<Circle 								origin="150, 150" 								rotate={180} 								cx="150" 								cy="150" 								r="20" 								stroke="red" 								strokeWidth="40" 								fill="none" 								strokeDasharray={[20 * PI , 40 * PI]} 						/>
this is the result on android

but this is the result on iOS

I found when the rotate prop is one of '90 , 180 , 270' , the rotate prop has no effect on iOS.

We've also seen this, the only thing to add is that it works on Android

Could you try again with the new correct transform parser and the spec conformant syntax? I think this should be working correctly already.


add logger to log in file

app.logger can log info to file. SW should have this ability to log for debugging

@wikomega  This is one issue.

Test

test

@skyera test

test


Fix alignment issues in attribute size calculation

Closes #164
@reticenceji Can you take a look at this PR? I've kept your commits to give you credit for reporting and fixing the bug and added an additional commit to clean up some of the usage of size calculation. If this resolves your problem, I'll merge it!

It solved my problem! :)


[BUG] ANM + predict_proba method return has wrong

Encountering a bug while using this package may occur. In order to fix the said bug and improve all users’ experience, it is highly recommended to submit a bug report on the GitHub issue tracker: https://github.com/FenTechSolutions/CausalDiscoveryToolbox/issues
Describe the bug
The  predict_proba method that in ANM, it said:" 1 if a->b and -1 b->a), so the return statement why is anm_score(b, a) - anm_score(a, b). Why not is anm_score(a, b) - anm_score(b, a).
Please mention
- My cdt package version is the newest.
- My Python version is 3.8.
- My PyTorch package version is 1.8.1.
- My GPU is GTX1050, is available.
- The full traceback of the raised error if one is raised.
- A small code snippet to reproduce the bug if the description is not explicit.
-

The ANM score for direction a->b (anm_score(a, b)) is the independence test statistic between a and residuals, and lower value = more likely independent (section 3 here) = more likely a->b. In that sense, if a->b is the true direction then anm_score(a, b) should be low and anm_score(b, a) should be high, hence anm_score(b, a) - anm_score(a, b) should be positive. Therefore the implementation is not wrong in this case.

What about this situation: no edge between X and Y,does the anm_score(x, y) will return 0?

Hello !
Sorry for the late answer ; yes ; if there is no edge between X and Y the score is theoretically 0. In the real case, the value is close to 0.
Best,
Diviyan


Add :node special dependency

@reitermarkus after remove NodeRequirement = NodeRequirement. One build failed 😕

@MikeMcQuaid I'm not good at Ruby. Can you please guide me here? I have implemented the version checking and it's working.
But, brew still trying to install node even if return value of satisfy build_env: false do is true.

But, brew still trying to install node even if return value of satisfy build_env: false do is true.

Are you pouring the bottle of a formula to check? If so, that's expected and correct behaviour. To avoid the default_formula you'd need to build from source, brew install blah -s, etc.

@DomT4 ah, thanks. So, the current code should work fine. Though I forgot to remove require "language/node" which is not needed there anymore.

Any idea why this test fails only it Jenkins?
NodeRequirementTests#test_satisfied [/Users/brew/Jenkins/pr-brew/version/any_sierra/Library/Homebrew/test/test_node_requirement.rb:29]:
Expected #<NodeRequirement: "node" [] version="4.0">
 to be satisfied?.

@MikeMcQuaid Can you have a look here, please?

Any idea why this test fails only in Jenkins?

Likely because there's no Node installed there. You may need to do some mocking.
As @DomT4 mentions above some things that are worth considering on this once it's 💚:

can something that uses npm install from node at build-time use iojs or a (very) different node version at runtime?
as-is all bottled formulae using depends_on :node will end up being depends_on "node" by default. This could be worked around if 1) is resolved.

Likely because there's no Node installed there. You may need to do some mocking.

But, I have mocked node and it works locally & in travis too.
https://github.com/Homebrew/brew/pull/1408/files#diff-595241f18c3635cda19d357a78dc5c52R6

As long as it meets the version requirement it should work.

can something that uses npm install from node at build-time use iojs or a (very) different node version at runtime?

This works most of the time, the main exception is when using native modules, where it only works if you install the package on a version of Node.js that's binary (ABI) compatible with the version you use at runtime. I think generally some package installed using npm 6.x should run on any other 6.x version of npm.
Also iojs is completely unsupported now, so it's not worth worrying about it.

In that case, I think generally some package installed using npm 6.x should run on any other 6.x version of npm.

Ok. We'll need to figure out a way to encode that into this requirement.

The vast majority of npm packages are non-native packages that just contain JavaScript code so it doesn't matter which version of Node.js you used to install them.

Good to know.

Also iojs is completely unsupported now, so it's not worth worrying about it.

The voice of a non-packager 😉. As we're just looking for a node in $PATH we will likely find some people/systems with weird stuff like iojs still around so we'll need to detect and handle these cases.

@MikeMcQuaid which node should work for iojs too.

There's no version conflict too:

And, finally I mocked node in test but it's failing in Jenkins 😢  Working in both local & travis.
https://github.com/Homebrew/brew/pull/1408/files#diff-595241f18c3635cda19d357a78dc5c52R6

And, finally I mocked node in test but it's failing in Jenkins 😢 Working in both local & travis.

Let's not worry about that until the PR handles the other issues above. When it's working there I'll help fix the issues.

I don't know ruby. I created this PR by reading other codes. Had a hard time figuring out brew tests --only=node_requirement. That's why I was worried. But, you guys are awesome ❤ Thanks for the assurance 😄

Are we sure we want yet another one of these special requirements given the difficulties we've had with the others?

@ilovezfs I think this may be one where we can handle bottles sensible due to this being interpreted with vendored dependencies rather than using linkage.

@MikeMcQuaid I tried to answer all the questions you asked and also pursed @Daniel15 to answer too.

Ok. We'll need to figure out a way to encode that into this requirement.

Any suggestions regarding how we can do that?

bunch of questions to be answered and implemented.

I'm not sure which questions are still unanswered.

As long as it meets the version requirement it should work.

We'll need confirmation that it does work and has been tested with a couple of different depends_on "node" formulae.

Any suggestions regarding how we can do that?

I'm not sure. Are you saying both the Node and NPM version matter at runtime?

We'll need confirmation that it does work and has been tested with a couple of different depends_on "node" formulae.

I can do that for a few popular formulae.

I'm not sure. Are you saying both the Node and NPM version matter at runtime?

Only node version matters. npm is mostly backward compatible.
IMO brew shouldn't handle npm install or yarn install. Formulae tarball should comes with node_modules like yarn tarball.

I can do that for a few popular formulae.

Thanks! Report back in here and try with node, homebrew/versions/node4-lts, homebrew/versions/node6-lts and homebrew/versions/iojs formulae.

npm is mostly backward compatible.

Can you elaborate on "mostly"?

IMO brew shouldn't handle npm install or yarn install. Formulae tarball should comes with node_modules like yarn tarball.

Check out the e.g. yarn.rb and jsonlint.rb formulae. We're open to doing it in a different way but may need some formula PRs for that. Thanks!

Can you elaborate on "mostly"?

We never faced anything like that. But, I saw a few people complaining about edge cases like peerDependencies.

Check out the e.g. yarn.rb and jsonlint.rb formulae. We're open to doing it in a different way but may need some formula PRs for that. Thanks!

I have already checked yarn.rb and npm install there is not necessary. jsonlint.rb doesn't come with node_modules but I can create an issue in their repo.
The problem of entertaining npm install is, there are lots of npm package which doesn't support semver. So, unless the project doesn't maintain fixed versions in package.json it might fail any time.

Currently there are only 10 packages using std_npm_install_args including yarn & jsonlint.

I have already checked yarn.rb and npm install there is not necessary.

@torifat Could you create a PR for a single formula to update it to not use that so we can discuss a new pattern? Thanks!

It's as simple as
class Yarn < Formula
  desc "Javascript package manager"
  homepage "https://yarnpkg.com/"
  url "https://yarnpkg.com/downloads/0.17.0/yarn-v0.17.0.tar.gz"
  sha256 "bb87332c23baec5680e13c9afa858d851276eca27e33e215a84338fb4acb0026"

  bottle do
    cellar :any_skip_relocation
    sha256 "7f6f2621524c87e309fbea9ad7d8f49086dd481358f76f3f57f682ea0f57c2ab" => :sierra
    sha256 "aafe13b85ed27f46f884f38675927f29c4b5ed4fd78e92a3d2c803dcdb743c54" => :el_capitan
    sha256 "bd3f2ece7e38bd73d6090cb478893658515107ca8cee334ba895b030cfaf88f8" => :yosemite
  end

  depends_on :node => "4.0"

  def install
    bin.install_symlink Dir["#{libexec}/bin/*"]
  end

  test do
    (testpath/"package.json").write('{"name": "test"}')
    system bin/"yarn", "add", "jquery"
  end
end

@torifat Can you create a pull request? Also, note that that won't work because it's not installing anything.

@MikeMcQuaid Yeah sorry, I need to copy the contents. Ok, I will send a PR in homebrew-core

@MikeMcQuaid I have updated the code I have posted above & also sending a PR in homebrew-core. Do you want me to use depends_on :node => "4.0" in the PR or just depends_on "node"?

@torifat For now avoid using the :node requirement and just demonstrate how npm install isn't required, thanks!

Is something blocking further progress of this MR?

wonder if there is any progress

There's no news or progress. If there was it'd be posted on here. If anyone would like to try and create their own PR: please do.

Why is this taking so long? Right now yarn from homebrew is broken for lots and lots of people who use nvm. Simply check if node or nvm is installed and skip as necessary. Even if it doesn't handle every case, surely it will improve from what's out there now...

Sorry I don't understand. The requirement system is only intended to provide non-mandatory flexibility. The default formula should always be sufficient to build any formulae, so the urgency here is pretty low unless you're doing something peculiar.

Having used nvm and Homebrew together for quite some time in the past I'm fairly sure the most "broken" I ever found things was the minor irritation of having two Node's installed. As ILZ points out, you'll still have to remember to stick an -s on brew install xyz where applicable to avoid that happening even if this is merged.

Why is this taking so long?

Because it's neither the maintainers nor contributors paid employment to work on Homebrew or submit a PR to fix this. This PR has changes requested that need addressed and it's failing CI.
If you'd like to create your own competing PR, we'd welcome it. This document should help and we're happy to walk you through anything else.
Thanks!

Simply check if node or nvm is installed and skip as necessary. Even if it doesn't handle every case, surely it will improve from what's out there now...

If it were a simple problem to solve, it would have been solved already.

So are you saying there is a way right now to install yarn via homebrew without installing a second copy of node (when using nvm)?

@sjmueller I no longer have a Mac so I can't test this, but the --ignore-dependencies flag should work

Yes this flag works, but the next time you do a brew upgrade and there's an update for yarn, it will install it with the node deps.

@sjmueller as @DomT4 said above, "the most 'broken' I ever found things was the minor irritation of having two Nodes installed."

@sjmueller two current options:

Stop caring about having two nodes on your system
Install Yarn through NPM or other means

If you don't want to use Homebrew to install Yarn, there's an installation
shell script you can use.
I don't think it's bad to have two Node.js versions installed though,
particularly if you just use nvm for your own apps and the "system" /
Homebrew-installed Node.js for utilities. In the end, I don't think it
really matters which Node.js version is used for Yarn, as long as it works
properly?
Sent from my phone.
On Jan 13, 2017 6:51 AM, "Mike McQuaid"<EMAIL_ADDRESS>wrote:

@sjmueller https://github.com/sjmueller two current options:

Stop caring about having two nodes on your system
Install Yarn through NPM or other means

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Homebrew/brew/pull/1408#issuecomment-272460820, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFnHczsjomD3GZDIqRpPT1x8Ltn5ge-ks5rR493gaJpZM4KkYPk
.

Sorry, I'm migrating to another country. So, currently not getting enough time to work on this. Anyone interested should take the lead.

If the primary reason most people want this is to avoid dual installations that's a slippery slope towards:
depends_on :rust
depends_on :go
depends_on :node
depends_on :swift
depends_on :mono
depends_on :maven
depends_on :opam

And so on. I can see an argument for it but I also see endless new possibilities for people to break their local builds in interesting ways and then expect Homebrew to know how to fix those use cases, and quickly. Homebrew has already seen quite a bit of that with the :ruby and to a slightly lesser degree :perl requirements.
I think it would be useful if the argument gets fleshed out a bit more than "Having two of these is annoying", especially when a plain Homebrew node installation clocks in at <50MB, which even on the smallest SSDs Apple ships these days is a sneeze of disk space.

In my experience it's been quite a hassle having two versions of node competing on the same system. When something goes wrong, which version is running? Did this particular terminal instance use a different node because a path variable was changed? If I'm hunting down a global dependency that I linked locally, am I looking in the right dir?
Much easier to troubleshoot when nvm is given autonomy to manage node versions, resulting in a single source of truth.

@sjmueller A solution has been provided for that. Let's keep the discussion off this PR now, thanks,.

Would it also be possible to make this work for folks who use nodenv instead of nvm to manage node versions?

A requirement won't care where it's coming from as long as the node and npm executables are found. But someone would still need to complete any remaining work here, and convince the remaining maintainers there's an inconvenience beyond a sneeze of disk space.

@DomT4 Wait, I'm confused. So you're not volunteering to implement :rust, :go, :node, :swift, :mono, :maven, and :opam? I had my hopes up!

@ilovezfs All of those being a thing might actually be enough to push me to find an alternative package manager, and I used to help maintain this one 😆.

I think you and fink will get along swimmingly.

Come on now, I didn't say I hated myself and felt the deep need for self-punishment 😉. (Mike's going to tell us off for dragging this off-topic any second, heh).

Closing as this has stalled.

For now avoid using the :node requirement and just demonstrate how npm install isn't required, thanks!

Homebrew/homebrew-core#11881/

yarn needs to replace homebrew


Don't require fully monomorphic instances

Typeable a is much more than we need, and is a pain for things
like a Const x y instance. We only need a TypeRep for the
type constructor of a. We can do this very nicely with
polykinded Typeable, and more painfully before that.
Fixes #8

This still needs a few little updates to documentation and comments, but you should be able to get the gist.

I think the documentation should be better now. Ready for review!

BTW: if you don't like some of the names I've used, just suggest ones you do like and I'll be happy to change them.

I took the liberty of calling the next release 0.2.1 in the @since annotations, but that's obviously up to you. I don't see anything requiring a major release.

Just to make sure I understand the motivation here correctly, is the idea that you:

Want to call genericLift (or some variant thereof) that requires a Typeable constraint prior to GHC 8.0, and
You want to call it on an argument of type f a where f is an instance of Typeable but a is not?

If so, I'm a bit confused by the test cases that this PR adds, since both Const and Ap's Lift instances are defined by way of genericLiftWithPkg, which doesn't make use of Typeable at all (AFAICT).

The letter a is terribly confusing, isn't it? I want to be able to call it on Proxy a with no constraints. On Const a b with only a Lift constraint on a and no constraint on b (*). Const is the test case I added that most directly gets to the point here; the others are "Let me make sure things are working the way I think they are and are ready for release."
(*) If you tried instance Lift a => Lift (Const a b) where GENERIC_THING with PolyKinds enabled, it would fail; you'd you'd actually need to write instance (Lift a, Typeable k) => Const a (b :: k) where GENERIC_THING. I should probably document that.

I'm still confused by the use of genericLiftWithPkg in the new test cases, as genericLiftWithPkg doesn't appear to exercise any of the new OuterTypeable code paths. Surely we should add a test case that does cover these code paths?

Ah yes, I was thinking that was handled by the Typed variants, but I guess that's actually too version-limited. I'll fix it.

I'm definitely glad I added those tests. They've been educational (I didn't know much about ancient-style Typeable), and they've pointed me toward some necessary documentation changes. It's a real pain not having the ancient GHC versions on hand locally for testing. I guess I should learn how to install those.
Please review!


High memory usage when joined table has many columns (regression)

Memory usage of a simple join query seems to increase with the number of columns of the joined table, even if these columns are not in result. The problem can be reproduced in versions 19.3 up to 19.7 (19.1 is fine).
Steps to reproduce:
create table A (id String, ts DateTime) ENGINE=MergeTree order by tuple();

insert into A select number,now() from system.numbers limit 600;

create table B (id String, ts DateTime, a0 Nullable(Float64), a1 Nullable(Float64), a2 Nullable(Float64), ... (500 columns) ) ENGINE=MergeTree order by tuple();

insert into B select number,now(),1,1,... (500 values) from system.numbers limit 20000000;

select a.id FROM A a LEFT JOIN B b ON a.id=b.id;

Progress: 1.03 million rows, 4.66 GB (226.75 thousand rows/s., 1.02 GB/s.)  5%Received exception from server (version 19.7.3):
Code: 241. DB::Exception: Received from localhost:9000, <IP_ADDRESS>. DB::Exception: Memory limit (for query) exceeded: would use 9.31 GiB (attempt to allocate chunk of 131072 bytes), maximum: 9.31 GiB: (while reading column a350)

Workaround:
select a.id FROM A a LEFT JOIN (select id FROM B) b ON a.id=b.id;
The problem with the workaround is as the request is generated by a BI (Tableau), I cannot easily modify it.
I've seen this issue https://github.com/yandex/ClickHouse/pull/4757 but the flag multiple_joins_omit_unused_columns doesn't exist in version 19.7??

Looks like duplicate of https://github.com/yandex/ClickHouse/issues/5190, fixed in https://github.com/yandex/ClickHouse/pull/5194
Please check 19.8.

Is there a docker image of 19.8 somewhere or do I have to build from sources?

http://repo.yandex.ru/clickhouse/deb/prestable/main/
cat /etc/apt/sources.list.d/clickhouse.list
deb http://repo.yandex.ru/clickhouse/deb/prestable/ main/
<IP_ADDRESS>
Or check http://repo.yandex.ru/clickhouse/deb/testing/
https://github.com/yandex/ClickHouse/releases

Thanks for the help.
This works ok with <IP_ADDRESS>.
This bug is a showstopper for us. Any chance that this fix is merged into 19.7 and other previous stable branches?

@alesapin @proller It's a regression, so probably should be backported?

yes we saw the new release and are considering the migration.
BTW, I don't understand the new version numbering scheme: 19 if for the year but what about the second figure? is it incremented each time there is a batch of new features/improvements? is this on a monthly basis? I also see that previous stable branches get fixes, how long are they supported?

is it incremented each time there is a batch of new features/improvements?
@bgranvea yes, second number increases with new features and third one with additional bugfixes

It wasn't backported, but @stavrolia will take a look, maybe it's possible to backport to 19.7.

Done


Add --verbose option to help diagnose remote/install slowness

I ran into some slowness here, thought nvm was hanging since it took over 2 minutes to do an nvm ls-remote: https://github.com/creationix/nvm/issues/1157
A --verbose option for nvm install/nvm ls-remote/nvm version-remote would really be useful to enable end users to diagnose their own issues. Specifically, if DNS/network/disk issues can have a negative effect on nvm, it will be useful to collect that information to better place blame.

An alternative way to "debug"  is using set -x before a nvm command:
$ set -x
$ nvm install 10

then a lot of output will be printed, I hope it helps :smile:

That works, but is a pretty big hammer :-) a more tightly focused option would be nice.

For Future Googler's
I was using a fresh Ubuntu installation, and forgot to install curl.
sudo apt install curl

After this I was able to see the nvm install 8 output...

Hi @ljharb, @gitburd and I are looking into this and wondering if you can point us toward what sort of "more tightly focused option" could be used here?

@naomiquinones that comment was mostly about the set -x over the entire nvm install command. A --verbose option that printed helpful info, but not quite as much as set -x does, would likely be helpful.


Better training image local caching

Builds on top of https://github.com/basetenlabs/truss/pull/121

Ignore data directory for training images. Training doesn't consume this directory but writes to it. Without this ignore training image would be built again after next training.
Ignore model code for training images
Support default values for training variables
Remove file modification time check for training image caching. Since training modified the truss, this check would break caching.
Also, ignore pyc files. Training module is mounted on the docker container and when the job runs, it ends up creating pyc files.
Fixed another existing issue that I encountered, which would have affected both serving and training image caching. It's a bit complex, let me describe it below.
Disregard training code from patch calculation for live reload. Otherwise patch computation would say that it doesn't know how to compute this patch and live reload would not work.
Renames in truss_handle to distinguish training and serving scenarios, especially for labels.

Issue with image tags and caching
When we create docker images, we tag them e.g. custom-model:latest. If we modify the truss and build the image again, typically we wouldn't modify the tag, so the tag would belong to another image id now. Something like this:
REPOSITORY     TAG       IMAGE ID       CREATED       SIZE
<none>         <none>    8ee3881b9bb7   4 hours ago   949MB
custom-train   latest    20f69564860c   4 hours ago   949MB

The previous image id exists but it doesn't have any tags anymore. If we modified code we could go back to old code, which could match up with the image id without tags. We were retrieving tag to run the container, which was failing in this scenario.
We now use the image id to run the container to avoid this issue.

Looks great! Thank you for doing this


NSOperation completionBlock not executed for NSOperation subclass.

If you implement your own concurrent NSOperation subclass, the completion block for the operation is not executed when the isFinished property is changed to TRUE.
It looks like the completion block handling is done in the private method - (void)_finish:(BOOL)didExecute and if your subclass overrides the -(void)start method, then the _finish method will never be called and the completion block will not be executed.

@rupertdaniel Thanks for the report. We've root-caused the issue and come up with a tentative fix. Do you have a representative sample we can include in our test burden to make sure this doesn't regress?

It appears as though we have a test for this case -- it asserts that the operation is finished when the completion block is called.
However, it never actually asserts that the completion block was, in fact, called.

Great, thanks for looking at this.
Here is a simple operation subclass...
@interface MyOperation : NSOperation

@property (assign, getter = isExecuting) BOOL executing;
@property (assign, getter = isFinished, readonly) BOOL finished;

@end

@implementation MyOperation

@synthesize executing = _executing;
@synthesize finished = _finished;

- (void)setExecuting:(BOOL)executing
{
	[self willChangeValueForKey:@"isExecuting"];
	[self willChangeValueForKey:@"isFinished"];

	_executing = executing;
	_finished = !executing;

	[self didChangeValueForKey:@"isExecuting"];
	[self didChangeValueForKey:@"isFinished"];
}

- (BOOL)isExecuting
{
	return _executing;
}

- (BOOL)isFinished
{
	return _finished;
}

- (void)start
{
	if (self.isCancelled)
		return;

	self.executing = YES;
	[self doSomething];
}

- (void)doSomething
{
	// Do some async task.
	dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
            self.executing = NO;
    });
}

@end

Then to run it...
self.op = [[MyOperation alloc] init];
self.op.completionBlock = ^{
  NSLog(@"FINISHED!!!");
};

[self.queue addOperation:self.op];

Thanks.
We investigated a couple more use cases for NSOperation, and identified a couple other problem areas.

Operations should be scheduleable without a queue and run manually.
Operations with dependencies need to perform dependency resolution if they're at the head of the queue.

We've added additional test burden in #784, but the dependency issue is still outstanding.
Right now, if you enqueue an operation BEFORE its dependencies, the queue will block forever. On the reference platform, the dependencies resolve and execute before their depending operation.

Ping! This is P0.

@DHowett-MSFT sorry was this a ping at me? :-)
If so...

Operations should be scheduleable without a queue and run manually.

We don't do this at the moment so should be ok for us.

Operations with dependencies need to perform dependency resolution if they're at the head of the queue.

We don't use dependencies at the moment so should be ok too.